Commit Graph

  • 4cec734d63 fix: pause button not working nate 2026-03-19 15:28:39 +0400
  • f9c835f591 fix: bad syntax nate 2026-03-19 15:25:04 +0400
  • 723708cf8b fix: bad syntax nate 2026-03-19 15:24:13 +0400
  • 4149a4753e feat: add tooltip to status history blips nate 2026-03-19 15:22:33 +0400
  • 6f0499d34b feat: combine status blips by run id nate 2026-03-19 15:18:16 +0400
  • eae2b3869d attempt: minify invoice html nate 2026-03-19 14:01:31 +0400
  • dad663b5e3 fix: receipt location nate 2026-03-19 13:59:02 +0400
  • 9881d4f681 feat: auto-generate receipts nate 2026-03-19 13:56:14 +0400
  • 113c1101c4 feat: add receipts to the payment service nate 2026-03-19 13:40:17 +0400
  • a7f56c69d3 update: payment link nate 2026-03-19 12:55:20 +0400
  • 9cf70ab8dd fix: confirming state, hide amt, addr nate 2026-03-19 12:50:55 +0400
  • 7ba11614e7 fix: qr base64 > qr uri nate 2026-03-19 12:46:03 +0400
  • ae9c18b771 improve: checkout nate 2026-03-19 12:40:03 +0400
  • 31c349e6f1 update nate 2026-03-19 12:35:11 +0400
  • 9937272ba3 style: remove gradient buttons, use flat blue Nate 2026-03-19 12:32:10 +0400
  • f4282bac58 update: deploy nate 2026-03-19 12:22:24 +0400
  • 096bd186ea style: bolder visual refresh — lighter card surfaces, visible borders, blue glow accents Nate 2026-03-19 12:21:43 +0400
  • c1392a7dd9 test: improve css nate 2026-03-19 12:08:06 +0400
  • 437b493567 fix: can't edit monitors nate 2026-03-19 11:43:23 +0400
  • 63cd0c7af5 update: lower pricing nate 2026-03-19 11:35:11 +0400
  • e19e723d49 update: lower pricing to $12 nate 2026-03-19 11:32:34 +0400
  • d52026f787 bump max runs nate 2026-03-19 11:20:45 +0400
  • b1dce432a5 test: ssr graphs nate 2026-03-19 11:17:05 +0400
  • d62f776f7b test: ssr graphs nate 2026-03-19 11:14:30 +0400
  • 164b7f65f8 remove js nate 2026-03-19 10:23:22 +0400
  • 57bf994926 fix: more nojs nate 2026-03-19 10:18:31 +0400
  • b6fa544d5e fix: uncentered box nate 2026-03-19 10:13:34 +0400
  • 96a58233fd fix: flashbang nate 2026-03-19 10:08:20 +0400
  • d8d1952304 fix: elysia issues 2 nate 2026-03-19 10:06:14 +0400
  • 03fe13e707 fix: elysia issues nate 2026-03-19 10:00:30 +0400
  • 61560ae521 feat: no-JS support for all core UI — registration, settings, monitor CRUD, logout nate 2026-03-19 09:55:08 +0400
  • 632f006988 refactor: simplify payment gateway, single evaluatePayment function, clean landing page pricing nate 2026-03-19 09:42:03 +0400
  • df638c94f1 update: ........... nate 2026-03-19 01:14:17 +0400
  • e62b60e0fd update: ....... nate 2026-03-19 01:07:49 +0400
  • 955b26f942 update: .... nate 2026-03-19 01:02:52 +0400
  • 1e6739b42a update: hopefully...... nate 2026-03-19 00:53:20 +0400
  • 8a24b30b2a update: hopefully.... nate 2026-03-19 00:49:32 +0400
  • 7e55b2ad95 fix: hopefully.. nate 2026-03-19 00:43:26 +0400
  • 2554321183 fix: single raw SSE connection with no query filter, always on from boot nate 2026-03-19 00:36:43 +0400
  • 2dbf85652b fix: backend SSE uses fetch streaming (EventSource not available in Bun), bulk lookup fallback nate 2026-03-19 00:29:42 +0400
  • 0854914411 fix: use native EventSource for SSE instead of fetch with manual parsing nate 2026-03-19 00:24:16 +0400
  • c3103f06ce feat: invoices section on settings page, show paid and active payments nate 2026-03-19 00:16:33 +0400
  • 81f1e1585e fix: use raw SSE with local matching, bulk polling, block-based confirmations, and multi-tx support nate 2026-03-19 00:04:46 +0400
  • d02b27bc16 fix: frontend SSE also uses 'crypto' not 'chain' M1 2026-03-18 23:50:13 +0400
  • b46c3c618e feat: update URL to /checkout/:id after creation, auto-load existing invoice on load M1 2026-03-18 23:43:03 +0400
  • 63c7d7c1d7 fix: SSE filter uses 'crypto' not 'chain' per Freedom.st API docs M1 2026-03-18 23:41:21 +0400
  • 36a7d309fa feat: /dashboard/checkout/:id route so invoices survive refresh M1 2026-03-18 23:37:20 +0400
  • 1cbbd65adb fix: compare floats to floats in checkPending — was comparing sats vs floats, always false M1 2026-03-18 23:33:47 +0400
  • 4cdd4b5343 fix: derive LTC as P2WPKH (native segwit ltc1q) not legacy P2PKH M1 2026-03-18 23:24:17 +0400
  • 8b2dcf0d56 fix: convert zpub to xpub version bytes — bitcore-lib-ltc only understands standard xpub M1 2026-03-18 23:22:37 +0400
  • 2bd6adc090 fix: use static bs58check import, not dynamic await import M1 2026-03-18 23:19:48 +0400
  • 91c24b20f7 fix: convert zpub to Ltub before LTC HD derivation M1 2026-03-18 23:18:49 +0400
  • bc0f7715da fix: pin @sinclair/typebox ^0.34 in pay app to match elysia requirements M1 2026-03-18 23:16:43 +0400
  • 7d1a350f86 feat: instant payment detection via Freedom.st SSE on backend and frontend nate 2026-03-18 23:06:57 +0400
  • c9130243e8 feat: crypto payment system with HD wallets, Freedom.st integration, and checkout UI nate 2026-03-18 23:04:17 +0400
  • bead49b870 fix: replace error() with set.status across all API routes (fixes undefined error helper) nate 2026-03-18 22:46:57 +0400
  • c89b63bd97 feat: implement free/pro plan system with monitor and interval limits nate 2026-03-18 22:40:45 +0400
  • 11e6c593ad chore: limit pro plan to 500 monitors on landing page nate 2026-03-18 22:33:43 +0400
  • a829c4507c update: footer text nate 2026-03-18 21:23:00 +0400
  • 3e6e758648 chore: replace footer credit with standard copyright nate 2026-03-18 21:19:22 +0400
  • fad343c85a fix: default to all regions enabled for new monitors nate 2026-03-18 21:12:30 +0400
  • 56114a3852 fix: enable pgcrypto extension for gen_random_bytes in monitor IDs nate 2026-03-18 21:08:19 +0400
  • 2075de164d update: use short 16-char hex IDs for new monitors instead of UUIDs nate 2026-03-18 21:05:01 +0400
  • e4895afe8e update: default ping interval to 30s, update free tier limit to match nate 2026-03-18 21:01:41 +0400
  • fd821acec2 update: default ping interval to 10s nate 2026-03-18 20:59:50 +0400
  • 5295fcfe79 chore: move TOS to /terms, remove from header, remove pricing from footer nate 2026-03-18 20:59:23 +0400
  • 3b79e8d589 fix: typo in terms nate 2026-03-18 20:55:00 +0400
  • c74e2d3b58 chore: add more timeout options, default to 10s nate 2026-03-18 20:50:16 +0400
  • 0d059a0112 chore: set 2s minimum interval, update marketing and docs to match nate 2026-03-18 20:47:11 +0400
  • 86d36a87fc fix: refresh chart tooltip on live updates while hovering nate 2026-03-18 20:40:07 +0400
  • dae1d5f77a fix: poll coordinator every 500ms to reduce jitter on 1s intervals nate 2026-03-18 20:33:36 +0400
  • f9826fbbe4 update nate 2026-03-18 20:29:35 +0400
  • 13beacbc5a chore: remove us-east and ap-southeast regions from UI nate 2026-03-18 20:20:25 +0400
  • 2d46491dee chore: remove us-east region from UI, charts, and region selectors nate 2026-03-18 20:13:11 +0400
  • cbb1a26582 fix: trim chart runs in place and reduce to 25 to match SSR density nate 2026-03-18 20:06:23 +0400
  • f2fcf1a0b9 fix: evenly space chart runs at fixed width and trim initial data to match nate 2026-03-18 20:02:48 +0400
  • 766d1094ad fix: evict oldest chart runs as a group instead of individual pings nate 2026-03-18 20:00:11 +0400
  • 993e6bb1df fix: show full run_id instead of truncating to 8 chars nate 2026-03-18 19:57:41 +0400
  • e9ca90324b fix: align chart points by run_id avg time so regions stack vertically nate 2026-03-18 19:55:48 +0400
  • 1706e83a3f fix: reduce chart spline tension to prevent jittery overshoot nate 2026-03-18 19:52:46 +0400
  • 59861651bd feat: interactive canvas latency chart with hover tooltips and smooth curves nate 2026-03-18 19:49:44 +0400
  • df22029755 fix: no region text nate 2026-03-18 19:43:28 +0400
  • f013890c40 refactor: extract monitor form into shared partial for create and edit nate 2026-03-18 19:41:31 +0400
  • 5b7a211c21 fix: show latest latency from fastest region instead of average on home nate 2026-03-18 19:36:24 +0400
  • 688245b0c2 fix: match client-side sparkline behavior to SSR region-aware rendering nate 2026-03-18 19:31:41 +0400
  • 6beb7f8039 update: tos nate 2026-03-18 19:27:10 +0400
  • 5be1f85365 fix: run cert expiry check concurrently to avoid delaying results nate 2026-03-18 19:04:30 +0400
  • 42024a9fc3 fix: use monitor-side checked_at timestamp instead of coordinator arrival time nate 2026-03-18 18:50:16 +0400
  • 425bfbfc39 perf: optimize monitor runner, fix SSE leak, deduplicate shared utils nate 2026-03-18 18:44:08 +0400
  • 980261632e fix: deserialize scheduled_at_ms as string or number (postgres bigint serializes as string) M1 2026-03-18 17:17:29 +0400
  • c5eb514990 feat: lookahead scheduling — API returns scheduled_at_ms, nodes sleep-until for tight coordination M1 2026-03-18 17:14:28 +0400
  • 7b98ae78e5 fix: run_id = hash(monitor_id, interval_bucket) — unique per window, consistent across regions M1 2026-03-18 17:03:17 +0400
  • b6a66ddb21 fix: run_id derived from scheduled_at bucket so all regions share same ID per window M1 2026-03-18 16:46:30 +0400
  • 77534a037c feat: show run_id (first 8 chars) in recent pings table M1 2026-03-18 16:42:50 +0400
  • f7ab3b96b2 feat: per-region due scheduling + run_id to group pings across regions M1 2026-03-18 16:36:35 +0400
  • e057a65535 fix: avgLatency NaN — extract .latency_ms from ping objects M1 2026-03-18 16:31:08 +0400
  • 07648672ad feat: per-region chart lines and lowest-avg sparkline M1 2026-03-18 16:25:47 +0400
  • e1bb39431d fix: use URL.searchParams to parse region query param in /internal/due M1 2026-03-18 16:21:24 +0400
  • 8c39fb45c1 feat: add region selector to monitor edit form M1 2026-03-18 16:15:19 +0400
  • 93db31db3b feat: multi-region monitor support — region selector in UI, region flag on pings M1 2026-03-18 16:08:39 +0400