Quentin Gliech
c422c29a60
Always show the primary email first
...
This loads the primary email with the page, reducing the number of
requests before displaying it, and reducing the layout shifts
2024-05-14 17:32:06 +02:00
Quentin Gliech
ee68521792
Hide the displayname edit button if disabled in the config
2024-04-30 13:33:47 +02:00
Quentin Gliech
2976bee2ab
Only show email form if the user is allowed to modify emails
2024-04-30 13:33:47 +02:00
Quentin Gliech
08a3b90942
Load the branding from the API instead of hardcoding in the config
2024-04-30 13:33:47 +02:00
Quentin Gliech
564bade714
Do not format generated files, as it breaks HMR
2024-04-03 12:04:18 +02:00
Quentin Gliech
bfc088bdd0
Make the session list way better
2024-02-27 17:56:20 +01:00
Quentin Gliech
879a44ed99
Implement the user profile edit modal
2024-02-27 13:46:36 +01:00
Quentin Gliech
f3cbd3b315
Parse User Agents on the backend side ( #2388 )
...
* Parse user agents on the server side
* Parse and expose user agents on the backend
* Use the parsed user agent in the device consent page
* Fix the device icon tests
* Fix clippy warnings
* Box stuff to avoid large enum variants
* Ignore a clippy warning
* Fix the requester boxing
2024-02-23 16:47:48 +01:00
Quentin Gliech
e76945372a
Make sure we load current session data in route loaders
...
This means we should almost never see a loading spinner when navigating
2024-02-20 12:08:50 +01:00
Quentin Gliech
800c594276
Set the session pagination to use query parameters
...
Also reverses the order of the sessions to show the most recent ones first.
Fixes #1497
2024-02-20 12:08:50 +01:00
Quentin Gliech
aefcc3cae2
Move the cross signing reset UI in its own page
2024-02-17 09:48:53 +01:00
Quentin Gliech
e041f47dfe
Replace Jotai with @tanstack/router ( #2359 )
...
* Start replacing jotai with @tanstack/router
* Remove jotai completely
* Move the common layout & reimplement the ?action parameter
This also makes sure everything is properly loaded in the route loader,
and we use fragment where it makes sense
* Change the default error component
* GraphQL API: make the sessions fetchable through node(id: ID!)
2024-02-15 17:19:05 +01:00
Quentin Gliech
f0f7497d2d
Finish replacing jotai-urql with bare urql
...
Mostly remaining was pagination related stuff & fixing tests
2024-02-15 14:17:20 +01:00
Quentin Gliech
1b75b3b185
WIP: start replacing jotai-urql with urql
2024-02-15 14:17:20 +01:00
Quentin Gliech
b7c093c2a2
Simple UI to reset cross-signing keys
2023-12-05 17:47:36 +01:00
Kerry
f7e12e7301
DM: Device type icon ( #1783 )
2023-10-06 11:24:04 +02:00
Quentin Gliech
597482d4d8
Cleanup the session details fragments & load last active IP
...
This also cleans up the GraphQL scalar types, by making sure we always parse dates correctly
2023-09-21 12:47:45 +02:00
Kerry Archibald
51633a1853
remove compat session and oauth2 session list components and routes
2023-09-21 09:48:03 +02:00
Kerry Archibald
1567dbb6d6
add app sessions list
2023-09-21 09:48:03 +02:00
Kerry Archibald
87416bb0b0
fetch from app sessions api
2023-09-21 09:48:03 +02:00
Quentin Gliech
d91b0e20e4
Expose a unified session list in the GraphQL API
2023-09-20 20:27:08 +02:00
Quentin Gliech
4d123b75af
frontend: Hide the navigation in the email verification page
2023-09-19 10:50:30 +02:00
Kerry
e19002a0ca
Confirm destructive actions ( #1759 )
...
Co-authored-by: Quentin Gliech <quenting@element.io >
2023-09-14 12:35:09 +00:00
Kerry Archibald
de04b1679c
browser session detail page
2023-09-13 01:41:31 +02:00
Kerry Archibald
bf13e58d16
link to client detail, design pass on client detail page
2023-09-08 11:37:26 +02:00
Kerry Archibald
0d726cd7cb
add client logo to session tile and detail
2023-09-08 10:41:26 +02:00
Kerry
571e4d2d75
Parse browser session userAgent for session name ( #1685 )
...
* parse browser session user agent and use for session name
* move current session badge to session component
* simplify browser session name
2023-09-06 17:27:20 +12:00
Quentin Gliech
73d33dfccb
frontend: fix compatibility session crash & simplify the redirect URI
2023-08-31 15:03:50 +02:00
Kerry Archibald
915ebc9dfd
get session and display as session tile on session detail page
2023-08-31 09:41:35 +02:00
Kerry
da8a489748
Make Profile page the default route ( #1653 )
...
* make profile the default route
* src/pages/Home.tsx -> src/pages/SessionsOverview.tsx
* UserHome -> UserSessionsOverview
* update snapshots, fix session overview button alignment
2023-08-30 23:27:39 +00:00
Kerry Archibald
7bc13ab536
move unverified email alert to header
2023-08-30 19:40:59 +02:00
Quentin Gliech
7fcd022eea
Make sure we validate passwords & emails by the policy at all stages
...
Also refactors the way we get the policy engines in requests
2023-08-30 19:39:39 +02:00
Kerry
1826120f10
Allow user to view and change display name in My Account UI ( #1628 )
...
Co-authored-by: Quentin Gliech <quenting@element.io >
2023-08-29 13:40:00 +02:00
Kerry Archibald
feb59344f3
add finishedAt to browser sessions
2023-08-29 12:43:04 +02:00
Quentin Gliech
3feb9113bb
frontend: split the various lists off the home page
2023-08-08 18:35:32 +02:00
Quentin Gliech
4556332efb
frontend: simple "active only" list filtering
2023-08-08 18:35:32 +02:00
Quentin Gliech
6002a6b929
frontend: move the email verification form to a dedicated page
2023-08-08 18:35:32 +02:00
Quentin Gliech
f001463585
frontend: add tests & stories for many components
...
Also more compound adoption
Also prettier upgrade
2023-08-08 18:35:32 +02:00
Quentin Gliech
c454f5604b
frontend: show pagination total count in more lists
2023-07-21 19:50:30 +02:00
Quentin Gliech
802cf142fd
Remove the last authentication from the browser session model
2023-07-21 19:50:30 +02:00
Quentin Gliech
7e82ae845c
WIP: use sea-query for dynamic paginated queries
2023-07-21 19:50:30 +02:00
Quentin Gliech
ca520dfd9a
frontend: Show all compatibilities sessions, not just SSO logins
...
Also cleans up a bunch of things in the frontend
2023-07-06 18:12:34 +02:00
Quentin Gliech
f67cc0d6d0
Frontend cleanups
...
Mainly:
- better handling of GraphQL errors
- better logout state
- dependencies update
- a way to end browser sessions in the GraphQL API
2023-06-20 16:53:53 +02:00
Quentin Gliech
4181cbc9d5
Refactor the matrix connection logic
...
Also make the display name available through the graphql api
2023-06-16 19:52:39 +02:00
Quentin Gliech
3672d2dbde
Adopt eslint-config-matrix-org & bump deps
2023-06-14 09:24:49 +02:00
Quentin Gliech
b56c2350a4
Buttons to end compat and OAuth2 sessions
2023-06-14 09:24:49 +02:00
Quentin Gliech
63d4bfd0d4
Ability to set the primary email and cleanup the email lists
2023-06-14 09:24:49 +02:00
Quentin Gliech
741873b84e
Ability to remove emails
2023-06-14 09:24:49 +02:00
Quentin Gliech
e8b7591d7e
Nicer email management UI
2023-06-14 09:24:49 +02:00
Quentin Gliech
aa8d5b6aed
Fix the build and the CompatSsoLoginList query
2023-06-14 09:24:49 +02:00