Commit Graph

20 Commits

Author SHA1 Message Date
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
dd714a4be1 fix: restart policy for app services, dockerignore for prod image
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCrwHHnGCB5XH968Nxokqw
2026-09-04 08:42:23 -03:00
nikita.hohlov
10eb65e9c4 chore: docker compose, dockerfiles, caddy snippet, readme
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCrwHHnGCB5XH968Nxokqw
2026-09-04 08:35:59 -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
1b0a559e3c feat: web, webhook and telegram channel drivers
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCrwHHnGCB5XH968Nxokqw
2026-09-04 07:18:37 -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
245ca88af6 fix: validate calendar date in fixed-offset due_at
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCrwHHnGCB5XH968Nxokqw
2026-09-04 06:52:28 -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
c2fa8aa00d feat: state, window and quiet rules
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCrwHHnGCB5XH968Nxokqw
2026-09-04 06:39:23 -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
nikita.hohlov
8d01b7050d chore: scaffold Laravel 13 core app
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCrwHHnGCB5XH968Nxokqw
2026-09-04 05:56:14 -03:00