Commit graph

1404 commits

Author SHA1 Message Date
Bruno Windels
9bc1d38d73 extract dom event => promise code 2021-03-10 13:38:28 +01:00
Bruno Windels
35e6dffd0b don't rely on mime-types to decide to use main url for thumbnail
so it does not break when clients forget to set the mimetype
2021-03-10 10:01:07 +01:00
Bruno Windels
c6ff56a942 send video messages 2021-03-09 19:35:25 +01:00
Bruno Windels
ee6f3e5457 render video messages 2021-03-09 19:35:10 +01:00
Bruno Windels
b955cac7ce extract base class from image view to inherit video view from 2021-03-09 19:34:22 +01:00
Bruno Windels
299fcfd4d1 extract base class from image tile to inherit from for video tile 2021-03-09 19:33:54 +01:00
Bruno Windels
b4f4594ead
Merge pull request #267 from vector-im/bwindels/fix-223
consider all server errors as connection errors
2021-03-09 11:54:21 +00:00
Bruno Windels
0bd0f788e3 consider all server errors as connection errors
even if they do have an errcode

fixes #223
2021-03-09 12:51:34 +01:00
Bruno Windels
8cd6a7988a on fill server OTKs up to max/2
so we don't remove keys for yet to be received
olm messages that claimed a key
2021-03-09 12:33:31 +01:00
Bruno Windels
0b211e8e1c simplify this code now that it is only doing one thing 2021-03-09 12:27:51 +01:00
Bruno Windels
2d4003379e Fix #97 2021-03-08 22:25:18 +01:00
Bruno Windels
30b056af1c let devices know we can't claim their OTKs 2021-03-08 16:19:46 +01:00
Bruno Windels
30525cf391 oops, missing await to store new olm sessions! 2021-03-08 16:19:28 +01:00
Bruno Windels
a3987a655e log if a connection error is a timeout 2021-03-08 15:35:34 +01:00
Bruno Windels
cfb521ef10 fix ll events being duplicated in the timeline preventing name changes 2021-03-05 20:10:57 +01:00
Bruno Windels
b37a586094 add clarification why this doesn't need to also check member changes 2021-03-05 17:04:18 +01:00
Bruno Windels
f4a7782298 add MemberWriter, and only return MemberChange's if something changed 2021-03-05 17:03:45 +01:00
Bruno Windels
e97ed9ae45 fix session test, just barely 2021-03-05 17:03:12 +01:00
Bruno Windels
49fc971d67 cleanup 2021-03-05 17:02:57 +01:00
Bruno Windels
f98f690b49 no need to "serialize" here every time, it just adds noise 2021-03-05 17:02:26 +01:00
Bruno Windels
4e0bd16a4e reuse LRU Cache for session cache 2021-03-05 17:01:38 +01:00
Bruno Windels
f0c0c3e084 add LRU Cache utility
we'll use it to cache members later on
2021-03-05 17:00:55 +01:00
Bruno Windels
c1c8f11bf7 fix TypeError when syncing a new e2ee room with keys at the same time 2021-03-05 11:50:54 +01:00
Bruno Windels
5682e715e6 prevent multiple checks if a new room key is better 2021-03-05 10:07:48 +01:00
Bruno Windels
d08c41c13a probably best to close this 2021-03-04 22:09:11 +01:00
Bruno Windels
e603e4b455 provide default mimetype so file uploads work on iOS
otherwise homeserverapi doesn't think this is a blob
2021-03-04 21:51:53 +01:00
Bruno Windels
6ad778d27b support file downloads on iOS through data: uris 2021-03-04 21:51:29 +01:00
Bruno Windels
932d26ed8c detect the webkit bug, and await a bogus request when opening a txn 2021-03-04 19:49:13 +01:00
Bruno Windels
e0d14207ac make opening a txn async again
as we'll need to await a bogus request first thing after opening the txn

funny enough, we originally made it sync to accommodate the same bug
in safari, but that didn't prevent any microtask being awaited
before scheduling a request in the calling code closing the txn.

We'll await a bogus request within the transaction class now so it
doesn't depend on the calling code
2021-03-04 19:47:02 +01:00
Bruno Windels
4445b1ee01 store key share operations before tracking the room 2021-03-03 18:56:16 +01:00
Bruno Windels
aa23672694 forgot await, this broke updating the timeline when fetching key backup 2021-03-03 17:50:38 +01:00
Bruno Windels
f5bba54fd4
Merge pull request #255 from vector-im/bwindels/send-local-echo-profile
Show correct profile for pending messages
2021-03-03 13:55:26 +00:00
Bruno Windels
b012b1dc99 Show correct profile for pending messages 2021-03-03 14:53:22 +01:00
Bruno Windels
961d0cb224
Merge pull request #249 from vector-im/bwindels/ui-sent-status
show message already as black when sent but no remote echo yet
2021-03-03 13:08:46 +00:00
Bruno Windels
6771303086 make a method to determine only the retry entries rather 2021-03-03 14:03:50 +01:00
Bruno Windels
404dbcd065 english 2021-03-03 14:03:50 +01:00
Bruno Windels
e7598b9c76 only request key backup for events that are UTD 2021-03-03 14:03:50 +01:00
Bruno Windels
30481a5a9e add logging to key sharing and discarding in reaction to member changes 2021-03-03 14:03:50 +01:00
Bruno Windels
f3c49e51f2 add, don't replace timeline retry entries
also, filter out any that have been decrypted already
2021-03-03 14:03:50 +01:00
Bruno Windels
43547e0901 don't add retried entries to the timeline if they are not already there 2021-03-03 14:03:50 +01:00
Bruno Windels
7f1cdf6841 also decrypt all matching timeline entries when new key 2021-03-03 14:03:50 +01:00
Bruno Windels
3671574547 comment about session backup 2021-03-03 14:03:50 +01:00
Bruno Windels
3bfe52b1dc filter encrypted events before deciding to decrypt or not 2021-03-03 14:03:50 +01:00
Bruno Windels
9702c4fd64 more logging in sync write 2021-03-03 14:03:50 +01:00
Bruno Windels
8d7cb2a39a remove unused imports 2021-03-03 14:03:50 +01:00
Bruno Windels
e85844f482 don't redeclare retryEntries, or they won't get passed to writeSync 2021-03-03 14:03:50 +01:00
Bruno Windels
56db210763 attempt at fixing https://github.com/vector-im/hydrogen-web/issues/245 2021-03-03 14:03:50 +01:00
Bruno Windels
e29bc6710a bring back missing import 2021-03-03 14:03:50 +01:00
Bruno Windels
c6db23bcfb WIP to store missing session event ids 2021-03-03 14:03:50 +01:00
Bruno Windels
3fa2d22015 remove isTimelineOpen flag and rather do the check to verify in Room
flags are ugly, let's avoid them where we can
2021-03-03 14:03:50 +01:00
Bruno Windels
265a9bd993 applyToEntries does not return anything 2021-03-02 19:39:04 +01:00
Bruno Windels
10003e7d3a also sync room not in the rooms section but with new room keys 2021-03-02 19:39:04 +01:00
Bruno Windels
8d080163b3 reattempt decryption for timeline items 2021-03-02 19:39:04 +01:00
Bruno Windels
061e7abd50 don't break on empty room sync response 2021-03-02 19:39:04 +01:00
Bruno Windels
8a39c16a38 fix name conflict with _sessionInfo in parent class 2021-03-02 19:39:04 +01:00
Bruno Windels
a536ea7742 comment to explain replay attack better 2021-03-02 19:39:04 +01:00
Bruno Windels
a33200d926 fix sender key lookup for room key coming from olm 2021-03-02 19:39:04 +01:00
Bruno Windels
fb446167f6 make new sync room keys available during decryption of same sync 2021-03-02 19:39:04 +01:00
Bruno Windels
37151dc06b always log ids, etc in console logger, even if falsy 2021-03-02 19:38:46 +01:00
Bruno Windels
8208464653 only log and clear when actually needed 2021-03-02 19:37:11 +01:00
Bruno Windels
e1821b1753 prevent linking fragment to itself when filling a gap
this seems to happen when at the beginning of the timeline and
make the timeline reader go into an infinite loop
2021-03-02 19:31:00 +01:00
Bruno Windels
6f6346d5c3 detect when hitting beginning of timeline when loading timeline 2021-03-02 19:29:55 +01:00
Bruno Windels
0eb2b4fe6b simplify with toFixed here 2021-03-01 15:07:24 +01:00
Bruno Windels
42654dbd4f console logger for local dev 2021-03-01 15:07:24 +01:00
Bruno Windels
856001160b show message already as black when sent but no remote echo yet 2021-02-26 10:40:08 +01:00
Bruno Windels
636208a321 show all event type counts in device msg logging 2021-02-24 20:56:20 +01:00
Bruno Windels
b43754da6a code is wrong and unused, so delete
it is wrong in the way that it does not always return a string
2021-02-24 15:06:01 +01:00
Bruno Windels
1e209b8613 Prevent pending events being skipped when remote echo comes
This fixes #241
2021-02-24 14:14:04 +01:00
Bruno Windels
139ffc9548 explain sent file names are logged
because they are in the url of the upload request, which we log
2021-02-24 11:30:32 +01:00
Bruno Windels
b63ad629a7 can remove console logging here now 2021-02-24 11:25:26 +01:00
Bruno Windels
48c361531d log clearing unread state of a room 2021-02-24 11:22:19 +01:00
Bruno Windels
376e59820c more info when logging gap fills 2021-02-24 11:22:07 +01:00
Bruno Windels
1093895133 log opening timeline
also load the timeline when opening it in the room, so logging
starts in the room (and we don't need to pass the logger to Timeline)
and also API-wise it makes more sense to
not return uninitialized objects
2021-02-24 11:21:04 +01:00
Bruno Windels
29df61eb8a remove superfluous console log 2021-02-24 10:57:29 +01:00
Bruno Windels
41ecf1db8e missing semicolon 2021-02-24 10:38:19 +01:00
Bruno Windels
ee8886f7c2 serialize child items with parent start offset subtracted
for compactness
2021-02-24 10:37:20 +01:00
Bruno Windels
23b8ba7e54 unused var 2021-02-24 10:14:26 +01:00
Bruno Windels
a372836a64 only create refids when used 2021-02-24 10:14:14 +01:00
Bruno Windels
86011b42e3 await the room log operations for login/load session
so the callee can await the operation
2021-02-24 09:58:50 +01:00
Bruno Windels
0cbf6008a2 log event id when sending and when receiving remote echo on sync 2021-02-23 19:58:01 +01:00
Bruno Windels
7b7907add0 some doc comments for logging api 2021-02-23 19:23:12 +01:00
Bruno Windels
dd38fc13d7 log sending messages 2021-02-23 19:22:59 +01:00
Bruno Windels
57bb75e864 log login & loading a session 2021-02-23 19:22:25 +01:00
Bruno Windels
ef1e867dee no need for keys in the iteration 2021-02-23 19:20:58 +01:00
Bruno Windels
67ddcaa468 fix lint errors in Sync 2021-02-23 19:20:36 +01:00
Bruno Windels
c6c96a611a fix iteration bug when disposing pending events at shutdown
discovered by logging
2021-02-23 19:04:25 +01:00
Bruno Windels
a8df30016b mark force-finished log items when app closes 2021-02-23 15:36:36 +01:00
Bruno Windels
17451b7bd6 fix typo 2021-02-23 15:36:17 +01:00
Bruno Windels
ed1b37d251 support referencing other log items that are detached (fire & forget)
for async tasks that are not awaited
2021-02-23 15:27:55 +01:00
Bruno Windels
b2621b3001
Merge pull request #234 from vector-im/bwindels/sync-logging
Better sync logging
2021-02-22 13:31:34 +00:00
Bruno Windels
0a4d72b011 remove extra newline 2021-02-22 11:23:24 +01:00
Bruno Windels
94cc8b99b0 don't need to check this actually, sync response should be there 2021-02-22 11:21:56 +01:00
Bruno Windels
f0d9d13f4e don't assume device lists are set in sync response 2021-02-22 11:20:51 +01:00
Bruno Windels
3a8badb3e7 also add log method to null logger 2021-02-22 10:48:46 +01:00
Bruno Windels
364295c7a9 don't throw when container is already disposed, just dispose immediately 2021-02-22 10:48:06 +01:00
Bruno Windels
417e920ea0 make log id autoinc 2021-02-22 10:46:40 +01:00
Bruno Windels
656637e5e2 typo 2021-02-19 11:57:50 +01:00
Bruno Windels
f4a3b64da0 log in sync writer (at detail level) and log room ids at info level 2021-02-19 11:57:17 +01:00
Bruno Windels
08622699f6 more logging for device messages 2021-02-18 19:56:47 +01:00
Bruno Windels
c5c0a181ff move check for devicelists up in Session.writeSync, and more logging 2021-02-18 19:56:10 +01:00
Bruno Windels
ad0c813833 don't take network time into account in sync log filter 2021-02-18 19:48:19 +01:00
Bruno Windels
f2f9162b85 log pagehide event 2021-02-18 19:47:16 +01:00
Bruno Windels
bd85dc2393 children is undefined here actually, so filter wasn't working properly 2021-02-18 15:38:32 +01:00
Bruno Windels
cd68bb7b3f log when devices get marked as outdated 2021-02-18 14:00:06 +01:00
Bruno Windels
8539b0c893 also log session in after sync completed as detail level 2021-02-18 13:07:52 +01:00
Bruno Windels
dea11845f5 log encrypted event count in session sync write 2021-02-18 13:07:32 +01:00
Bruno Windels
e590b573fb log remaining specific room entries as detailed 2021-02-18 12:44:19 +01:00
Bruno Windels
9f9de0988e don't log here yet as the logger isn't passed from createIdentity yet 2021-02-18 12:44:19 +01:00
Bruno Windels
7524a912c3 use (t)ype rather than kind 2021-02-18 12:44:19 +01:00
Bruno Windels
f321968ac3 add more sync logging 2021-02-18 12:44:19 +01:00
Bruno Windels
e14929bd4f inherit log level from parent rather than defaulting to info if not set 2021-02-18 12:44:19 +01:00
Bruno Windels
cc916b80de add app version to logs 2021-02-18 12:44:19 +01:00
Bruno Windels
d201d2c9de don't use depth based log filtering, also add Detail log level
it's hard to make it work with an override where you don't want
to filter by depth if a given loglevel is present in the children.
2021-02-18 12:44:19 +01:00
Bruno Windels
d39c3812b2
Merge pull request #231 from vector-im/bwindels/logs
Structured logging
2021-02-17 10:19:46 +00:00
Bruno Windels
5bec4d5a72 comment 2021-02-16 20:05:33 +01:00
Bruno Windels
630ac40f05 this is broken now, but we're not using it anyway, so remove 2021-02-16 20:00:08 +01:00
Bruno Windels
0ccf735148 console log when failing to restore queued items 2021-02-16 19:57:45 +01:00
Bruno Windels
b28eefb2db do emergency serialization without log filter 2021-02-16 19:53:37 +01:00
Bruno Windels
c3637def2e ensure any breakage does not disrupt logging 2021-02-16 18:36:41 +01:00
Bruno Windels
2dd8803efc better error handling if something goes wrong serializing log items 2021-02-16 18:30:23 +01:00
Bruno Windels
338f628627 remove option to anonymize 2021-02-16 18:30:06 +01:00
Bruno Windels
90cfcad5f1 add privacy notice in settings 2021-02-16 18:25:52 +01:00
Bruno Windels
59928432df better logs filename 2021-02-16 17:46:07 +01:00
Bruno Windels
1f91fa9a94 final flush interval 2021-02-16 17:45:47 +01:00
Bruno Windels
e629a93edd delete extra log items when over limit,to not have to delete every flush 2021-02-16 17:45:19 +01:00
Bruno Windels
ee4a382578 revert this back 2021-02-16 15:38:43 +01:00
Bruno Windels
5d67db0c5e Fix NullLogger 2021-02-16 15:35:30 +01:00
Bruno Windels
7dc3707871 add button to export logs 2021-02-16 15:27:24 +01:00
Bruno Windels
48569c28bc serialize logs as json 2021-02-16 15:08:08 +01:00
Bruno Windels
4defbe1322 simplify log filtering, while also adding depth based filtering 2021-02-16 15:07:17 +01:00
Bruno Windels
78805f0a65 implement dynamic log filtering
the logger does not have a base level any more, because there is
no sensible place to configure this.

instead, we allow to dynamically determine what should be logged
after an operation finished by setting the threshold and default
log level inspecting the finished log item.
2021-02-16 11:37:48 +01:00
Bruno Windels
510d5ab2cd add bool settings type 2021-02-12 19:08:13 +01:00
Bruno Windels
704708bd6c add some logging to sync 2021-02-12 18:56:26 +01:00
Bruno Windels
07f8500d29 don't read from settings for now, as it is async 2021-02-12 18:55:37 +01:00
Bruno Windels
1183305d71 wrapLog => run is a better name 2021-02-12 18:36:21 +01:00
Bruno Windels
42780df94f actually track log items, and correctly remove them 2021-02-12 18:36:04 +01:00
Bruno Windels
a53c25d2ae support logging in hsApi 2021-02-12 18:35:33 +01:00
Bruno Windels
e6c108c6e0 no need to copy it over in viewmodel 2021-02-12 18:06:14 +01:00
Bruno Windels
f65db338cf make it work 2021-02-12 18:05:39 +01:00
Bruno Windels
89139bba30 expose some meta data on a log export to show before submitting 2021-02-12 16:08:28 +01:00
Bruno Windels
c0a03858eb add option to anonymize logged values 2021-02-12 16:08:07 +01:00
Bruno Windels
bbab1e9ecc move base64/58 encoding into platform
fixes https://github.com/vector-im/hydrogen-web/issues/99
2021-02-12 16:01:54 +01:00
Bruno Windels
2bb7b3b598 add null logger 2021-02-12 14:06:09 +01:00
Bruno Windels
0763410aa1 filter output when serializing by loglevel 2021-02-12 14:05:51 +01:00
Bruno Windels
4c2abcf9c7 add logger to platform 2021-02-12 13:04:18 +01:00
Bruno Windels
91bd5f638c finish logging api 2021-02-12 13:04:05 +01:00
Bruno Windels
e515548037 add some comments while debugging a problem 2021-02-11 21:08:06 +01:00
Bruno Windels
89599e9f87 WIP 2021-02-11 21:07:18 +01:00
Bruno Windels
e49639fda2 move textencoder/decoder into platform 2021-02-11 17:29:48 +01:00
Bruno Windels
ac1bbb3937 ensure thumbnail dimensions are integer, fixes #203 2021-02-11 11:15:20 +01:00