fix(frontend): make chat focus mode fullscreen#2578
Conversation
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
7c49496 to
c62e5ad
Compare
PR Summary by Qodofix(frontend): make chat focus mode fullscreen
AI Description
Diagram
High-Level Assessment
Files changed (6)
|
There was a problem hiding this comment.
Code Review
This pull request implements a truly fullscreen chat focus mode by introducing a shared useOptionLayoutShellOverrides hook to hide the application header and sidebar shell chrome. In the Playground, focus mode now hides cockpit rails, artifacts panels, and shortcut strips, leaving only the chat transcript, composer, and a new 'Exit focus' button. The review feedback suggests minor improvements: destructuring properties in the new hook to clean up the useMemo dependency array, using the dynamic focusModeActive state instead of a hardcoded false for the aria-pressed attribute, and adding an assertion in the tests to verify that overrides are cleared upon exiting focus mode.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
Code Review by Qodo
Context used✅ Compliance rules (platform):
74 rules 1.
|
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@backlog/tasks/task-12115` - Make-chat-focus-mode-truly-fullscreen.md:
- Around line 57-59: The task document has duplicate final-summary end markers,
leaving the section tags unbalanced. Update the final summary area to keep
exactly one matching FINAL_SUMMARY:END for the existing FINAL_SUMMARY:BEGIN
block, and remove the extra repeated end markers in the same section so the
marker structure is consistent.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: 5a1f8a2d-212f-4488-a03b-b7e094d9548a
⛔ Files ignored due to path filters (1)
Docs/superpowers/plans/2026-07-03-chat-focus-fullscreen.mdis excluded by!docs/**
📒 Files selected for processing (5)
apps/packages/ui/src/components/Layouts/Layout.tsxapps/packages/ui/src/components/Layouts/__tests__/Layout.shell-overrides.test.tsxapps/packages/ui/src/components/Option/Playground/Playground.tsxapps/packages/ui/src/components/Option/Playground/__tests__/Playground.cockpit-controls.test.tsxbacklog/tasks/task-12115 - Make-chat-focus-mode-truly-fullscreen.md
Change summary
Exit focuscontrol that returns the chat to cockpit mode.Verification
bun run test:run ../packages/ui/src/components/Layouts/__tests__/Layout.shell-overrides.test.tsx ../packages/ui/src/components/Option/Playground/__tests__/Playground.cockpit-controls.test.tsx- 22 tests passed.http://127.0.0.1:18001/chat: focus mode hides header/sidebar, chat sidebar, context/runtime rails, and top focus/shortcut controls while keeping transcript, composer, and Exit focus.bun run typecheckstill fails on existing unrelated baseline errors in AudioStudio, ScheduledTasks, Skills, scheduled-tasks services, MCP hub path typing, voice-cloning ArrayBuffer typing, knowledge QA fixtures, and flashcards E2E. No touched file appears in the rerun.Notes
Bandit skipped because this touches frontend TypeScript/TSX tests and Markdown only.
Summary by cubic
Make chat focus mode truly fullscreen by hiding app chrome and cockpit rails, with a clear exit control. Export a shared shell override hook so routes can hide header/sidebar across shells without nesting; meets TASK-12115.
useOptionLayoutShellOverridesto let route content requesthideHeader/hideSidebaracross shells, and to clear the same setter on unmount/navigation; added tests for apply/cleanup and route-driven overrides.Written for commit 763c4e7. Summary will update on new commits.