nate
|
fc3159ff9d
|
fix: time
|
2026-03-24 16:21:30 +04:00 |
nate
|
c0e27bc43b
|
fix: start counting at 1s
|
2026-03-24 16:18:27 +04:00 |
nate
|
7f6f79f028
|
fix: undo "just now"
|
2026-03-24 15:58:03 +04:00 |
nate
|
313c9973cd
|
fix: server time different than client
|
2026-03-24 15:55:47 +04:00 |
nate
|
a1d37c6215
|
update: lifetime discounts based on spent
|
2026-03-22 06:11:49 +04:00 |
nate
|
c566881cc2
|
add favicon
|
2026-03-19 17:23:49 +04:00 |
nate
|
113c1101c4
|
feat: add receipts to the payment service
|
2026-03-19 13:40:17 +04:00 |
nate
|
437b493567
|
fix: can't edit monitors
|
2026-03-19 11:43:23 +04:00 |
nate
|
d52026f787
|
bump max runs
|
2026-03-19 11:20:45 +04:00 |
nate
|
b1dce432a5
|
test: ssr graphs
|
2026-03-19 11:17:05 +04:00 |
nate
|
57bf994926
|
fix: more nojs
|
2026-03-19 10:18:31 +04:00 |
nate
|
96a58233fd
|
fix: flashbang
|
2026-03-19 10:08:20 +04:00 |
nate
|
d8d1952304
|
fix: elysia issues 2
|
2026-03-19 10:06:14 +04:00 |
nate
|
03fe13e707
|
fix: elysia issues
|
2026-03-19 10:00:30 +04:00 |
nate
|
61560ae521
|
feat: no-JS support for all core UI — registration, settings, monitor CRUD, logout
|
2026-03-19 09:55:08 +04:00 |
nate
|
955b26f942
|
update: ....
|
2026-03-19 01:02:52 +04:00 |
nate
|
c3103f06ce
|
feat: invoices section on settings page, show paid and active payments
|
2026-03-19 00:16:33 +04:00 |
M1
|
36a7d309fa
|
feat: /dashboard/checkout/:id route so invoices survive refresh
|
2026-03-18 23:37:20 +04:00 |
nate
|
c9130243e8
|
feat: crypto payment system with HD wallets, Freedom.st integration, and checkout UI
|
2026-03-18 23:04:17 +04:00 |
nate
|
c89b63bd97
|
feat: implement free/pro plan system with monitor and interval limits
|
2026-03-18 22:40:45 +04:00 |
nate
|
5295fcfe79
|
chore: move TOS to /terms, remove from header, remove pricing from footer
|
2026-03-18 20:59:23 +04:00 |
nate
|
13beacbc5a
|
chore: remove us-east and ap-southeast regions from UI
|
2026-03-18 20:20:25 +04:00 |
nate
|
2d46491dee
|
chore: remove us-east region from UI, charts, and region selectors
|
2026-03-18 20:13:11 +04:00 |
nate
|
425bfbfc39
|
perf: optimize monitor runner, fix SSE leak, deduplicate shared utils
|
2026-03-18 18:44:08 +04:00 |
M1
|
07648672ad
|
feat: per-region chart lines and lowest-avg sparkline
|
2026-03-18 16:25:47 +04:00 |
M1
|
eeb0318c4d
|
fix: hide login key and sub-keys from sub-key sessions
|
2026-03-18 11:48:51 +04:00 |
M1
|
1a7bc4dfa5
|
fix: sameSite=none for cross-origin cookie (pingql.com → api.pingql.com)
|
2026-03-18 11:41:00 +04:00 |
nate
|
5a0cf5033b
|
fix: harden auth, SSRF, query engine, and cookie security
|
2026-03-18 11:37:33 +04:00 |
M1
|
641af86779
|
fix: separate jsHash for app.js cache busting
|
2026-03-18 09:43:11 +04:00 |
M1
|
841a852491
|
feat: split web and api into separate apps
|
2026-03-18 09:33:46 +04:00 |
M1
|
7db2889960
|
feat: add Terms of Service page
|
2026-03-18 03:52:58 +04:00 |
M1
|
ce4411b13b
|
feat: add 1-20s interval options, lower API minimum to 1s
|
2026-03-18 03:20:33 +04:00 |
M1
|
3df7f4b702
|
fix: logout properly expires cookie with matching domain/path attributes
|
2026-03-18 03:08:00 +04:00 |
M1
|
bd3c33dda4
|
fix: jitter = actual check start minus ideal scheduled time, not wall clock at dispatch
|
2026-03-17 10:54:36 +04:00 |
M1
|
27be1fa8bf
|
fix: jitter_ms now measured in Rust at check start, excludes latency and return trip
|
2026-03-17 10:52:08 +04:00 |
M1
|
f71388a51a
|
feat: jitter_ms tracking — scheduled_at stamped at dispatch, jitter computed on ingest
|
2026-03-17 10:44:35 +04:00 |
M1
|
5c91cbc522
|
refactor: convert all static HTML to EJS with cssHash cache-busting, remove stale html files
|
2026-03-17 09:54:44 +04:00 |
M1
|
ac693e55e0
|
fix: immutable cache-control headers for versioned static assets
|
2026-03-17 09:45:24 +04:00 |
M1
|
41bfe52f10
|
feat: cache-bust static assets with CSS content hash on startup
|
2026-03-17 09:44:18 +04:00 |
M1
|
a995fe3c94
|
feat: replace Tailwind CDN with self-hosted pre-built CSS
|
2026-03-17 09:32:34 +04:00 |
M1
|
62b67aaa7c
|
feat: privacy page at /privacy, drop query language nav link
|
2026-03-17 08:22:17 +04:00 |
M1
|
1495da41fa
|
chore: remove limits during testing
|
2026-03-17 07:57:42 +04:00 |
M1
|
34fd66f784
|
feat: pricing page — 10 monitors/30s free, unlimited/5s pro coming soon; enforce 30s min interval
|
2026-03-17 07:55:07 +04:00 |
M1
|
0874583a4f
|
Revert "fix: static HTML label spans outside swap zone, chart only returns SVG + label update script"
This reverts commit e8bfaa42d7.
|
2026-03-17 07:34:02 +04:00 |
M1
|
e8bfaa42d7
|
fix: static HTML label spans outside swap zone, chart only returns SVG + label update script
|
2026-03-17 07:32:39 +04:00 |
M1
|
1e90b5f3c2
|
fix: move min/max labels out of SVG into HTML overlays, no more text stretch
|
2026-03-17 07:30:28 +04:00 |
M1
|
5eb463a03a
|
fix: SVG h-full so it fills container exactly, no overflow or clipping
|
2026-03-17 07:28:57 +04:00 |
M1
|
66b368453d
|
refactor: single account-level SSE stream instead of per-monitor connections
|
2026-03-17 07:06:09 +04:00 |
M1
|
749c6f391e
|
fix: SSE stream 500 — replace error() with plain Response in stream handler
|
2026-03-17 06:59:43 +04:00 |
M1
|
15227b9c6e
|
fix: key_plain -> key in dashboard query
|
2026-03-17 06:51:27 +04:00 |