Bruno Windels
10e9e7388f
expose checking pusher on homeserver in setting
2021-04-01 15:01:04 +02:00
Bruno Windels
c06659c0be
support checking if pusher is still present on server
2021-04-01 14:59:46 +02:00
Bruno Windels
010b782a96
allow t.map render fn to not return a dom node
2021-04-01 14:59:18 +02:00
Bruno Windels
8894329fa3
don't use url to open room as it still refreshes the page on chrome
...
even though only the hash is different
2021-03-31 16:52:37 +02:00
Bruno Windels
3767060632
fix reloading or opening wrong page when clicking notif
2021-03-31 16:34:37 +02:00
Will Hunt
6bdf7f1ee9
Allow specifying a custom defaultHomeServer
2021-03-30 17:43:03 +01:00
Johannes Marbach
14ed5fd1e8
Manually adapt UI when keyboard shows or hides on mobile Safari
...
Mobile Safari seems to be the only browser that does *not* resize the
viewport when the keyboard shows and hides. Instead the window is moved
to make room for the keyboard which moves content at the top off screen.
This uses the VisualViewport API to manually resize the `SessionView`
in response to keyboard display events. Additionally, if a DOM element
exists that has the `bottom-aligned-scroll` CSS class, its scroll
position is retained. Currently this only applies to the `Timeline`.
Note that the VisualViewport API was only introduced with iOS 13.
According to [statista.com], versions below 13 made up for 19% of
all iOS users in summer 2020, with the share continuing to fall off.
As a result, this seems like an acceptable workaround.
Fixes : #181
[statista.com]: https://www.statista.com/statistics/565270/apple-devices-ios-version-share-worldwide/
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
2021-03-26 08:29:33 +01:00
Bruno Windels
07fc49e371
Never close notifs unless clicking them as all browsers only seem to show the last one anyway
2021-03-25 11:13:54 +01:00
Bruno Windels
b3680af342
move comment back to right place, and explain we we do it after
2021-03-25 10:23:43 +01:00
Bruno Windels
889ca05506
log when we get a click from a notif without a tag
...
like when the browser decides to show "site got updated in the
background" notif in response to a unread=0 push message.
2021-03-25 10:11:05 +01:00
Bruno Windels
e54a707684
rework notifications
...
- we don't close them when receiving a push message without event_id
as we always need to have a notification open after a push message
and replacing them with a generic one like we did is worse than just
leaving it open
- after the second notification for a room, we just show "New messages"
and you don't get binged again for new messages after that.
- You will still have a notification for every room, and on Android
you will just see the one for the last room as it only shows one
notification at a time.
2021-03-25 10:08:38 +01:00
Bruno Windels
f98369c4d6
remove obsolete code from refactoring before
2021-03-25 10:07:42 +01:00
Bruno Windels
a70a38f481
focus can throw on Android, wrap it in a try/catch
2021-03-25 10:03:44 +01:00
Bruno Windels
bc763e2a19
fix typo
2021-03-25 10:01:25 +01:00
Bruno Windels
165532be30
add badge icon to notifs
2021-03-25 00:12:57 +01:00
Bruno Windels
0b3f2a7fa0
improve notification click handling
...
- also here don't use client.url to figure out if a session is open
as that doesn't work in FF
- use tag to make sure we're dealing with the right type of notif
- use findClient function
2021-03-24 15:25:59 +01:00
Bruno Windels
f91abe4301
improve notifications shown
...
- use event.waitUntil to prevent default notification
- replace notifications for same room
- replace notifications when receiving unread=0 with "Read messages"
to prevent default notification
- don't rely on client.url to figure out if a room is open as FF
does not update this field on hash changes.
2021-03-24 15:23:01 +01:00
Bruno Windels
2de61c5928
ask the new version to the new and not old service worker
2021-03-24 15:19:10 +01:00
Bruno Windels
178790d816
symlink service worker for local dev, so its scope captures whole app
...
also rename service worker (as it is not a template anymore)
2021-03-23 18:20:23 +01:00
Bruno Windels
a8ca82ca4d
support running the service worker during local development
2021-03-23 18:20:23 +01:00
Bruno Windels
76fdbbb2fe
shorten this
2021-03-23 18:20:23 +01:00
Bruno Windels
d5b12fa7f9
log endpoint hostname
2021-03-23 18:20:23 +01:00
Bruno Windels
3313d0623a
thinko with push checks
2021-03-23 18:20:23 +01:00
Bruno Windels
dbddba3691
fix c/p errors when moving code over to notif service
2021-03-23 18:20:23 +01:00
Bruno Windels
725098f262
open client when clicking notification
2021-03-23 18:20:23 +01:00
Bruno Windels
8fcf7f8c7f
show notification when receiving push message
2021-03-23 18:20:23 +01:00
Bruno Windels
7b9904e423
add UI in settings for push notifs status/enable/disable
2021-03-23 18:20:23 +01:00
Bruno Windels
630e61a674
support enabling/disabling push notifs on a session
2021-03-23 18:20:23 +01:00
Bruno Windels
f764323c80
fixup: notif service
2021-03-23 18:20:23 +01:00
Bruno Windels
d4fc08c06b
put pusher bits in separate class to enable and disable on the HS
2021-03-23 18:20:23 +01:00
Bruno Windels
1b0f175b02
put web-specific parts of notifications (push and in-app) in platform
2021-03-23 18:20:23 +01:00
Bruno Windels
5db3b28e3a
Merge pull request #285 from MidhunSureshR/fix-269
...
Add previous name in name change announcement
2021-03-23 10:22:02 +00:00
Bruno Windels
95b1804a8d
Merge pull request #287 from Johennes/feature/lightbox
...
Set explicit height on lightbox container
2021-03-23 10:11:13 +00:00
Johannes Marbach
f496aff478
Set explicit height on lightbox container
...
Without an explicit height defined on the container, Safari
fails to expand the `.picture` content. On desktop this results
in the image showing too small and at the top of the screen.
On mobile the picture ends up with zero height and is completely
hidden.
This commit fixes the issue by defining a height of 100% on the
`.lightbox` border box.
Fixes : #278
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
2021-03-22 14:12:02 +01:00
RMidhunSuresh
3d1ddccbd8
Add previous name in name change announcement
...
- Fixes issue 269 in which the announcement generated when a member
changes their name would show as :
<new_name> changed their name to <new_name>
instead of:
<old_name> changed their name to <new_name>
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-03-19 23:28:50 +05:30
RMidhunSuresh
c2df9df6d4
Fix overflowing account chooser label
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-03-19 21:09:03 +05:30
Bruno Windels
f691c0c0ef
Merge pull request #281 from vector-im/bwindels/fix-updates
...
Fix service worker updates stalling
2021-03-18 19:02:45 +00:00
Bruno Windels
ffdec16076
don't show the update dialog if we open the app for the first time
...
and don't have a service worker yet
2021-03-18 19:58:50 +01:00
Bruno Windels
017d3818eb
always reply here
2021-03-18 19:50:53 +01:00
Bruno Windels
5d71b655ad
halt any fetch request while waiting for new service worker to activate
...
this make updates apply instantly rather than sometimes being stalled
for seconds or minutes.
2021-03-18 19:50:53 +01:00
Bruno Windels
eba4d8a28b
improve ergonomics for sub-templates in TemplateView
...
- renames if to ifView
- adds map and if that immediately take a sub template render function
rather than having to call createTemplate
2021-03-18 19:44:59 +01:00
Bruno Windels
1348611f9f
also log error messages
2021-03-15 17:18:45 +01:00
Bruno Windels
5d55f6d78c
log app version when opening session
2021-03-15 16:55:14 +01:00
Bruno Windels
d88720a18f
don't start key backup operation if not enabled
2021-03-15 16:54:43 +01:00
Bruno Windels
2b24de838a
actually log initial session backup enabling rather than using null log
2021-03-15 15:24:57 +01:00
Bruno Windels
325d237302
simpler optional log
2021-03-15 15:23:46 +01:00
Bruno Windels
8684d6b5e5
some fixes
2021-03-15 15:23:35 +01:00
Bruno Windels
fcc06b2754
WIP to add logging to decryption and fetching key backups
2021-03-15 14:39:42 +01:00
Bruno Windels
744ac6b885
implement latest api changes in null logger, and add ensureLogItem
...
to ensure log item either by taking an existing one or taking one
from the null logger
2021-03-15 14:37:46 +01:00
Bruno Windels
f2dc7728a5
notifyRoomKey was a better name
2021-03-15 14:36:38 +01:00
Bruno Windels
96f060c0a9
also retry decryption for backfilled entries
...
as their event ids won't be stored along the missing key (we only store
synced items so we don't fill up the missing event ids in the store
with undecryptable backfilled event ids)
2021-03-15 14:33:14 +01:00
Bruno Windels
4b62e0a2ce
extract retry event ids for key before overwriting key on key backup
2021-03-15 13:38:27 +01:00
Bruno Windels
8100c70e88
fix image uploads being broken
2021-03-11 10:27:50 +01:00
Bruno Windels
9506bf1b81
clean up video upload error handling
2021-03-10 13:43:55 +01:00
Bruno Windels
a672b0c78a
better error handling in video decoding
2021-03-10 13:40:11 +01:00
Bruno Windels
e8c8455f43
safari hack/fix
2021-03-10 13:39:58 +01:00
Bruno Windels
948249bb3d
better error reporting for unsupported codecs when uploading
2021-03-10 13:39:34 +01:00
Bruno Windels
c8265b2358
also allow other video mime types, otherwise playback fails in e2ee room
2021-03-10 13:39:04 +01:00
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
Bruno Windels
a9a27133b9
fix #204
2020-11-26 09:49:25 +01:00
Bruno Windels
1c4818cf1d
prevent a new iframe being created for every download
2020-11-23 10:28:20 +01:00
Bruno Windels
2f0f168c6e
show 'sending' while waiting for remote echo for filetile instead of unknown status
2020-11-20 16:38:16 +01:00
Bruno Windels
b7aca076ba
better wording
2020-11-20 16:32:33 +01:00
Bruno Windels
7bf02f42b7
don't use grid to put lightbox on top, as it broke again in IE11
2020-11-20 16:32:13 +01:00
Bruno Windels
83d54351b1
put spacer behind rather than before link to open lightbox
2020-11-20 16:14:32 +01:00
Bruno Windels
45dd539179
also update preference onchange for IE
2020-11-20 16:06:16 +01:00
Bruno Windels
3eec897630
better wording
2020-11-20 16:06:05 +01:00
Bruno Windels
9ab81eea02
add setting for image compression level
2020-11-20 15:51:16 +01:00
Bruno Windels
764cddcdec
can be cached
2020-11-20 11:45:38 +01:00
Bruno Windels
f7a07a9e79
adjust fileview/tile to pendingevent changes
2020-11-20 11:45:14 +01:00
Bruno Windels
628a3b65c6
cancel > remove
2020-11-19 15:02:59 +01:00
Bruno Windels
8b8d06cf3e
show error for attachments still need upload but missing after refresh
2020-11-19 14:42:29 +01:00
Bruno Windels
18407e17a8
toggle popup menu
2020-11-18 20:18:09 +01:00
Bruno Windels
59a92bdf97
vm changes for improved image view
2020-11-18 20:10:05 +01:00
Bruno Windels
0581066350
upload smallest attachments first
...
so you don't get a delay at the end of the upload
when starting a new request
2020-11-18 20:09:27 +01:00
Bruno Windels
a23075a326
make safe to call when no attachments present
2020-11-18 20:09:07 +01:00
Bruno Windels
fba5877b3b
dispose attachment blobs when pending event is removed/closing session
2020-11-18 20:08:42 +01:00
Bruno Windels
f6dbb23f79
better error handling for file and picture upload
2020-11-18 20:07:31 +01:00
Bruno Windels
47147f2d46
progress bar for upload, add cancel button, no lightbox while uploading
2020-11-18 20:06:34 +01:00
Bruno Windels
6f94ca1a4a
make toBlob work on IE11
2020-11-18 16:28:48 +01:00
Bruno Windels
a930dec8db
adjust ImageTile to state machine changes
2020-11-18 13:05:10 +01:00
Bruno Windels
fd81111bfb
merge state machine from AttachmentUpload into PendingEvent
...
to have less state machines, and we are mostly interested in the
aggregate status of all attachments of an event
this will also drive updates through the pending events collection
that already exists rather than an extra observablevalue, so less
housekeeping to update the UI.
2020-11-18 13:04:23 +01:00
Bruno Windels
91f7970d66
Merge branch 'master' into bwindels/upload-images
2020-11-16 19:31:04 +01:00
Bruno Windels
ca7c07a23c
fix #200
2020-11-16 19:29:51 +01:00
Bruno Windels
d1a95c664d
require space after /me
2020-11-16 19:29:29 +01:00
Bruno Windels
671e23a123
basic reporting of image upload progress in %
2020-11-16 15:10:44 +01:00
Bruno Windels
6bd777e7be
make sure cors errors on setting headers don't fail sending the request
2020-11-16 15:10:25 +01:00
Bruno Windels
83cbe78cd6
report attachment upload progress
2020-11-16 10:45:46 +01:00
Bruno Windels
1dd46b875b
this is fine actually, as it will get encrypted.
...
just don't pass it to the upload
2020-11-13 19:22:06 +01:00
Bruno Windels
41738ad660
local echo for image tiles
2020-11-13 19:15:21 +01:00
Bruno Windels
8b82c991e7
wire up image uploads
2020-11-13 19:15:03 +01:00
Bruno Windels
41fb3e742e
fix file upload attachment api changes
2020-11-13 19:13:35 +01:00
Bruno Windels
0292725076
better formatting
2020-11-13 19:10:18 +01:00
Bruno Windels
262cc8936e
don't leak mimetype for encrypted attachments
2020-11-13 19:10:04 +01:00
Bruno Windels
96e46d154c
copyright header for legacy platform
2020-11-13 19:05:09 +01:00
Bruno Windels
791b3ae04f
don't center align link buttons (while at it)
2020-11-13 19:04:46 +01:00
Bruno Windels
d2a4242e5b
support multiple attachments per event
2020-11-13 17:19:19 +01:00
Bruno Windels
14b3c4b701
no need for a dedicated class just to hide it
2020-11-13 16:00:32 +01:00
Bruno Windels
9bb521986b
first draft of generic popup and menu views
2020-11-13 15:58:40 +01:00
Bruno Windels
6fd10b63e5
add device pixel ratio scaling while at it
2020-11-12 13:50:32 +01:00
Bruno Windels
1ad8af34d1
add thumbnailing code
2020-11-12 13:50:06 +01:00
Bruno Windels
f23312b0d3
fix decrypt/encrypt wording in error message
2020-11-11 13:17:05 +01:00
Bruno Windels
8b16d8bc99
handle upload failures better
2020-11-11 13:06:03 +01:00
Bruno Windels
d477be2b41
put paperclip in send file button
2020-11-11 12:57:43 +01:00
Bruno Windels
6384702863
fix file selector for IE11
2020-11-11 12:47:26 +01:00
Bruno Windels
8db7499f5a
support AES-CTR 256 JWK keys in legacy crypto for IE11
2020-11-11 12:44:59 +01:00
Bruno Windels
fd9eccec4d
support local echo in FileTile while uploading
2020-11-11 11:52:06 +01:00
Bruno Windels
af4f3f902f
wait for attachment to be uploaded in send queue
...
also expose attachment from PendingEvent(Entry)
2020-11-11 11:51:39 +01:00
Bruno Windels
48cd4ac95d
track upload error
2020-11-11 11:51:11 +01:00
Bruno Windels
91f15074be
/upload is on /media/r0, not /client/r0
2020-11-11 11:50:40 +01:00
Bruno Windels
366f3c0bba
iv and digest are sent in unpadded base64
2020-11-11 11:50:20 +01:00
Bruno Windels
e9324ad678
support jwk keys to encrypt
2020-11-11 11:47:39 +01:00
Bruno Windels
e2dd9b9f77
fix typos/refactor errors
2020-11-11 11:47:13 +01:00
Bruno Windels
65d02072c8
hook up UI
2020-11-11 11:47:05 +01:00
Bruno Windels
7088b2cdc8
support attachment upload and sending from room api
2020-11-11 10:47:55 +01:00
Bruno Windels
0c70a67ebb
pass platform to room
...
as we'll need it to access crypto and creating blobs
2020-11-11 10:47:19 +01:00
Bruno Windels
c289bcd097
return blob from encryptAttachment
2020-11-11 10:46:37 +01:00
Bruno Windels
32b7b1f064
draft of AttachmentUpload class
2020-11-11 10:46:20 +01:00
Bruno Windels
2890a6aff7
implement attachment uploading in hs api rather than media repo
...
as we need the access token
2020-11-11 10:45:44 +01:00
Bruno Windels
9f2c7c1e32
support uploading blobs in hs api
2020-11-11 10:45:23 +01:00
Bruno Windels
c278b0f4a3
rename blob.blob to blob.nativeBlob
...
also to make the name a bit more unique where we want to do duck typing
2020-11-11 10:44:44 +01:00
Bruno Windels
2cfffa015d
WIP
2020-11-10 22:36:26 +01:00
Bruno Windels
a37d8c0223
implement AES encryption
2020-11-10 19:48:36 +01:00
Bruno Windels
c65e8bea11
clean up properly
2020-11-10 19:05:50 +01:00
Bruno Windels
d14f485292
Merge branch 'master' into bwindels/file-downloads
2020-11-10 18:55:27 +01:00
Bruno Windels
2ad34c2dd2
c/p error for passing arguments to create_outbound
2020-11-10 18:31:33 +01:00
Bruno Windels
f5480b7708
provide random value for IE11
2020-11-10 18:31:18 +01:00
Bruno Windels
ba323c65d6
fix typo in name
2020-11-10 18:30:48 +01:00
Bruno Windels
6fa9471292
remove trailing whitespace
2020-11-10 17:51:39 +01:00
Bruno Windels
2d8000d11d
file tile view
2020-11-10 17:50:53 +01:00
Bruno Windels
a3ca0feda9
file tile view model
2020-11-10 17:50:38 +01:00
Bruno Windels
21a7ec0dff
byte size formatting
2020-11-10 17:50:20 +01:00
Bruno Windels
373a42c7a8
allow downloading plaintext attachments also, with or without cache
2020-11-10 17:49:48 +01:00
Bruno Windels
4477073d6d
add platform method to offer saving a buffer handle
2020-11-10 17:24:30 +01:00
Bruno Windels
de143fdafc
update timestamp when creating a new megolm session
2020-11-10 16:17:56 +01:00
Bruno Windels
a4f610ad3f
support emotes
2020-11-10 15:13:31 +01:00
Bruno Windels
1c978f060e
Merge pull request #182 from Newbytee/submit-for-login
...
Use submit event for login instead of click
2020-11-10 14:09:56 +00:00
Bruno Windels
e4fa4ded6c
hide clear button in composer on IE
2020-11-10 14:02:37 +01:00
Bruno Windels
769feac73c
cleanup
2020-11-10 14:02:27 +01:00
Bruno Windels
fd498b3d24
no need to keep track of promise, fn is internally rate-limited now
2020-11-10 14:02:07 +01:00
Bruno Windels
89c66699d7
some Lock refactoring that I didn't end up needing but still useful
2020-11-10 11:04:53 +01:00
Bruno Windels
f13f1cd593
prevent leaking resources in olm worker
2020-11-10 11:04:39 +01:00
Bruno Windels
5f6ad91ff2
offload creating an olm session to the olm worker
...
so IE11 doesn't lock up when you start typing
2020-11-10 11:04:09 +01:00
Bruno Windels
bd5771e449
remove obsolete comment
2020-11-09 17:22:37 +01:00
Bruno Windels
6572377832
move tracking the room to where we need the devices
2020-11-09 16:50:39 +01:00
Bruno Windels
9cfb3c8e95
only check to pre-share new megolm session every minute
2020-11-09 16:50:05 +01:00
Bruno Windels
44a2febce9
hook it up
2020-11-06 23:43:02 +01:00
Bruno Windels
c6ff4c2517
finish room encryption part
2020-11-06 18:56:32 +01:00
Bruno Windels
d0d1f68a9c
WIP
2020-11-06 16:56:12 +01:00
Bruno Windels
5d12aef6db
support pre-sharing room keys in room encryption
2020-11-06 10:32:37 +01:00
Bruno Windels
85ba1676e5
log non-network errors in service worker to diagnose #187
2020-11-05 22:51:21 +01:00