Commit Graph
26 Commits
Author SHA1 Message Date
jwinterm b44181d8d9 fix(checkout): return the customer to the merchant when payment is detected
A merchant that supplies `redirectURL` and `redirectAutomatically` is asking for its
customer back, and the moment to do that is detection rather than final depth. The
payment is already irreversible from the payer's side, and the merchant's own page is
where an order status belongs. Waiting for the confirmation target instead parks the
customer on a payment page for as long as the coin takes.

Only the classic style acted on those fields, and it held its own copy of the rule. The
standard style had no automatic return at all, and its way back appeared only once the
invoice was confirmed. Both styles now render one shared component, so the rule lives in
one place, and the return appears as soon as the payment is seen. The receipt still
waits for confirmation, because that is when there is a settled payment to describe.

Also ignores the tsbuildinfo a typecheck leaves behind.
2026-09-05 10:50:01 -04:00
jwinterm 032b414b33 analytics: config-driven cookieless Umami tag (NEXT_PUBLIC_UMAMI_*, GPC+DNT) 2026-06-12 13:50:05 -04:00
jwinterm 2d8fee45b6 merge upstream: system status, health monitoring, connectivity caching
Merges xmrcheckout/xmrcheckout main (7 commits since 655d037):
- Add Monero system status and reconciler heartbeat
- Surface Monero health status in UI (dashboard + invoice pages)
- Harden reconciler status heartbeat startup
- Avoid false Monero outage states in UI
- Cache Monero connectivity in system status
- Next.js security patch (15.5.9 → 15.5.14)
- Bump Monero Docker defaults to 0.18.4.6

Resolved conflicts in reconciler.py (kept our advisory lock + upstream
heartbeat), routes.py (kept both imports), README.md (kept both sections).
2026-03-28 12:20:32 -04:00
xmrcheckout d039d5a984 Avoid false Monero outage states in UI 2026-03-26 15:46:31 +00:00
xmrcheckout ff96413d92 Surface Monero health status in UI and docs 2026-03-26 15:46:16 +00:00
jwinterm 1ce08560a2 security: harden admin auth, reconciler locking, and connection pooling
- Use secrets.compare_digest for timing-safe admin key comparison
- Strip whitespace from ADMIN_API_KEY env var
- Add PostgreSQL advisory locks per-invoice in reconciler to prevent
  duplicate processing during deployments
- Add wallet-RPC retry with backoff (3 attempts: 0.5s, 1s, 2s)
- Raise MAX_SUBADDRESS_INDEX from 100 to 300
- Tune DB connection pool (pool_size=20, max_overflow=10, recycle=3600)
- Add 1-hour admin session timeout
- Regenerate UI lockfile
2026-03-15 10:49:24 -04:00
jwinterm 5f1154d363 Add admin panel for merchant management
- POST/GET/DELETE /api/admin/users endpoints
- Admin UI at /admin with login, user list, create/delete
- Auth via ADMIN_API_KEY env var (separate from tenant auth)
- Tenants remain scoped to their own store only
2026-03-10 11:24:38 -04:00
jwinterm bf6dd29c1f Send signup requests to apps@such.software 2026-03-09 13:12:01 -04:00
jwinterm 3eabad598d Add OPEN_REGISTRATION gate, signup request form, favicon 2026-03-09 13:02:21 -04:00
jwinterm 408312cce7 Add hosted by Such Software to footer 2026-03-09 11:54:38 -04:00
xmrcheckout 655d037c49 ui: highlight active nav item 2026-01-30 16:52:36 +00:00
xmrcheckout a19b3566a6 reword marketing homepage in plain english 2026-01-30 16:52:31 +00:00
xmrcheckout fa359443f8 ui: add public tour with simulated data 2026-01-30 16:52:25 +00:00
xmrcheckout 7eadd14ca0 ui: wording tweaks 2026-01-10 22:28:19 +00:00
xmrcheckout 4db4b51fe9 ui: make donate copy voluntary 2026-01-09 17:20:20 +00:00
xmrcheckout 0ea8732062 ui: trim invoice page messaging 2026-01-09 14:57:08 +00:00
xmrcheckout a4df797294 Align BTCPay receipt layout with reference 2026-01-08 17:57:24 +00:00
xmrcheckout 723891d7ea Update hero wording 2026-01-08 17:56:06 +00:00
xmrcheckout 7bde17a3eb Change default confirmation target to 1 2026-01-08 17:39:58 +00:00
xmrcheckout 0148caf501 Redesign create invoice modal 2026-01-08 16:43:11 +00:00
xmrcheckout 6a3156991a Add optional post-confirmation continue URL 2026-01-08 16:43:11 +00:00
xmrcheckout 6eb8d381c9 BTCPay: add paid/receipt flow and redirect support 2026-01-08 16:43:11 +00:00
xmrcheckout b53f6dca21 Change default confirmation target to 2 2026-01-06 16:06:39 +00:00
xmrcheckout 3d733feb9d Fix UI quirks 2026-01-05 21:53:31 +00:00
xmrcheckout b8a86c0c25 Add fiat invoice inputs to UI 2026-01-05 12:03:03 +00:00
xmrcheckout c92dfd2ef1 Add UI 2026-01-04 17:57:07 +01:00