Commit Graph

4000 Commits

Author SHA1 Message Date
Bruno Windels
7d80fbda4c Update src/domain/session/room/CallViewModel.ts
Co-authored-by: R Midhun Suresh <hi@midhun.dev>
2023-01-19 09:49:10 +01:00
Bruno Windels
1de92af2eb Update src/domain/session/room/CallViewModel.ts
Co-authored-by: R Midhun Suresh <hi@midhun.dev>
2023-01-19 09:49:10 +01:00
Bruno Windels
29a7b0451e prevent errors in promises from being uncaught
by returning a promise that has the error swallowed
2023-01-19 09:49:10 +01:00
Bruno Windels
80be2b7457 fix missing import 2023-01-19 09:49:10 +01:00
Bruno Windels
d3b5a70663 join errors thrown from matrix layer with sync errors caught by error boundary.
this adds a new base view model that facilitates reporting errors
with the ErrorViewModel
2023-01-19 09:49:10 +01:00
Bruno Windels
2bba9f8675 some layout improvements 2023-01-19 09:49:10 +01:00
Bruno Windels
75839007ea make buttons clickable in the first place 2023-01-19 09:49:10 +01:00
Bruno Windels
7b32a2729e don't allow other click handlers to run in parent elements 2023-01-19 09:49:10 +01:00
Bruno Windels
4070d422cd use error view (model) in call view (model) 2023-01-19 09:49:10 +01:00
Bruno Windels
64d6db556a fix updates from call and member classes in VM
this fixes this.emitChange sending the update over the
collection in the call member VM, which is how updates
are subscribed to by the UI.

