stash
This commit is contained in:
parent
2bb6624d50
commit
7276750c66
15 changed files with 552 additions and 169 deletions
|
|
@ -50,16 +50,20 @@ separate "discover groups you're not in" browsing for MVP — you land in a grou
|
|||
it, the same way you become friends with someone by request/accept, not by browsing a directory of
|
||||
all users.
|
||||
|
||||
Known limitation: this list only ever queries the member's own home backend, so it only shows
|
||||
groups actually hosted there (groups you created, or joined on your own domain). Membership itself
|
||||
works regardless of which backend hosts the group — a remote member can still be invited, accept,
|
||||
and fully edit/delete the group's items (see "Owning items as a group" below) — but a group hosted
|
||||
on someone else's backend won't show up in your own "My Groups" list, because unlike friendship
|
||||
(which both sides record), group membership is only ever recorded on the group's own home backend,
|
||||
and there's no index anywhere of "which other backends has this identity been added to." Making a
|
||||
remote membership discoverable would need a small personal pointer index (written by the client at
|
||||
join time) plus a handle-based group lookup on the group's own backend; deferred as a fast-follow
|
||||
alongside group-friending.
|
||||
Listing groups (the table itself) only ever queries the member's own home backend — it's this
|
||||
backend's own view of "groups I host you in" — but every row links to the same group detail page
|
||||
regardless of where the group is actually hosted. Mirroring friendship (which both sides record),
|
||||
the member's own home backend also remembers the bare fact of a remote membership, as a pointer
|
||||
alongside the group's own home backend's real membership record, and merges the two into one table
|
||||
keyed by handle (a group present in both keeps its home-hosted row, which already carries a member
|
||||
count).
|
||||
|
||||
A group's full detail resolves from its handle the same way a friend's foreign items already do:
|
||||
the client resolves the target group's own domain from its handle and talks to that backend
|
||||
directly, rather than assuming home. `GroupDetail.vue` needs no "is this group local or foreign"
|
||||
branch anywhere, including for creating a new item/storage location — the owner selector binds
|
||||
directly to the group's handle, and a group reference is addressed by handle everywhere it appears,
|
||||
never by a bare internal id.
|
||||
|
||||
### Group detail page
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue