a15856bdac
websocket: add configurable ping/pong keepalive
2026-03-20 02:32:34 +01:00
b22fe98ab0
auth: use constant-time NIP-42 challenge comparison
2026-03-20 02:32:30 +01:00
c446b8596a
feat: Official plug API
CI / Test (OTP 27.2 / Elixir 1.18.2) (push) Failing after 0s
CI / Test (OTP 28.4 / Elixir 1.19.4 + E2E) (push) Failing after 0s
2026-03-20 01:31:57 +01:00
07953a7608
test: Fix openssl exec path
CI / Test (OTP 28.4 / Elixir 1.19.4 + E2E) (push) Failing after 0s
CI / Test (OTP 27.2 / Elixir 1.18.2) (push) Failing after 0s
2026-03-19 13:52:17 +01:00
3e5bf462e9
chore: Bump version to 0.6.0, fix tests
CI / Test (OTP 27.2 / Elixir 1.18.2) (push) Failing after 0s
CI / Test (OTP 28.4 / Elixir 1.19.4 + E2E) (push) Failing after 0s
Release / Release Gate (push) Failing after 0s
Release / Build and publish image (push) Has been skipped
2026-03-18 21:58:08 +01:00
970cee2c0e
Document embedded API surface
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 20:22:12 +01:00
7a43ebd395
Expand in-memory storage indexes
2026-03-18 19:43:11 +01:00
4c40edfd83
Optimize memory-backed benchmark path
2026-03-18 18:56:47 +01:00
f60b8ba02a
Add memory-backed benchmark profile
2026-03-18 18:39:53 +01:00
2225dfdc9e
Improve public API documentation
2026-03-18 18:08:47 +01:00
9014912e9d
Unify HTTP metadata handling
2026-03-18 18:00:07 +01:00
c30449b318
Expand relay metrics and observability
2026-03-18 17:39:13 +01:00
c377ed4b62
Separate read pool and harden fanout state handling
2026-03-18 17:21:58 +01:00
dce473662f
Lock signature verification and add per-IP ingest limits
2026-03-18 16:46:32 +01:00
bc66dfcbbe
Upgrade NIP-50 search to ranked Postgres FTS
2026-03-18 15:56:45 +01:00
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
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
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
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
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
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
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
708e26e4f4
buid/test/docs: Docker image, Darwin fix, logo
2026-03-14 17:08:07 +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
c7a9f152f9
Harden ingress limits, AUTH validation, and search escaping
2026-03-14 04:09:02 +01:00
54a54c026b
Improve ingest throughput with moderation cache and post-ack fanout
2026-03-14 02:33:37 +01:00
d95cd1cb33
docs: relay_info strings
2026-03-14 00:17:31 +01:00
cc9c18b38c
docs+nix: add deployment README and align release packaging
2026-03-13 22:54:18 +01:00
f2a6ab5150
Implement M7 Marmot hardening telemetry and ops checks
2026-03-13 22:40:36 +01:00