feat: channel permissions UI, DM Sans font, private channel filtering, migration fix
- Rewrite ChannelSettingsModal with full tri-state permission override UI for roles and members (allow/neutral/deny per permission bit) - Switch font from Inter to self-hosted DM Sans (woff2 variable fonts) - Add client-side VIEW_CHANNEL filtering in ChannelSidebar for private channels - Broadcast isPrivate flag on channel override changes - Fix voice permission bit migration: gate behind persistent flag to prevent repeated re-runs that stripped STREAM from @everyone roles - Add speakingUserIds set to voice store for efficient user-level lookups - Clear current channel view when a channel is deleted - Move .glass-strip to @layer utilities for proper CSS specificity - Simplify avatar initials font size to proportional formula
This commit is contained in:
@@ -612,6 +612,11 @@ function handleEvent(origin: string, event: ServerEvent): void {
|
||||
if (event.spaceId === curSpaceId3) {
|
||||
setChannels3(curChannels3.filter(c => c.id !== event.channelId));
|
||||
}
|
||||
// If the user is currently viewing the deleted channel, clear it
|
||||
const { currentChannelId: deletedViewChannelId } = useChatStore.getState();
|
||||
if (deletedViewChannelId === event.channelId) {
|
||||
useChatStore.getState().setCurrentChannel(null);
|
||||
}
|
||||
chPermsMap3.delete(event.channelId);
|
||||
ctsMap3.delete(event.channelId);
|
||||
coMap3.delete(event.channelId);
|
||||
|
||||
Reference in New Issue
Block a user