Hide the sidebar update control unless an update is available - #10
Draft
felipeorlando wants to merge 27 commits into
Draft
felipeorlando wants to merge 27 commits into
felipeorlando wants to merge 27 commits into
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueComment |
- Add image storage, validation, and project-specific overrides - Add appearance controls for visibility and session scope - Add background dialog, project menu entry, and coverage tests
- Clear multi-select when pointer lands outside session cards - Reset selection state when closing context menu - Track context-menu selections to distinguish them from other interactions
- Sync global chat background path changes across session panes - Add regression tests for arcade visibility
* Add a shortcut to archive the focused conversation * Check archive eligibility before consuming the shortcut * Simplify archive routing and remove added test dependencies * Restore focused archive shortcut tests without new dependencies
- Support image drag-and-drop into notes with secure asset storage and rendering - Toggle native window translucency based on light/dark appearance
- Vertical bar with dock-style magnification on hover - Hover preview shows prompt and first two lines of reply - Keyboard navigation with arrow/tab keys - Simplified state management and interaction model
Layered backdrop blur carries scrolled content into the title bar
- Preserve dark-mode content tint - Use a translucent base color in light mode
- Add light-theme composer box shadows and send button states - Mark send buttons with a shared styling hook
- Add shared IME detection for modern and WebKit keyboard events - Prevent composer actions from firing during text composition - Cover IME and ordinary keyboard behavior with tests
- Delete the layered blur overlay and related scroll-state synchronization
- Lower the hide breakpoint from 62rem to 58rem
- Position and scale the background image consistently across split conversation panes
- Compare staged changes against HEAD and unstaged changes against the index - Preserve selected diff kind and support partially staged files - Add coverage for diff loading, focus, statuses, and snapshots
- Organize changed files by directory in collapsible tree view - Add "Open All Changes" button to review all changes at once - Persist view preference (list/tree) in localStorage
…920#125) `git_grep` appended each `include` token straight onto the `git grep` argument list with no `--` separator, so a token starting with `-` was parsed as an option rather than a pathspec. `git grep` has flags that spawn a process (`-O` / `--open-files-in-pager`), which made the search panel's "files to include" field able to run an arbitrary command with the user's privileges. Add `--` after the pattern so everything that follows is unambiguously a pathspec. This closes the whole option-injection category structurally rather than rejecting specific flag names — the short `-O<cmd>` spelling executes too, and a name-based filter would miss flags git adds later. Verified non-regressing: ordinary globs, `:(exclude)` tokens, and an empty pathspec list all behave the same with `--` in place. Claude-Session: https://claude.ai/code/session_01NDamTDovK8dArJULC8b5VH Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
felipeorlando
force-pushed
the
issue-8-sidebar-update
branch
from
September 8, 2026 21:36
b262367 to
d618fa5
Compare
The busy flag only flips after installPendingUpdate awaits readAppVersion, so a second click could start another install. Guard with a ref cleared in finally, and cover two clicks during that delay. Co-authored-by: Felipe Orlando <fobsouza@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #8
The automatic update probe moves from
SidebarUpdateup intoSidebarUpdateFooter, so the footer owns the snapshot and can decide whether anything is worth rendering. New exported predicateisSidebarUpdateActionable(snapshot)returns true only foravailableanddownloading; the footer returnsnullotherwise, so the wrapper padding disappears too.SidebarUpdateis now presentational — the dead "Check for updates" / "Checking…" labels, theRefreshCwicon and therunUpdateFlowimport are gone. A failed probe lands onidle, so it stays silent.Settings and app-menu manual checks keep their own snapshots and
runUpdateFlow(true, …), untouched.UpdateRailCardand the post-install "What's new" card are unaffected.Judgement call to review
The Settings block was
p-2 pt-0, relying on the footer above for its top gap. With the footer now able to vanish, Settings would sit flush against the scrolling session list. Spacing moved onto the Settings block (p-2) and the footer becamep-2 pb-0, in bothSidebar.tsxandProjectRail.tsx.Verification
npm run check:web— exit 0, 128 files / 1328 tests.tsc --noEmitclean. 5 new tests insrc/chrome/SidebarUpdate.test.ts.Not run in the app — layout of the collapsed footer is unverified visually.