Bruno Windels
bfb7f58a3d
add very basic invite view
2021-04-21 17:25:59 +02:00
Bruno Windels
f596b34cac
add very basic join observable map, joining several maps into one
...
will be used to join invites and rooms into one map
2021-04-21 17:25:37 +02:00
Bruno Windels
1d3a2aca0e
add 'get' method to common observable map api
2021-04-21 17:23:49 +02:00
Bruno Windels
0dc796b863
spacing
2021-04-21 15:48:41 +02:00
Bruno Windels
9961d3e4fc
unused code
2021-04-21 15:48:27 +02:00
Bruno Windels
7e2870acef
wire up InviteViewModel in Session/RoomGridViewModel
...
and:
- switch to room once accepted
- close invite if rejected
2021-04-21 15:47:39 +02:00
Bruno Windels
0cc95f5083
first draft of InviteViewModel
2021-04-21 15:45:51 +02:00
Bruno Windels
16f275ca34
make pass-through props smaller
2021-04-21 15:34:35 +02:00
Bruno Windels
a91a584201
not used anymore
2021-04-21 15:33:45 +02:00
Bruno Windels
9c19fa5c63
utility to remove room from path (with our without grid)
...
which will be used when rejecting an invite
2021-04-21 15:33:08 +02:00
Bruno Windels
ad5d7fc9f0
add note collection emit should happen first in Invite
2021-04-21 15:32:37 +02:00
Bruno Windels
a5e6294593
test accepted/rejected fields in invite tests
2021-04-21 15:32:13 +02:00
Bruno Windels
465e0c191f
add logging to accepting or rejecting an invite
2021-04-21 15:31:55 +02:00
Bruno Windels
5ce138539b
network calls to accept and reject invite
2021-04-20 19:02:45 +02:00
Bruno Windels
bb1c64e1ac
add left panel tile view model for invites
...
and track in-progress state in Invite so it is shared by left panel
and open invite
2021-04-20 19:01:40 +02:00
Bruno Windels
ee98eaa640
restore invites when loading the session
2021-04-20 18:09:48 +02:00
Bruno Windels
5876e5200b
don't need this for now
2021-04-20 18:03:27 +02:00
Bruno Windels
4560e0e491
split sync lifecycle steps out in different methods to keep it smaller
2021-04-20 17:57:17 +02:00
Bruno Windels
09ac503e22
add test for removing invite
2021-04-20 17:57:03 +02:00
Bruno Windels
d1dc4c9e9c
remove extra layer of log items
2021-04-20 17:56:53 +02:00
Bruno Windels
a072426e07
integrate invites into the sync lifecycle and expose them on session
2021-04-20 17:39:46 +02:00
Bruno Windels
de125441d1
add write/load test for Invite
2021-04-20 17:34:45 +02:00
Bruno Windels
39c772300a
fix indenting
2021-04-20 16:21:35 +02:00
Bruno Windels
81a35639ba
add Invite class
...
calculating the room name, avatar, etc ...
with empty accept and reject methods for now
2021-04-20 16:21:27 +02:00
Bruno Windels
7c4a6fbe4b
invite store
2021-04-20 13:13:56 +02:00
Bruno Windels
33f1ba686c
add warning when rendering outside of render fn for templates
2021-04-15 15:14:02 +02:00
Bruno Windels
766ce4e217
create AvatarView and renderStaticAvatar (for timeline) and use it
...
in RoomTileView, we make some efforts to only have one update listener
for the entire list, because by default a subview would listen on
the view model
2021-04-15 15:12:14 +02:00
Bruno Windels
c85b2ca3c9
allow manually updating subviews in templates w/ parentProvidesUpdates
2021-04-15 15:11:05 +02:00
Bruno Windels
357ce21678
extract base class from Template view to select update mechanism
2021-04-15 15:09:45 +02:00
Bruno Windels
16fda4dde0
white background for transparent avatar images
2021-04-15 14:59:01 +02:00
Bruno Windels
d414fb6b94
sync can also stop without an error
2021-04-09 19:50:22 +02:00
Bruno Windels
ba38ce7976
use canonical way of check error type
2021-04-09 16:30:53 +02:00
Bruno Windels
b852feeb9c
ConnectionError isn't throw from start, but sets sync.error
2021-04-09 16:28:14 +02:00
Bruno Windels
4b19e3c498
remove unused member
2021-04-09 16:27:25 +02:00
Bruno Windels
606e30fed2
make comment easier to read
2021-04-09 15:24:10 +02:00
Bruno Windels
c604c31032
use external mock for request in timeout tests
2021-04-09 15:16:43 +02:00
Bruno Windels
c36e812360
move RequestWrapper to own file
...
and add tests, improve comments, and and don't use timeout connection
error as that's not what happens if aborted request from service worker
is reported as TypeError either.
2021-04-09 15:15:28 +02:00
Bruno Windels
2b1f4866a9
map unexpected fetch AbortError to ConnectionError, so doesn't stop sync
2021-04-09 14:25:19 +02:00
Bruno Windels
2341748023
add some tests to timeout code
2021-04-09 14:09:48 +02:00
Bruno Windels
e17fb24bd8
also await sharing the key in encrypt
2021-04-09 10:37:55 +02:00
Bruno Windels
13f20cdd26
wait for running key share operation in encrypt
2021-04-09 10:37:43 +02:00
Bruno Windels
bdc8451c4a
better logging
2021-04-08 18:39:52 +02:00
Bruno Windels
9e697c6cbe
don't add the pending event again if removed already, fixes #289
2021-04-08 18:36:26 +02:00
Bruno Windels
f976eeaf13
rename SortedArray.replace to update
2021-04-08 18:36:09 +02:00
Bruno Windels
863f659774
fall back to bare userid for local echo profile
2021-04-08 16:30:46 +02:00
Bruno Windels
813be758d7
we should prefer to not pick the event itself if it's a member event
...
but still fall back to that if it's a new join
2021-04-08 15:33:21 +02:00
Bruno Windels
f67ccc18f4
take most recent member rather than first in timeline for inline lookup
...
noticed this while inspecting the code, looks related to #269
2021-04-08 12:57:10 +02:00
Bruno Windels
6f37c232f7
Don't cache members that haven't been written yet - fixes #271
2021-04-08 12:56:24 +02:00
Bruno Windels
f5db6babf2
forgot to change the type of the hs field, so it still nags
2021-04-08 10:27:50 +02:00
Bruno Windels
ced98d02d5
Merge pull request #318 from vector-im/bwindels/avoid_bogus_notifs
...
opt-out for unread count notifications, which cause bogus notifs
2021-04-07 12:41:28 +00:00
Bruno Windels
141cf95eac
some minor TODOs for template view improvements
2021-04-07 14:38:48 +02:00
Bruno Windels
ca9663d2f5
opt-out for unread count notifications, which cause bogus notifs
2021-04-07 14:37:46 +02:00
Bruno Windels
97030f7ef3
add https to homeserver if not already a valid url
2021-04-01 17:44:55 +02:00
Bruno Windels
1505f2d101
Merge pull request #307 from vector-im/hs/deault-hs-url
...
Allow specifying a custom defaultHomeServer
2021-04-01 13:03:46 +00:00
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