rowboat/apps/x
arkml 1c2b2ac1fc
feat: native desktop notifications + rowboat:// deep links
Adds INotificationService with an Electron implementation, plus a deep-link
dispatcher (rowboat://) for routing notification clicks back into the app.

Notifications:
- New `notify-user` skill + builtin tool. Title, message, optional primary
    link, optional secondary actions. Supports https:// (opens in browser) and
    rowboat:// (opens in app) targets.
- ElectronNotificationService holds strong refs to active Notification
    instances so click handlers survive GC (otherwise macOS click silently
    no-ops).
- Calendar meeting notifier fires 1-min warnings with "take notes" /
    "join + take notes" actions backed by deep links.

Deep links (rowboat://):
- forge.config.cjs declares the protocol; main.ts wires single-instance
    lock, setAsDefaultProtocolClient, open-url (mac), second-instance (win/
    linux), and first-launch argv extraction.
- New deeplink.ts dispatcher with dispatchUrl(url): main-handled actions
    (rowboat://action?type=...) vs renderer navigation (rowboat://open?...)
    via app:openUrl IPC. Includes pending-URL buffering for first-launch
    delivery before the renderer is ready.
- Renderer parseDeepLink supports file / chat / graph / task /
    suggested-topics targets.
- New app:consumePendingDeepLink IPC for renderer one-time drain on mount.

Refactor: extractConferenceLink moved out of calendar-block.tsx into
shared lib/calendar-event.ts (used by both the block and the take-notes
deep-link handler)
2026-05-04 15:47:30 +05:30
..
apps feat: native desktop notifications + rowboat:// deep links 2026-05-04 15:47:30 +05:30
packages feat: native desktop notifications + rowboat:// deep links 2026-05-04 15:47:30 +05:30
.gitignore bootstrap new electron app 2026-01-16 12:05:33 +05:30
ANALYTICS.md identify signed-in users on every app startup 2026-04-28 20:21:37 +05:30
eslint.config.mts ignore renderer eslint 2026-01-16 12:05:33 +05:30
package.json integrate electron forge 2026-01-17 10:28:44 +05:30
pnpm-lock.yaml add posthog analytics for llm usage and auth events 2026-04-28 19:53:40 +05:30
pnpm-workspace.yaml fix pnpm postinstall 2026-01-21 10:47:44 +05:30
TRACKS.md Add tracks — auto-updating note blocks with scheduled and event-driven triggers 2026-04-14 13:51:45 +05:30
tsconfig.base.json bootstrap new electron app 2026-01-16 12:05:33 +05:30