Commit graph

9 commits

Author SHA1 Message Date
0af6b9a4b8
refactor: modularize into core/events/formatters/drivers 2026-08-03 03:36:36 +08:00
d540d465d1
refactor: replace Discord Gateway DO with Interaction Endpoint 2026-08-03 03:02:42 +08:00
809f89400b
feat: add per-group emoji toggle and standardized embed titles 2026-08-03 01:25:03 +08:00
38daf7bc83
feat: ignore filters on fallback routes 2026-08-03 00:02:29 +08:00
bd33fa6835
fix: harden input validation, redirect safety, and error resilience 2026-08-02 23:56:58 +08:00
d419b9c940
feat: add fallback routes and repository event enrichment 2026-08-02 23:23:07 +08:00
537f4cbb84
feat(admin): scope groups to specific GitHub orgs/users
Add an optional owners[] field to groups (super-admin only). When set,
only webhook events whose repository owner or organization login matches
enter that group's routes; empty owners means no restriction, keeping
existing routes backward compatible.

- types: Group.owners?, groups.ts groupAcceptsOwners()
- webhook.ts eventOwners() extracts repo owner + org login
- discord.ts dispatch skips routes whose group rejects the event owner
- admin-routes.ts validateGroups() validates owners list
2026-08-02 08:15:49 +08:00
cfdf37e273
feat(discord): make gateway optional with REST send path and send logs
Gateway is now an opt-in feature (DISCORD_GATEWAY_ENABLED); when disabled,
messages are delivered via the Discord REST API (discord-rest.ts) instead of
the Durable Object. Record per-route delivery results (send-log.ts) for the
WebUI. Configure assets binding, DO sqlite migration and cron trigger.
2026-08-02 06:50:09 +08:00
512d4b01d5
initial commit 2026-07-24 21:48:50 +08:00