Skip to content
openvibers/openvibe.tips
Commits
main · .env.example
-
Add IndexNow key file and ping creator pages on changeOpenVibers · 4 Oct 2026
0a46cb1
-
Deliver paid chat effects through OpenVibe.Chat's ingressOpenVibers · 4 Oct 2026
1facb91
-
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
-
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
-
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
-
.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
-
Threat review (docs/threat-review.md) and the gaps it closedOpenVibers · 23 Sept 2026
fdb1657
-
OpenVibe.Tips W9: tip interactions on top of Billing, goals, paid messages/TTS/media requests, overlays, SSR pages, events, Live importOpenVibers · 23 Sept 2026
e79904a