Skip to content

Multiverse rework #4861

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 53 commits into from
Apr 7, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
58a6f68
refactor(multiverse): Remove the generics from the StatefulList struct
poljar Mar 7, 2025
e6054cd
refactor(multiverse): Rename StatefulList to RoomList
poljar Mar 7, 2025
3ce6b21
refactor(multiverse): Turn the RoomList struct into a widget
poljar Mar 7, 2025
c03727c
refactor(multiverse): Move the RoomList widget into a separate module
poljar Mar 7, 2025
a4e9dfc
refactor(multiverse): Move the closure listening for new data into a …
poljar Mar 7, 2025
b9162b1
refactor(multiverse): Simplify the constructor
poljar Mar 7, 2025
543c062
refactor(multiverse): Move the get_selected_room_id under the RoomList
poljar Mar 7, 2025
bbce103
refactor(multiverse): Split the get_selected_room_id method into two …
poljar Mar 7, 2025
9968a67
refactor(multiverse): Move the room subscription logic into the RoomList
poljar Mar 7, 2025
75307ff
refactor(multiverse): Merge the two App impl blocks
poljar Mar 7, 2025
0936b47
refactor(multiverse): Move the status message into a separate module
poljar Mar 7, 2025
604e682
refactor(multiverse): Move the set_status_message under the Status wi…
poljar Mar 7, 2025
7824564
refactor(multiverse): Rename set_status_message to set_message
poljar Mar 7, 2025
b0e280f
refactor(multiverse): Use a mpsc channel to propagate status messages…
poljar Mar 10, 2025
9541e58
refactor(multiverse): Shorten some overly long lines
poljar Mar 10, 2025
b4dfe8a
refactor(multiverse): Use the Mutex from the common crate to avoid ca…
poljar Mar 10, 2025
a494b79
refactor(multiverse): Make the Status struct a true widget
poljar Mar 11, 2025
770d4a3
refactor(multiverse): Turn the read receipt rendering logic into a wi…
poljar Mar 11, 2025
18e7dc1
feat(multiverse): Only open the read receipt screen if a room is sele…
poljar Mar 11, 2025
5ea5e59
refactor(multiverse): Move the linked chunk view into a popout widget
poljar Mar 11, 2025
db34ed6
refactor(multiverse): Events view
poljar Mar 12, 2025
7a94bcc
feat(multiverse): Add a help screen
poljar Mar 12, 2025
7b69df7
refactor(multiverse): Move all the widgets into a separate module
poljar Mar 12, 2025
9a19a97
doc(multiverse): Document the status widget a bit better
poljar Mar 12, 2025
df88b58
refactor(multiverse): Convert the status widget into a stateful widget
poljar Mar 12, 2025
c0a1116
feat(multiverse): Recovery support
poljar Mar 14, 2025
d5ea63e
refactor(multiverse): Move the room view into a separate widget
poljar Mar 24, 2025
6ecdf1f
refactor(multiverse): Move the details views under the room view module
poljar Mar 24, 2025
7883436
refactor(multiverse): Don't unwrap when subscribing to the event cache
poljar Mar 24, 2025
81e891a
refactor(multiverse): Move the timeline rendering into a separate widget
poljar Mar 25, 2025
fb68845
feat(multiverse): Always render the timeline, despite showing some de…
poljar Mar 25, 2025
1dad56e
refactor(multiverse): Move some global shortcuts behind modifiers
poljar Mar 25, 2025
4af498e
refactor(multiverse): Move the details mode into a tab-based popout
poljar Mar 25, 2025
34dc7f5
refactor(multiverse): Change the keybinding for the reaction sending …
poljar Mar 25, 2025
b9e7c47
feat(multiverse): Add an input line so we can send messages
poljar Mar 26, 2025
af63d4c
feat(multiverse): Allow the help screen to be closed with ESC as well
poljar Mar 27, 2025
f774011
refactor(multiverse): Move the widgets of the details mode into the d…
poljar Mar 27, 2025
7e65829
feat(multiverse): Settings view
poljar Mar 27, 2025
fa7477c
feat(multiverse): Show an exit screen instead of printing things to s…
poljar Mar 27, 2025
1160835
feat(multiverse): Use F8 to open the details view instead of CTRL-D
poljar Mar 27, 2025
516b0bb
feat(multiverse): Add support to reset your identity
poljar Mar 28, 2025
26c9a49
fix(multiverse): Better rendering for the OAuth approval URL when res…
poljar Mar 28, 2025
4ddc5a9
fix(multiverse): The encryption settings don't need a separate block …
poljar Mar 28, 2025
c750c69
feat(multiverse): Select the first item in the developer settings
poljar Mar 28, 2025
78acdbe
fix(multiverse): Properly document the shortcuts on the help screen
poljar Mar 28, 2025
6d01d0b
feat(multiverse): Allow to backpaginate while looking at the room det…
poljar Apr 2, 2025
c2984c3
chore(multiverse): Get rid of an unused dependency
poljar Apr 2, 2025
65c264b
chore(multiverse): Fix some clippy warnings
poljar Apr 2, 2025
8589a6f
feat(multiverse): Add global keybindings to go directly into a detail…
poljar Apr 3, 2025
bfde780
feat(multiverse): Tweak the keybindings for the details view a bit
poljar Apr 4, 2025
e9fbef6
feat(multiverse): Keep the timeline scrolled to the bottom
poljar Apr 4, 2025
40c9d15
feat(multiverse): Shrink the room list to 25% of the screen
poljar Apr 4, 2025
aa5a051
feat(multiverse): Move the details view to be beside the timeline
poljar Apr 4, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 51 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 7 additions & 1 deletion labs/multiverse/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,17 @@ clap = { version = "4.0.15", features = ["derive", "env"] }
crossterm = "0.28.1"
futures-util = { workspace = true }
imbl = { workspace = true }
itertools = { workspace = true }
matrix-sdk = { path = "../../crates/matrix-sdk", features = ["sso-login"] }
matrix-sdk-base = { path = "../../crates/matrix-sdk-base" }
matrix-sdk-common = { path = "../../crates/matrix-sdk-common" }
matrix-sdk-ui = { path = "../../crates/matrix-sdk-ui" }
ratatui = "0.29.0"
ratatui = { version = "0.29.0", features = ["unstable-widget-ref"] }
throbber-widgets-tui = "0.8.0"
tui-textarea = "0.7.0"
rpassword = "7.3.1"
serde_json = { workspace = true }
strum = { version = "0.27.1", features = ["derive"] }
tokio = { workspace = true, features = ["macros", "rt-multi-thread"] }
tracing = { workspace = true }
tracing-appender = { version = "0.2.2" }
Expand Down
Loading
Loading