docs: update all READMEs for v1.1.0
Add Electron desktop app section, document all 8 plugins, update features list (assets, super-buckets, find/replace, arrow nav, PDF upload), fix relay docs (chat shipped, not future), add missing API endpoints, correct electron data storage paths and php-bin fetch info. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
d5f44370b6
commit
c5bf8b0407
4 files changed
+84
-31
No files matched your search
+15
-12
@@ -2,9 +2,8 @@
|
||||
|
||||
A self-hosted **multi-tenant** message relay for hyprcrd. Multiple users
|
||||
share one relay instance; each one has their own login, their own client
|
||||
encryption secret, and their own inbox. Cards (and in the future:
|
||||
encrypted chat messages) can be sent **between tenants** on the same
|
||||
relay.
|
||||
encryption secret, and their own inbox. Cards and encrypted chat
|
||||
messages can be sent **between tenants** on the same relay.
|
||||
|
||||
The relay is a single-file PHP app — drop the directory into any PHP
|
||||
webspace and it works.
|
||||
@@ -55,9 +54,9 @@ The admin only ever touches secrets #1 and #3. The user only ever touches secret
|
||||
|
||||
The relay **does** see plaintext briefly during the cross-tenant hop
|
||||
(steps 2–3 and 5–6). This is the same trust model as email: you trust
|
||||
the relay operator. **Strict end-to-end encryption** for the planned
|
||||
chat feature is on the roadmap and will require a per-pair key exchange
|
||||
(Curve25519/ECDH) — this is documented as future work in `index.php`.
|
||||
the relay operator. Chat between tenants is shipped (via the chat
|
||||
plugin with delivery + read receipts). **Strict end-to-end encryption**
|
||||
with per-pair key exchange (Curve25519/ECDH) is on the roadmap.
|
||||
|
||||
For at-rest data, all sensitive values are encrypted with the master
|
||||
key, so a stolen DB without the master key file gives an attacker
|
||||
@@ -155,7 +154,7 @@ incoming messages.
|
||||
|
||||
### 6. Send a card to another tenant
|
||||
|
||||
(currently in the relay UI; hyprcrd-side recipient picker is coming)
|
||||
(in the relay UI compose tab)
|
||||
|
||||
In the relay UI **compose** tab:
|
||||
- Pick a recipient from the dropdown (defaults to yourself)
|
||||
@@ -166,8 +165,7 @@ The recipient will see it on their next hyprcrd poll, materialized as a
|
||||
card in their board.
|
||||
|
||||
You can also right-click a card in hyprcrd and pick **push to relay** —
|
||||
this currently sends to your own inbox; recipient picker on the hyprcrd
|
||||
side is on the TODO.
|
||||
this sends to your own inbox (or pick a recipient in the relay UI).
|
||||
|
||||
## Data lifetime
|
||||
|
||||
@@ -226,6 +224,10 @@ All endpoints under `/api/`. JSON in/out.
|
||||
| GET | `/api/me` | — | Current tenant info |
|
||||
| GET | `/api/tenants` | — | List of all usernames (for recipient picker) |
|
||||
| POST | `/api/messages` | `{title, body, recipient?}` | UI compose path: server encrypts with inter-tenant key |
|
||||
| GET | `/api/messages/inbox` | — | Read own inbox messages (decrypted for display) |
|
||||
| DELETE | `/api/messages/{id}` | — | Delete a message from own inbox |
|
||||
| GET | `/api/chat/sent` | — | Sent chat messages with delivery/read status |
|
||||
| POST | `/api/chat/seen` | `{ids: [...]}` | Mark chat messages as seen (read receipts) |
|
||||
|
||||
### Admin only (session + `is_admin`)
|
||||
|
||||
@@ -302,8 +304,7 @@ use the same code path.
|
||||
- A compromised relay machine = compromised messages. Use HTTPS, keep
|
||||
PHP up to date, restrict shell access.
|
||||
|
||||
**Future work for stronger guarantees** (planned for the encrypted chat
|
||||
feature):
|
||||
**Future work for stronger guarantees** (roadmap for strict E2E):
|
||||
- Per-tenant Curve25519 key pair stored in the DB (public key plus
|
||||
master-key-encrypted private key, or even private key never on the
|
||||
server)
|
||||
@@ -522,7 +523,9 @@ relay/
|
||||
│ └── routes/
|
||||
│ ├── public.php # /api/status, /setup, /login, /logout, /me
|
||||
│ ├── admin.php # /api/users CRUD, /api/tenants directory
|
||||
│ └── messages.php # /api/messages, /api/attachments, cross-tenant routing
|
||||
│ ├── messages.php # /api/messages, /api/attachments, cross-tenant routing
|
||||
│ ├── chat.php # /api/chat/sent, /api/chat/seen (read receipts)
|
||||
│ └── collab-buckets.php # /api/collab-buckets CRUD + card sync
|
||||
├── ui/
|
||||
│ ├── layout.php # HTML shell + view containers
|
||||
│ ├── style.css # all CSS (including responsive media queries)
|
||||
|
||||
Reference in new issue
Block a user