Skip to content

feat: publish local app improvements and download website - #10

Merged
devswha merged 5 commits into
mainfrom
feat/publish-local-stack
Aug 16, 2026
Merged

feat: publish local app improvements and download website#10
devswha merged 5 commits into
mainfrom
feat/publish-local-stack

Conversation

@devswha

@devswha devswha commented Aug 16, 2026

Copy link
Copy Markdown
Owner

Summary

Publish the four previously local-only commits on top of the restored main branch:

  • fix SDK resume-root resolution and reasoning-effort plumbing
  • add per-session model selection and the composer toolbar overhaul
  • prevent a closed OAuth tab from cancelling other clients’ login attempts
  • add the standalone download landing and monochrome mark
  • verify the standalone website in both Node CI matrix jobs

Verification

  • npm ci
  • node scripts/fetch-bun.mjs
  • npm run verify
  • npm ci --prefix website
  • npm test --prefix website (3 passed)
  • npm run build --prefix website

The branch was assembled from the existing committed local stack; the parent worktree and untracked docs/plans/ were not modified.

- resolveGjcResumeSessionRoot returns the session's own directory instead of
  the global sessions root; SessionManager.list scans only the supplied
  directory, so managed sessions one level below the root failed every resume
  with the sanitized 'GJC SDK configuration is invalid' error (4x on 08-15).
- Thread an 'effort' run option through enrichGjcSdkRunOptions into the SDK
  session as thinkingLevel, validated against the known effort levels.
Server:
- chat.send resolves the session's persisted active-model choice and lets it
  outrank the client's global default, wiring the previously dead
  resolveResumeModel store into the only run dispatch path (injectable for
  tests, exported through the providers barrel).
- Regenerate the built-in profile snapshot from SDK 0.13.1 (30 -> 46 profiles,
  adds claude-opus-5/sonnet-5, grok-45, open-weights) and bump the provider
  models cache version so stale catalogs do not outlive the upgrade.
- Resolve profile-name references in config.yml roles (modelProfile:
  default: <profile>) to real model selectors so a profile name never
  surfaces as a model id.

Client:
- New SessionModelPicker: changes only this session's default-agent model,
  derived from preset role mappings (effort suffixes stripped, provider
  groups ordered codex/claude/kimi/glm/grok first).
- ModelPresetPicker gains an icon-only mode and moves next to the skill
  picker; preset groups follow the same ordering with Current pinned.
- ReasoningEffortPicker and SkillPicker land in the toolbar; all composer
  popups render through body portals because the composer form clips
  overflow.
- ContextUsageBadge shows context fullness beside the skill icon; the
  redundant model/effort/cwd/context status strip is removed.
- Composer submits an effort option per message; the provider-entry guard
  regex is bounded to one line so the reasoningEffort passthrough is not a
  false positive.
…empts

oauth.phase events broadcast to every connected client, and any tab with the
login dialog closed cancelled every non-terminal attempt it heard about —
starting a sign-in with a second app tab open killed the attempt instantly
and bounced the dialog back to the provider list with no error. Closed tabs
now ignore broadcasts; the owning tab still cancels on dialog close/unmount
and the server times abandoned attempts out.

Also open the browser when a callback-server flow lands directly on
awaiting_input (the localhost listener races manual paste), and label the
input for what it accepts: an authorization code or the full localhost
callback URL.
Ship a separate Vite marketing site so the desktop app can stay
untouched while another session works. The page pins the current
GitHub beta artifacts, and the header/favicon use a black-and-white
crayfish mark instead of the full-color mascot.
@devswha
devswha merged commit 2701c5c into main Aug 16, 2026
2 checks passed
@devswha
devswha deleted the feat/publish-local-stack branch August 16, 2026 19:34
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.

1 participant