It also adds a callback to the VM for when the member
sends an update, so we can check later on if the error
on the member has been set.
2023-01-19 09:49:10 +01:00
Bruno Windels
42ee2d294b use error view model from call tile 2023-01-19 09:49:10 +01:00
Bruno Windels
f15e849f54 user error view model in room, also when starting call 2023-01-19 09:49:10 +01:00
Bruno Windels
b8bc6edbc0 add ErrorView(Model) to easily report errors and submit logs from UI 2023-01-19 09:49:10 +01:00
Bruno Windels
bd3499056a provider higher-level rageshake fn for opened session
Co-authored-by: R Midhun Suresh <MidhunSureshR@users.noreply.github.com>
2023-01-19 09:49:10 +01:00
Bruno Windels
fef7af3b31 report errors from ErrorBoundary on GroupCall and Member in UI
UI is still very crude fwiw
2023-01-19 09:49:10 +01:00
Bruno Windels
1e4180a71f add error boundary to GroupCall 2023-01-19 09:48:59 +01:00
Bruno Windels
7f9edbb742 this can be private 2023-01-19 09:46:19 +01:00
Bruno Windels
b1687d7115 introduce error boundary in call member 2023-01-19 09:46:19 +01:00
Bruno Windels
f0d2c19184 allow an explicit error value again in ErrorBoundary 2023-01-19 09:46:19 +01:00
Bruno Windels
c5ca23f663
Merge pull request #992 from vector-im/bwindels/loguseragent
add user agent in log export
2023-01-19 08:44:48 +00:00
Bruno Windels
7f004193d3 add user agent in log export 2023-01-18 08:33:02 +01:00
Bruno Windels
f4b1113321
Merge pull request #922 from vector-im/madlittlemods/mxid-tooltip-display-name
Add full MXID tooltip to message sender display name
2023-01-17 09:13:13 +00:00
Bruno Windels
c28b57091c
Merge pull request #961 from Automattic/fix-font-not-chached
Make sure fonts are cached by service worker
2023-01-17 09:12:12 +00:00
RMidhunSuresh
1cd6540476
Don't use getter here 2023-01-17 14:32:02 +05:30
RMidhunSuresh
ce5c5779bd
Set mute -> mute 2023-01-17 14:24:20 +05:30
RMidhunSuresh
c064336e35
Create localPreviewMedia in GroupCall.setMedia 2023-01-16 15:28:50 +05:30
RMidhunSuresh
f6c94ecc5a
WIP 2023-01-16 13:41:47 +05:30
Bruno Windels
50f46a21bd finish ErrorBoundary 2023-01-09 10:40:00 +01:00
Bruno Windels
47a8b4d728 WIP 2023-01-09 10:40:00 +01:00
Bruno Windels
a9a72f88e5 finish ErrorBoundary 2023-01-09 10:36:28 +01:00
Bruno Windels
014ae4185f WIP 2023-01-06 17:01:57 +01:00
Bruno Windels
cb0f803276 make this code a bit clearer 2023-01-06 12:05:34 +01:00
Bruno Windels
fcb4f2a62d fix microphone audio being played back through local video preview 2023-01-06 12:05:11 +01:00
Bruno Windels
e26eb30b82 rename m.expires_ts to expires_ts to be compatible with MSC/Element 2023-01-05 15:47:01 +01:00
Bruno Windels
3735e4420a fix TS definition 2023-01-05 11:34:58 +01:00
Bruno Windels
c38ee5239f remove debug logging 2022-12-20 18:53:13 +01:00
Bruno Windels
6ecff485ec make tile comparison commutative again, allow DateTile to do comparison 2022-12-20 18:52:38 +01:00
Paulo Pinto
d1649ea499
Make sure fonts are cached by service worker 2022-12-15 15:22:55 +00:00
Bruno Windels
86e9e0c99e
Merge pull request #923 from vector-im/madlittlemods/dialog-details-optgroup-html-elements
Add `<dialog>`, `<details>`, and `<optgroup>` HTML elements to use with templating
2022-12-05 16:23:17 +00:00
Bruno Windels
cbf2d1c8e3
Merge pull request #939 from vector-im/fix-451
Fix '/' in room-id or mxid breaking navigation
2022-11-25 16:47:46 +00:00
Bruno Windels
f7132a48d9 implement PR suggestion to do all encoding in fn, so return type is str 2022-11-25 17:45:31 +01:00
Bruno Windels
467a76c223 decode ids separately, as we encode them separately as well 2022-11-25 17:45:06 +01:00
Bruno Windels
b8444a32c0 add missing decode 2022-11-25 17:38:13 +01:00
Bruno Windels
2d0122dda7 apply PR suggestions 2022-11-25 17:38:05 +01:00
Bruno Windels
7bdd23e767 restore active reaction bg color to be transparent version of accent color 2022-11-25 17:21:58 +01:00
Bruno Windels
195142c249 fix lint warnings 2022-11-25 16:56:01 +01:00
Bruno Windels
efa45cade6 remove date from message tiles 2022-11-25 16:48:46 +01:00
Bruno Windels
77fd7e7aca format message time in timeFormatter as well 2022-11-25 16:48:11 +01:00
Bruno Windels
85a06876cd make date header sticky with css
this has the limitation that it needs to have a fixed with
and an opaque background, but that's better than
not making it sticky for now.
2022-11-25 16:47:00 +01:00
Bruno Windels
c538f5dbb1 make date header a bit more accessible 2022-11-25 16:31:44 +01:00
Bruno Windels
2136b051a0 cleanup 2022-11-25 16:13:31 +01:00
Bruno Windels
c4e239a401 add timeformatter, shared between all view models 2022-11-25 16:13:22 +01:00
Bruno Windels
9c2c5af291 small UI refinements for date header 2022-11-25 16:12:35 +01:00
Bruno Windels
9b235f7c80 also test next next tile, change this back after testing before 2022-11-25 14:42:54 +01:00
Bruno Windels
b5d5adaa36 add tests
Co-authored-by: R Midhun Suresh <MidhunSureshR@users.noreply.github.com>
2022-11-25 14:42:24 +01:00
Bruno Windels
7c6d651b32 remove date headers when removing pending tiles 2022-11-25 12:09:28 +01:00
Bruno Windels
cb0ab589de remove lower bound check as we don't go negative anymore 2022-11-25 11:51:38 +01:00
Bruno Windels
31f53d27c1 emit update from datetile when date might have changed 2022-11-25 11:51:22 +01:00
Bruno Windels
4abf18a5f1 don't look at tiles before the inserted tile, there is no need
also clarify with comments how the current algorithm works
2022-11-25 11:26:53 +01:00
Bruno Windels
d889c7deeb bound checks in date header loop and cleanup
Co-authored-by: R Midhun Suresh <MidhunSureshR@users.noreply.github.com>
2022-11-25 10:49:26 +01:00
RMidhunSuresh
7bfadf37b4
Decode all segment values that aren't undefined 2022-11-25 11:33:02 +05:30
RMidhunSuresh
80080074fa
Don't encode unknown segment values 2022-11-25 11:20:47 +05:30
RMidhunSuresh
e9053372d6
Encode ids as URI component 2022-11-25 11:13:47 +05:30
Bruno Windels
3f7c1577e0 WIP 2022-11-18 23:26:59 +01:00
Eric Eastwood
1aba18ca1d Add <dialog>, <details>, and <optgroup> HTML elements to templating 2022-11-10 21:14:57 -06:00
Eric Eastwood
4125165760 Add full MXID tooltip to message sender display name
Follow-up to https://github.com/vector-im/hydrogen-web/pull/917
2022-11-10 20:59:27 -06:00
Bruno Windels
e4049c962a
Merge pull request #920 from vector-im/bwindels/fetch-sender-keys-without-tracking-room
Fix keys not being fetched to verify senders when the room isn't tracked yet.
2022-11-10 17:27:55 +00:00
Bruno Windels
bc96d5add1
Merge pull request #917 from vector-im/madlittlemods/full-mxid-tooltip
Add full MXID to message avatar/name
2022-11-10 17:27:41 +00:00
Bruno Windels
430464c829
Merge pull request #916 from vector-im/bwindels/fix-logout-button-on-load-error
Fix logout not working when there is a session load error
2022-11-10 17:26:53 +00:00
Bruno Windels
59533a3ba0
Merge pull request #918 from vector-im/madlittlemods/677-rename-urlrouter-usage-to-urlrouter
Rename `urlRouter` usage to `urlRouter` instead of `urlCreator`
2022-11-10 17:26:40 +00:00
Bruno Windels
155f4beba8 add devicesForUser to fetch devices for untracked room
and use it when fetching senders to verify.
2022-11-10 17:53:11 +01:00
Bruno Windels
3d5a733267 split up _devicesForUserIds to reuse with different outdated criteria 2022-11-10 17:51:40 +01:00
Bruno Windels
c78bed846e create unknown userIdentity when processing /keys/query response
this can happen when the room isn't tracked yet, which is a use case
we add support for in the next commit to verify senders that we don't
know about yet (e.g. when the room isn't tracked).
2022-11-10 17:28:18 +01:00
Bruno Windels
31579b4945 when tracking room, check roomId isn't on user we shouldn't share with 2022-11-10 17:26:50 +01:00
Bruno Windels
860f435855 log session afterSyncCompleted with normal log level 2022-11-10 17:26:21 +01:00
Bruno Windels
47d557b38d expand comment how to handle race here 2022-11-10 17:20:59 +01:00
Bruno Windels
32835e26b9 adjust query for finding all state events of a type
we were looking for state events with state key between \0 and \u10FFFF
but an empty state key is also valid and would come before \0,
so allow empty state keys at the beginning of the range and include them
in the result by opening the lower bound.
2022-11-10 14:12:22 +01:00
Eric Eastwood
a9fac140ac Rename urlRouter usage to urlRouter 2022-11-08 23:44:22 -06:00
Eric Eastwood
308a215349 Add full MXID to message avatar/sender 2022-11-08 22:15:17 -06:00
Bruno Windels
ec4413550b apply method rename (and catch errors) 2022-11-08 07:59:26 +01:00
Bruno Windels
f18aac017a
Merge pull request #819 from Kaki-In/recalculate_dm
Deleting leaving Heroes
2022-11-04 09:29:00 +00:00
Bruno Windels
cc70d44752
Merge pull request #913 from vector-im/bwindels/verify-unfetched-roomkey-senders
Verify unfetched roomkey senders
2022-11-04 09:04:41 +00:00
Bruno Windels
6c73c31735 take any decryption result, as it might now have a device to verify with 2022-11-03 17:32:01 +01:00
Bruno Windels
fa21ac021c use binding to update marking a message as (un)verified 2022-11-03 16:38:08 +01:00
Bruno Windels
dd7bbe89ac put detached logs in correct log item 2022-11-03 16:37:53 +01:00
Bruno Windels
dfede83c0b log verifying senders in own item 2022-11-03 16:37:38 +01:00
Bruno Windels
2582600249 await operation, otherwise it keeps running during next sync 2022-11-03 16:37:20 +01:00
Bruno Windels
25c8f1cf04 always return a promise from this method, even if nothing to verify 2022-11-03 16:36:31 +01:00
Bruno Windels
cd5343414a fix lint 2022-10-28 17:16:32 +02:00
Bruno Windels
6123d794da also fetch unknown sender keys after decrypting entries outside of sync 2022-10-28 16:55:36 +02:00
Bruno Windels
dc25f96e73 update observed events as well 2022-10-28 16:55:20 +02:00
Bruno Windels
218d25d973 fix typo 2022-10-28 16:50:01 +02:00
Bruno Windels
d0122d17c0 don't assume timeline is open as have an await since last check 2022-10-28 16:49:33 +02:00
Bruno Windels
6dbcd46d80 cleanup of ctor 2022-10-28 16:31:00 +02:00
Bruno Windels
fcb1546fba fetch keys as part of afterSyncCompleted step
remove needsAfterSyncCompleted step as well, performance difference
should be neglible
2022-10-28 16:25:31 +02:00
Bruno Windels
9c13b2b4a4 add method to fetch missing sender keys 2022-10-28 16:09:03 +02:00
Bruno Windels
c544819b42 rename and refactor method to verify locally known senders a bit
to differentiate with method to come for verifying senders that need to
be fetched still, and also allow reuse of verification logic by said new
method.

Also get rid of roomTracked flag in DecryptionResult as once we fetch
unknown senders (in commit to come), we should now always have a device,
unless the device isn't known on the server,
in which case we should shout.
2022-10-28 15:35:31 +02:00
Paulo Pinto
ad02c1625f Encode SSO redirect URL as it may contain multiple query parameters
If the returnURL contains multiple query parameters (e.g. http://localhost:3000?foo=bar&bar=baz), the homeserver would fail to correctly parse the URL, and only the first query parameter would be kept.

This is not an issue with the homeserver since the URL cannot be parsed in an unambiguous way, as the resulting URL would be:

https://example.com/_matrix/client/r0/login/sso/redirect?redirectUrl=http://localhost:3000?foo=bar&bar=baz

It's not possible to know whether the bar parameter is part of the "parent" URL, or part of the redirectUrl parameter.

----

To fix this, we now encode the redirectUrl parameter, which results in:

https://example.com/_matrix/client/r0/login/sso/redirect?redirectUrl=http%3A%2F%2Flocalhost%3A3000%2Fparent.html%3Ffoo%3Dbar%26bar%3Dbaz

This URL is correctly parsed by synapse.
2022-10-27 15:42:24 +01:00
Robert Long
c0306b45a6 Fix typechecking 2022-10-18 13:43:19 -07:00
Robert Long
e9b8cfbd9e Member should be expired if there's no expires at key 2022-10-18 13:42:01 -07:00