Bruno Windels
fa662db70b
show cross-sign user option in right panel
2023-03-02 17:16:53 +01:00
Bruno Windels
3a303ff84d
cleanup comments
2023-03-02 17:15:05 +01:00
Bruno Windels
34b113b26e
don't upload pre-existing signatures when signing
2023-03-02 17:14:50 +01:00
Bruno Windels
504d869b38
provide correct user id for signing key owner when signing other user
2023-03-02 17:14:27 +01:00
Bruno Windels
20a6fcda72
don't allow signing own user
2023-03-02 17:14:05 +01:00
Bruno Windels
4dce93e5ef
make sure the key property doesn't leak out of the storage layer
...
as it ends up in the value we're signing and uploading,
corrupting the signature
2023-03-02 17:13:15 +01:00
Bruno Windels
a9412aa57c
fix import paths after TS conversion
2023-03-02 17:12:56 +01:00
Bruno Windels
daf66e1d6c
implement signing users and other devices
2023-03-02 15:02:42 +01:00
RMidhunSuresh
683e055757
WIP
2023-03-01 16:59:24 +05:30
Bruno Windels
b8fb2b6df1
Store device keys in format needed to sign/verify, convert to TS
...
In order to sign and verify signatures of design keys, we need
to have them in the format as they are uploaded and downloaded
from the homeserver. So, like the cross-signing keys, we store
them in locally in the same format to avoid constant convertions.
I also renamed deviceIdentities to deviceKeys, analogue to
crossSigningKeys. In order to prevent mistakes in this refactor,
I also converted DeviceTracker to typescript.
2023-02-28 17:25:01 +01:00
Bruno Windels
151090527b
Store cross-signing keys in format as returned from server, in separate store
...
This will make it easier to sign and verify signatures with these keys,
as the signed value needs to have the same layout when signing and
for every verification.
2023-02-28 14:07:55 +01:00
RMidhunSuresh
b6041cd20c
Channel WIP
2023-02-27 23:33:05 +05:30
RMidhunSuresh
e46b760fb7
Remove log
2023-02-27 23:32:05 +05:30
RMidhunSuresh
ed4eb9bde0
Emit event from DeviceMessageHandler
2023-02-27 23:31:30 +05:30
RMidhunSuresh
75688cf6f3
REFACTOR: Extract methods and functions
2023-02-22 13:01:58 +05:30
RMidhunSuresh
af918e3df0
Remove comment
2023-02-22 13:01:34 +05:30
RMidhunSuresh
5e1dca946b
Free olmSas after all stages have completed
2023-02-22 13:00:36 +05:30
RMidhunSuresh
3321859ae6
Add more stages
2023-02-22 12:03:03 +05:30
RMidhunSuresh
e6ea003bef
WIP +1
2023-02-17 17:18:17 +05:30
RMidhunSuresh
d81864e901
WIP
2023-02-16 21:41:33 +05:30
RMidhunSuresh
772d91f924
WIP
2023-02-16 11:27:43 +05:30
Bruno Windels
1113f2ffb9
Merge pull request #1036 from vector-im/cross-signing/self-sign
...
Allow to sign own device once MSK is trusted
2023-02-14 16:36:29 +01:00
Bruno Windels
2a6baef259
Merge pull request #1031 from vector-im/cross-signing/verify-msk
...
Cross-signing: verify MSK with 4S security key
2023-02-14 16:32:52 +01:00
Bruno Windels
7519878264
add stronger warning to enable cross-signing
2023-02-14 16:30:25 +01:00
Bruno Windels
71d7dcb0ca
store self-signing keys on userIdentity
2023-02-14 16:26:55 +01:00
Bruno Windels
c7a2b4dc2e
expose self-signing in settings UI
2023-02-14 16:26:02 +01:00
Bruno Windels
088fcdc77b
logging type definition fix
2023-02-14 16:25:46 +01:00
Bruno Windels
693640d222
implement signing our own device
2023-02-14 16:25:32 +01:00
Bruno Windels
103ae1e789
fix unit tests
2023-02-14 13:24:26 +01:00
Bruno Windels
45d45cb690
show MSK trust status in settings after enabling key backup
2023-02-14 12:13:07 +01:00
Bruno Windels
fdce098245
create cross-signing class, support deriving msk from 4s stored privkey
...
and check if they match the publicized one and then trust it
2023-02-14 12:12:20 +01:00
Bruno Windels
ce5b27f4b8
support fetching the master signing key for a user in the device tracker
2023-02-14 12:11:59 +01:00
Bruno Windels
2043541f56
fix missing free in key backup
2023-02-10 17:36:14 +01:00
Bruno Windels
ab67a28c74
add feature flag for cross-signing
2023-02-10 17:35:45 +01:00
Bruno Windels
3bb0d26d3f
fix missing msgtype on emote
2023-02-10 16:17:47 +01:00
Bruno Windels
c3da2acfb2
adjust margin on features UI
2023-02-10 14:11:45 +01:00
Bruno Windels
7c1117ddd4
keep token in memory to compare stored token with after /messages
...
and don't look at response.start as it can be different as
the format can change after a server upgrade while
(still pointing at the same location)
2023-02-10 14:08:35 +01:00
Bruno Windels
9e28bdcc88
don't try to fill when we had an error before
2023-02-10 12:35:02 +01:00
Bruno Windels
7777ef83dd
adopt errorViewModel in GapTile to report errors
2023-02-10 12:34:47 +01:00
Bruno Windels
c946319891
remove double experimal warning in UI
2023-02-10 11:33:24 +01:00
Bruno Windels
83d1ea05a1
fix unit test
2023-02-10 11:22:13 +01:00
Bruno Windels
da1b7d4108
UI in settings for toggling features
2023-02-10 09:27:18 +01:00
Bruno Windels
bb477b6aad
fix not passing features to client construction
2023-02-10 08:48:31 +01:00
Bruno Windels
f9fa59609f
fix local variable usage after extracting method
2023-02-10 08:48:10 +01:00
Bruno Windels
4a46c98d12
don't assume the call handler is always set in device message handler
2023-02-09 11:57:45 +01:00
Bruno Windels
22a8182266
feature-gate calls everywhere in the app
2023-02-09 11:57:30 +01:00
Bruno Windels
f86663fe7b
pass features to tilesCreator (and all options really for comfort)
2023-02-09 11:56:22 +01:00
Bruno Windels
d5929d9ebe
make features available in Client and Session
2023-02-09 11:53:39 +01:00
Bruno Windels
f65b43f612
load features at startup and pass them along in all view models
2023-02-09 11:53:11 +01:00
Bruno Windels
c4944599cf
add feature set to keep track of enabled features
...
already include the calls feature
2023-02-09 11:52:00 +01:00
Bruno Windels
fe5794a4bc
don't clear options as error boundary may fire after dispose
2023-02-07 23:26:02 +01:00
Bruno Windels
928419502e
no point in ref'ing an item on its parent
2023-02-07 22:44:43 +01:00
Bruno Windels
93661690e1
fix bg color of calls
2023-02-07 22:18:13 +01:00
Bruno Windels
b6c7bbb05c
Merge pull request #1016 from vector-im/calls-fix-1012
...
Calls: Emit update after sending signalling message + other error fixes
2023-02-07 22:03:36 +01:00
Bruno Windels
dd89aab516
fix typescript error in unit test
2023-02-07 20:19:06 +01:00
Bruno Windels
5ad3f0c671
look at signalingState when even is fired, not later when it may have changed
2023-02-07 20:11:35 +01:00
Bruno Windels
3ff91639c6
log signalingState on negotiationneeded
2023-02-07 20:07:16 +01:00
Bruno Windels
5c2889aa5b
show DOM errors on the member error boundary rather than one for call
...
gives a bit more context
2023-02-07 19:59:13 +01:00
Bruno Windels
7114428b23
now that the dom handler uses an error boundary, don't need this anymore
2023-02-07 19:57:42 +01:00
Bruno Windels
a49c9c17c0
Merge pull request #1017 from vector-im/bwindels/fix-1015
...
Improve `seq` handling to prevent queue blocking for call signalling messages
2023-02-07 19:50:55 +01:00
Bruno Windels
0fa9d193d9
fix comment typo
2023-02-07 19:42:43 +01:00
Bruno Windels
7f9d64c972
improve logging of arrival of to_device call signalling messages
2023-02-07 19:42:20 +01:00
Bruno Windels
ddb5865ccb
actually forgot to dispose peerCall here when replacing
2023-02-07 15:00:56 +01:00
Bruno Windels
02108c69dc
remove debug logging
2023-02-07 15:00:45 +01:00
Bruno Windels
f67fb7add6
add unit test for this particular error case
2023-02-07 14:58:57 +01:00
Bruno Windels
e39dd176a4
remove debug logging
2023-02-07 14:58:32 +01:00
RMidhunSuresh
496dfee593
Catch error in promise chain
2023-02-07 19:25:48 +05:30
RMidhunSuresh
6d800ff359
WIP
2023-02-07 19:15:36 +05:30
Bruno Windels
5f4ad30d03
don't block if it does happen that we have processed a message too early
...
allow dequeueing if the first seq in the queue is actually lower
than what we already processed. Normally should not happen,
but the bug fixed in the previous commit was aggravated by
this behavior, so be more lenient here.
2023-02-07 14:43:28 +01:00
Bruno Windels
39e9a43a1b
be strict about the first seq being 0
...
otherwise if first 2 messages are delivered in reverse order,
the queue gets blocked
2023-02-07 14:42:44 +01:00
Bruno Windels
cadeae98bc
prevent ignored signaling messages from blocking the queue
...
signaling messages get ignored when they are not for the
currently active call id. In that case we currently don't
advance the lastProcessedSeqNr counter, as we had a problem
before where the counter would be brought out of sync with
seq numbers for other call ids.
However when we've previously processed a signalling message
(e.g. the counter is not undefined) and the first message in the queue
is to be ignored, it will prevent the subsequent messages from being
dequeued as their seq number is more than 1 away from the last
processed seq. This adds an additional counter for ignored seq numbers
that is also used to see if the next message is only 1 away from
the next seq value.
I am adding logging as well here to have a better overview in the future
2023-02-07 14:18:14 +01:00
RMidhunSuresh
7eae171ac9
Emit after sending signalling message
2023-02-06 17:12:39 +05:30
RMidhunSuresh
09e67ec21c
Deal with race in a better way
2023-02-02 18:39:19 +05:30
RMidhunSuresh
de57e07982
Wait for room to come through sync
2023-02-02 15:26:38 +05:30
RMidhunSuresh
9a6d15a72b
Fix unwanted toast appearing when opening client
2023-01-31 16:49:58 +05:30
RMidhunSuresh
903a157de2
Don't show toast if room is not available
2023-01-31 16:48:48 +05:30
Bruno Windels
072004a9c2
Merge pull request #1007 from vector-im/bwindels/block-sfu-calls
...
block sfu calls
2023-01-27 10:25:16 +01:00
Bruno Windels
1d7db53f30
don't show toast for foci calls
2023-01-27 10:22:01 +01:00
Bruno Windels
f5838b21ba
show message in tile when call uses foci, explaining we can't join
2023-01-27 10:12:51 +01:00
Bruno Windels
825602a04a
dispose local media here when returning early as join takes ownership
2023-01-27 10:12:36 +01:00
Bruno Windels
c8bb5fffb0
don't allow to join a call using a foci
2023-01-27 10:12:22 +01:00
Bruno Windels
365157449e
cleanup loops here to not get keys
2023-01-27 10:02:13 +01:00
Bruno Windels
43dea3bfdc
detect calls using a foci
2023-01-27 10:01:53 +01:00
RMidhunSuresh
d65bbcf168
Fix scaling on chrome
2023-01-27 13:38:45 +05:30
Bruno Windels
90ba35da7a
listen for members.size changes in CallTile and emit update so memberCount binding updates
...
also be consistent to not emit updates on call object when changing members map
2023-01-26 14:50:46 +01:00
Bruno Windels
0a9f533421
Merge branch 'bwindels/calls' into bwindels/calltile-ui
2023-01-26 13:27:29 +01:00
Bruno Windels
59ebcf99fb
use observeSize to emit update on memberCount rather than custom handler
2023-01-26 11:56:30 +01:00
Bruno Windels
725757e235
Merge branch 'bwindels/calls' into calls-show-toast
2023-01-26 11:50:52 +01:00
Bruno Windels
1a0b1670c8
Merge pull request #1005 from vector-im/bwindels/observe-size
...
add `ObservableMap.observeSize` operator
2023-01-26 11:46:26 +01:00
Bruno Windels
e1fc2b46c4
add observeSize operator on ObservableMap
2023-01-26 11:40:40 +01:00
Bruno Windels
cd76619953
add header
2023-01-26 10:30:29 +01:00
Bruno Windels
0f91f2065c
extract to src/utils as it doesn't assume the DOM
2023-01-26 10:25:22 +01:00
Bruno Windels
a278086c37
fix error at time unit boundary
2023-01-26 09:58:24 +01:00
Bruno Windels
7f422882dd
make call error view clickable above video elements
2023-01-24 23:33:04 +01:00
Bruno Windels
043ad98866
element call also terminates prompt calls, so do so too
2023-01-24 23:33:04 +01:00
Bruno Windels
e140a4ba64
element call puts string in terminated, not a boolean
2023-01-24 23:33:04 +01:00
Bruno Windels
47d9773fc8
more style changes
2023-01-24 23:17:20 +01:00
Bruno Windels
98416f8c35
also calculate days in formatDuration
2023-01-24 23:17:04 +01:00
Bruno Windels
c2fab59f58
ensure call isn't cleared by onCallUpdate when setting up member list
2023-01-24 23:15:32 +01:00
RMidhunSuresh
374fb08c98
Fix typescript errors
2023-01-24 18:08:29 +05:30
RMidhunSuresh
eb7fcc6da2
Add return types
2023-01-24 13:51:28 +05:30
RMidhunSuresh
b86fdd476f
Add return types
2023-01-24 13:51:27 +05:30
RMidhunSuresh
afee565eb7
Also emit on reset event
2023-01-24 13:51:26 +05:30
RMidhunSuresh
e3a8c184f6
Fix formatting
2023-01-24 13:51:25 +05:30
RMidhunSuresh
d2b1fc7fef
No need to pass in callHandler separately
...
because session is already passed
2023-01-24 13:51:22 +05:30
RMidhunSuresh
fa5cb684b0
WIP
2023-01-24 13:51:17 +05:30
Bruno Windels
5035d23573
add all elements to call tile that need to be shown, style buttons
2023-01-23 17:42:33 +01:00
Bruno Windels
1df8d31ab5
show call duration in tile
2023-01-23 17:06:33 +01:00
Bruno Windels
af5cc0f62b
sort by userId, sorting order needs to be stable
2023-01-23 15:35:28 +01:00
Bruno Windels
3bb889ed9c
WIP
2023-01-23 14:53:08 +01:00
Bruno Windels
2bd37970ba
each LocalMedia own their streams, so a copy should have their own clone
2023-01-20 17:34:15 +01:00
Bruno Windels
590e9500c1
clone localMedia,so we don't remove audio track from stream sent to peer
2023-01-20 17:33:16 +01:00
Bruno Windels
6645f8f43b
remove debug throw
2023-01-20 16:50:15 +01:00
Bruno Windels
b2feaf2b4e
fix mixing up params, causing us to call onUpdate on params rather than vm
2023-01-20 16:50:07 +01:00
Bruno Windels
920fedae5e
merge master into bwindels/calls
2023-01-20 16:24:38 +01:00
Bruno Windels
daad19c060
swallow errors in errorCallback in ErrorBoundary
...
nothing should be able to make ErrorBoundary.try throw
2023-01-19 11:37:43 +01:00
Bruno Windels
2408850678
emit change before logging
2023-01-19 11:33:21 +01:00
Bruno Windels
e6b17cc74a
fix callback type
2023-01-19 11:30:52 +01:00
Bruno Windels
3842f450dd
ensure errors caught by boundary are logged in calls code
2023-01-19 11:30:23 +01:00
Bruno Windels
bf9c868c8b
make it clearer that logAndCatch is probably what you want
2023-01-19 09:54:07 +01:00
Bruno Windels
dfaaf6d234
cleanup reply code a bit, have only 1 path to send message
2023-01-19 09:54:07 +01:00
Bruno Windels
e33209b747
start logging in view model and pass it on to model methods (calls+room)
2023-01-19 09:54:02 +01:00
Bruno Windels
0dbb7d4e50
use logAndCatch in RoomViewModel, everything reporting errors also logs
2023-01-19 09:49:10 +01:00
Bruno Windels
a2c44484b2
newline
2023-01-19 09:49:10 +01:00
Bruno Windels
cc653884a5
remove getter that is now in parent class
2023-01-19 09:49:10 +01:00
Bruno Windels
f421cdd4f2
Update src/domain/session/room/RoomViewModel.js
...
Co-authored-by: R Midhun Suresh <hi@midhun.dev>
2023-01-19 09:49:10 +01:00
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
Paulo Pinto
7a33881e14
Only remove the loginToken query parameter after SSO
...
Leave other query parameters untouched.
2022-12-13 16:41:38 +00:00
Paulo Pinto
803730836c
SSO callback URL should contain the query params
2022-12-13 16:37:29 +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
35a08e3b05
Update language to "Copy matrix.to permalink"
2022-11-18 12:13:47 -06:00
Eric Eastwood
1aba18ca1d
Add <dialog>, <details>, and <optgroup> HTML elements to templating
2022-11-10 21:14:57 -06:00
Eric Eastwood
29aac09641
Add types to function parameters
2022-11-10 21:11:38 -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
Eric Eastwood
f0d53fe40f
Remove newline
2022-11-10 20:56:27 -06:00
Eric Eastwood
087a4ad7ce
Add copy permalink action
2022-11-10 20:53:14 -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
Eric Eastwood
9ad5dd752c
Make no content PL fallback to 0
( #863 )
...
Make no `content` PL fallback to `0`. A valid PL event will have `content` but when you're just stubbing a PL event with an empty object `{}`, it doesn't need to exist and we can just as easily fallback to `0` PL level.
Split off from https://github.com/vector-im/hydrogen-web/pull/653
Changes necessary for https://github.com/matrix-org/matrix-public-archive/pull/57
2022-10-17 15:59:24 -05:00
Eric Eastwood
b4f4636555
Clarify that we no-op because if it's already aborted, that's what we wanted to do anyway ( #861 )
...
Split off from https://github.com/vector-im/hydrogen-web/pull/653
2022-10-17 15:56:34 -05:00
Bruno Windels
2416893718
Merge pull request #867 from ibeckermayer/ibeckermayer/ts-conversion-linkify
...
typescriptifying `linkify` and `regex`
2022-10-17 15:42:15 +00:00
Bruno Windels
2d526bc088
fix sdk build failing on tsc error
2022-10-14 20:13:23 +02:00
Bruno Windels
d37965ef91
return promise from _createSessionAfterAuth
2022-10-14 20:08:26 +02:00
Bruno Windels
4d5f202d94
Merge pull request #889 from vector-im/login_with_access_token
...
Add abiity to setup session immediately after registration without using /login
2022-10-14 08:54:52 +00:00
Bruno Windels
1f8a591cf6
dont need extra log depth
2022-10-14 10:28:42 +02:00
Bruno Windels
f46d2c1bf5
make startWithFinishedRegistration more broadly useful
2022-10-14 10:17:32 +02:00
Bruno Windels
89d031990f
Merge pull request #885 from vector-im/fix-866
...
Fix sync error
2022-10-14 07:53:56 +00:00
Bruno Windels
d9a4a362d9
Merge pull request #862 from vector-im/madlittlemods/remove-unused-button-styles-that-conflict
...
Remove unused conflicting generic styles
2022-10-11 16:36:13 +00:00
RMidhunSuresh
dcba6d1500
Split method
2022-10-11 18:05:54 +05:30
RMidhunSuresh
a448c0218d
Fix missing semicolon
2022-10-11 18:01:54 +05:30
RMidhunSuresh
1f764664c9
Expose homeserver from Registration object
2022-10-11 17:58:33 +05:30
RMidhunSuresh
85a9a019c8
Don't inhibit login
2022-10-11 17:58:07 +05:30
R Midhun Suresh
07823c2cd7
Merge pull request #873 from vector-im/madlittlemods/log-errors-to-console
...
Log errors when mounting views to the console for easier reference
2022-10-11 11:40:35 +05:30
R Midhun Suresh
dc13d1b283
Merge pull request #875 from vector-im/madlittlemods/event-data-attribute-on-announcement-view
...
Add `data-event-id` to `AnnouncementView` so it appears for state events in the timeline
2022-10-11 11:40:21 +05:30
Bruno Windels
5bf6a75546
Merge pull request #874 from vector-im/madlittlemods/add-more-html-tags
...
Add `<header>`, `<footer>`, `<style>` HTML tags to template with
2022-10-10 14:26:03 +00:00
R Midhun Suresh
8ef163353a
Merge pull request #793 from ibeckermayer/ibeckermayer/ts-conversion-observable-map
...
Typescript conversion for `src/observable/map`
2022-10-10 11:31:25 +05:30
Bruno Windels
7d10bec4ac
remove comment not relevant anymore
2022-10-07 10:59:13 +02:00
Bruno Windels
4350537004
cleanup
2022-10-07 10:58:12 +02:00
Bruno Windels
7936863934
remove options on dispose in Member
...
to ensure callback can't be called anymore, as we don't check
that the member argument is the one currently in GroupCall._members.
2022-10-07 10:07:46 +02:00
Bruno Windels
400df6a4ff
ensure removing expired members from call is always logged
...
also return the log item from logger.log so we can ref it
2022-10-07 10:07:10 +02:00
Bruno Windels
a07be730f9
bring member validity period back to 1h
2022-10-06 16:10:50 +02:00
Bruno Windels
a8ac504efd
explain when joinedData is set
2022-10-06 16:10:36 +02:00
Bruno Windels
7ae9c3af0d
renew at least 10s before own membership expires
2022-10-06 16:00:38 +02:00
Bruno Windels
c87fd4dfed
cleanup
2022-10-06 15:59:45 +02:00
Bruno Windels
2ecfb8f139
unify dispose logic in Member
2022-10-06 15:22:15 +02:00
Bruno Windels
7eb8015ace
ensure member.dispose is called when removing member
...
so expiration timer is always stopped
2022-10-06 15:20:05 +02:00
RMidhunSuresh
92ae3a3236
vm may not have created when this is called
2022-10-06 11:41:31 +05:30
Bruno Windels
56ecd39f26
don't assume joinedData is set here
...
although not entirely sure why it wouldn't be
2022-09-30 17:46:57 +02:00
Bruno Windels
1dddabc038
make removing own membership a bit clearer in the logs
2022-09-30 11:21:26 +02:00
Bruno Windels
b694d13348
can be readonly
2022-09-30 11:20:33 +02:00
Bruno Windels
f2564ed5cc
also emit updates for expired, connected members that we didn't kick
2022-09-30 11:20:00 +02:00
Bruno Windels
b5f686b10e
also allow clean up while still in Joining state, otherwise we get stuck
...
in joined state but without joinedData
2022-09-30 11:17:54 +02:00
Bruno Windels
282cba0ff1
call points for PeerCall.delay rely on AbortError actually being thrown
...
+ fix this in one call point where it wasn't the case
2022-09-30 11:17:07 +02:00
Bruno Windels
167a19a85b
untracking from a disposed Disposables is actually not alarming
...
it happens under normal conditions when an abortable action is aborted
and you untrack afterwards.
2022-09-30 11:16:09 +02:00
Bruno Windels
8f8a964b3b
allow to actually process the invite in the new peer call
2022-09-30 11:15:48 +02:00
Bruno Windels
05bb360c00
allow to dequeue signalling messages with repeated seq (from other call)
...
they will just be ignored by peerCall.getMessageAction() but we don't
want to block dequeuing on these
2022-09-30 11:12:04 +02:00
Bruno Windels
6f0e781b49
WIP
2022-09-26 19:15:13 +02:00
Bruno Windels
bf71a88799
Merge pull request #880 from vector-im/matthew/turn
...
Implement TURN
2022-09-26 14:19:00 +00:00
Bruno Windels
c660d82d6a
make internal method private
2022-09-26 16:00:25 +02:00
Bruno Windels
eccbab1491
cleanup polling and also hangup on all ongoing calls on dispose session
2022-09-26 15:57:20 +02:00
Bruno Windels
24ebf6c559
cleanup
2022-09-26 15:47:48 +02:00
Bruno Windels
ac319bdafd
we can assume setConfiguration is available
2022-09-26 15:45:41 +02:00
Bruno Windels
d36b9be24f
fix screwing up whitespace
2022-09-26 15:41:30 +02:00
Bruno Windels
05c2da95c4
fix typo
2022-09-26 15:38:04 +02:00
Bruno Windels
e6bf49a6cc
remove previous hardcoded turnServers setting
2022-09-26 15:27:41 +02:00
Bruno Windels
f74c4e6425
remove previous approach
2022-09-26 15:26:16 +02:00
Bruno Windels
917ad52302
use observable for turnserver in peercall
...
and subscribe if changing config is supported
2022-09-26 15:25:53 +02:00
Bruno Windels
3a4c38086c
fetch turn server settings when joining a call, and pass down
2022-09-26 15:25:24 +02:00
Bruno Windels
035ead0d5b
implement polling of voip turnServer settings from HS in separate class
2022-09-26 15:24:41 +02:00
Bruno Windels
f4e633beb4
support onfirstsubscribe callback in ROV
...
will use it to start polling for turnServer updates
2022-09-26 15:24:14 +02:00
Matthew Hodgson
6570ec46f4
setTurnServers doesn't need to be async
2022-09-26 09:02:22 +01:00
Matthew Hodgson
3d7852a469
set array of turnservers
2022-09-26 01:07:24 +01:00
Matthew Hodgson
eab87e5157
fix plurals
2022-09-26 00:52:41 +01:00
Matthew Hodgson
af2098327b
first cut at implementing TURN
2022-09-26 00:47:12 +01:00
Matthew Hodgson
31e67142bd
typo
2022-09-25 22:11:35 +01:00
Matthew Hodgson
8aa62b2573
don't ignore end-of-ICE candidates
2022-09-25 21:39:38 +01:00
Bruno Windels
7ce5cdfc4a
prevent concurrent calls of OlmEncryption.encrypt to OOM olm wasm heap
...
This is being triggered by connecting to many call members at once,
while encrypting the signaling messages. This keeps many olm.Session
objects into memory at the same time, which makes olm run out of
wasm heap memory.
2022-09-22 13:19:56 +02:00
Isaiah Becker-Mayer
c8e6ca9a83
typescriptifying linkify and regex
2022-09-21 21:42:21 -04:00
Bruno Windels
bb2e63b05b
don't queue messages for different callIds so last seq doesn't corrupt
...
this includes handling invite glares differently
2022-09-20 17:27:39 +02:00
Bruno Windels
2e9470027b
Update src/platform/web/ui/session/JoinRoomView.ts
2022-09-20 08:50:37 +00:00
Eric Eastwood
90ac16854b
Add data-event-id
to AnnouncementView
so it appears for state events in the timeline
...
Follow-up to https://github.com/vector-im/hydrogen-web/pull/690
Split off from https://github.com/vector-im/hydrogen-web/pull/653
2022-09-16 13:59:50 -05:00
Eric Eastwood
b096ac18ca
Add header, footer, style HTML tags to template with
...
Split off from https://github.com/vector-im/hydrogen-web/pull/653
2022-09-16 13:57:21 -05:00
Eric Eastwood
8f414f4cf4
Log errors when mounting views to the console for easier reference
...
From the console, I can click the source references in the stack trace
to jump to the spot in the code where things are going wrong.
It also helps with the problem of the error not having enough
space to be read in some components.
Split off from https://github.com/vector-im/hydrogen-web/pull/653
2022-09-16 13:50:29 -05:00
RMidhunSuresh
67dfbc5e28
Add return type
2022-09-12 23:48:01 +05:30
RMidhunSuresh
1898c4892e
Specify return type
2022-09-12 23:44:51 +05:30
RMidhunSuresh
88091622db
Rename variable
2022-09-12 23:21:55 +05:30