fix: post-mobile-UI regressions and Firefox paint artifacts - #978
Merged
Conversation
…align org name in sidebar switcher
…ching to an org with no local key shows the password prompt instead of a stuck spinner
… fix Firefox rendering artifacts
nimish-ks
approved these changes
Aug 17, 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.
🔍 Overview
Follow-up fixes for issues found while testing after the mobile responsiveness release. Two are regressions from recently merged PRs, one is a long-standing auth UX bug surfaced by multi-org testing, and one is a Firefox-specific rendering artifact:
flex justify-end, which stretches the button to the full height of its row onsm+.block w-full truncatespan. The span sits inside a Headless UIMenu.Button, and buttons default totext-align: center— so the org name rendered centered instead of left-aligned.💡 Proposed Changes
UnlockKeyringDialog— addeditems-startto the Log out button wrapper so the button keeps its standard height instead of stretching with the flex row (382a847).Sidebar— addedtext-leftto the org-name span in the switcher label, matching what Fix long organization names overflowing the sidebar #969 already did for the dropdown entries (382a847).UnlockKeyringDialog— the dialog stays mounted across org switches (App Router keeps the[team]layout subtree alive across dynamic-param changes), so thedevicePasswordExistsflag survived from the previous org. The auto-unlock effect only ever set the flag when it found a cached key and never cleared it, so an org with nothing cached rendered the spinner branch with no decrypt attempt running. The effect now resets the flag at the top of each run and lets the cache-hit branches re-assert it; React 18 batches the reset + re-set into one render, so orgs that do auto-unlock show no flash (9dfbed3).GetStarted— flattened the task-card paint path to eliminate the primitives Firefox rasterized incorrectly (be2e526):width: {progress}instead of afloat-left+transform: scaleX(...)layerborderinstead ofring-1 ring-inset(an inset box-shadow)overflow-hiddenon the card root; the track and fill are plain unrounded rectsNo backend, schema, or dependency changes.
🖼️ Screenshots or Demo
📝 Release Notes
No breaking changes or migrations.
❓ Open Questions
:test_pipeline: Testing
tsc --noEmitclean against the existing baseline.🎯 Reviewer Focus
frontend/components/auth/UnlockKeyringDialog.tsx— the one-line reset in the auto-unlock effect is auth-adjacent; review the effect's early-return guard and the cache-hit branches to confirm the flag can't be cleared while a decrypt is legitimately pending.frontend/components/dashboard/GetStarted.tsx— confirm the card root's newoverflow-hiddendoesn't clip anything you'd expect to escape (the CLI copy buttons are positioned within their own blocks, so they're safe).➕ Additional Context
✨ How to Test the Changes Locally
docker compose -f dev-docker-compose.yml up -dand log in.sm+viewport — the Log out button should be normal height, top-aligned.💚 Did You...