Skip to content

feat(app): Home tab in Work Column — widgets, icons, closeable tabs - #550

Merged
jeonghun-jj-lee merged 10 commits into
mainfrom
widgets-to-home-tab
Aug 24, 2026
Merged

feat(app): Home tab in Work Column — widgets, icons, closeable tabs#550
jeonghun-jj-lee merged 10 commits into
mainfrom
widgets-to-home-tab

Conversation

@jeonghun-jj-lee

@jeonghun-jj-lee jeonghun-jj-lee commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a Home tab as the first, always-present tab in the Work Column side panel. Widgets render there via the existing WidgetGrid. The old dashboard home page concept is retired.

What's in here

Home tab + widget cleanup

  • Home tab with WidgetGrid in the Work Column (ADR 0009)
  • Removed obsolete widgets: About You, Meet Amico, Now Solving, Showcase, Library
  • Only Jump Back In remains — rewired to show the most recent non-empty session (not pulse-design problems)

Tab icons

  • Added home icon (house outline) for the Home tab
  • Added review icon on the Files Changed tab
  • Added context-ring icon for the Context panel menu entry (replaces brain)

Closeable tabs

  • Pulse Inspector tab now properly closes (wrapped in display:none when not open)
  • Files Changed is intentionally NOT closeable (self-managing badge)

Corresponding fork changes

harmoniqs/opencode branch local/amicode carries the matching commits (icon set additions, widget registry, side panel logic).

Closes #549

Summary by CodeRabbit

  • New Features

    • Added a dedicated, always-available Home tab within the Work Column.
    • Display widgets in a responsive grid with support for selecting, rearranging, and restoring widget layouts.
    • Preserved Home as the fallback view when no file panel is open.
    • Added empty-state messaging when no widgets are available.
  • Changes

    • Renamed dashboard terminology to Home throughout widget previews and interface labels.
    • Retired several legacy widgets, including profile, library, showcase, and “Meet Amico” experiences.

Add the architectural decision record for relocating the widget grid
from the standalone home page into the Work Column side panel as an
always-present first tab. Update CONTEXT.md with Home and Widget
glossary terms under a new Surfaces section.
Register 'home' as the first, always-present tab in the Work Column
side panel. The tab renders WidgetGrid (the full widget kernel —
sandboxed iframes, bridge protocol, drag-reorder, add tray) inline.

Changes:
- helpers.ts: register homeOpen memo, filter 'home' from panelTabs,
  make 'home' the terminal activeTab fallback (replaces 'empty')
- session-side-panel.tsx: add Home tab trigger (first position, both
  legacy and v2 DnD branches), add HomeTabContent component that
  fetches /amicode/widgets + /amicode/dashboard and wires WidgetGrid
- widget-preview-card.tsx: relabel 'Pin to dashboard' → 'Pin to Home'

The widget kernel CSS already collapses from 2-col to 1-col below
~300px (minmax(150px, 1fr)), so no responsive changes needed.

Backend routes, bridge protocol, manifest system, and the
amicode_author_widget tool are unchanged — zero wire-level changes.
Delete the two hardcoded home-page-era widgets that no longer serve a
purpose in the panel-based Home tab:
- widgets_src/about-you.ts (profile card)
- widgets_src/meet-amico.ts (welcome hero)

Update the builtin registry, fixture seed, recorder script, and golden
fixtures to reflect the reduced set (jump-back-in, now-solving,
showcase, library remain). Sync library.ts hash with the fork.
@jeonghun-jj-lee
jeonghun-jj-lee merged commit 3bb443f into main Aug 24, 2026
5 of 8 checks passed
@jeonghun-jj-lee
jeonghun-jj-lee deleted the widgets-to-home-tab branch August 24, 2026 21:12
@coderabbitai

coderabbitai Bot commented Aug 24, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: e48a39f3-c150-4559-822a-e2832548711d

📥 Commits

Reviewing files that changed from the base of the PR and between 101efb8 and 7731899.

📒 Files selected for processing (14)
  • CONTEXT.md
  • docs/adr/0009-widgets-to-work-column-home-tab.md
  • packages/app-bundle/overlay/packages/app/src/pages/session/helpers.ts
  • packages/app-bundle/overlay/packages/app/src/pages/session/session-side-panel.tsx
  • packages/app-bundle/overlay/packages/ui/src/amicode/widget-preview-card.tsx
  • packages/extension/scripts/amicode_fixture_seed.mjs
  • packages/extension/scripts/record_amicode_fixtures.mjs
  • packages/extension/src/amicode_service/widgets.ts
  • packages/extension/src/amicode_service/widgets_src/about-you.ts
  • packages/extension/src/amicode_service/widgets_src/library.ts
  • packages/extension/src/amicode_service/widgets_src/meet-amico.ts
  • packages/extension/src/amicode_service/widgets_src/now-solving.ts
  • packages/extension/src/amicode_service/widgets_src/showcase.ts
  • packages/extension/test/fixtures/amicode/golden.json

📝 Walkthrough

Walkthrough

The Work Column now includes an always-present Home tab. It loads and renders widgets, resumes sessions, and persists dashboard changes. Obsolete widgets and standalone-home terminology were removed from fixtures, sources, and UI labels.

Changes

Home tab migration

Layer / File(s) Summary
Home surface contract
CONTEXT.md, docs/adr/0009-widgets-to-work-column-home-tab.md
Defines Home and Widget terminology and documents the move from the standalone home page to the Work Column.
Session Home tab integration
packages/app-bundle/overlay/packages/app/src/pages/session/helpers.ts, packages/app-bundle/overlay/packages/app/src/pages/session/session-side-panel.tsx
Adds Home tab state, triggers, and content to both panel layouts. HomeTabContent loads widget and dashboard data, renders WidgetGrid, supports session resume, and persists dashboard changes.
Widget catalog and fixture alignment
packages/app-bundle/overlay/packages/ui/src/amicode/widget-preview-card.tsx, packages/extension/src/amicode_service/widgets_src/*, packages/extension/scripts/*, packages/extension/test/fixtures/amicode/golden.json
Relabels pinning actions to Home, removes obsolete widget implementations, and updates widget seeds and recorded fixtures to use jump-back-in.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Sequence Diagram(s)

sequenceDiagram
  participant SessionSidePanel
  participant AmicoAPI
  participant WidgetGrid
  participant DashboardAPI
  SessionSidePanel->>AmicoAPI: Fetch widgets and dashboard
  AmicoAPI-->>SessionSidePanel: Return widget and dashboard data
  SessionSidePanel->>WidgetGrid: Render Home widget grid
  WidgetGrid->>SessionSidePanel: Report dashboard changes
  SessionSidePanel->>DashboardAPI: Persist dashboard state
Loading

Suggested reviewers: aarontrowbridge

✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch widgets-to-home-tab

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Move widgets to the Work Column as the "Home" tab

1 participant