Skip to content

feat: add PostgreSQL community analytics - #125

Merged
KingDoxik merged 2 commits into
mainfrom
feat/postgres-analytics
Aug 10, 2026
Merged

feat: add PostgreSQL community analytics#125
KingDoxik merged 2 commits into
mainfrom
feat/postgres-analytics

Conversation

@KingDoxik

@KingDoxik KingDoxik commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Summary

  • replace the self-hosted ClickHouse analytics runtime with a synchronous PostgreSQL event store
  • preserve the capture endpoint contract for a minimal allowlist of lifecycle events and trusted revenue events
  • add a versioned, storage-neutral analytics event schema and migration suitable for future exports
  • keep built-in revenue analytics while removing custom analytics processing, VoidQL handlers, queues, workflows, and ClickHouse infrastructure
  • remove advanced analytics routes from the Community web app while retaining the built-in revenue, subscriber, trial, and churn views
  • update self-host configuration, documentation, smoke coverage, and authorization manifests

Why

Community deployments should retain useful revenue analytics without operating a separate analytics database or asynchronous processing pipeline. A portable event record keeps the stored data explicit and migration-friendly.

Impact

  • self-hosted deployments no longer require ClickHouse
  • unsupported and custom SDK events are reported as rejected and are not persisted
  • supported lifecycle events and server-trusted revenue events are written synchronously to PostgreSQL
  • existing analytics metadata tables are retained to keep upgrades non-destructive, but advanced analytics operations and UI routes are no longer mounted

Validation

  • Repository CI: publication and platform boundaries, purchase/restore contracts, build, lint, typecheck, and unit tests
  • Self-host Compose: image startup, integration tier, end-to-end tier, and release end-to-end tier
  • security audit, secret scanning, OSV scan, and PR package publication

@github-actions

github-actions Bot commented Aug 9, 2026

Copy link
Copy Markdown

Thank you for following the naming conventions for pull request titles! 🙏

@KingDoxik
KingDoxik marked this pull request as ready for review August 10, 2026 07:00
@greptile-apps

greptile-apps Bot commented Aug 10, 2026

Copy link
Copy Markdown

Too many files changed for review (178 files, 100 file limit).

Bypass the limit by tagging @greptile-apps to review.

@github-actions

github-actions Bot commented Aug 10, 2026

Copy link
Copy Markdown

Install the packages built from 6c8b6eb:

@voidhash/paywalls

pnpm add @voidhash/paywalls@https://pkg.voidha.sh/paywalls/6c8b6eb

@voidhash/node

pnpm add @voidhash/node@https://pkg.voidha.sh/node/6c8b6eb

@voidhash/web

pnpm add @voidhash/web@https://pkg.voidha.sh/web/6c8b6eb

voidhash-cli

pnpm add voidhash-cli@https://pkg.voidha.sh/cli/6c8b6eb

@voidhash/react-native

pnpm add @voidhash/react-native@https://pkg.voidha.sh/react-native/6c8b6eb

Internal workspace deps (lib, generated-clients, shared, studio) are published at the same sha and resolved automatically.

Replace the sha with pr-125 or the branch name to always get the latest build of this PR.

@KingDoxik
KingDoxik merged commit 6bdf228 into main Aug 10, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant