diff --git a/apps/desktop/src/renderer/routes/_authenticated/settings/members/components/MembersSettings/MembersSettings.tsx b/apps/desktop/src/renderer/routes/_authenticated/settings/members/components/MembersSettings/MembersSettings.tsx index 6ca259afc2b..4ed3785f9c0 100644 --- a/apps/desktop/src/renderer/routes/_authenticated/settings/members/components/MembersSettings/MembersSettings.tsx +++ b/apps/desktop/src/renderer/routes/_authenticated/settings/members/components/MembersSettings/MembersSettings.tsx @@ -35,7 +35,6 @@ export function MembersSettings({ visibleItems }: MembersSettingsProps) { const { data: session } = authClient.useSession(); const collections = useCollections(); const activeOrganizationId = session?.session?.activeOrganizationId; - const { data: activeOrg } = authClient.useActiveOrganization(); const showMembersList = isItemVisible( SETTING_ITEM_ID.MEMBERS_LIST, @@ -59,6 +58,16 @@ export function MembersSettings({ visibleItems }: MembersSettingsProps) { [collections, activeOrganizationId], ); + // Get organization name from collections + const { data: orgData } = useLiveQuery( + (q) => + q + .from({ organizations: collections.organizations }) + .select(({ organizations }) => ({ ...organizations })), + [collections], + ); + const organization = orgData?.find((org) => org.id === activeOrganizationId); + // Sort by role priority (owner > admin > member), then by join date // Cast roles to OrganizationRole since database stores them as strings const members: TeamMember[] = (membersData ?? []) @@ -75,10 +84,9 @@ export function MembersSettings({ visibleItems }: MembersSettingsProps) { const ownerCount = members.filter((m) => m.role === "owner").length; const currentUserId = session?.user?.id; - const currentMember = activeOrg?.members?.find( - (m) => m.userId === currentUserId, - ); - const currentUserRole = currentMember?.role as OrganizationRole; + // Find current user's role from the members data we already fetched + const currentMember = members.find((m) => m.userId === currentUserId); + const currentUserRole = currentMember?.role; const formatDate = (date: Date | string) => { const d = date instanceof Date ? date : new Date(date); @@ -101,13 +109,13 @@ export function MembersSettings({ visibleItems }: MembersSettingsProps) {
- {currentUserRole && activeOrganizationId && activeOrg?.name && ( + {currentUserRole && activeOrganizationId && organization?.name && (
)} @@ -194,18 +202,20 @@ export function MembersSettings({ visibleItems }: MembersSettingsProps) { {formatDate(member.createdAt)} - + {currentUserRole && ( + + )} ); diff --git a/packages/auth/src/lib/accept-invitation-endpoint.ts b/packages/auth/src/lib/accept-invitation-endpoint.ts index 5ce750aa9bf..cf92258f113 100644 --- a/packages/auth/src/lib/accept-invitation-endpoint.ts +++ b/packages/auth/src/lib/accept-invitation-endpoint.ts @@ -71,8 +71,7 @@ export const acceptInvitationEndpoint = { }); if (!user) { - const userName = - invitation.name || invitation.email.split("@")[0] || "User"; + const userName = invitation.email; const [newUser] = await db .insert(users) .values({ diff --git a/packages/db/src/schema/auth.ts b/packages/db/src/schema/auth.ts index 405be021fc0..f7aa53822eb 100644 --- a/packages/db/src/schema/auth.ts +++ b/packages/db/src/schema/auth.ts @@ -135,7 +135,6 @@ export const invitations = authSchema.table( .notNull() .references(() => organizations.id, { onDelete: "cascade" }), email: text("email").notNull(), - name: text("name"), role: text("role"), status: text("status").default("pending").notNull(), expiresAt: timestamp("expires_at").notNull(), diff --git a/packages/trpc/src/router/organization/organization.ts b/packages/trpc/src/router/organization/organization.ts index 9fc6705094f..26ad4a9ea3d 100644 --- a/packages/trpc/src/router/organization/organization.ts +++ b/packages/trpc/src/router/organization/organization.ts @@ -75,7 +75,6 @@ export const organizationRouter = { return { id: invitation.id, email: invitation.email, - name: invitation.name, role: invitation.role, status: invitation.status, expiresAt: invitation.expiresAt,