fix: DM avatar color and reactions in federation + explore/server discovery

- Fix DM welcome header avatar using home identity for correct gradient color
- Register DM channel IDs in channelOriginMap so federated DM operations
  (reactions, messages, typing) route to the correct instance
- Pass origin when creating DM channels from friends list and WS events
- Add server discovery/explore page with public server listings
- Add server visibility and description fields
This commit is contained in:
Jannis Braun
2026-03-04 18:02:43 +01:00
parent 72d1fab930
commit 6e44a4ef2f
29 changed files with 1614 additions and 108 deletions
+5 -1
View File
@@ -28,6 +28,7 @@ interface UIState {
modalData: Record<string, unknown>;
isMobile: boolean;
showDms: boolean;
showExplore: boolean;
imagePreviewUrl: string | null;
userProfilePopout: {
user: User | null;
@@ -40,6 +41,7 @@ interface UIState {
closeModal: () => void;
setIsMobile: (isMobile: boolean) => void;
setShowDms: (show: boolean) => void;
setShowExplore: (show: boolean) => void;
openImagePreview: (url: string) => void;
closeImagePreview: () => void;
openUserProfile: (user: User, position: { top: number; left: number }) => void;
@@ -64,6 +66,7 @@ export const useUIStore = create<UIState>()(
modalData: {},
isMobile: false,
showDms: false,
showExplore: false,
imagePreviewUrl: null,
userProfilePopout: {
user: null,
@@ -89,7 +92,8 @@ export const useUIStore = create<UIState>()(
}
},
setShowDms: (show) => set({ showDms: show }),
setShowDms: (show) => set({ showDms: show, ...(show ? { showExplore: false } : {}) }),
setShowExplore: (show) => set({ showExplore: show, ...(show ? { showDms: false } : {}) }),
openImagePreview: (url) => set({ activeModal: 'imagePreview', imagePreviewUrl: url }),
closeImagePreview: () => set({ activeModal: null, imagePreviewUrl: null }),