Repository navigation
feat: returning members on Overview and team join requests (#401, #411) - #462
Merged
Merged
Conversation
Extract Explore's updates and channels into a shared component and use it on the public page. Keep the bulletin members-only and say so in its editor hint. Home and My community now pick a community's default node with one helper: first by name, then by ID.
Home leads plain members with Open {community}, then Stake NEAR; owners,
organizers and admins keep their steps. Remove the broken Add your email
prompts and the add-email dialog. Overview gains a membership intro, Social
Updates and channels from the public listing, and the header links to the
public page.
Add one personal-organization check and use it in the sidebar, switcher, Home, /orgs and My community. Personal-only users get Start a community; a member with one community and nothing active has it opened; a personal active organization next to real memberships asks them to choose one.
…member (#403) The approval regression now expects an approved sole community to open on its own instead of needing Make active.
Multi Review ·
|
* feat: show members the events they checked in at (#400) Organizers' Overview syncs each community event's onboarding codes and check-ins from auth into a City Node record. Members see their events on Overview for that community and on Home across communities, with gaps labelled as incomplete. * fix: tighten attendance coverage and batch its queries (#400) * refactor(api): read a community's name and events in one query (#400) * fix(api): re-list only unsettled events and surface failed sweeps (#400) Settled past events are skipped unless one of their codes changed, a failed read of the latest codes marks the community incomplete, and event rows use the community's current name.
…96-393-403 # Conflicts: # ui/src/i18n/messages/common.ts
… into feat/returning-members-team-requests-401-411 # Conflicts: # api/src/contract.ts # api/src/db/migrations/meta/0006_snapshot.json # api/src/db/migrations/meta/_journal.json # api/src/db/schema.ts # api/src/index.ts # ui/src/routes/_authenticated/_dashboard/dashboard/node/-node-overview.test.tsx # ui/src/routes/_authenticated/_dashboard/dashboard/node/index.tsx
…s-team-requests-401-411
Contributor
|
I'm resolving @somewherelostt @adenarc |
…s-team-requests-401-411 # Conflicts: # api/src/contract.ts # api/src/db/migrations/meta/_journal.json # api/src/db/schema.ts # api/src/index.ts # ui/src/routes/_authenticated/_dashboard/dashboard/node/-node-overview.test.tsx # ui/src/routes/_authenticated/_dashboard/dashboard/node/index.tsx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #459. The base is
feat/member-landing-396-393-403, and I'll retarget it tomainonce #459 merges.Closes #401, closes #411. Two commits, #401 first.
#401 Returning members on Overview
listDiscoveryActivitiesfor every node of the community, thenlistOnboardingCodes({ eventId }), thengetOnboardingStatus. Upstream reads run at most 6 at a time.canOrganize, so platform admins get no organizer bypass.#411 Members ask to join a team
api/tables:team_join_requestsandteam_join_endorsements(migration 0006). At most one pending request per team per member, enforced by a partial unique index.getTeamJoinBoard,requestToJoinTeam,withdrawTeamJoinRequest,endorseTeamJoinRequest,decideTeamJoinRequest. The caller always comes from the session. Every call reads members, teams and the caller's own teams upstream in the caller's own context.addTeamMemberin the approver's context, and the request is marked approved only if that call succeeds. If it fails, the request stays pending and the error shows.requester_left,team_deletedorteam_not_joinablewhen that becomes true. They keep the team name to display after the team is gone.Tested
pnpm run typecheck,pnpm run lintandpnpm run testall pass: api 411, ui 1050, plugins 28 + 6.Known gaps