justme
4b8d0b5a5f
feat(web): discord-style chat, members pane, invitations and optimistic send [CI]
...
ci/woodpecker/push/web-build Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/dev-image Pipeline was successful
- chat: left-aligned discord-style messages with grouped senders, hover
actions, an auto-growing composer and file cards
- send: render messages and files locally first and replace the
placeholder when the worker publishes the real item; failures keep the
text with a retry action
- navigation: space rail plus a flatter channel list with the space name
header and collapsible groups
- members: right pane tabs (files / members) grouped by online, offline
and pending users, with a prominent invite action and a top bar shortcut
- notifications: toast host for invite results; invitees get a toast with
an accept action, and the invitation payload now carries the space name
and inviter inside the encrypted grant
- users over devices: drop device names, the device list and device
rename/release; senders show the account (guests show as guest) and the
share panel only keeps links
- follow contract 7.0.0 (max_members, members_used, members_full, /join)
- docs: ui-design and frontend updated for the new layout and concepts
2026-10-14 22:19:25 +08:00
justme
5fd4ddd411
refactor(core): drop per-terminal device labels
...
Remove sealLabel/openLabel and their label constants; devices are no
longer named per channel. Rename the create setting seats to
max_members and point the e2e join helper at POST /join.
2026-10-14 22:19:24 +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
0fd2a269d9
Merge pull request 'feat(files): add per-channel storage quota [CI]' ( #2 ) from feat/channel-storage-quota into master
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-14 05:42:56 -07: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
441ed0e5f0
Merge pull request 'feat: add account workspaces and signed content events' ( #1 ) from feat/account-workspace-signatures into master
ci/woodpecker/push/web-build Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
2026-10-14 05:29:35 -07:00
justme
fe39b30332
fix(core): satisfy strict signature test typing
ci/woodpecker/pr/web-build Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-10-14 20:28:52 +08:00
justme
58506f82de
docs: describe workspace signing boundaries
ci/woodpecker/pr/web-build Pipeline failed
ci/woodpecker/pr/ci Pipeline was successful
2026-10-14 04:06:29 +08:00
justme
b5cf3d5958
feat(web): add account workspaces and signed content flows
2026-10-14 04:06:03 +08:00
justme
7b8d61d1ba
feat(api): add account workspaces and signed content events
2026-10-14 04:05:30 +08:00
justme
937b774a93
test(web): cover workspace and file interaction workflows
ci/woodpecker/push/web-build Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
2026-10-13 01:39:26 +08:00
justme
c2ea1b7f64
docs: consolidate account workspace architecture
2026-10-13 01:39:25 +08:00
justme
b65e32885f
feat(auth): remember encrypted local login credentials
2026-10-13 01:39:24 +08:00
justme
f6cfb12716
feat(web): add spaces, grouped channels and file chat
2026-10-13 01:39:23 +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
9f02a17c85
ci: align Zot login with MoShiro [CI]
ci/woodpecker/push/web-build Pipeline failed
ci/woodpecker/push/ci Pipeline failed
ci/woodpecker/push/dev-image unknown status
2026-10-12 01:56:08 +08:00
justme
d570435236
ci: use Zot API key at registry.oeo.one [CI]
ci/woodpecker/push/web-build Pipeline failed
ci/woodpecker/push/ci Pipeline failed
ci/woodpecker/push/dev-image unknown status
2026-10-12 01:54:25 +08:00
justme
fd01120d3a
ci: gate development images on checks [CI]
2026-10-12 01:47:24 +08:00
justme
c0d155c608
fix: stabilize mobile uploads and show transfer speed
2026-10-03 01:37:43 +08:00
justme
09d66092f5
ci: fix latest image tag publishing commands
ci/woodpecker/push/ci Pipeline failed
2026-10-02 06:21:04 +00:00
justme
ca62b9dd6e
ci: publish latest image tag on release
ci/woodpecker/push/ci Pipeline failed
2026-10-02 06:20:05 +00: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
10ea48bf04
fix: clarify quick share creation failures
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/tag/release-backend Pipeline was successful
2026-10-02 13:44:03 +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
22f9bcfa46
ci: reuse Buildah layers for backend releases
ci/woodpecker/push/ci Pipeline was successful
2026-10-02 05:02:03 +00:00
justme
46974b120e
ci: cache and prefetch WebDrop dependencies
ci/woodpecker/tag/release-backend Pipeline was successful
2026-10-02 04:18:48 +00:00
justme
3332e7bbcf
ci: cache and prefetch WebDrop dependencies
2026-10-02 04:18:41 +00: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
2150849529
ci: use host network for Buildah image build
ci/woodpecker/manual/ci Pipeline was successful
ci/woodpecker/manual/release-backend Pipeline was successful
2026-10-02 11:39:48 +08:00
justme
dde7beee15
ci: publish releases through internal Zot endpoint
ci/woodpecker/manual/ci Pipeline was successful
ci/woodpecker/manual/release-backend Pipeline failed
2026-10-02 11:37:24 +08:00
justme
dd6ab78353
ci: checkout tagged source for manual releases
ci/woodpecker/manual/release-backend Pipeline failed
ci/woodpecker/manual/ci Pipeline was successful
2026-10-02 11:34:30 +08:00
justme
9964b4e3ad
ci: allow manual semver image publishing
2026-10-02 11:33:34 +08:00
justme
65ae850c0c
docs: note native Woodpecker runner requirements
2026-10-02 11:18:18 +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
6339f6728d
ci: align workflows with native Woodpecker agents
ci/woodpecker/manual/ci Pipeline failed
2026-10-02 11:08:51 +08:00
justme
b548d1c71d
ci: clone WebDrop using private public-host secret
ci/woodpecker/manual/ci Pipeline failed
2026-10-02 11:05:19 +08:00
justme
8d8d4fd5b7
ci: clone repository from public Git URL
ci/woodpecker/manual/ci Pipeline was canceled
2026-10-02 11:01:16 +08:00
justme
58095ae25b
ci: support manual validation runs
ci/woodpecker/manual/ci Pipeline failed
2026-10-02 10:55:44 +08:00
justme
b0af858a18
ci: publish backend release tags to zot
2026-10-02 10:54:22 +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
justme
e02e024605
feat(web): connect quick share flow
...
Signed-off-by: JustMe <mr.toing@outlook.com >
2026-10-02 00:59:37 +08:00
justme
53768a195d
chore(repo): initialize WebDrop monorepo
...
Signed-off-by: JustMe <mr.toing@outlook.com >
2026-10-02 00:59:22 +08:00