Commit Graph

  • 06be075b70 Store events and create deliveries in the delivery engine (closes #544) v1.0.0-rc2 next clawbot 2026-10-16 00:51:26 +02:00
  • 8406c77949 Store a target's settings as columns (closes #543) clawbot 2026-10-15 23:02:39 +02:00
  • ded39aa158 Use one recovery routine at start and on every sweep tick (closes #542) clawbot 2026-10-15 21:57:05 +02:00
  • 0cdda43e6c Move the archive files into their own package (closes #541) clawbot 2026-10-15 21:03:43 +02:00
  • f10440b7cc Store a webhook's retention as a plain day count, 0 meaning forever (closes #539) clawbot 2026-10-15 20:03:33 +02:00
  • 40e8ecaab4 Store a target's number of delivery attempts, at least one (closes #540) clawbot 2026-10-15 19:38:14 +02:00
  • 147d58dd96 Say the query logger drops bound values (closes #535) clawbot 2026-10-15 18:57:58 +02:00
  • c7c4ea3340 Send only the Referer's scheme and host to Sentry (closes #548) clawbot 2026-10-15 18:07:21 +02:00
  • 8c05ec4378 Build the binary without cgo (closes #545) clawbot 2026-10-15 17:36:35 +02:00
  • 872e4eb4a1 Drop 'unsafe-inline' from the Content-Security-Policy (closes #530) clawbot 2026-10-15 16:18:26 +02:00
  • dfe8f3138f Bind 0.0.0.0 to IPv4 only (closes #528) clawbot 2026-10-15 15:44:42 +02:00
  • 0d38aea12c Keep the entrypoint UUID out of webhooker's own logs (closes #531) clawbot 2026-10-15 14:58:35 +02:00
  • c0f7cc29fd Leave a delivery cut off by a stop for the next start (closes #527) clawbot 2026-10-15 12:29:17 +02:00
  • 766f33a956 Milestone: next into main (#380) main sneak 2026-10-15 11:36:37 +02:00
  • f14fe02011 Store delivery and archive times without the monotonic reading (closes #529) clawbot 2026-10-15 11:15:35 +02:00
  • 573f7f986a Build the image's static binary with netgo, osusergo and sqlite_omit_load_extension (closes #525) v1.0.0-rc1 clawbot 2026-10-13 10:43:47 +02:00
  • 373a2f828d Describe code in its own terms, not by an earlier build's data (closes #522) clawbot 2026-10-13 09:57:24 +02:00
  • 267d5b12f2 Escape the database path in the SQLite connection string (closes #518) clawbot 2026-10-13 09:30:24 +02:00
  • e73beb20df Remove upgrade and older-build text from the README (closes #520) clawbot 2026-10-13 08:31:51 +02:00
  • c8efbd41d4 Drop Completed Steps from TODO.md; the tracker is the record (closes #112) clawbot 2026-10-13 07:18:48 +02:00
  • 15377f792b Build every database's schema from embedded SQL files (closes #56) clawbot 2026-10-13 06:34:05 +02:00
  • f86ab6321d Name Sentry transactions after the route they matched (closes #185) clawbot 2026-10-13 05:47:26 +02:00
  • 957de7f99f Make the HSTS max-age configurable with HSTS_MAX_AGE (closes #271) clawbot 2026-10-13 03:27:24 +02:00
  • 9199544999 Document that DATA_DIR must be on a local filesystem (closes #295) clawbot 2026-10-13 01:29:42 +02:00
  • 128eb1b644 Keep test helpers out of the shipped binary (closes #506) clawbot 2026-10-06 14:29:47 +02:00
  • 3de345fe6f Read the export test's heap only after pools drop their caches (closes #511) clawbot 2026-10-06 10:56:50 +02:00
  • a9d77e20d7 Make the load-sensitive tests wait for what they check (closes #507) clawbot 2026-10-06 08:51:35 +02:00
  • faf3da9a75 Refresh the package lists before installing in script/bootstrap (closes #508) clawbot 2026-10-06 07:21:30 +02:00
  • fa6a9ed4dc Re-vendor the shared files from sneak/prompts at dd4027b (closes #504) clawbot 2026-10-06 06:05:42 +02:00
  • 46fe7baed0 Mask a target URL's query string when the URL has no path (closes #500) clawbot 2026-10-04 03:31:37 +02:00
  • ea8cba7264 Store and show an event's query string, and pass it on to an HTTP target when set (closes #312) clawbot 2026-10-04 03:00:34 +02:00
  • a8fc0c5d32 Merge main into next after 416 (closes #497) clawbot 2026-10-03 14:29:50 +02:00
  • 7963188c1e Merge main into next after 416 (closes #497) clawbot 2026-10-03 12:17:30 +00:00
  • 16ed356b68 main side of 414: cheaper test hashing, and failing tests visible in the build log (closes #414) (#416) clawbotandsneak 2026-10-03 14:08:51 +02:00
  • fe5e0d4173 Install ESLint and prettier with yarn 4 through corepack (closes #493) clawbot 2026-10-03 07:03:31 +02:00
  • 9ccaa8ce01 Break long values on the webhook page and event log at phone width (closes #391) clawbot 2026-10-03 06:56:43 +02:00
  • 935e18c6f1 Format the Markdown with prettier in make fmt and make fmt-check (closes #215) clawbot 2026-10-03 06:32:27 +02:00
  • af91d8a723 Split source_management.go along its CRUD seams (closes #274) clawbot 2026-10-03 06:19:46 +02:00
  • 7e779f7fce Event log: show only the events with a failed or a pending delivery (closes #390) clawbot 2026-10-03 05:40:34 +02:00
  • 9079a3219d Show an event's entrypoint and request headers in the event log and on its page (closes #389) clawbot 2026-10-03 05:22:14 +02:00
  • b9ec91c0f7 Use one name for each thing the UI shows (closes #399) clawbot 2026-10-03 05:07:41 +02:00
  • 74a96b2226 Lint static/js/ with ESLint in Docker (closes #120) clawbot 2026-10-03 04:24:11 +02:00
  • 8b617efa63 Rotate a database target's archive monthly, daily or hourly (closes #379) clawbot 2026-10-03 04:18:37 +02:00
  • d8c60c9b67 Event log: show attempt and delivery times, label replays, zone event times (closes #386) clawbot 2026-10-03 04:12:27 +02:00
  • ea8384f4a2 Event log: only the newest event expanded, and only the 50 most recent (closes #349) clawbot 2026-10-03 03:43:27 +02:00
  • 17e6c85dd8 Name the item and what is lost in each delete prompt (closes #400) clawbot 2026-10-03 03:33:14 +02:00
  • bcdd4791ec Say what a database or log target's attempt did, without a status (closes #388) clawbot 2026-10-03 02:41:17 +02:00
  • f1da5e73dd Event log: an event's ID can be selected without toggling it (closes #348) clawbot 2026-10-03 02:32:09 +02:00
  • d2ecb83923 Offer no Replay for a delivery to a deleted target (closes #387) clawbot 2026-10-03 02:13:17 +02:00
  • 643077021d Show a target paused by its circuit breaker (closes #385) clawbot 2026-10-03 02:06:19 +02:00
  • 22fa502638 Remove an http target's max_queue_size (closes #477) clawbot 2026-10-03 01:39:13 +02:00
  • 6395210474 Show each page's own title in the browser tab (closes #117) clawbot 2026-10-03 01:30:02 +02:00
  • 3489d6909a Offer archive expiry choices on the target forms, show plain units (closes #396) clawbot 2026-10-03 01:16:14 +02:00
  • f282c6363d Keep what was typed when a target or webhook edit is refused (closes #381) clawbot 2026-10-03 00:51:56 +02:00
  • 61371d388e Pin tailwindcss and check the committed stylesheet against it (closes #231) clawbot 2026-10-03 00:30:57 +02:00
  • 19a6705c63 New-webhook page: optional HTTP target URL and archive with pruning (closes #373) clawbot 2026-10-03 00:21:56 +02:00
  • 93911f28f9 Show a slack target's retry setting in the target list (closes #395) clawbot 2026-10-03 00:19:13 +02:00
  • 9305af4f85 Show each target's delivered and failed deliveries in the target list (closes #372) clawbot 2026-10-02 23:47:16 +02:00
  • ff24638ba4 Show each entrypoint's last event and event count on the webhook page (closes #393) clawbot 2026-10-02 23:16:07 +02:00
  • da75950e91 Targets section: one Add, then a target type and Next, then that type's fields (closes #370) clawbot 2026-10-02 22:24:38 +02:00
  • 719d7013ee Give each event its own page and show bodies the same everywhere (closes #369) clawbot 2026-10-02 22:00:42 +02:00
  • faf7ca1a5e Report or refuse each unusable file webhooker reads (closes #290) clawbot 2026-10-02 21:38:47 +02:00
  • 0f5f6ba6bf Let an entrypoint's description be edited in place (closes #392) clawbot 2026-10-02 21:32:43 +02:00
  • 820d9391ff Index the event log's resubmit count with deleted_at (closes #325) clawbot 2026-10-02 21:23:33 +02:00
  • 2967c475a1 Show a database target's archive file, size and last write in the target list (closes #397) clawbot 2026-10-02 21:22:33 +02:00
  • 35d2f28c67 Name each embedded static file so a missing Alpine.js fails the build (closes #166) clawbot 2026-10-02 20:56:35 +02:00
  • 9526e961b5 Add a Download button that exports a database target's archive as gzipped JSON (closes #374) clawbot 2026-10-02 20:32:09 +02:00
  • 4915d60d8e Route the delivery tests' gorm.Open through gormlog (closes #462) clawbot 2026-10-02 20:20:49 +02:00
  • 0945831442 Clamp the HTTP drain by the tail-hook reserve (closes #170) clawbot 2026-10-02 20:11:43 +02:00
  • f82b730c31 Pin the HTTP target's unpinned error checks (closes #285) clawbot 2026-10-02 19:37:36 +02:00
  • 1a1fee0874 Name the reaper's hard delete in the event body comments (closes #455) clawbot 2026-10-02 19:36:30 +02:00
  • 290925f184 Fix two resubmit comments and test the resubmit route's middleware (closes #252) clawbot 2026-10-02 19:20:40 +02:00
  • 73353bc8e5 Harden the (*gorm.DB).Scan guard test (closes #232) clawbot 2026-10-02 19:19:45 +02:00
  • 40f59ec4d2 Try every event database file on delete and say which was left (closes #275) clawbot 2026-10-02 18:42:29 +02:00
  • 806c95e305 Make every clickable control look clickable, in two shared styles (closes #375) clawbot 2026-10-02 18:32:19 +02:00
  • 45bd7e9b94 Pin the close before the reopen in the archive sweep (closes #103) clawbot 2026-10-02 18:16:31 +02:00
  • bf3df0312b Clear the environment in the cmd/webhooker tests that build a Config (closes #452) clawbot 2026-10-02 18:03:31 +02:00
  • 503c57efd9 Assert the body a retry delivers, not only its status (closes #294) clawbot 2026-10-02 18:03:20 +02:00
  • d084f4f912 Pin the body cap's order in every page route group (closes #93) clawbot 2026-10-02 17:53:21 +02:00
  • e67fffb05d Check the log charge against every code point (closes #172) clawbot 2026-10-02 17:53:10 +02:00
  • 4958a6f2e4 Isolate config tests from the shell; any out-of-range PORT is ErrInvalidPort (closes #94) clawbot 2026-10-02 17:44:30 +02:00
  • 385fbc1a6a Send fx's own events through the service's logger (closes #183) clawbot 2026-10-02 17:22:05 +02:00
  • c22ca6218e Pin the rate-limit key for an empty RemoteAddr (closes #168) clawbot 2026-10-02 17:09:23 +02:00
  • 0ccb01cada Close the retention follow-ups from the August review (closes #99) clawbot 2026-10-02 16:50:34 +02:00
  • 1f22b30de3 Log the client address next to the peer address (closes #270) clawbot 2026-10-02 16:50:22 +02:00
  • debe588bba Seed the retention tests 50 rows per insert, not 500 (closes #198) clawbot 2026-10-02 16:27:00 +02:00
  • e8379272ae Load Alpine's CSP build so the UI's directives run (closes #371) clawbot 2026-10-02 16:09:03 +02:00
  • 3e209bfe4e Drive the archive reopen debounce test from a clock (closes #190) clawbot 2026-10-02 16:03:01 +02:00
  • 88b961c115 Keep each model's parent out of its JSON (closes #177) clawbot 2026-10-02 15:43:06 +02:00
  • dc9deda173 Write a form-error page's status only after it renders (closes #128) clawbot 2026-10-02 15:34:01 +02:00
  • c706199389 Name the CI build step after what the image runs (closes #175) clawbot 2026-10-02 15:15:08 +02:00
  • d52cac1ec6 Toggle only a target's active state, so it cannot undo an edit (closes #431) clawbot 2026-10-02 14:43:00 +02:00
  • 0f9b68a0e8 Build the middleware test cookie stores with the production constructor (closes #154) clawbot 2026-10-02 14:30:51 +02:00
  • 8cf5acaf1d Justify the handlers tests' start limit with a measurement (closes #225) clawbot 2026-10-02 14:08:54 +02:00
  • 9ade217222 Show each webhook's activity in the webhook list (closes #394) clawbot 2026-10-02 13:57:43 +02:00
  • 5551f75251 Say at the receiver route where its 1 MB body cap lives (closes #173) clawbot 2026-10-02 13:40:00 +02:00
  • fd036774f9 Name each database target's archive for its webhook and target (closes #376) clawbot 2026-10-02 13:28:49 +02:00
  • 21aafbf928 Remove the no-op MAINTENANCE_MODE setting (closes #317) clawbot 2026-10-02 13:27:43 +02:00
  • c87b469dcd Let a handler flush or set a write deadline through the access log and metrics (closes #191) clawbot 2026-10-02 13:08:54 +02:00
  • b14b27b78b Serve the delivery duration histogram from boot (closes #267) clawbot 2026-10-02 12:45:05 +02:00