Julian Sparber
f13e6b3a22
sidebar: Hide empty categories
...
This also adds a property to the `ItemList` called `show-all` to show
all categories (expect invites). Once we implement dnd of rooms between
categories we can use this property to display all categories.
5 years ago
Julian Sparber
735bda23f7
verification: Add widget to display incoming verification request
5 years ago
Julian Sparber
ff2a3ca741
verification: Add qr-code scanning for verification
...
This also moves the error handling to the `IdentityVerification`
5 years ago
Julian Sparber
3514fcdbca
Add login requests to the sidebar and remove `ContentType`
...
The `ContentType` could be removed because the needed information is
already contained in the `selected-item`. This also addes `EntryType` to
differentiat between different `Entry`s even tought we currently have
only "Explore". This also cleans up how the selected-item is passed
between `Content` and `Sidebar`
This also replaces the `ToDeviceHandler` with `VerificationList` that's
used to track verifications.
5 years ago
Kévin Commaille
b3e3a7c5f7
content: Add MessageFile widget
...
Display m.file messages so the user can open or save them.
5 years ago
Kévin Commaille
b653ca7933
content: Add MessageText widget
...
Start to separate code for MessageRow, to avoid having every message
type implementation in the same file.
5 years ago
Kévin Commaille
622850cb21
content: Move MessageRow to its own folder
5 years ago
Kévin Commaille
6d7cf7fc7e
timeline: Fix day divider position in list
...
Take into account added dividers to insert them in the right spot.
5 years ago
Kévin Commaille
b93bfe8726
timeline: Don't show headers for events without one
...
Fixes #829
5 years ago
Kévin Commaille
ee8e1770b4
message-row: Fix event's content replacement
...
Only replace content with Relation::Replacement events
Fixes #828 and #861
5 years ago
Kévin Commaille
888b1148fd
event: Fix hidden event detection
5 years ago
Kévin Commaille
1d158e52ae
room: Use the transaction_id for pending events
...
Fixes #853
5 years ago
Julian Sparber
c3a9b63b00
bump deps
5 years ago
Enterprisey
df823b910f
sidebar: Don't count joins/leaves for room sorting
5 years ago
Kévin Commaille
273080e6a3
content: Parse the formatted body of emotes
...
Fixes #852
5 years ago
Kévin Commaille
c461e724cb
content: Show URLs as link for plain text messages
5 years ago
Kévin Commaille
df7ece4725
content: Simplify text messages code
...
Avoid duplication of code and use simpler names for methods
5 years ago
Enterprisey
104ed94178
error: Report Secret Service errors
...
Don't crash when unable to save session; show in-app notifications when
either session saving or session restoring fails.
Fix #796 . Partial fix #808 , because this change won't tell the user how
to fix the error.
5 years ago
Enterprisey
19f34f6d45
error: UserFacingMatrixError -> UserFacingError
...
Renamed because the trait will now be used for other types of errors.
5 years ago
Kévin Commaille
f9922e1e1a
Don't logout on dispose if login not successful
...
Prevents a crash if you try to login twice.
Fixes #849
5 years ago
Kévin Commaille
4e37a95445
Pretty print the event source
5 years ago
Julian Sparber
3dea9a3398
session: Use crosssigning to verify new sessions
5 years ago
Julian Sparber
d3286c6257
AuthDialog: pass Client direclty to closure
5 years ago
Julian Sparber
0dc85869e1
AuthDialog: Make authenticate() more generic
5 years ago
Julian Sparber
9c63f188c1
bump deps
5 years ago
Julian Sparber
ba5a601b78
Drop do_async()
...
We use now the macros `spawn!()` and `spawn_tokio!()` which helps debug
issues with tokio task using the tokio-console.
5 years ago
Julian Sparber
f46d15e187
login: Show errors as in-app-notification
...
This also improves how the error message is created and passed from the
`Session` to the `Login` widget.
5 years ago
Julian Sparber
56d1b08e44
Use unsync variant of OnceCell
5 years ago
Julian Sparber
8ea3f3fae9
Remove uneeded oneshots
...
When spawning a future on the tokio runtime we can use the handle to
obtain the result of the operation therefore the oneshots arn't needed.
5 years ago
Julian Sparber
ae9af3602e
session: Improve how the sync is performed
...
This switches to sync_stream(), and disconnects the sync loop when the
session is dropped.
This also makes sure that the session is dropped when the access token
is invalidated. This also adds loging to the cleanup_session().
5 years ago
Julian Sparber
aea756afbe
session: Implement session logout
...
Currently the logout action isn't exposed to the user.
5 years ago
Julian Sparber
213b33cc97
AuthDialog: Remove workaround for action signals
5 years ago
Julian Sparber
d9b9d009bd
Fix some issue pointed out by clippy
5 years ago
Maximiliano Sandoval R
3c602913e0
Do not not define the app name twice
...
It is already done in g_set_application_name.
5 years ago
Maximiliano Sandoval R
7b51b373e2
main: Do not set prgname
...
Should not be done in gtk 4 according to the migration guide.
5 years ago
Julian Sparber
5878b1abff
Fix Session dispose
...
We kept many references to Session, therefore we leaked it when the
application is closed.
This also removes the loading page from the `Window` and cleans up how
a Session is restored.
5 years ago
Julian Sparber
71b09ebcc9
bump deps
5 years ago
Enterprisey
41083196ea
error: Remove matrix_error field from Error
5 years ago
Julian Sparber
f01d402dd6
room: Add dialog to create new rooms
5 years ago
Julian Sparber
3346669c37
error: Use only a single in-app-notifcation
...
This simplifies the code and allows easier emittion of errors
5 years ago
Julian Sparber
9bf216a854
account-settings: Add device list
...
This allows also the remove devices
5 years ago
Julian Sparber
e25cb64d90
auth-data: Add dialog to ask for authentication
...
This is the base for
https://gitlab.gnome.org/GNOME/fractal/-/issues/835 , but does only
implement Authentication via Password and the Browser Fallback.
5 years ago
Julian Sparber
6344468b84
bump deps
5 years ago
SeaDve
0142c21c2b
room_list: Use get index instead of using nth
...
It is a bit faster on larger collections since nth calls next on every item until
it becomes None, while get_index is similar to a Vec's get method
5 years ago
Julian Sparber
e51fe5cb1a
account-switcher: Show user avatar on button
5 years ago
Julian Sparber
0fca8b72f3
sidebar: disconnect signal when row is disposed
5 years ago
Julian Sparber
f3b6356e85
timeline: Show not decrypted events
...
We currently hide events that fail to be decrypted. This shows a
placeholder for those events in the room history.
5 years ago
Julian Sparber
090380bf44
timeline: Load previous events
...
This loads older events when the user scrolles to close to the upper edge
of the room-history.
5 years ago
Julian Sparber
17532d7ba2
session: Fix keyboard shortcuts
5 years ago
Julian Sparber
99f1317277
Add loading spinner while restoring session
5 years ago