Conversation
Captures the design for bringing mobile feature parity with the desktop Vault Assistant and fixing width issues on Galaxy Fold inner screens and narrow desktop windows. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Spec self-review caught a missing behavior: if the editor closes while the Entity tab is active, auto-switch back to Chat tab. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
10 bite-sized tasks covering hook creation, layout refactor, tab architecture, auto-open guard removal, pulse animation, narrow-desktop flex fix, and manual smoke test. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Move Dialog.Title into the shared assistantContent() snippet so both compact (Dialog.Root) and wide (ResponsiveModal.Content) shells render it, ensuring the dialog has an accessible name across all layouts. Reset prevPendingCount alongside activeTab in all three conversation handlers (new, switch, delete) to prevent stale pulse comparisons when moving between conversations with different pending states. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The change-card header used to keep action buttons on a single row via shrink-0, which on phone widths caused the action-indicator label to overlap the Edit/Reject/Approve buttons. The preformatted content could also render with a min-content larger than the card itself, leaving the card visually empty under overflow-hidden on narrow widths. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The <pre> elements had intrinsic min-content behavior that could push past the card bounds on very narrow viewports, causing content to be clipped invisibly by the card's overflow-hidden. Switching to <div> with whitespace-pre-wrap gives identical visual wrapping without the min-content quirk. The header's left (entity info) column now takes full row width below the sm breakpoint, so the right (action) column wraps below rather than visually overlapping the action label. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The left column's overflow-hidden is what actually prevents badge/action- indicator children from bleeding into the right column. Forcing a full- row split below sm wrapped the buttons too eagerly; relying on flex-wrap + overflow-hidden wraps only when the row genuinely can't fit everything. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…zing Dropping opacity-85 and transition-all tests the hypothesis that Svelte's in:fade interaction with the opacity class (or the combined all-property transition) was leaving the auto-approved NEW LOREBOOK card's content invisible on narrow widths. Bumped border/bg to teal/30 and /8 to keep the card's auto-approved signal readable without the opacity filter. The header now uses flex-auto (basis: auto) on the left info column, so its natural width prevents flex from shrinking the row below its min- content. flex-wrap then reliably moves the right action-button column to a second row only when the header genuinely cannot fit both on one line — no mid-width overlap, no wrapping too eagerly. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The sidebar column had no flex-1/min-h-0 in mobile (flex-col parent), so it sized to the entries list's intrinsic height and the inner overflow-y-auto had no constrained parent to scroll inside. Added flex-1 min-h-0 on mobile, reverted to flex-none at sm: so the w-72 sidebar width still applies in the row layout. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
On narrow widths (phone / Fold outer) the four+ action buttons (Vault Assistant, Tags, Browse Online, Import Card, New …) don't fit alongside the title + back button, so the rightmost ones get clipped off-screen. Replaced justify-between with gap + flex-1 on the action group, with overflow-x-auto and shrink-0 children so the group takes the remaining row width and horizontally scrolls once its natural content exceeds it. Buttons no longer get clipped; users can swipe to reach any action. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Replace the horizontal scroll with an icon-only presentation on narrow widths. Drops button text labels (not icons) below 1024px via max-lg:[&_span]:!hidden — Button's own hidden-sm:inline label span is overridden with important so the action buttons shrink to icon size and all fit alongside the title. At lg and up, full labels show again. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
h-4 hard-capped the chip's height, so trait text that wrapped to a second line on narrow widths escaped the chip outline. Switched to min-h-4 with an explicit leading-4 and py-0 so single-line chips look identical to before while multi-line text grows the chip. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
On the Galaxy Fold inner screen (~816px) the TagManager's max-w-2xl cap and DiscoveryModal's sm:w-[calc(100%-2rem)] left large side gutters. Switched both to w-full max-w-none below lg and kept the centered calc+max-w layout only at lg (1024px) and up, matching the compact breakpoint used elsewhere in the vault flow. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Code Review
This pull request introduces a new 'compact' layout mode for the Vault Assistant, transitioning from mobile-specific detection to a 1024px breakpoint hook. Key changes include a tabbed interface for smaller screens to toggle between chat and entity editing, refactoring the assistant UI into reusable snippets, and adding rustls as a dependency for the Tauri backend. Various UI components were updated with responsive styling, and the Vault Assistant now includes logic for tab pulsing and auto-switching. Feedback focuses on ensuring consistent DOM update synchronization with tick() and reducing duplicated error display logic.
a-frazier
approved these changes
Apr 19, 2026
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 #278