Walkthrough polish: honest error messages, sidebar label fix, localStorage bug

A small cleanup pass after walking the authenticated Gary flow. Error strings that previously said "Could not start the draft. Try again." now say "This will be available once GaryOSS is connected to the backend." The sidebar's "Assistant" entry was renamed to "Ask Gary." A localStorage bug was fixed where the desktop sidebar state was being persisted using the wrong variable.

chat-uiintake

The error message changes affect /draft, /review, and the InitialView upload handler. When handleNewChat returns null because the backend isn't reachable, the previous copy blamed a transient failure. The replacement is more accurate: the backend connectivity isn't established yet, so the feature isn't available. Whether you want that same copy in your fork depends on your deployment state, but the uploadError state added to InitialView is worth keeping regardless.

The localStorage bug is real and import-worthy on its own. In (pages)/layout.tsx, the effect that persists sidebar preference was writing isSidebarOpen.toString() - mobile state - when its dependency array already tracked isSidebarOpenDesktop. The result: desktop sidebar open/closed preference wasn't being saved correctly. The fix is a one-line correction: localStorage.setItem("sidebarOpen", isSidebarOpenDesktop.toString()).

The NEXT_PUBLIC_GARY_SKIP_AUTH dev bypass now shows an amber notice on the login and signup pages as well, complementing the in-app banner from the auth bypass commit. The sidebar rename from "Assistant" to "Ask Gary" is product-specific.

So what Pull the `localStorage` fix regardless. The desktop sidebar persistence bug is a correctness issue that exists in the upstream code. The error message changes and sidebar label are product-specific to the Gary brand; evaluate separately.

View this fork on GitHub →

Spotted something wrong? Or know the PR text has fresher detail than the writeup above?

Commits in this thread

1 commit from foolish-bandit/gary, oldest first. Source extracted verbatim from the harvested git log.

SHA Subject Author Date
d3b7ad48 Frontend walkthrough polish and bugfix pass Zack Brenner 2026-05-07 ↗ GitHub

Capture this thread into my fork

Download a single Markdown prompt that tells Claude how to port every commit above into your working tree — adapting paths and structure to match your repo. Run it via claude -p < capture-thread-268.md from inside the repo you want the changes in.

⬇ Download capture-thread-268.md