-
d8f9d149b5
Warn when TRUSTED_PROXIES is empty in production (closes #149)
next
clawbot
2026-08-12 13:49:39 +02:00
-
339548d794
Record the last four milestone units in TODO.md
clawbot
2026-08-12 13:21:38 +02:00
-
95161c7768
Bound the receiver rate limit per client IP across /webhook/* (closes #139)
clawbot
2026-08-12 13:19:43 +02:00
-
0e397b3174
Correct release-blocking documentation inaccuracies (closes #141)
clawbot
2026-08-12 13:15:04 +02:00
-
be576096aa
Make the CI gate execute the checks it reports on (closes #119)
clawbot
2026-08-12 13:00:51 +02:00
-
3941f0b0ff
Require a positive RETENTION_SWEEP_INTERVAL (closes #140)
clawbot
2026-08-12 12:46:39 +02:00
-
543005c0c2
Update TODO.md for the completed 1.0.0 milestone
clawbot
2026-08-12 12:20:34 +02:00
-
9bfd033a29
Bound X-Forwarded-For scanning allocation to the hop cap (closes #133)
clawbot
2026-08-12 12:19:14 +02:00
-
618b07ca0f
Align session codec max-age with the 7-day cap (closes #108)
issue-108-session-codec-maxage
sneak
2026-08-12 09:46:00 +00:00
-
fd6397154a
Cap the X-Forwarded-For hop walk at 64 entries (closes #124)
clawbot
2026-08-12 11:53:48 +02:00
-
-
e83eb2977e
Bound shutdown hooks by their stop context (closes #102)
issue-102-stop-hook-context
sneak
2026-08-12 09:39:59 +00:00
-
-
4a91635b2a
Render templates via a buffer, not the ResponseWriter (closes #123)
issue-123-render-buffer
sneak
2026-08-12 09:40:50 +00:00
-
-
5c0ea2b44f
Mask the http target's destination URL in the UI (closes #115)
issue-115-mask-http-destination-url
sneak
2026-08-12 09:40:41 +00:00
-
-
d19e33671c
Gate forwarded-header trust behind trusted-proxy config (closes #88)
clawbot
2026-08-12 11:36:10 +02:00
-
aab448b076
Clarify web UI terminology, copy, and the entrypoint URL (closes #57)
clawbot
2026-08-11 15:42:08 +02:00
-
7c43e095a6
Mask the webhook credential in delivery errors and logs (closes #118)
clawbot
2026-08-11 15:11:57 +02:00
-
84b758b785
Rate-limit the public webhook receiver endpoint (closes #64)
clawbot
2026-08-11 14:47:21 +02:00
-
d51cd0fd29
Enforce the body size limit before CSRF parses the form (closes #90)
clawbot
2026-08-11 14:37:38 +02:00
-
15a61173fc
Mask target config on the source detail page (closes #113)
clawbot
2026-08-11 14:37:09 +02:00
-
e50a79ced9
Allow retention_days of 0 to mean retain forever (closes #79)
clawbot
2026-08-11 14:35:34 +02:00
-
c2cd2c440b
Add inactivity-based session timeout (closes #66) (#105)
clawbot
2026-08-10 16:12:40 +02:00
-
45890d4f82
Fail loudly on set-but-unparseable env config values (closes #80) (#92)
clawbot
2026-08-10 16:06:12 +02:00
-
0ce8565f51
Terminally fail retrying deliveries with a non-retry target type (closes #82) (#104)
clawbot
2026-08-10 16:00:03 +02:00
-
3e261d2f01
Evict archive writers on deletion and sweep idle archives (closes #89) (#95)
clawbot
2026-08-10 15:52:20 +02:00
-
62481a6f1a
Root background loops at context.Background() (closes #97) (#100)
clawbot
2026-08-10 15:44:56 +02:00
-
4f5ecb18e5
Add admin password change flow (closes #65) (#83)
main
clawbot
2026-08-07 23:23:05 +02:00
-
734606b7af
Update golangci-lint to v2.12.2 with canonical config (#86)
clawbot
2026-08-07 23:18:49 +02:00
-
ee7c626071
Implement the database archiving target (closes #43) (#84)
clawbot
2026-08-07 22:50:08 +02:00
-
8cf9d0525a
feat: add receiver rate limiting (refs #64)
feat/receiver-rate-limit
sneak
2026-08-07 18:32:00 +00:00
-
-
81413c56e9
Refactor delivery targets to a Target interface (closes #77) (#81)
clawbot
2026-08-07 17:07:49 +02:00
-
f6b929f2d7
Add per-webhook event retention reaper (closes #63) (#78)
clawbot
2026-08-07 16:15:13 +02:00
-
8ea7f76540
Add NoCache middleware for authenticated pages (closes #61) (#75)
clawbot
2026-08-07 15:33:44 +02:00
-
ed81db137e
Implement the log delivery target (closes #70)
issue-70-log-target
sneak
2026-08-07 19:57:16 +07:00
-
-
752d6beead
Validate Slack target URLs at creation time (closes #68) (#73)
clawbot
2026-08-07 14:03:56 +02:00
-
b1f43c9520
Keep the SSRF-safe transport in clientForConfig (closes #69) (#74)
clawbot
2026-08-07 14:03:38 +02:00
-
07fc63d9fa
Wrap /user/{username} in RequireAuth middleware (closes #60) (#71)
clawbot
2026-08-07 14:00:16 +02:00
-
0c9c885d51
Raise HTTP WriteTimeout above the request middleware timeout (closes #62) (#72)
clawbot
2026-08-07 13:58:28 +02:00
-
2cc8723997
scripts-to-rule-them-all (#59)
sneak
2026-07-07 02:14:09 +02:00
-
e0b1e7cf54
Restore TODO.md and move TODO content out of README (#58)
sneak
2026-07-06 21:14:03 +02:00
-
afe88c601a
refactor: use pinned golangci-lint Docker image for linting (#55)
clawbot
2026-03-25 02:16:38 +01:00
-
d771fe14df
fix: detect TLS per-request in CSRF middleware to fix login (#54)
clawbot
2026-03-18 04:30:57 +01:00
-
33e2140a5a
feat: redirect root path based on auth state (#52)
clawbot
2026-03-17 16:35:08 +01:00
-
f003ec7141
fix: use absolute path for dev DATA_DIR default, clarify env docs (#46)
clawbot
2026-03-17 12:48:52 +01:00
-
17e740a45f
fix: use absolute paths and static linking in Dockerfile (#49)
clawbot
2026-03-17 12:48:13 +01:00
-
60786c5019
feat: add CSRF protection, SSRF prevention, and login rate limiting (#42)
clawbot
2026-03-17 12:38:45 +01:00
-
8d702a16c6
feat: add Slack target type for incoming webhook notifications (#47)
clawbot
2026-03-17 12:30:50 +01:00
-
1fbcf96581
security: add headers middleware, session regeneration, and body size limits (#41)
clawbot
2026-03-05 12:32:56 +01:00
-
a51e863017
Remove globals.Buildarch from codebase (#31)
clawbot
2026-03-04 12:07:58 +01:00
-
289f479772
test: add tests for delivery, middleware, and session packages (#32)
clawbot
2026-03-04 12:07:23 +01:00
-
687655ed49
Merge pull request 'feat: webhooker 1.0 MVP — entity rename, core engine, delivery, management UI' (#16) from feature/mvp-1.0 into main
Jeffrey Paul
2026-03-04 01:19:41 +01:00
-
-
8e00e40008
docs: fix stale references to development mode and retry target type
clawbot
2026-03-03 16:12:43 -08:00
-
3588facfff
remove unnecessary data migration and dead DevelopmentMode config
clawbot
2026-03-03 09:16:03 -08:00
-
25e27cc57f
refactor: merge retry target type into http (max_retries=0 = fire-and-forget)
clawbot
2026-03-01 23:51:55 -08:00
-
4dd4dfa5eb
chore: consolidate DBURL into DATA_DIR, codebase audit for 1.0.0
clawbot
2026-03-01 23:33:20 -08:00
-
536e5682d6
test: add comprehensive delivery engine and circuit breaker tests
clawbot
2026-03-01 23:16:30 -08:00
-
49852e7506
refactor: remove file-based configuration, use env vars only
clawbot
2026-03-01 23:01:45 -08:00
-
10db6c5b84
refactor: bounded worker pool with DB-mediated retry fallback
clawbot
2026-03-01 22:52:27 -08:00
-
9b4ae41c44
feat: parallel fan-out delivery + circuit breaker for retry targets
clawbot
2026-03-01 22:20:33 -08:00
-
32bd40b313
refactor: self-contained delivery tasks — engine delivers without DB reads in happy path
clawbot
2026-03-01 22:09:41 -08:00
-
9b9ee1718a
refactor: auto-generate session key and store in database
clawbot
2026-03-01 21:57:19 -08:00
-
5e683af2a4
refactor: event-driven delivery engine with channel notifications and timer-based retries
clawbot
2026-03-01 21:46:16 -08:00
-
8f62fde8e9
revert admin password logging to slog.Info (closes #26)
clawbot
2026-03-01 21:26:31 -08:00
-
43c22a9e9a
feat: implement per-webhook event databases
clawbot
2026-03-01 17:06:43 -08:00
-
6c393ccb78
fix: database target writes to dedicated archive table
clawbot
2026-03-01 16:40:05 -08:00
-
418d3da97e
fix: remove spurious config load log message (closes #27)
clawbot
2026-03-01 16:39:26 -08:00
-
7bac22bdfd
fix: don't log admin password via slog (closes #26)
clawbot
2026-03-01 16:38:38 -08:00
-
f21a007a3c
feat: add entrypoint/target management controls (closes #25)
clawbot
2026-03-01 16:38:14 -08:00
-
2606d41c60
fix: cascade soft-delete for webhook deletion (closes #24)
clawbot
2026-03-01 16:37:21 -08:00
-
45228d9e99
fix: restrict CORS to same-origin (closes #23)
clawbot
2026-03-01 16:36:56 -08:00
-
348fd81fe6
fix: remove dead DevAdminUsername/Password config (closes #22)
clawbot
2026-03-01 16:36:36 -08:00
-
36824046fb
fix: remove double cleanShutdown call (closes #21)
clawbot
2026-03-01 16:35:55 -08:00
-
e2ac30287b
fix: restrict webhook endpoint to POST only (closes #20)
clawbot
2026-03-01 16:35:38 -08:00
-
49ab1a6147
fix: DevSessionKey wrong length (closes #19)
clawbot
2026-03-01 16:35:16 -08:00
-
d65480c5ec
fix: template rendering returns empty pages (closes #18)
clawbot
2026-03-01 16:34:33 -08:00
-
d4fbd6c110
fix: delivery engine nil pointer crash on startup (closes #17)
clawbot
2026-03-01 16:34:16 -08:00
-
7f8469a0f2
feat: implement core webhook engine, delivery system, and management UI (Phase 2)
clawbot
2026-03-01 16:14:28 -08:00
-
853f25ee67
chore: add MIT LICENSE
clawbot
2026-03-01 15:56:00 -08:00
-
7d13c9da17
feat: add auth middleware for protected routes
clawbot
2026-03-01 15:55:51 -08:00
-
e6b79ce1be
fix: remove redundant godotenv import
clawbot
2026-03-01 15:53:43 -08:00
-
483d7f31ff
refactor: simplify config to prefer env vars
clawbot
2026-03-01 15:52:05 -08:00
-
3e3d44a168
refactor: use slog.LevelVar for dynamic log levels
clawbot
2026-03-01 15:49:21 -08:00
-
d4eef6bd6a
refactor: use go:embed for templates
clawbot
2026-03-01 15:47:22 -08:00
-
7bbe47b943
refactor: rename Processor to Webhook and Webhook to Entrypoint
clawbot
2026-03-01 15:44:22 -08:00
-
-
b5cf4c3d2f
docs: comprehensive README rewrite with complete service specification (#13)
clawbot
2026-03-02 00:43:55 +01:00
-
011ec270c2
Replace Bootstrap with Tailwind CSS + Alpine.js (#14)
clawbot
2026-03-02 00:42:29 +01:00
-
f9a9569015
feat: bring repo up to REPO_POLICIES standards (#6)
clawbot
2026-03-01 19:01:44 +01:00
-
1244f3e2d5
initial
sneak
2026-03-01 22:52:08 +07:00