Skip to content
-
Add IndexNow key file and ping creator pages on changeOpenVibers · 4 Oct 2026
0a46cb1
-
Merge pull request #7 from OpenVibers/agent/tips-t11-step-4c-openvibe-tips-210537-muub8im2OpenVibers · 4 Oct 2026
40ab491
-
Add /llms-full.txt with the full text of the public pagesOpenVibers · 4 Oct 2026
ec0a3bf
-
Merge pull request #6 from OpenVibers/agent/tips-t5-step-10-openvibe-tips-175642-muu4hkooOpenVibers · 4 Oct 2026
bfca593
-
Deliver paid chat effects through OpenVibe.Chat's ingressOpenVibers · 4 Oct 2026
1facb91
-
Render every Tips page through openvibe-shared/shell v2.6.0 (#5)OpenVibers · 4 Oct 2026
a8cc87d
-
Bump openvibe-shared v2.2.0 → v2.5.0 (#4)OpenVibers · 3 Oct 2026
af2922d
-
Move Tips errors and shutdown onto openvibe-sdk/service (#3)OpenVibers · 2 Oct 2026
be90dfd
-
Route every Cache-Control value through openvibe-shared cache-policy (#2)OpenVibers · 2 Oct 2026
52fb3cb
-
Merge pull request #1 from OpenVibers/agent/tips-plan-t11-lane-d-follow-up-220748-muq34zzpOpenVibers · 2 Oct 2026
dd3344a
-
The discovery route changes are complete in the working tree on branch…OpenVibers · 1 Oct 2026
bc11596
-
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
-
openvibe-shared v1.27.0 (from v1.25.0): an async route handler's rejection now reaches the error handler instead of ending the process. Express 4 leaves such a promise unhandled and Node 22 exits on it; instrument() now applies openvibe-shared/express-async. 1.26.0 adds async gauge collects. npm test: 17/18 test files passed, 1 skipped.OpenVibers · 28 Sept 2026
56fd30e
-
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
-
The notification bell hears new notifications as they happen (notificationsRealtime; Shared 1.22.0, roadmap WS-E task 3): Network's network.notification.created over OpenVibe.Events' realtime stream, with polling as the fallback. Only a signed-in bell with a Network token opens a stream.OpenVibers · 26 Sept 2026
819d855
-
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
1d558c5
-
Open redirect fixed (roadmap WS-R task 5): the sign-in next let "/<TAB>/evil.com" through, which browsers read as "//evil.com" (they drop tab and newline characters and read a backslash as "/"); any control character or backslash in next now goes home. test/open-redirect.test.js feeds it the known bypassesOpenVibers · 26 Sept 2026
7c0d2f8
-
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
3c9237f
-
Pins: openvibe-shared 1.17.1 -> 1.18.0 (update telemetry: prompted count, sessions by generation)OpenVibers · 26 Sept 2026
d328728
-
Pins: openvibe-shared 1.16.1 -> 1.17.1 (release notifications)OpenVibers · 26 Sept 2026
4c8d635
-
Pins: openvibe-shared 1.16.0 -> 1.16.1 (the OV mark stops animating when idle, hidden or off-screen)OpenVibers · 26 Sept 2026
7df65f4
-
Pins: openvibe-shared 1.13.0 -> 1.16.0OpenVibers · 26 Sept 2026
403b0af
-
.env.example: names with a working default are commented (optional), so ovhost validate's from-example check requires only what the service cannot run withoutOpenVibers · 26 Sept 2026
1cfee92
-
Pins: openvibe-contracts 0.44.0 → 0.49.0, openvibe-shared 1.12.0 → 1.13.0, openvibe-sdk 0.9.1 → 0.11.0OpenVibers · 25 Sept 2026
56f8579
More commits