This website requires JavaScript.
Explore
Help
Sign In
starred
/
warmbly
Watch
1
Star
0
Fork
0
mirror of
https://github.com/warmbly/warmbly.git
synced
2026-10-13 00:02:43 +00:00
Code
Issues
Packages
Projects
Releases
Wiki
Activity
Files
0dfdedba84d79cf2e664894dfaa77f28c2a0c841
warmbly
/
realtime
/
test
T
History
Devin AI
767bf27233
feat: retain non-routing workspace authorization for private user events and recover drained push digests after lookup deadlines expire
2026-10-10 11:40:26 +00:00
..
realtime
feat: restore existing self-host realtime connections through normalized legacy gateway URLs and an authenticated API-origin WebSocket proxy, preserve ticket-bound client IP limits and direct retry fallback, and remember workspace mailbox tag filters across navigation with deterministic default account grouping
2026-10-08 06:57:48 +00:00
realtime_web
feat: retain non-routing workspace authorization for private user events and recover drained push digests after lookup deadlines expire
2026-10-10 11:40:26 +00:00
support
feat: enforce current organization resource grants on realtime presence and channel delivery while preserving personal and legacy account events
2026-10-10 10:54:59 +00:00
test_helper.exs
feat: make the realtime service survive a client that spams channel joins, and stop both clients from being that client: ws_join is now spent per phx_join in a shared RealtimeWeb.ChannelGuard that every channel runs BEFORE its Auth lookup (it was only ever spent on the socket handshake, so an established socket could issue unlimited joins and each one cost a Postgres query), handshakes move to their own ws_connect bucket so a reconnect storm cannot eat the budget a client needs to rejoin with, the retry_after_ms hint now points at the next window instead of shrinking as overage grew, every channel's join rejection carries the numeric code the API reference already promised (plus 4005 for a malformed topic), BulkChannel only pushes an event to the user who owns the operation instead of to anyone who guesses the id, and the web and admin clients treat a rate_limited join as transient (wait out the hint, keep the socket) while backing off per-channel rejoins on a decaying schedule rather than reconnecting on the 120ms floor forever; adds an ExUnit suite for realtime and a vitest suite for admin, both wired into CI
2026-08-26 21:14:34 -07:00