Skip to content
openvibers/openvibe.chat
Commits
main · package-lock.json
-
openvibe-shared v2.20.4 (was v2.20.3) (#48)OpenVibers · 10 Oct 2026
623b463
-
openvibe-contracts v0.127.0 (was v0.126.0) (#47)OpenVibers · 10 Oct 2026
7548f1f
-
openvibe-shared v2.20.3 (was v2.20.0) (#45)OpenVibers · 10 Oct 2026
8d75878
-
openvibe-contracts v0.126.0 (was v0.122.1) (#43)OpenVibers · 10 Oct 2026
105695b
-
openvibe-shared v2.20.0 (was v2.19.0) (#42)OpenVibers · 9 Oct 2026
7a2fc9f
-
openvibe-shared v2.19.0 (was v2.18.0) (#41)OpenVibers · 9 Oct 2026
97884fe
-
openvibe-contracts v0.122.1 (was v0.112.0) (#39)OpenVibers · 9 Oct 2026
8d854da
-
openvibe-shared v2.18.0 (was v2.17.0) (#37)OpenVibers · 9 Oct 2026
ec55540
-
openvibe-shared v2.17.0 (was v2.15.0) (#35)OpenVibers · 9 Oct 2026
d48255f
-
openvibe-shared v2.15.0 (was v2.13.2) (#34)OpenVibers · 8 Oct 2026
c69b0b2
-
openvibe-shared v2.13.2 (was v2.13.0) (#32)OpenVibers · 8 Oct 2026
ec97713
-
openvibe-sdk v0.35.0 (was v0.26.0) (#31)OpenVibers · 7 Oct 2026
6da98c5
-
openvibe-contracts v0.112.0 (was v0.103.0) (#30)OpenVibers · 7 Oct 2026
2c0563d
-
openvibe-shared 2.13.0: release notifications connect to openvibe.events (plan T7) (#29)OpenVibers · 7 Oct 2026
f4df324
-
Internal per-ticket conversations for OpenVibe.Help (chat.ticket.write): create on first message, append, read back, each service its own (#26)OpenVibers · 5 Oct 2026
f58488a
-
Serve Live's chat stats, message, timeline, queue and sound reads (#21)OpenVibers · 5 Oct 2026
9e36de5
-
Implement the additive Chat-owned ingress described by Live T3… (#16)OpenVibers · 4 Oct 2026
c88d581
-
Bump openvibe-shared v2.4.0 → v2.5.0 (#9)OpenVibers · 3 Oct 2026
62288cc
-
Move Chat's shutdown onto openvibe-sdk/service gracefulStop (#5)OpenVibers · 2 Oct 2026
4215a76
-
Serve Chat's cache headers through openvibe-shared/cache-policy (#3)OpenVibers · 2 Oct 2026
02eb132
-
Chat serves from PostgreSQL (plan T3, the engine move): openvibe-sdk/db everywhere, PGlite for dev and npm testOpenVibers · 29 Sept 2026
cb61cd5
-
Chat on PostgreSQL, in progress (plan T3): SDK v0.25.2 with pg/PGlite/iovalkey, migrations 0001_initial with the SQLite-compat prelude and the mirror triggers, the import script, the N-1 engine-switch skip; the engine move itself (async database layer across server/ and tests) is next. docs/pg-port/ holds the brief, the research and the progress so far.OpenVibers · 29 Sept 2026
83497e7
-
Chat serves the features built on the six chat tables (plan T3 step 1): Live's read API GET /internal/moderation/channels/:id, /users/:id/channels and /channels/:id/emote-count (chat.moderation.read, loopback, service token; answers validate against Contracts 0.80.0); the emote API at /api/emotes with Live's paths, shapes, limits and messages, bytes to Media with Chat's own token (the declared type must match the bytes); channel moderators and moderation settings under /api/chat/channels/:id; the playAlertSound bridge op resolving the sound from Chat's own settings row. Writes refuse with 503 until the tables' authority flips. test/chat-apis.test.js (13 checks); 42/42.OpenVibers · 29 Sept 2026
0e38083
-
Pins current (plan T3 step 0): openvibe-sdk v0.23.1 (openvibe-sdk/db, ambient transactions, openvibe-sdk/testing, the JWKS client), openvibe-contracts v0.79.0, openvibe-shared v2.0.0 (none of its removed exports were used here), and the PostgreSQL/Valkey drivers pg, @electric-sql/pglite and iovalkey at Media's versions for the move that follows. No source change was needed. npm test 40/40.OpenVibers · 29 Sept 2026
50e4dc1
-
openvibe-shared v1.29.2 (from v1.25.0): navbar dropdowns no longer clipped, themes repaint the canvas with readable button text, compact brand, async gauge collect (1.26), async Express handler errors reach the error handler (1.27). message-deleted's end-to-end half runs against today's OpenVibe.Events on PostgreSQL: Events gets a migrated database from its own test/db.js (PGlite, or the containers), and the store's lastSeq/scan/getEvent are awaited (they were read as values, so the replay asked from NaN and timed out). npm test 40/40.OpenVibers · 29 Sept 2026
eab0c20
-
npm test no longer counts a skipped test as passed (roadmap WS-Q task 7; openvibe-shared/test-runner, Shared v1.25.0). test/run.js counted every file that exited 0 as passed, so message-deleted without an OpenVibe.Events checkout next to it, which then skips its end-to-end tests, read as green. It is now the shared runner (same files, one at a time as before, 60 s timeout per file): a test prints "<label>: skipped (<why>)" for what it could not run, and that file is listed with ○ and its reasons and not counted as passed; --strict makes a skip fail the run. message-deleted printed "(no OpenVibe.Events with redaction at …: the end-to-end tests are skipped)" and now prints "message-deleted end-to-end: skipped (no OpenVibe.Events with redaction at …)", so a run without the Events checkout (CI) reads 39/40 test files passed, 1 skipped. openvibe-shared is pinned at v1.25.0 (from v1.22.0; 1.23 and 1.24 add the web runtime, release-watch fixes and the readiness skip, and /api/ready answers as before because its db check really runs). npm test (Node 22, Events checkout present) 40/40; audio-queue's restart case failed once in five runs under load (it expects three !long rows while the first 2 s clip plays), a timing race in that test that nothing here touches.OpenVibers · 28 Sept 2026
4c517a5
-
Per-actor rate limits on Chat's REST API (roadmap WS-R task 4, openvibe-sdk v0.12.0 limits). server/net/actor-limits.js is one limiter for the app. It counts a person as user:usr_… (user:<id> before their subject is known) whether they call with their Network token or an hbt_ API token, so a bot counts against its owner, and anyone else by their own address. The caller's token is resolved once per request (auth.js requestUser, now shared by requireAuth, optionalAuth and the ban exemption), so reads count against the person rather than the address. Browsers call these routes themselves; Live's service calls (the bridge at /internal/live and the stream hooks at /internal/calls) carry every viewer's chat, so they are never limited and never count as svc:live. The WebSocket keeps its own flood control. Past a limit a route answers 429 problem+json rate_limited with Retry-After before any work, logs one [Limits] line and counts chat_rate_limited_total{limit,window}.OpenVibers · 28 Sept 2026
27cb1cb
-
Chat takes part in account export and deletion (roadmap WS-B task 7, ADR-033; openvibe-contracts 0.57.0 -> 0.71.0). POST /internal/events takes network.account.export_requested and network.account.deleted (subscribed at boot). server/chat/account-data.js applies each once per export or deletion (account_data_events) and answers after Network took the part or confirmation, so a failure is redelivered without erasing twice.OpenVibers · 27 Sept 2026
a2d100d
-
Pins: openvibe-shared 1.20.0 -> 1.22.0 (realtime notification badge, off until a site turns it on; the unreachable-host browser check)OpenVibers · 26 Sept 2026
739d3a1
-
Pins: openvibe-shared 1.18.0 -> 1.20.0 (the update matrix and release manifest 1.2.0: client generations, the shell)OpenVibers · 26 Sept 2026
9b7da46
More commits