Marc Chan
e14b8092ea
feat: add Orbit activity summaries ( #681 )
...
* feat: add Orbit activity summaries
* fix(orbit): make runs navigable while agent continues
* fix(web): widen minimum chat panel
* feat: support Orbit template selection
* fix(daemon): avoid bogus skill side-file preflight
* fix(web): collapse orbit artifact project cards
* fix(web): preserve orbit project card titles
* fix: improve Orbit run daily briefing
* fix: handle Orbit digest data failures
* fix: load Orbit templates and connector tools reliably
* fix: keep Orbit summary counts consistent
Generated-By: looper 0.6.1 (runner=fixer, agent=opencode)
* fix: apply Orbit template skill context
* fix: cache and curate connector tools for Orbit
* fix: align Orbit defaults and connector discovery
* fix: simplify Orbit template settings
* fix: move connectors into settings
* fix: compact connector settings catalog
* fix: address Orbit PR feedback
Generated-By: looper 0.6.1 (runner=fixer, agent=opencode)
* fix: address Orbit PR feedback
Generated-By: looper 0.6.1 (runner=fixer, agent=opencode)
* fix: address Orbit PR feedback
Generated-By: looper 0.6.1 (runner=fixer, agent=opencode)
* fix: address Orbit PR feedback
Generated-By: looper 0.6.1 (runner=fixer, agent=opencode)
* fix: address Orbit PR feedback
Generated-By: looper 0.6.1 (runner=fixer, agent=opencode)
* fix: address Orbit PR feedback
Generated-By: looper 0.6.1 (runner=fixer, agent=opencode)
* fix: address Orbit PR feedback
Generated-By: looper 0.6.1 (runner=fixer, agent=opencode)
* fix: address Orbit PR feedback
Generated-By: looper 0.6.1 (runner=fixer, agent=opencode)
* fix: prevent connector action button from stretching into pill
The icon-only connect/disconnect buttons in the embedded connectors
catalog inherited min-width: 92px / 106px from the non-embedded pill
rules, overriding the 24px square sizing and causing the buttons to
overlap the card head text. Reset min-width to 0 in the embedded
icon-only rule so the compact square layout holds.
* fix(web): align live artifact file rows
* fix: clean up Orbit connector settings lifecycle
Generated-By: looper 0.6.2 (runner=fixer, agent=opencode)
* fix: address Orbit review regressions
Generated-By: looper 0.6.2 (runner=fixer, agent=opencode)
* feat(web): localize Orbit and connector settings
* feat(web): gate Orbit runs without connectors
* feat(web): refine connector settings UX
* feat(web): safeguard Composio key clearing
* fix(web): refresh Composio tool badges
* feat(web): show connector logos
* feat(daemon): localize Orbit prompt window
* fix(daemon): clarify blocked connector callback closes
* test(daemon): harden flaky async probes
* fix(web): align Indonesian connector locale keys
* test(web): align connector browser props
* fix(web): preserve explicit credential clears
Generated-By: looper 0.6.2 (runner=fixer, agent=opencode)
* fix(daemon): time out Composio logo proxy fetches
Generated-By: looper 0.6.2 (runner=fixer, agent=opencode)
* fix(web): localize Indonesian connector settings copy
Translate the new connector settings strings in the Indonesian locale and lock them with a regression test so this surface no longer silently falls back to English.
Generated-By: looper 0.6.2 (runner=fixer, agent=opencode)
* fix(web): preserve discovered connector tools
Generated-By: looper 0.6.2 (runner=fixer, agent=opencode)
* fix(web): preserve onboarding autosave completion
Keep settings autosave from clearing onboarding completion after the close gesture, and expose the desktop main types from source so workspace validation can typecheck packaged imports without a prior desktop build.
Generated-By: looper 0.6.2 (runner=fixer, agent=opencode)
* fix(daemon): defer Composio catalog cache hydration
Load persisted Composio catalog data only after the runtime data directory is configured so startup cannot read another namespace's cache. Add a regression test that exercises the module-load singleton path.
Generated-By: looper 0.6.2 (runner=fixer, agent=opencode)
* fix(web): treat discovery completion independently
Generated-By: looper 0.6.2 (runner=fixer, agent=opencode)
* fix(web): preserve latest settings draft on close
Use the latest persisted settings draft when the dialog closes so onboarding completion does not race a stale daemon sync and overwrite newer Orbit/template selections.
Generated-By: looper 0.6.2 (runner=fixer, agent=opencode)
* fix(web): avoid syncing draft Composio key on Orbit run
Generated-By: looper 0.6.2 (runner=fixer, agent=opencode)
* fix(web): localize Orbit settings copy
Translate the new Indonesian Orbit and autosave strings so the settings UI no longer falls back to English and the locale regression stays covered.
Generated-By: looper 0.6.2 (runner=fixer, agent=opencode)
* fix(web): prefer fresh connector catalog state
Keep refetched connector status/auth data authoritative while retaining discovery-only tool metadata so the connectors UI stays consistent after refreshes.
Generated-By: looper 0.6.2 (runner=fixer, agent=opencode)
* fix(web): declare Indonesian locale fallback keys explicitly
Generated-By: looper 0.6.2 (runner=fixer, agent=opencode)
* fix(web): inline Indonesian fallback strings for CI
Replace the Indonesian locale's per-key English lookups with explicit strings so workspace typecheck no longer depends on brittle build-mode resolution in CI.
Add a regression test that blocks those per-key English lookups from reappearing in the CI-sensitive fallback sections.
Generated-By: looper 0.6.2 (runner=fixer, agent=opencode)
* fix(daemon): restrict proxied connector logos to image MIME types
Reject non-image upstream logo responses so the daemon never serves third-party HTML from its localhost origin.
Generated-By: looper 0.6.2 (runner=fixer, agent=opencode)
* test(e2e): align settings dialog regressions
Generated-By: looper 0.6.2 (runner=fixer, agent=opencode)
* fix(web): decouple Orbit runs from media sync failures
Generated-By: looper 0.6.2 (runner=fixer, agent=opencode)
* fix(web): keep SPA catch-all export-compatible
Disable dynamic catch-all params for the exported SPA shell so Next.js static builds can emit the root route again. Add a regression test covering the route config against the web export mode.
Generated-By: looper 0.6.2 (runner=fixer, agent=opencode)
* fix(web): preserve Orbit config and workspace routes
Generated-By: looper 0.6.2 (runner=fixer, agent=opencode)
* fix(daemon): block SVG in connector logo proxy
Reject SVG and other unsafe proxied logo responses so third-party logo content cannot execute under the daemon origin, while keeping raster logo fetches working and making rejected responses non-cacheable.
Generated-By: looper 0.6.2 (runner=fixer, agent=opencode)
* fix(daemon): fall back to static catalog for empty cache
Generated-By: looper 0.6.2 (runner=fixer, agent=opencode)
* fix(web): disable Orbit run before connector gate resolves
Generated-By: looper 0.6.2 (runner=fixer, agent=opencode)
* fix(desktop): export shipped desktop types
Point the desktop ./main type export at the generated declaration so installed consumers resolve the published file set.
Generated-By: looper 0.6.2 (runner=fixer, agent=opencode)
* fix(web): restore persisted question form selections
Render historical submitted answers directly so reloaded question forms keep their locked selections visible.
Generated-By: looper 0.6.2 (runner=fixer, agent=opencode)
* fix(web): retry forced media sync autosave
Generated-By: looper 0.6.2 (runner=fixer, agent=opencode)
* fix(daemon): keep Composio logo timeout through body read
Keep the Composio logo fetch timeout active until the response body is fully consumed so stalled body reads abort and clear the inflight cache entry. Add a regression test that proves a delayed body read times out and the next request can recover.\n\nGenerated-By: looper 0.6.2 (runner=fixer, agent=opencode)
* fix(web): refresh Orbit gate after connector auth
Re-check connector availability when the settings window regains focus so Orbit unlocks as soon as a connector finishes authenticating in the same settings session.
Generated-By: looper 0.6.2 (runner=fixer, agent=opencode)
* fix(daemon): keep connector detail tool lists intact
Generated-By: looper 0.6.2 (runner=fixer, agent=opencode)
* fix(daemon): ignore malformed Orbit summaries
Generated-By: looper 0.6.2 (runner=fixer, agent=opencode)
* fix(e2e): stabilize design-system multi-select flow
Generated-By: looper 0.6.2 (runner=fixer, agent=opencode)
* fix(daemon): cap Composio logo cache growth
Bound the Composio logo cache with LRU eviction and expired-entry pruning so repeated untrusted logo requests cannot grow daemon memory without limit.
Generated-By: looper 0.6.2 (runner=fixer, agent=opencode)
* fix(daemon): bound proxied Composio logo payloads
Generated-By: looper 0.6.2 (runner=fixer, agent=opencode)
* fix(web): align autosave settings tests
Generated-By: looper 0.6.2 (runner=fixer, agent=opencode)
* fix(web): remove stray CSS conflict marker
Generated-By: looper 0.6.2 (runner=fixer, agent=opencode)
* fixer: address PR #681 follow-up items
Generated-By: looper 0.6.2 (runner=fixer, agent=opencode)
* fix(web): restore restart routes and connector flows
* fix(web): keep SPA export route static
* fix(web): stabilize chat scroll tests
---------
Co-authored-by: lefarcen <935902669@qq.com>
2026-05-08 14:27:46 +08:00