f732d9cf24
Implement full NIP-43 relay access flow
2026-03-18 15:28:15 +01:00
f2856d000e
Implement NIP-66 relay discovery publishing
2026-03-18 14:50:25 +01:00
dc5f0c1e5d
Add first-class listener connection caps
2026-03-18 14:21:43 +01:00
b56925f413
Decouple publish fanout and use ETS ingest counters
CI / Test (OTP 27.2 / Elixir 1.18.2) (push) Failing after 0s
CI / Test (OTP 28.4 / Elixir 1.19.4 + Marmot E2E) (push) Failing after 0s
2026-03-18 14:10:32 +01:00
05718d4b91
Prevent NIP-98 token replay
2026-03-18 14:05:38 +01:00
1fef184f50
Add relay-wide event ingest limiter
2026-03-18 14:05:27 +01:00
57fdb4ed85
Add configurable tag guardrails
2026-03-18 14:05:09 +01:00
8dbf05b7fe
docs: Opus review
2026-03-18 13:23:06 +01:00
7b2d92b714
fix: Sandbox owner checks in DB connection before exiting
...
CI / Test (OTP 27.2 / Elixir 1.18.2) (push) Failing after 0s
CI / Test (OTP 28.4 / Elixir 1.19.4 + Marmot E2E) (push) Failing after 0s
The shared sandbox owner process exited without releasing its Postgrex
connection, causing intermittent "client exited" error logs on CI. The
owner now calls Sandbox.checkin before exiting, and on_exit waits for
the owner to finish before switching to manual mode.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-17 20:11:31 +01:00
a19b7d97f0
fix: Subscription workers restart strategy, sandbox ownership race condition
...
CI / Test (OTP 27.2 / Elixir 1.18.2) (push) Failing after 0s
CI / Test (OTP 28.4 / Elixir 1.19.4 + Marmot E2E) (push) Failing after 0s
Clear OTP SSL PEM cache between listener terminate/restart so reloaded
certs are read from disk instead of serving stale cached data. Make
reconcile_worker idempotent to prevent unnecessary worker churn when
put_server is followed by start_server. Add request timeouts to
RelayInfoClient to prevent hanging connections.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-17 19:42:18 +01:00
65b47ec191
fix: Subscription workers restart strategy, sandbox ownership race condition
CI / Test (OTP 27.2 / Elixir 1.18.2) (push) Failing after 0s
CI / Test (OTP 28.4 / Elixir 1.19.4 + Marmot E2E) (push) Failing after 0s
2026-03-17 18:49:50 +01:00
e13c08fd5a
Strengthening the TLS reload test
2026-03-17 12:42:08 +01:00
101ded43cb
Stabilize TLS and sync worker tests
CI / Test (OTP 27.2 / Elixir 1.18.2) (push) Failing after 0s
CI / Test (OTP 28.4 / Elixir 1.19.4 + Marmot E2E) (push) Failing after 0s
2026-03-17 12:17:29 +01:00
f4d94c9fcb
Refactor test runtime ownership
CI / Test (OTP 27.2 / Elixir 1.18.2) (push) Failing after 0s
CI / Test (OTP 28.4 / Elixir 1.19.4 + Marmot E2E) (push) Failing after 0s
2026-03-17 12:06:32 +01:00
35c8d50db0
Stabilize TLS listener reload e2e
CI / Test (OTP 27.2 / Elixir 1.18.2) (push) Failing after 1s
CI / Test (OTP 28.4 / Elixir 1.19.4 + Marmot E2E) (push) Failing after 1s
2026-03-17 04:12:42 +01:00
4d169c23ae
Harden CI-sensitive integration tests
CI / Test (OTP 27.2 / Elixir 1.18.2) (push) Failing after 1s
CI / Test (OTP 28.4 / Elixir 1.19.4 + Marmot E2E) (push) Failing after 1s
2026-03-17 03:55:49 +01:00
a1a8b30d12
Stabilize test harness and node sync e2e
CI / Test (OTP 27.2 / Elixir 1.18.2) (push) Failing after 1s
CI / Test (OTP 28.4 / Elixir 1.19.4 + Marmot E2E) (push) Failing after 1s
2026-03-17 03:46:58 +01:00
e557eba437
Fix connection test harness startup assumptions
CI / Test (OTP 27.2 / Elixir 1.18.2) (push) Failing after 1s
CI / Test (OTP 28.4 / Elixir 1.19.4 + Marmot E2E) (push) Failing after 1s
Release / Release Gate (push) Failing after 1s
Release / Build and publish image (push) Has been skipped
v0.5.0
2026-03-17 03:13:45 +01:00
a652bf3448
Add sync e2e aliases and release checks
CI / Test (OTP 27.2 / Elixir 1.18.2) (push) Failing after 1s
CI / Test (OTP 28.4 / Elixir 1.19.4 + Marmot E2E) (push) Failing after 1s
Release / Release Gate (push) Failing after 1s
Release / Build and publish image (push) Has been skipped
2026-03-17 03:00:50 +01:00
f518a25cab
Add node sync e2e harness and bump 0.5.0
CI / Test (OTP 27.2 / Elixir 1.18.2) (push) Failing after 1s
CI / Test (OTP 28.4 / Elixir 1.19.4 + Marmot E2E) (push) Failing after 1s
2026-03-17 02:47:42 +01:00
02f2584757
Align websocket and admin APIs with shared surfaces
2026-03-17 01:08:41 +01:00
e8fd6c7328
Add listener TLS support and pinning tests
2026-03-17 00:48:48 +01:00
1f608ee2bd
Refactor ingress to listener-based configuration
2026-03-16 23:47:17 +01:00
5f4f086d28
Add outbound sync worker runtime
2026-03-16 21:55:03 +01:00
9be3b6ca52
Add sync control plane API
2026-03-16 21:23:39 +01:00
769177a63e
Add shared auth and identity APIs
2026-03-16 21:07:26 +01:00
987415d80c
docs: README intro
CI / Test (OTP 27.2 / Elixir 1.18.2) (push) Failing after 1s
CI / Test (OTP 28.4 / Elixir 1.19.4 + Marmot E2E) (push) Failing after 1s
2026-03-16 20:31:21 +01:00
d119d21d99
Extract API events and stream layers
CI / Test (OTP 27.2 / Elixir 1.18.2) (push) Failing after 1s
CI / Test (OTP 28.4 / Elixir 1.19.4 + Marmot E2E) (push) Failing after 1s
2026-03-16 20:21:58 +01:00
5d4d181d00
Add trusted proxy IP enforcement tests
2026-03-16 19:09:27 +01:00
fd17026c32
Implement ACL runtime enforcement and management API
2026-03-16 17:49:16 +01:00
14fb0f7ffb
docs: Study Khatru
2026-03-16 16:53:55 +01:00
186d0f98ee
improve: NIF-77 single-filter fast path
2026-03-16 16:30:07 +01:00
39dbc069a7
feat: NIF-77 negentropy sync
2026-03-16 16:00:15 +01:00
4c2c93deb3
docs: Sketch NIF-77 sync and ACLs
2026-03-16 14:57:08 +01:00
b628770517
docs: Narrow NIP-DBSYNC protocol
2026-03-16 12:58:21 +01:00
705971cbc4
docs: Nostr DB sync proposal
2026-03-16 12:57:22 +01:00
b86b5db78c
ci: GitHub release action
CI / Test (OTP 27.2 / Elixir 1.18.2) (push) Failing after 1s
CI / Test (OTP 28.4 / Elixir 1.19.4 + Marmot E2E) (push) Failing after 1s
Release / Release Gate (push) Failing after 1s
Release / Build and publish image (push) Has been skipped
v0.4.0
2026-03-14 20:02:05 +01:00
5577445e80
ci: GitHub action
2026-03-14 19:49:07 +01:00
1a4572013d
chore: Bump version to 0.4.0
2026-03-14 19:15:31 +01:00
5c2fadc28e
Rename archiver to partitions and drop archive SQL helper
2026-03-14 18:31:12 +01:00
7faf8c84c8
Align event_tags partition lifecycle with events
2026-03-14 18:23:21 +01:00
889d630c12
Add monthly partition maintenance and retention pruning
2026-03-14 18:11:40 +01:00
19664ac56c
build: Default port to 4413
2026-03-14 17:37:37 +01:00
708e26e4f4
buid/test/docs: Docker image, Darwin fix, logo
2026-03-14 17:08:07 +01:00
8c8d5a8abb
chore: bump version to 0.3.0
v0.3.0
2026-03-14 13:06:24 +01:00
0fbd7008a1
Use explicit Postgrex JSON types with Elixir JSON module
2026-03-14 11:24:06 +01:00
bfdb06b203
Restrict metrics access and add optional dedicated metrics listener
2026-03-14 04:56:45 +01:00
36365710a8
Harden NEG session handling and gate feature wiring
2026-03-14 04:56:45 +01:00
e12085af2f
Add signature verification and lossless event tag storage
2026-03-14 04:20:42 +01:00
18e429e05a
Fix medium findings: deletion coords, count SQL, cache startup
2026-03-14 04:15:37 +01:00