Skip to content

Add GitHub setup banner on app launch - #2

Merged
frenchie4111 merged 1 commit into
mainfrom
add-gh-setup-banner
Apr 10, 2026
Merged

frenchie4111 merged 1 commit into
mainfrom
add-gh-setup-banner

Conversation

@frenchie4111

Copy link
Copy Markdown
Collaborator

Summary

  • Adds a blue banner at the top of the main view prompting the user to connect a GitHub token if none is stored
  • "Set up GitHub" button jumps to Settings; banner auto-hides once a token is saved
  • "Dismiss" persists via localStorage so it won't nag on subsequent launches
  • Both banners now use pl-20 + drag-region so they clear the macOS traffic lights while staying draggable (buttons marked no-drag)

Test plan

  • Launch app with no GitHub token stored → blue banner appears
  • Click "Set up GitHub" → Settings opens; after saving a valid token and closing, banner disappears
  • Click "Dismiss" → banner hides and stays hidden across restarts
  • Traffic lights are not obscured by either banner; window can be dragged from empty banner space

🤖 Generated with Claude Code

Prompts users to connect a GitHub token if none is stored, linking
directly to Settings. Dismissal persists via localStorage, and the
banner auto-hides once a token is saved.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@frenchie4111
frenchie4111 merged commit 4ca0431 into main Apr 10, 2026
tresat added a commit to tresat/harness that referenced this pull request Jul 24, 2026
- Extract normalizeAlias() + ALIAS_MAX_LEN in shared/state/aliases.ts;
  IPC handler, MCP control-server dep, and control-server response
  echo all use it so the trim/clamp logic can't drift (fixes ness-dev#2)
- useHotkeys skips when focused element (or ancestor) has
  data-hotkeys="ignore"; AliasEditor input opts in so Cmd+W / Cmd+K /
  etc. don't fire while renaming. Opt-in (not a general "skip inputs"
  rule) because xterm's hidden textarea would otherwise break every
  terminal-time hotkey (fixes ness-dev#4)
- useAliasForPath now accepts string | null | undefined; App.tsx window
  title read no longer needs the '?? ...' fallback subscription to a
  permanently-empty key (fixes ness-dev#7)
- MCP control-server response includes clamped: true when the caller's
  input differed from what got stored; the set_worktree_alias tool
  surfaces this to the agent as "input was normalized" so silent
  whitespace/length changes are discoverable (fixes ness-dev#8)
- Add control-server.test.ts covering POST/DELETE /aliases end-to-end:
  scope-fallback, clamp reporting, empty-clears-alias, and 400 on no
  worktreePath + no scope (fixes ness-dev#9)
- displayLabel docstring now explains the resolution order, the
  machine-facing exclusion, and the per-id selector pairing (fixes ness-dev#10)
frenchie4111 pushed a commit that referenced this pull request Jul 24, 2026
- Extract normalizeAlias() + ALIAS_MAX_LEN in shared/state/aliases.ts;
  IPC handler, MCP control-server dep, and control-server response
  echo all use it so the trim/clamp logic can't drift (fixes #2)
- useHotkeys skips when focused element (or ancestor) has
  data-hotkeys="ignore"; AliasEditor input opts in so Cmd+W / Cmd+K /
  etc. don't fire while renaming. Opt-in (not a general "skip inputs"
  rule) because xterm's hidden textarea would otherwise break every
  terminal-time hotkey (fixes #4)
- useAliasForPath now accepts string | null | undefined; App.tsx window
  title read no longer needs the '?? ...' fallback subscription to a
  permanently-empty key (fixes #7)
- MCP control-server response includes clamped: true when the caller's
  input differed from what got stored; the set_worktree_alias tool
  surfaces this to the agent as "input was normalized" so silent
  whitespace/length changes are discoverable (fixes #8)
- Add control-server.test.ts covering POST/DELETE /aliases end-to-end:
  scope-fallback, clamp reporting, empty-clears-alias, and 400 on no
  worktreePath + no scope (fixes #9)
- displayLabel docstring now explains the resolution order, the
  machine-facing exclusion, and the per-id selector pairing (fixes #10)
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