Commit Graph
17 Commits
Author SHA1 Message Date
justme c858bd2a09 feat(server)!: require a logged-in account for every channel request
Drop unauthenticated guests from channels: the allow_guests setting, the
/guests endpoints and the guest seat table are gone, and requests without an
account session get 401 account_required. Share links are unaffected.
Contract version is now 8.0.0.
2026-10-16 06:46:15 +08:00
justme f2e118c966 perf(server): compress JSON and frontend responses with brotli or gzip 2026-10-16 06:00:16 +08:00
justme d946fc5e8a feat(api)!: fold devices into users and report member presence
Contract 7.0.0 (breaking). Devices become an attribute of the account;
members are managed per user, and only unauthenticated guests keep a
per-terminal registration.

- rename seats -> max_members, seats_used -> members_used,
  seats_full -> members_full, SeatJoined -> JoinResult, the `seats`
  stream control message -> `members`, and POST /channels/{id}/seats ->
  POST /channels/{id}/join (stored channel settings are migrated on start)
- drop per-terminal encrypted device labels and the seat list/release
  endpoints; add GET/DELETE /channels/{id}/guests for guest terminals
- authenticate account members by account session only: the terminal key
  is optional for logged-in accounts, no seat row is written for them,
  and gated-download grants are counted per user (per terminal for guests)
- GET /channels/{id}/members now returns online, devices and
  online_devices per account; presence is tracked in memory from active
  WebSocket/SSE subscriptions and is not pushed over the stream
- owner invitation list no longer returns accounts that already joined
2026-10-14 22:18:59 +08:00
justme a6f078d009 feat(files): add per-channel storage quota [CI]
ci/woodpecker/pr/web-build Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-10-14 20:42:08 +08:00
justme 7b8d61d1ba feat(api): add account workspaces and signed content events 2026-10-14 04:05:30 +08:00
justme c7d8ef15bc feat(api): bind encrypted workspaces to accounts and devices 2026-10-13 01:38:19 +08:00
justme 019b15041a build(deploy): switch hosting to Podman Quadlet 2026-10-13 01:38:18 +08:00
justme 10aa0304e4 feat(web): separate build sources and localize time
ci/woodpecker/push/web-build Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
2026-10-12 16:50:15 +08:00
justme 89cd92f7ee feat(web): show build info and theme menu [CI]
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
ci/woodpecker/push/dev-image Pipeline was successful
2026-10-12 16:40:50 +08:00
justme 98a5e67f82 ci: reuse NativeAOT build image [CI]
ci/woodpecker/push/web-build Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/dev-image Pipeline was successful
2026-10-12 02:09:50 +08:00
justme b9c620304c fix(ci): stabilize oversized body check [CI]
ci/woodpecker/push/web-build Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/dev-image Pipeline was canceled
2026-10-12 01:58:41 +08:00
justme c68acfd78b fix: allow embedded worker API requests
ci/woodpecker/push/ci Pipeline failed
ci/woodpecker/tag/release-backend Pipeline was successful
2026-10-02 14:12:14 +08:00
justme fbe6abd519 feat: embed frontend in backend
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/tag/release-backend Pipeline was successful
2026-10-02 13:11:10 +08:00
justme a182043970 ci: cache native image build dependencies
ci/woodpecker/manual/ci Pipeline failed
ci/woodpecker/manual/release-backend Pipeline was canceled
2026-10-02 11:51:56 +08:00
justme 3abac991f0 fix(storage): defer concurrent SQLite read transactions
ci/woodpecker/manual/ci Pipeline was successful
2026-10-02 11:12:05 +08:00
justme 7406e2fe37 feat: integrate client and server sharing workflows 2026-10-02 10:49:45 +08:00
justme 42b93ae2d8 feat(server): implement sealed share lifecycle
Signed-off-by: JustMe <mr.toing@outlook.com>
2026-10-02 00:59:56 +08:00