nikita.hohlov
|
0c665d5204
|
fix: webhook channel card shows both deliver and presence URLs
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCrwHHnGCB5XH968Nxokqw
|
2026-09-05 08:24:37 -03:00 |
|
nikita.hohlov
|
bc82bbab19
|
feat: trust X-Remote-User only from the proxy (HADO_TRUSTED_PROXIES); open tailnet inbound for the agent
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCrwHHnGCB5XH968Nxokqw
|
2026-09-05 07:25:31 -03:00 |
|
nikita.hohlov
|
8ee8a30fb5
|
feat: MCP profile tools; ProfileUpdater/ProfilePresenter shared with /me; docs and Caddy snippet for /mcp
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCrwHHnGCB5XH968Nxokqw
|
2026-09-05 06:14:31 -03:00 |
|
nikita.hohlov
|
ed45a1d516
|
feat: MCP tools for events (list/get/create/update/delete/done/ack); EventRules shared by /api and manual
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCrwHHnGCB5XH968Nxokqw
|
2026-09-05 06:10:41 -03:00 |
|
nikita.hohlov
|
450c165fce
|
feat: agent token, auth.agent middleware, /mcp route with HadoServer skeleton
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCrwHHnGCB5XH968Nxokqw
|
2026-09-05 06:03:13 -03:00 |
|
nikita.hohlov
|
9163ff97f9
|
refactor: single EventPresenter and ManualEvents shared by /api, /me, inbox, webhook; editable flag
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCrwHHnGCB5XH968Nxokqw
|
2026-09-05 06:01:55 -03:00 |
|
|
|
b0b760e4aa
|
fix: viewport-fixed, deterministic background so content changes don't shift it
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCrwHHnGCB5XH968Nxokqw
|
2026-09-04 15:56:22 -03:00 |
|
|
|
80235dca3a
|
fix: [hidden] must beat display:flex so archive/settings panels collapse
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCrwHHnGCB5XH968Nxokqw
|
2026-09-04 09:51:36 -03:00 |
|
|
|
edc08ff43e
|
feat: HADO_DEV_USER substitutes X-Remote-User in local env
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCrwHHnGCB5XH968Nxokqw
|
2026-09-04 09:49:32 -03:00 |
|
nikita.hohlov
|
cbb43714ae
|
fix: final review wave — public routes, inbox 419, url schemes, deep_link, tests
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCrwHHnGCB5XH968Nxokqw
|
2026-09-04 09:09:07 -03:00 |
|
nikita.hohlov
|
95c0e53eb8
|
fix: reject protocol-relative deep_link
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCrwHHnGCB5XH968Nxokqw
|
2026-09-04 08:28:36 -03:00 |
|
nikita.hohlov
|
86b02f3d36
|
fix: restrict deep_link to relative paths and http(s)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCrwHHnGCB5XH968Nxokqw
|
2026-09-04 08:25:00 -03:00 |
|
nikita.hohlov
|
027c9f7784
|
feat: web inbox per Sekai design handoff
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCrwHHnGCB5XH968Nxokqw
|
2026-09-04 08:16:04 -03:00 |
|
nikita.hohlov
|
75ac268c53
|
feat: manual events and archive API
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCrwHHnGCB5XH968Nxokqw
|
2026-09-04 08:06:49 -03:00 |
|
nikita.hohlov
|
44f50e1d66
|
fix: tolerate malformed telegram callbacks, constrain channel id
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCrwHHnGCB5XH968Nxokqw
|
2026-09-04 07:59:45 -03:00 |
|
nikita.hohlov
|
90d17ec378
|
feat: action links, telegram webhook and channels API
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCrwHHnGCB5XH968Nxokqw
|
2026-09-04 07:52:12 -03:00 |
|
nikita.hohlov
|
6138ac7bb0
|
fix: isolate tick errors per event, bound overlap lock
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCrwHHnGCB5XH968Nxokqw
|
2026-09-04 07:46:35 -03:00 |
|
nikita.hohlov
|
affac4ce1a
|
feat: tick planner, delivery job, scheduler and purge
Also: test uses disabled channels instead of deleting them (FK cascade); ChannelRegistry no longer final so tests can extend it (controller ruling).
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCrwHHnGCB5XH968Nxokqw
|
2026-09-04 07:38:16 -03:00 |
|
nikita.hohlov
|
1b03fe0796
|
feat: remote user, ack/done actions and /me API
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCrwHHnGCB5XH968Nxokqw
|
2026-09-04 07:05:50 -03:00 |
|
nikita.hohlov
|
5ea5c045a7
|
feat: source tokens and client events API
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCrwHHnGCB5XH968Nxokqw
|
2026-09-04 06:58:03 -03:00 |
|
nikita.hohlov
|
7d1df7828a
|
feat: due_at parser and event upserter
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCrwHHnGCB5XH968Nxokqw
|
2026-09-04 06:45:33 -03:00 |
|
nikita.hohlov
|
e48e48aa4a
|
feat: due resolution and cascade math
Also: StoresUtc trait normalizes datetime casts to UTC (controller ruling).
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCrwHHnGCB5XH968Nxokqw
|
2026-09-04 06:19:00 -03:00 |
|
nikita.hohlov
|
774e0bce1a
|
feat: enums, schema and models for hado core
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCrwHHnGCB5XH968Nxokqw
|
2026-09-04 06:05:34 -03:00 |
|