project-robius / robrix

A Matrix chat client written in pure Rust using the Makepad UI toolkit and the Robius app dev framework
MIT License
67 stars 11 forks source link

Combine `Timeline` widget into `RoomScreen` for ease of use #132

Closed kevinaboos closed 6 days ago

kevinaboos commented 2 weeks ago

Currently, the Timeline widget is separate from the RoomScreen widget, and the RoomScreen is the parent widget that contains an instance of the Timeline widget, among other widgets like the message TextInput box.

While this modularity is nice, it is actually limiting the ability of RoomScreen components to handle/respond to actions that occur in the underlying Timeline, and even more so in the inverse direction. The Timeline needs to be able to update/modify components in the RoomScreen widget upon receiving background updates, in order to be most efficient.

Note: this is soft-blocked (by choice) by #117, in the sense that we don't want to make massive sweeping changes to the Timeline logic until we have migrated to the new Desktop IDE-like design.

This is a blocker for: