Go to file
Steve Korshakov 9822512aeb fix: use inTx wrapper instead of raw transactions for friend operations
Fixes "undefined reading push" error by using the inTx wrapper which properly
initializes the callbacks array needed by afterTx for notification sending.

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2025-09-20 17:00:05 -07:00
.vscode chore: correct .env for development used in debug config 2025-07-19 17:47:12 -07:00
deploy feat: add revenuecat and elevenlabs secrets 2025-09-08 23:35:05 -07:00
prisma feat: send friend requests notifications 2025-09-20 14:55:07 -07:00
sources fix: use inTx wrapper instead of raw transactions for friend operations 2025-09-20 17:00:05 -07:00
.cursorrules devx: easier way to run the server + debugger 2025-07-19 00:02:26 -07:00
.env.dev feat: add voice token endpoint with RevenueCat paywall 2025-09-08 04:04:48 -07:00
.gitignore devx: run server locally with s3 minio container 2025-09-01 15:53:12 -07:00
CLAUDE.md ref: extract github connect and disconnect to a separate action, shared eventRouter, copy username to the account on connect and remove on disconnect, make github profile unique 2025-09-19 20:38:48 -07:00
Dockerfile feat: initial version 2025-07-12 17:57:05 -07:00
package.json feat: add update version 2025-09-02 19:09:53 -07:00
README.md ref: add nice readme to backend 2025-07-18 00:03:23 -07:00
tsconfig.json feat: initial version 2025-07-12 17:57:05 -07:00
vitest.config.ts feat: initial version 2025-07-12 17:57:05 -07:00
yarn.lock feat: add update version 2025-09-02 19:09:53 -07:00

Happy Server

Minimal backend for open-source end-to-end encrypted Claude Code clients.

What is Happy?

Happy Server is the synchronization backbone for secure Claude Code clients. It enables multiple devices to share encrypted conversations while maintaining complete privacy - the server never sees your messages, only encrypted blobs it cannot read.

Features

  • 🔐 Zero Knowledge - The server stores encrypted data but has no ability to decrypt it
  • 🎯 Minimal Surface - Only essential features for secure sync, nothing more
  • 🕵️ Privacy First - No analytics, no tracking, no data mining
  • 📖 Open Source - Transparent implementation you can audit and self-host
  • 🔑 Cryptographic Auth - No passwords stored, only public key signatures
  • Real-time Sync - WebSocket-based synchronization across all your devices
  • 📱 Multi-device - Seamless session management across phones, tablets, and computers
  • 🔔 Push Notifications - Notify when Claude Code finishes tasks or needs permissions (encrypted, we can't see the content)
  • 🌐 Distributed Ready - Built to scale horizontally when needed

How It Works

Your Claude Code clients generate encryption keys locally and use Happy Server as a secure relay. Messages are end-to-end encrypted before leaving your device. The server's job is simple: store encrypted blobs and sync them between your devices in real-time.

Hosting

You don't need to self-host! Our free cloud Happy Server at happy-api.slopus.com is just as secure as running your own. Since all data is end-to-end encrypted before it reaches our servers, we literally cannot read your messages even if we wanted to. The encryption happens on your device, and only you have the keys.

That said, Happy Server is open source and self-hostable if you prefer running your own infrastructure. The security model is identical whether you use our servers or your own.

License

MIT - Use it, modify it, deploy it anywhere.