Edge Cases & Special Scenarios

Edge Cases & Special Scenarios

#

Scenario

Trigger Condition

Expected Behavior

UI Response

#

Scenario

Trigger Condition

Expected Behavior

UI Response

EC-1

Channel archived while in managed category

Channel Admin or System Admin archives a channel mapped to a managed category

Channel disappears from all users' sidebars. Channel-to-category mapping preserved. If unarchived later, channel reappears in managed category with mapping intact.

Standard archive behavior. Category header persists if other channels remain.

EC-2

Feature disabled while categories and mappings exist

System Admin or Team Admin disables feature toggle

Managed zone hidden. Channels revert to personal positions. All category entities and channel mappings are preserved. When re-enabled, categories and mappings are restored and appear in users' sidebars as before.

Sidebar re-renders without managed zone. No destructive action.

EC-3

Permission revoked mid-operation

Channel Admin/Team Admin role revoked while modal is open

Client state is stale. On save, server returns 403: "You no longer have permission to perform this action."

Error toast. Previous state preserved. Modal may close or become read-only.

EC-4

Concurrent category creation with same name

Two admins submit identical category names simultaneously

First write wins (server-side uniqueness check). Second receives: "A category with this name already exists."

Error on second submission. Category list refreshes.

EC-5

Race condition: category deleted between dropdown open and save

Team Admin deletes a category while Channel Admin has it selected in the dropdown

On save, server rejects mapping to deleted category: "This category no longer exists. Please select another."

Dropdown refreshes. Previous state preserved.

EC-6

User joins channel mapped to managed category

User joins via browse channels, invitation, or link

Channel appears under correct managed category. If first channel in that category for the user, category header appears.

Sidebar re-renders. Briefcase icon on new header. aria-live announcement.

EC-7

User leaves last channel in a managed category

User leaves channel or is removed by admin

Channel disappears from managed category. If last accessible channel, category header disappears for read-only users.

Sidebar re-renders. aria-live announcement: "[Category] no longer visible."

EC-8

Category name contains sensitive information

Team Admin names a category with operationally sensitive text

Category names are visible to all users with create/edit permissions (by design). Read-only users see only categories with accessible channels.

No UI mitigation -- accepted risk. Team Admins should use non-descriptive names per security guidance.

EC-9

Channel moved between categories

Channel Admin changes mapping from Category A to Category B

Channel moves in all sidebars. Previous mapping replaced with new mapping. Category A persists even if now empty.

Sidebar re-renders. Channel appears under new category.

EC-10

Reconnection after category changes

User's connection drops and reconnects

Client re-fetches all sidebar state from the server. Current server-side state is rendered. No stale categories persist.

Sidebar re-renders with current state.

EC-11

Maximum category limit reached

Removed -- no hard cap for MVF

--

--

EC-12

Channel in managed category is also in Favorites, then unfavorited

User unfavorites a channel in managed category

Channel removed from Favorites ONLY. Remains in managed category.

Sidebar: channel disappears from Favorites, remains in managed category.

EC-13

DM/GM drag into managed category

User attempts to drag DM/GM into managed zone

Drop rejected. DMs/GMs cannot be mapped to managed categories.

No valid drop zone.

EC-14

Guest user views managed categories

Guest is a member of channels in managed categories

Guest sees managed categories containing only channels they have access to. Same visual treatment (briefcase icon, locked).

Standard managed zone rendering.

EC-15

Browser closed during category save

User closes browser during pending save operation

Server-side: if request reached server, operation completes. If not, no change. No partial state.

On re-open, sidebar reflects server state.