Commit graph

1982 commits

Author SHA1 Message Date
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
f4bb95f459
Merge pull request #299 from vector-im/bwindels/skinning
Basic skinning support
2021-03-25 17:56:04 +00:00
Bruno Windels
2a0045bed7 support override main css file 2021-03-25 18:54:10 +01:00
Bruno Windels
cd615265f8 support overriding imports for customizations 2021-03-25 18:08:47 +01:00
Bruno Windels
c06b9cd886 release v0.1.40 2021-03-25 11:25:45 +01:00
Bruno Windels
2cba223995
Merge pull request #295 from vector-im/bwindels/donthidenotifs
Never close notifs unless clicking them
2021-03-25 10:15:12 +00: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
fb6f31d958
Merge pull request #283 from vector-im/bwindels/pushnotifs
Basic push notification support
2021-03-25 09:31:05 +00: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
73c433ec3d add public key for matrix.org sygnal instance 2021-03-23 18:20:23 +01:00
Bruno Windels
c9642cc98c add notes how to enable push for local dev 2021-03-23 18:20:23 +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
f92f3b2c21 copy push config in build script 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
bddf6ba6ae add example config for locally testing push notifs/service worker 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
2fb255d2ec dot down some notes wrt to push 2021-03-23 18:20:23 +01:00
Bruno Windels
13bf4aadc6 some notes on how SSO should work 2021-03-23 12:32:24 +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
Bruno Windels
65953f5b18
Merge pull request #284 from MidhunSureshR/fix-218
Fix overflowing account chooser label
2021-03-23 10:07:43 +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
5a4afc8f4b some notes wrt to ideas for read receipts 2021-03-18 20:22:02 +01:00
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
eba537a01f
Merge pull request #280 from vector-im/bwindels/template-improvements
Improve ergonomics for sub-templates in TemplateView
2021-03-18 18:52:55 +00: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