Skip to content

fix: embed web UI in binary + rebrand wordmark to PentestCode#5

Merged
s0ld13rr merged 2 commits into
s0ld13rr:mainfrom
121z3:fix/web-ui-embed-imports
Jul 24, 2026
Merged

fix: embed web UI in binary + rebrand wordmark to PentestCode#5
s0ld13rr merged 2 commits into
s0ld13rr:mainfrom
121z3:fix/web-ui-embed-imports

Conversation

@121z3

@121z3 121z3 commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Problem

The distributed binary returned HTTP 500 when starting the local web server (pentestcode web).

Root cause: the web UI was never embedded in the binary. server/shared/ui.ts serves the UI from the build-embedded opencode-web-ui.gen.ts, or — if absent — proxies to http://localhost:3000 (dev server). The app build (packages/app) was broken because 5 CSS @imports still referenced the pre-fork @opencode-ai/* package scope (renamed to @pentestcode/*), so releases were compiled with --skip-embed-web-ui and the web command fell back to the dead proxy → 500.

Separately, the web UI still displayed "opencode" branding (wordmark, tab title, PWA name) while the terminal banner already read "pentestcode".

Changes

1. Restore web UI embedding (5b0ef12)

  • Rename stale @opencode-ai/*@pentestcode/* imports in packages/app/src/index.css and settings-v2.css.
  • bun run script/build.ts now embeds the web UI; pentestcode web serves it directly.

2. Rebrand web wordmark + title (aac80b1)

  • Redraw Logo and WordmarkV2 SVGs to spell pentestcode. The six glyphs shared with "opencode" (p, e, n, c, o, d) are reused verbatim and translated into place; t/s are drawn as rects in the same pixel-grid style.
  • Logo keeps the two-tone emphasis (pentest = --icon-base, code = --icon-strong-base); WordmarkV2 mask/filter widths grow to the new 11-glyph viewBox.
  • Update <title> and the PWA manifest name to PentestCode.

Verification

Built a single native binary (no --skip-embed-web-ui) and served it:

  • GET /200 with the embedded HTML (previously 500)
  • /assets/index-*.js → 200
  • /global/health → 200
  • Tab title served as PentestCode; wordmark renders "pentestcode" in the browser.

🤖 Generated with Claude Code

121z3 and others added 2 commits July 20, 2026 19:57
Five CSS @import statements still referenced the pre-fork @opencode-ai/*
package scope. The web app build (packages/app) failed to resolve them, so
release binaries were compiled with --skip-embed-web-ui and the `web`
command fell back to proxying http://localhost:3000 → HTTP 500.

Rename the stale imports to @pentestcode/* in index.css and settings-v2.css
so `bun run script/build.ts` embeds the web UI and `pentestcode web` serves
it directly.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The web UI still showed "opencode": the Logo and WordmarkV2 pixel wordmarks,
the <title>, and the PWA manifest name were all leftover from upstream, while
the terminal banner already read "pentestcode".

Redraw both SVG wordmarks to spell "pentestcode" — the six glyphs shared with
"opencode" (p, e, n, c, o, d) are reused verbatim and translated into place,
and t/s are drawn as rects in the same pixel-grid style. Logo keeps the
two-tone emphasis (pentest = --icon-base, code = --icon-strong-base) and
WordmarkV2's mask/filter widths grow to the new 11-glyph viewBox. Also set the
document title and webmanifest name to PentestCode.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@s0ld13rr

Copy link
Copy Markdown
Owner

Hi, thanks for contribution!

@s0ld13rr
s0ld13rr merged commit f906d4f into s0ld13rr:main Jul 24, 2026
2 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants