OpenPeeps release · 6 Aug 2026

2026-08-06-4702f3ce-RELEASE

The storage cutover: OpenPeeps now runs on PostgreSQL instead of ArangoDB. The SvelteKit app is retired. Around that, unread badges, jam recording, closed-community register, and session handling are brought in line with the new stack.

In the product

What members, moderators, and admins see

Unread and push

  • The web app shows responsive unread indicators and keeps the PWA badge in sync with push.
  • The native app tracks unread messages and posts more reliably.
  • Toggling push no longer hangs; errors are shown instead of a frozen switch.
  • Stale VAPID subscriptions are cleared before the browser resubscribes.

Jams, posts, and groups

  • Jam footer controls stay visible; audience search is themed for dark mode.
  • Jam recordings keep working after the Postgres move (edge ids and updates).
  • Direct messages still open when an author has been deleted: the profile is shown as anonymized.
  • Group cards can be selected in admin-style lists. Event locations and ICS files resolve more accurately.

Session and chrome

  • Expired sessions refresh the JWT earlier and send people to login instead of a dead SPA.
  • PWA navigation is more predictable. Open Graph tags include the community name.
  • Privacy policy copy is updated.

In the platform

APIs, runtime, plugins, and operations

PostgreSQL

  • The default database is PostgreSQL. Arango import normalizes UUID case, legacy edge ids, hashtags, and post-import counts.
  • Concurrent migrators cannot drop the schema mid-import. A wiped public schema or leftover Drizzle journal can be healed and remigrated.
  • Post filters use Drizzle. Conversation leaves sort by creation date.

Auth, config, and jams

  • When sign-ups are closed, register can still run for capability-scoped invites.
  • SERVER_MAX_PROFILES caps non-deleted profiles. Admin config PATCH merges instead of replacing the whole document. Empty-string overrides are omitted.
  • LiveKit rooms get instanceDomain. Observer service JWTs no longer bounce to login. Jam-started emails work for event posts.
  • Admins can delete groups through a role-gated endpoint.

Also in this tag