hermes-agent/apps/desktop/src
Brooklyn Nicholson 8ce8b70dca feat(desktop): pins sync between apps sharing a gateway
The pin bridge only ever pushed: localStorage to the backend, never
back. Two apps on the same gateway each kept their own localStorage, so
a pin made on the Mac never appeared on the Windows app.

Now that a pinned row is guaranteed to be in the page, its absence says
nothing about its pin state — which makes the server row authoritative.
`pullRemotePins` adopts pins this app hasn't seen and drops local pins
the server says are gone, keying on the durable lineage root so a pin
survives compression tip rotation. Adopted pins are recorded as already
mirrored rather than echoed back as a redundant write.

A list request in flight when we PATCH still carries the old value, so
honouring it would silently undo the pin the user just made. Writes are
guarded for the lifetime of their own request — no timers, no wall-clock
windows. A runtime predating the flag sends no `pinned` at all; that's
treated as no opinion and leaves the local set alone.

Co-authored-by: webtecnica <75556242+webtecnica@users.noreply.github.com>
Co-authored-by: Kyzcreig <9063726+Kyzcreig@users.noreply.github.com>
Co-authored-by: aman-merchant <274313970+aman-merchant@users.noreply.github.com>
Co-authored-by: rerdi92 <76791321+rerdi92@users.noreply.github.com>
2026-07-29 12:00:41 -05:00
..
app feat(voice): calm ambient "thinking" sound while the agent works in voice chat 2026-07-29 08:24:00 -07:00
assets/tiers feat(desktop): Billing page revamp — current-plan card, in-app plans view, tier art (#68722) 2026-07-22 08:07:52 +05:30
components fix(desktop): heal type-to-focus onto the visible chat surface 2026-07-29 01:49:06 -05:00
contrib fix(desktop): widen local plugin-root fix — profile-aware root + dir-watch path 2026-07-28 23:53:20 -07:00
debug fmt(js): npm run fix on merge (#72532) 2026-07-27 07:16:27 +00:00
fonts
hooks perf(desktop): share one ResizeObserver instead of one per consumer 2026-07-26 19:56:55 -05:00
i18n feat(voice): "Say <stop-phrase> to end the voice chat" notice on voice-mode start (CLI/TUI/desktop, i18n) 2026-07-29 08:24:00 -07:00
lib feat(voice): calm ambient "thinking" sound while the agent works in voice chat 2026-07-29 08:24:00 -07:00
plugins feat(desktop): plugin manager, runtime loader, and plugins settings 2026-07-13 17:57:53 -04:00
sdk feat(sdk): expose FloatingAnchor to plugins 2026-07-28 01:11:12 -05:00
store feat(desktop): pins sync between apps sharing a gateway 2026-07-29 12:00:41 -05:00
themes fix(themes): repaint the desktop on an in-place edit of the active skin 2026-07-22 15:07:03 -05:00
types feat(desktop): pins sync between apps sharing a gateway 2026-07-29 12:00:41 -05:00
global.d.ts fix(desktop): resolve local plugin root independent of remote backend 2026-07-28 23:53:20 -07:00
hermes-cron-scope.test.ts fix(desktop): scope the cron jobs list to the active profile 2026-07-19 12:19:22 -07:00
hermes-parity.test.ts feat(desktop): CLI/dashboard parity — skills hub, MCP test/toggle/catalog, maintenance ops, log filters (#57441) 2026-07-03 01:02:47 -07:00
hermes-profile-scope.test.ts style: eslint padding fix in profile-scope test (salvage follow-up) 2026-07-28 11:58:03 -07:00
hermes.test.ts [verified] fix(desktop): scope TTS requests to active profile 2026-07-28 11:58:03 -07:00
hermes.ts fix(desktop): route streaming TTS through the active profile backend 2026-07-28 11:58:03 -07:00
main.tsx feat(desktop): confirm before quitting with a turn in flight 2026-07-27 15:47:57 -05:00
styles.css fix(desktop): overlay scrollbars on conversation code blocks (#73670) 2026-07-28 22:13:54 +00:00
vite-env.d.ts
webhooks-rest.test.ts feat(desktop): add Webhooks page for subscription CRUD (#69687) 2026-07-24 14:06:10 -04:00