Skip to content

Refactor SharedSpaceManager/WindowStackManager #4324

Description

@biotech77

Summary
This PR addresses inconsistencies between SharedSpaceManager and WindowStackManager when handling the “Jump to location” action in different contexts. Currently, clicking “Jump to location” from the friends panel (managed by SharedSpaceManager) hides and shows UI elements differently than clicking the same option from a friend’s passport (managed by WindowStackManager). As a result, we’ve been forced to introduce a workaround to ensure the chat window is shown correctly in one scenario but not the other.

#4317

Problem

We constantly face inconsistent behaviour with the Shared Space Manager, which we try to trick, bend and patch with local success at best.
SharedSpaceManager is poorly designed and consists of disconnected, hardcoded, unruled pieces.
There is no design behind the whole system, nor is it impossible to infer behavior from the code. It's painful to debug and find where a real issue is.
We keep building on top of that with no clear expectations. Like introducing a second layer ChatMainSharedAreaController which groups Chat and VoiceChat.

Solution

Gather requirements.
Write down the rules.
Develop the design first: it should be clear, fairly simple, extensible, and easy to follow. Avoid fragmentation and logic scattering.

Metadata

Metadata

Assignees

Labels

1-highSeverely degrades primary features. Workaround may exist but user experience is very poor.staletech debt

Type

No type

Projects

Status
Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions