Commits
-
Community: the forum returns (owner decision 2026-10-08); contracts v0.118.0 (#27)OpenVibers · 8 Oct 2026
3b36c37 -
Community: the forum moves to OpenVibe.Space; /s/* answers 301 there (plan T10 step 3) (#19)OpenVibers · 7 Oct 2026
4db9d42 -
Community is the only paste authority, moves between pages without a reload, and tells search engines when a page changes (plans T10 J6 and T11). The PASTES_AUTHORITY=live path is gone: the Live paste proxy (server/pastes/proxy.js), the Live client (server/live-client.js), the switch and its config, the local capability fallback and the C-24 references; migration 0002 drops the unread pastes.legacy_media_id/legacy_user_id and paste_comments.legacy_media_id (legacy_id_map stays: identity resolution uses it). openvibe-shared v2.2.0 boost with the release marker; IndexNow with INDEXNOW_KEY (public posts and pastes appearing, changing or going away); a home-page performance budget. test/proxy.test.js proves nothing reads the switch or proxies /api/pastes and the columns are gone. 47/47 (verified twice).OpenVibers · 29 Sept 2026
c4b171a -
The SQLite era is gone (on PostgreSQL since 2026-09-28; no compatibility kept): the one-time migrate-to-postgres script, *_DB_PATH settings (config, .env.example, systemd unit, test helpers), the unused better-sqlite3 dependency and its lockfile entries, and docs, docstrings and STATUS lines about SQLite or its rollback window. Reviewed independently before shipping. npm test 46/46 test files passed.OpenVibers · 29 Sept 2026
e63af62 -
Community on PostgreSQL (ADR-035, roadmap WS-X2, repository pass G3).OpenVibers · 28 Sept 2026
8f021e6 -
Per-actor rate limits at Community's API routers (roadmap WS-R task 4, openvibe-sdk v0.12.0 limits). server/actor-limits.js makes one limiter per app, used by the paste, comment, forum (spaces, posts, groups), Pulse and relay APIs once each resolves its viewer and checks the route's capability. It counts a person as user:usr_… whether they call with their own token or a service or app names them in X-OV-Subject; a first-party service relaying a signed-out visitor by the address it forwards (as the per-address /api/ limit already does for Live's calls); a service or app acting as itself (moderation, AI output such as Live's AI pastes, Pulse) by its principal; a signed-out browser by address. A first-party service reading for itself is not counted on reads, since its pages speak for all its visitors and the per-address limit already bounds it. Past a limit a route answers 429 problem+json rate_limited with Retry-After before any work, logs one [Limits] line and counts community_rate_limited_total{limit,window}.OpenVibers · 28 Sept 2026
52d923a -
A space can attach a chat room on OpenVibe.Chat (roadmap WS-I task 4): its owner (the space's creator, or the creator whose members' space it is) or discussion staff attach one room by address or link, from the space page without JavaScript (POST /s/:space/chat-room, /chat-room/detach) or PUT/DELETE /api/v1/spaces/:space/chat-room; the space page (feed and forum style) links it with its kind and "members only" for a private room. Each side checks its own end: Community the space, Chat that the same person manages the room, because Community asks Chat with the person's own Network token (server/chat-rooms.js: POST OV_CHAT_INTERNAL_URL/api/chat/rooms/:room/attachments { service: community, resource, title }), so no service grant or capability is involved and services cannot attach (moderator services may detach). Chat's refusals come back as chat_room.not_owner (403), chat_room.not_found (404, also a private room the person is not in) and chat_room.unavailable (503/502), shown as a notice on the page. Attaching the same room again is a no-op, another room replaces it (Chat is told the space let go of the old one, best effort), detach is idempotent and asks Chat to drop its side when the person may. The link is kept in space_chat_rooms (CREATE TABLE IF NOT EXISTS: the room's id and slug, and its name, kind and visibility as Chat answered); spaces in the API carry chat_room. No event yet (no contract has one). Test: chat-room.test.js against a stub ChatOpenVibers · 26 Sept 2026
50668b7 -
Members-only discussion through OpenVibe.VIP: a forum space or a single thread can be for one creator's VIP membersOpenVibers · 23 Sept 2026
57d1dd4 -
Discord relay: a mapping may only name an allow-listed webhook variable (DISCORD_WEBHOOK_*, or exactly the names in DISCORD_RELAY_WEBHOOK_VARS). Staff could point the relay at the URL in any environment variable (an internal service's base URL) and learn which variables are set; such mappings are now refused when made, never sent to if already stored, and never reported as configuredOpenVibers · 23 Sept 2026
be48b73 -
Wave 5: typed comment threads, forum (spaces/threads/posts), Discord relay, PulseOpenVibers · 23 Sept 2026
139aedd -
Pastes: Community becomes the authority (PASTES_AUTHORITY=community)OpenVibers · 22 Sept 2026
786e6f8 -
Scaffold the Community app: package, vendored openvibe-shared, config, env exampleOpenVibers · 18 Sept 2026
66c11ab