fix: case-insensitive usernames and federated space ownership detection

Enforce lowercase usernames at registration/login, migrate existing
usernames, and fix ownership checks for federated spaces by resolving
user identity per-instance with getMyUserIdForOrigin.
This commit is contained in:
Jannis Braun
2026-03-11 18:09:45 +01:00
parent 77ed2a70c4
commit 373d685a55
5 changed files with 50 additions and 19 deletions
@@ -6,7 +6,7 @@ import { useAuthStore } from '../../../stores/authStore';
import { useUIStore } from '../../../stores/uiStore';
import { useNavigate } from 'react-router-dom';
import { api } from '../../../api/client';
import { getApiForOrigin } from '../../../stores/spaceStore';
import { getApiForOrigin, getMyUserIdForOrigin } from '../../../stores/spaceStore';
import { hasPermissionBit, PermissionBits } from '../../../utils/permissions';
interface OverviewPanelProps {
@@ -23,7 +23,7 @@ export function OverviewPanel({ spaceId }: OverviewPanelProps) {
const navigate = useNavigate();
const space = spaces.find((s) => s.id === spaceId);
const isOwner = space?.ownerId === currentUser?.id;
const isOwner = space?.ownerId === getMyUserIdForOrigin((space as any)?._instanceOrigin ?? '');
const myPerms = spacePermissions.get(spaceId);
const canManageSpace = hasPermissionBit(myPerms, PermissionBits.MANAGE_SPACE);