openvibers/openvibe.publishing
Commits
-
Bump openvibe-shared v2.3.1 → v2.5.0 (#2)OpenVibers · 3 Oct 2026
fa41ec1 -
Merge pull request #1 from OpenVibers/agent/bump-openvibe-shared-v2.3.1-mupvarl0OpenVibers · 1 Oct 2026
1ed8b2d -
Bump openvibe-shared v1.25.0 → v2.3.1OpenVibers · 1 Oct 2026
98a9e12 -
Publishing 1.1.0: the shared ingest and publication chassis (plan T9 J1, additive). openvibe-publishing/ingest: the Sources client, a named change cursor (<prefix>_ingest_cursor), pullChanges (one transaction per page, one savepoint per item, apply → applied|hold|removed, a bad item isolated), the signed event consumer with an exactly-once inbox, and the normalize/hosts/freshness helpers the five product copies share (119 fixture cases citing their source). openvibe-publishing/publication: createPublication (gate → document → sequencer.stamp → events → outbox on the caller's transaction, tombstones, the IndexNow ping). No existing export, table or document changed. Both suites green (verified).OpenVibers · 29 Sept 2026
bd7e6c2 -
Dev pin: openvibe-contracts v0.76.0 (from v0.49.0), before CI's 14-day pin-drift check starts failing in October. Only tests use it; no release needed. npm test 15/16 passed, 1 skipped (PgBouncer containers not running here).OpenVibers · 28 Sept 2026
d8d8ac1 -
Publishing 1.0.0: the stores run on PostgreSQL through openvibe-sdk/db, async (ADR-035 and its amendment: PostgreSQL 18 behind PgBouncer is every service's system of record, one SQL dialect, PGlite in tests). Every store (revisions, citations, media, discussion refs, schedule, the review log, taxonomy, redirects, the index sequencer) takes the product's openvibe-sdk/db handle instead of a better-sqlite3 one, and every method that touches data is async with the 0.4 names and result shapes. Each data method takes the caller's transaction handle as an optional first argument, so a product's own write and the stores' writes commit or roll back together; multi-statement store writes run in their own db.tx or in a savepoint of the caller's, so a 412/404/410 leaves the caller's transaction usable; indexSequencer.stamp(t, doc) takes the handle always, like outbox.enqueue(t, …). Stores no longer create tables: each module exports schema(prefix) (seo redirectsSchema, index-hooks sequencerSchema, and the root schema({ … }) joining several) for the product's migrations, and store.ensureSchema() runs it for tests. The DDL uses bigint identity keys, jsonb, bigint epoch ms, timestamptz for citations' retrieved_at and COLLATE "C" on identifiers, keeps every CHECK, turns the RAISE(ABORT) guards into PL/pgSQL triggers (SQLSTATE 23001), and has an index under every statement the stores send. Writers of one entity take pg_advisory_xact_lock where 0.4 relied on SQLite's single writer; the scheduler claims with one UPDATE … FOR UPDATE SKIP LOCKED; get-or-create uses ON CONFLICT; loops became ANY/unnest queries and batched inserts (setTerms, attachMany, carryForward, drafts, verify); lists are bounded, cross-entity lists page by keyset (after), and new batch reads (revisions.getMany, citations.forRevisions, reviews.latestMany, taxonomy.termsForMany) keep list routes free of N+1. openvibe-sdk >=0.15.0 is a peer (one copy of the data layer per service; the sql fragments must come from the handle's own SDK), better-sqlite3 is dropped, and PGlite, pg and the SDK v0.15.0 tag are devDependencies. The two-product example applies generated migrations with db.migrate and writes its Search events in the same transaction. Every 0.4 test is kept on PGlite; new schema, transaction, query-count and PgBouncer integration tests; CI starts the PostgreSQL 18 + PgBouncer containers. npm test (Node 22.22.1): 16/16 files, 121 cases with the containers (8 through PgBouncer); 15/16 and 1 skipped without them.OpenVibers · 28 Sept 2026
184b663 -
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, a few 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. The openvibe-shared dev dependency the tests use is pinned at v1.25.0 (from v1.22.0; the peer range stays >=1.5.0; the README follows). npm test (Node 22) 13/13.OpenVibers · 28 Sept 2026
55571ed -
README and STATUS.json are current (roadmap WS-U task 3): the README gains Purpose, Owns, Capabilities (none held; the grants the discussion, ai and media modules need from the product), Acceptance (what each test file proves), Security (SECURITY.md, escaping, no secrets, calls only through the product's client) and Deploy (a tag products pin) sections; What it does not do is now Does not own. Stale facts corrected: the release is 0.4.0 and the seven products pin v0.4.0 (not 0.2.1), openvibe-shared is a peer dependency since v0.4.0, and tests validate against openvibe-contracts v0.49.0. STATUS.json names the same, adds the ai module, deployed false and features, and is updated 2026-09-28.OpenVibers · 28 Sept 2026
a37b706 -
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
ed10947 -
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
7ad9ef2 -
Pins: openvibe-shared 1.17.1 -> 1.18.0 (update telemetry: prompted count, sessions by generation)OpenVibers · 26 Sept 2026
4d6023c -
Pins: openvibe-shared 1.16.1 -> 1.17.1 (release notifications)OpenVibers · 26 Sept 2026
9a8ef88 -
Pins: openvibe-shared 1.16.0 -> 1.16.1 (the OV mark stops animating when idle, hidden or off-screen)OpenVibers · 26 Sept 2026
125305a -
Pins: openvibe-shared 1.13.0 -> 1.16.0OpenVibers · 26 Sept 2026
c25a1ce -
Pins: openvibe-contracts 0.44.0 → 0.49.0, openvibe-shared 1.12.0 → 1.13.0OpenVibers · 25 Sept 2026
9632d08 -
CI on the shared test and security workflows (WS-Q task 1, OpenVibe.Shared 66b76f8): install, node --check, tests, contract and pin-drift checks from one definition; this repository's own steps kept as inputs and extra stepsOpenVibers · 25 Sept 2026
23aa4a4 -
Pins: openvibe-contracts 0.42.0 → 0.44.0 (Contracts 0.43.0 and 0.44.0 were released after the previous pin commit, leaving 0.42.0 two minors behind the pin-drift limit)OpenVibers · 25 Sept 2026
b24149c -
Pins: openvibe-contracts (devDependency) 0.33.0 → 0.42.0 (the openvibe-shared peer range >=1.5.0 is not a pin and stays); CI runs the pin-drift checkOpenVibers · 25 Sept 2026
dad7999 -
CI: the tag-style install check provides both peers (better-sqlite3 and openvibe-shared), as a product doesOpenVibers · 24 Sept 2026
73da905 -
0.4.0: the openvibe-shared peer is optional (peerDependenciesMeta), so npm never looks it up in the public registry, where it is not published; products provide itOpenVibers · 24 Sept 2026
8fc49bd -
0.4.0: openvibe-shared is a peer dependency (>=1.5.0), resolved from the product's install — a Shared release no longer forces a Publishing release or a nested second copy; no API changeOpenVibers · 24 Sept 2026
298c2aa -
0.3.2: openvibe-shared v1.11.0; no API changeOpenVibers · 24 Sept 2026
293889e -
0.3.1: openvibe-shared v1.10.0 (was v1.5.1), so products on the current Shared install one copy, not a nested one; no API changeOpenVibers · 24 Sept 2026
2670bee -
0.3.0: openvibe-publishing/ai, how a content product asks OpenVibe.AI for a draft (run a registered workflow with its service token, poll a slow run, read its citations, return the workflow/run record authorship needs; coded AiRunError, never a partial draft; one token retry; traceparent carried). test/ai.test.jsOpenVibers · 24 Sept 2026
91cbe0b -
v0.2.2: openvibe-shared v1.5.1 as the runtime dependency (consumers pinning a newer Shared stop installing a second copy)OpenVibers · 24 Sept 2026
48c026a -
SECURITY.md: how to report a vulnerability ([email protected], 7-day reply, scope, supported versions)OpenVibers · 24 Sept 2026
cbc048c -
openvibe-shared v1.5.1, openvibe-contracts v0.33.0 (devDependency)OpenVibers · 23 Sept 2026
9eaffab -
openvibe-shared v1.5.0, openvibe-contracts v0.32.0 (devDependency)OpenVibers · 23 Sept 2026
2b21b2c -
CI: run the shared security workflow (gitleaks secret scan + dependency audit, Track Q)OpenVibers · 23 Sept 2026
dfcc664 -
Docs: STATUS.json and README match production (2026-09-23)OpenVibers · 23 Sept 2026
7b32321