openclaw/apps
Peter Steinberger 0b025d14d0
feat(macos): show session hovercards in the native sidebar (#163165)
* feat(macos): track session hovercard facts for the sidebar

Add optional roster origin, chatType, groupChannel, and deliveryContext
fields. Keep presentation and iOS behavior unchanged.

Share PR watch sets and PR/progress/channel caches per Gateway connection.
Fence late results across reconnects, wait for acknowledged final unsubscribe,
and load channel avatars through the authenticated Gateway resource owner.

Presentation remains a separate PR4b-2 follow-up, preserved locally in
.local/pr4b-2-presentation.patch, including the row hook and PR menu item.

Named follow-ups, outside this data commit:
- Attached-automation navigation: decoded flag and navigation wiring.
- HTML progress promotion in the shared native Markdown renderer.
- People-card lookup for sessions admitted only through sidebar paging
  (ChatSessionSidebar+People.swift:295; owned by the people lane).

Validation: 11 focused data tests, both macOS product builds, build-tests,
format, localization verification, and 61 localization tooling tests pass.
Fresh P2 review is scoped-clean. Swift lint and check-changed retain only
the unchanged DashboardManager file-length violation from main.

* feat(macos): project session hovercard details

Project creation age, creator and participant attribution, channel origin, workspace and placement, PR text, preview and notepad precedence, and progress heads-up from existing Gateway facts. Reuse the sidebar title owner and keep the projections macOS-only. The popover and row/menu hooks follow separately.

Wire-shaped tests cover the projections, including failing draft regressions for channel normalization and workspace tooltip semantics. Both product builds, build-tests, 20 focused tests, localization checks and formatting pass. P2 review is scoped-clean; lint and check-changed retain the unchanged DashboardManager length violation.

* feat(macos): show session hovercards in the native sidebar

Show native sidebar cards on hover and keyboard focus using the existing
connection-scoped facts and display projections. Include creation age,
creator and participants, channel origin, workspace and placement,
pull requests and checks, previews and errors, notepad and progress.
Offer Open pull request when the shared subscription resolves a URL.

A per-window interaction owner orders entry intent, excludes context menus,
handles explicit dismissal and focus restoration, and rejects stale sweeps.
Use authenticated channel and agent images with separate cache slots and
connection-generation invalidation. Resolve the row key's agent before the
selected sidebar scope. Keep iOS and palette behavior unchanged.

Validation: both product builds, build-tests, 29 focused tests, formatting,
localization verification and 61 localization tooling tests pass. P2 review
is scoped-clean after reproducing and fixing the interaction findings.
Swift lint and check-changed retain only the unchanged DashboardManager
file-length violation from main. Native live proof is reserved for the
coordinator rig under the task's no-app-launch restriction.

Deferred as agreed: attached-automation navigation, HTML progress promotion
in the shared native Markdown renderer, and the people-card paged-only
session lookup owned by the people lane.
2026-10-02 03:02:34 +00:00
..
.i18n feat(macos): show session hovercards in the native sidebar (#163165) 2026-10-02 03:02:34 +00:00
android refactor(apps): drop pre-July-2026 app migrations (#163002) 2026-10-01 19:06:10 -07:00
ios fix(ios): paste clipboard images into the chat composer (#161627) 2026-10-01 19:24:09 -07:00
linux refactor(installer): share standalone shell installer policy (#162652) 2026-10-01 13:01:25 -07:00
macos feat(macos): show session hovercards in the native sidebar (#163165) 2026-10-02 03:02:34 +00:00
macos-mlx-tts chore(deps): refresh dependencies through September 19 cutoff (#159401) 2026-09-27 19:33:08 -07:00
shared feat(macos): show session hovercards in the native sidebar (#163165) 2026-10-02 03:02:34 +00:00
swabble refactor(apple): deslop shared Swift packages second pass (#159386) 2026-09-27 14:35:55 +00:00