Skip to content
-
openvibe-contracts v0.129.0 (was v0.127.0) (#32)OpenVibers · 10 Oct 2026
042ab40
-
openvibe-sdk v0.38.0 (was v0.37.2) (#31)OpenVibers · 10 Oct 2026
b2d17bf
-
openvibe-shared v3.0.0 (was v2.21.2) (#30)OpenVibers · 10 Oct 2026
97072df
-
openvibe-shared v2.21.2 (was v2.21.1) (#29)OpenVibers · 10 Oct 2026
7fda843
-
openvibe-sdk v0.37.2 (was v0.37.0) (#28)OpenVibers · 10 Oct 2026
dbd2030
-
openvibe-shared v2.21.1 (was v2.21.0) (#27)OpenVibers · 10 Oct 2026
6f9240c
-
openvibe-shared v2.21.0 (was v2.20.4) (#26)OpenVibers · 10 Oct 2026
8c790e4
-
openvibe-shared v2.20.4 (was v2.20.3) (#25)OpenVibers · 10 Oct 2026
9e1f0ef
-
openvibe-contracts v0.127.0 (was v0.126.0) (#24)OpenVibers · 10 Oct 2026
5cc6b65
-
openvibe-shared v2.20.3 (was v2.20.0) (#23)OpenVibers · 10 Oct 2026
6c2a55a
-
openvibe-contracts v0.126.0 (was v0.122.1) (#22)OpenVibers · 10 Oct 2026
1472653
-
openvibe-shared v2.20.0 (was v2.17.0) (#21)OpenVibers · 9 Oct 2026
ce06f72
-
openvibe-contracts v0.122.1 (was v0.112.0) (#20)OpenVibers · 9 Oct 2026
f137575
-
openvibe-shared v2.17.0 (was v2.15.0) (#19)OpenVibers · 9 Oct 2026
12d81af
-
Tips: account export and deletion (ADR-033) — a creator's settings, overlays and moderator links deleted with the money records kept; a supporter through the existing erasure; subscriptions at boot (SDK v0.37.0) (#18)OpenVibers · 9 Oct 2026
febac2c
-
openvibe-shared v2.15.0 (was v2.13.2) (#17)OpenVibers · 8 Oct 2026
7f125ba
-
openvibe-shared v2.13.2 (was v2.13.0) (#15)OpenVibers · 8 Oct 2026
d034e96
-
openvibe-sdk v0.35.0 (was v0.28.0) (#14)OpenVibers · 7 Oct 2026
1ed00c1
-
openvibe-contracts v0.112.0 (was v0.92.0) (#13)OpenVibers · 7 Oct 2026
8aaa5e6
-
Events moves to openvibe.events: connect-src, stream URLs and shared 2.13.0 in one change (plan T7) (#12)OpenVibers · 7 Oct 2026
43b0741
-
Deliver paid chat effects through OpenVibe.Chat's ingressOpenVibers · 4 Oct 2026
1facb91
-
Tips moves between its pages without a reload (plan T11): openvibe-shared v2.2.0 boost swaps <main> styles-first and does a normal load across a deploy (the ov-boost marker carries the release); page scripts that wire <main> also run on ov:boost:load. Two test:pg flakes the verify found are fixed test-side: the hidden-pending-tip case waits for the settlement to reach the row instead of a fixed 50 ms, and the per-test database teardown waits for terminated sessions to leave and retries catalog DDL on 'tuple concurrently updated'. npm test 16/16; the three files green twice on PostgreSQL.OpenVibers · 29 Sept 2026
ebb0aa1
-
Tips' outbox is openvibe-sdk/events createServiceOutbox (plan T1): tips_event_outbox, the service as actor, internal visibility and important priority on every envelope as before; callers use emitIn(t, envelope) inside the change's transaction. Pins openvibe-sdk v0.25.0, openvibe-contracts v0.79.0, openvibe-shared v2.0.0. Both suites green (verified).OpenVibers · 29 Sept 2026
592a420
-
Tips keeps no Live-import or SQLite code (the import is long done; no compatibility kept): server/importer/live.js, scripts/import-live.js and migrate-to-postgres.js, the import and SQLite-move tests and fixture, the better-sqlite3 dependency, sqlitePath/TIPS_DB_PATH, and the legacy_source columns and migration_maps table (dropped by the new migration 0002); goal:<id> takes Tips goal ids only. The earlier await fixes (13 files: async store calls inside transactions and routes) ship with it. Reviewed independently; its findings (untracked migration, lockfile, two stale README lines) are resolved here. npm test 16/16 test files passed.OpenVibers · 29 Sept 2026
036effd
-
Pins for the switch: openvibe-sdk v0.18.0 (from v0.15.0; ambient transactions, db.prepare, JSON null verification) and openvibe-contracts v0.76.0 (from v0.49.0, ahead of October's pin-drift failure). Two tests made exact. settlement's paid-effects check drained due transfers once after a 100 ms sleep, and failed about one run in five through PgBouncer when a background pass held a transfer's lease (it failed the same with ambient transactions off). It now drains until all three exist, within 3 s. sqlite-import expected SDK 0.15's JSON null mismatch; 0.18 verifies it. STATUS.json and the README record the pins and the production switch. npm test and npm run test:pg: 18/18 each; settlement stable over repeated runs.OpenVibers · 28 Sept 2026
9987de4
-
Tips moves to PostgreSQL and Valkey (ADR-035 and its amendment, roadmap WS-X2, following openvibe-sdk's docs/migrating-to-postgresql.md). Everything is async on openvibe-sdk/db v0.15.0: node-postgres through PgBouncer in production, PGlite in tests and in development without DATABASE_URL. migrations/0001_initial.sql (expand) is the SQLite v3 schema in PostgreSQL types: ISO text times become timestamptz, epoch-ms stays bigint, 0/1 becomes boolean, JSON text becomes jsonb, amounts become bigint with their sums cast back, and the AUTOINCREMENT ids become identities. Two exceptions: the stored API answers stay text so a replay is byte for byte, and the SQLite settings row is not carried (ov_migrations records the schema). The SDK outbox and inbox are tips_event_outbox and tips_event_inbox, and every query shape has an index. Boot migrates with DATABASE_DIRECT_URL and then serves on DATABASE_URL; /api/ready reports db.ready() (the store that answered, and the pool) and valkey.ready(). A function that touches the database takes the handle first (db, or the transaction's t), after-commit work hangs on the transaction (t.after, per attempt), and Express handlers are async with their errors reaching the error handler.OpenVibers · 28 Sept 2026
fe05335
-
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 a file that printed that it skipped its work and checked nothing still 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. No test here skips anything. 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; the README follows). npm test (Node 22) 14/14.OpenVibers · 28 Sept 2026
3cc8c83
-
README and STATUS.json are current (roadmap WS-U task 3): the README gains Capabilities (the 18 tips.* capabilities and the grants Tips uses at Billing, Events, Network and Live) and Deploy (sudo ovhost deploy tips, unit, port, env file, state, vhost, rollback) sections; Security opens with SECURITY.md and the main rules; Depends on names the current pins (shared v1.22.0, contracts v0.49.0, sdk v0.12.0); the status line and launch rule no longer say the production database is empty (it holds the Live import). STATUS.json gains deployed, contracts and features, counts 18 capabilities and is updated 2026-09-28.OpenVibers · 28 Sept 2026
13986b5
-
Per-actor rate limits on Tips' /api/v1 (roadmap WS-R task 4, openvibe-sdk v0.12.0 limits). server/api/actor-limits.js makes one limiter per app, counted once api/auth.js resolved the caller and before any work (the idempotency store, Billing, chat delivery): a service as its principal (svc:live), a person as user:usr_…, anyone else by address. Past a limit a route answers 429 problem+json rate_limited with Retry-After, logs one line and counts tips_rate_limited_total{limit,window}.OpenVibers · 28 Sept 2026
1e6bfbb
-
openvibe-shared v1.5.1, openvibe-contracts v0.33.0OpenVibers · 23 Sept 2026
3fb582e
More commits