Bruno Windels
3a6268f0c1
basic PoC of image decryption working
...
needs looooaaads of cleanup still
2020-10-23 17:25:11 +02:00
Bruno Windels
f214c53fa9
add @internal and other comments to Session
2020-10-23 12:59:40 +02:00
Bruno Windels
62c8d6574c
fix index.html not being restored from cache when offline on #hash url
2020-10-23 12:58:45 +02:00
Bruno Windels
df8eed14aa
expose whether we already have a 4s key,to show the 4s setup in settings
...
it's a tri-state of null/false/true with null meaning we need to
go online first to know as only then we try to setup session backup
2020-10-23 12:57:47 +02:00
Bruno Windels
df72e829bf
setup session backup as part of start method, so we know we're online
...
also don't upload OTKs in case of existing account until
catchup sync has happened
2020-10-23 12:22:52 +02:00
Bruno Windels
f1aef6c034
render should return nodes otherwise the mapView binding doesn't work
...
this broke e2ee messages appearing when decrypted
2020-10-21 12:10:42 +02:00
Bruno Windels
7459985e00
show storage usage in settings
2020-10-20 17:50:43 +02:00
Bruno Windels
545a2e481a
prevent cached thumbnails from being opaque responses
...
fixes https://github.com/vector-im/hydrogen-web/issues/169
2020-10-20 17:28:42 +02:00
Bruno Windels
a7a922680d
request persisted storage when logging in/restoring a session
2020-10-20 17:02:34 +02:00
Bruno Windels
2b93d50396
dont crash when value is undefined
2020-10-20 16:51:51 +02:00
Bruno Windels
4dd303e558
remove unused code
2020-10-20 15:29:36 +02:00
Bruno Windels
1e1b254678
adjust prop names
2020-10-20 15:26:22 +02:00
Bruno Windels
601bdbb25d
make session backup banner dismissable
2020-10-20 14:42:17 +02:00
Bruno Windels
446d30469b
improve wording and cleanup
2020-10-20 12:12:07 +02:00
Bruno Windels
98d7ffe87c
add button to set up field
2020-10-20 12:11:58 +02:00
Bruno Windels
16e0f515dc
make text not sprawl across screen on large monitors
2020-10-20 12:10:56 +02:00
Bruno Windels
6f09bd97b6
move setting view models in own dir / file
2020-10-20 12:10:41 +02:00
Bruno Windels
6f82d81f39
better session backup ui
2020-10-19 18:29:13 +02:00
Bruno Windels
d3b7d176b8
extract SettingsView into own file
...
also fix some copyright attributions
2020-10-19 14:55:01 +02:00
Bruno Windels
1fe3f646dc
further style settings page
2020-10-19 14:53:05 +02:00
Bruno Windels
d8f8342a10
make middle panel responsive styling + hide back b. + header css generic
2020-10-19 14:52:18 +02:00
Bruno Windels
1e599be142
Merge branch 'master' into bwindels/settings-screen
2020-10-19 13:45:17 +02:00
Bruno Windels
6bf8e976cb
don't assign timelineVM before loaded, so prop doesn't return it
...
... if the binding happens to be evaluating (which it was during mount)
follow-up from bwindels/fix-crash-switch-rooms-too-fast
2020-10-19 13:39:19 +02:00
Bruno Windels
f07b4a6554
Merge pull request #167 from vector-im/bwindels/fix-redirects
...
Fix back button not working when changing rooms
2020-10-19 11:01:07 +00:00
Bruno Windels
cdcdc07c06
fix a crash when switching rooms before the messages have loaded
...
as we were not disposing the timeline view model
(but still not leaking though)
2020-10-19 12:57:21 +02:00
Bruno Windels
8357260133
fix an applying an url also pushing a copy of the url back on history
...
it should replace instead, as it is a redirect
2020-10-19 12:55:42 +02:00
Bruno Windels
fb273782bf
use handleEvent in History so we don't have to bind
2020-10-19 12:55:10 +02:00
Bruno Windels
3e34ccb7e1
rename, I think, last occurrence of brawl to hydrogen 👋
2020-10-19 12:52:57 +02:00
Bruno Windels
db102e63d2
Merge branch 'master' into bwindels/settings-screen
2020-10-19 10:13:41 +02:00
Bruno Windels
90910dae15
render multiline messages with br's
2020-10-19 10:00:32 +02:00
Bruno Windels
4828e141c9
add br tag to html template
2020-10-19 10:00:18 +02:00
Bruno Windels
efe6956a79
support render method and value in StaticView
2020-10-19 09:59:56 +02:00
Bruno Windels
974f77a71d
WIP
2020-10-16 18:06:20 +02:00
Bruno Windels
90435a8fb7
semicolons, add them
2020-10-16 15:48:49 +02:00
Bruno Windels
e599d8b6fa
also clear
2020-10-16 15:47:13 +02:00
Bruno Windels
74e6d018f4
ensure url creation does not race on the current path of the navigation
2020-10-16 15:46:06 +02:00
Bruno Windels
0ca926d427
claim clients immediately from service worker
2020-10-16 14:52:34 +02:00
Bruno Windels
743cdd0bea
safari is tooo fast and skips it when it shouldn't
...
also, I've never had the registration fail, seems very unlikely
2020-10-16 13:26:19 +02:00
Bruno Windels
c125335ef0
undo debug squibels
2020-10-16 13:03:16 +02:00
Bruno Windels
5a30855227
rename urlRouter option in view models to urlCreator
2020-10-16 13:02:21 +02:00
Bruno Windels
0d622164df
close session db in other tabs when opening
2020-10-16 12:50:37 +02:00
Bruno Windels
fc61729cb3
support closing session in other clients in service worker
2020-10-16 12:50:19 +02:00
Bruno Windels
101c7015f2
move service worker code in bundle, and support closing sessions
2020-10-16 12:49:42 +02:00
Bruno Windels
788bce7904
reduce navigation boilerplate
...
this makes the url router adjust the url when the navigation path is
changed, instead of doing urlRouter.applyUrl() and
urlRouter.history.pushUrl().
This history field and applyUrl method on URLRouter are now private,
as the URLRouter should only be used to generate urls you want to
put in an <a href="..."></a>, anything else should use navigator.push()
2020-10-16 12:46:14 +02:00
Bruno Windels
ddf7d01760
WIP working
2020-10-15 21:35:10 +02:00
Bruno Windels
3aa1992a3f
WIP of messaging to sw
2020-10-15 19:12:16 +02:00
Bruno Windels
6b15e7e3ba
remove extra newline
2020-10-15 15:58:59 +02:00
Bruno Windels
5fcf8022a1
store the url on every change, as PWAs don't trigger beforeunload ...
...
... when (force) closed
2020-10-14 15:30:40 +02:00
Bruno Windels
3d8dfc9635
also show grid layout in mobile layout, just in case of restoring url
2020-10-14 15:29:51 +02:00
Bruno Windels
7c2fc516bb
restore last url if not providing a specific one on startup
2020-10-14 15:10:32 +02:00
Bruno Windels
19e774ce01
don't assume grid button is a button, just in case
2020-10-14 14:54:56 +02:00
Bruno Windels
4f46854362
add close session button
2020-10-14 14:54:46 +02:00
Bruno Windels
d96f8adcc7
fix back button in room header not working
2020-10-14 14:53:52 +02:00
Bruno Windels
cf99f55f3d
fix typo making the room list not shown on the mobile layout
2020-10-14 14:20:53 +02:00
Bruno Windels
fd1df595c8
remove leftover logging
2020-10-14 14:06:11 +02:00
Bruno Windels
8122d76e73
Merge branch 'master' into bwindels/url-routing
2020-10-14 12:45:49 +02:00
Bruno Windels
b00db1af3e
only keep 20 outbound olm sessions in memory at once to prevent OOM
2020-10-14 12:44:27 +02:00
Bruno Windels
07701117cd
reduce megolm sync cache size to 1 session
...
as this is kept around for every e2ee room, and we only have
limited olm memory
2020-10-14 12:43:35 +02:00
Bruno Windels
6ad7be8726
fix leaking left panel view model after closing session
2020-10-14 11:34:34 +02:00
Bruno Windels
de83d7740b
replace custom error view with staticview
2020-10-14 11:26:39 +02:00
Bruno Windels
fa8bec0b56
fix room view model being leaked when closing session
2020-10-14 11:26:10 +02:00
Bruno Windels
b29b776e9f
fix olm session cache being leaked when closing session
2020-10-14 11:25:49 +02:00
Bruno Windels
789a41c671
fix styling for session info entries
2020-10-14 10:34:25 +02:00
Bruno Windels
692fa808e4
make utility buttons also useable for links
2020-10-14 10:34:11 +02:00
Bruno Windels
7e477b3c8d
rename button.styled to .button-action so it can also be used for links
2020-10-14 10:33:48 +02:00
Bruno Windels
5fe479e8a9
fix styling for room list items
2020-10-14 10:20:20 +02:00
Bruno Windels
3d327b0875
also open the initial room in the room list
2020-10-14 10:20:00 +02:00
Bruno Windels
2333a959a2
actually apply the /session/<id> url after login!
2020-10-13 17:10:28 +02:00
Bruno Windels
ab354e9f38
update prop type
2020-10-13 15:19:54 +02:00
Bruno Windels
afbfb0c82c
anticipate non-found rooms
2020-10-13 15:18:13 +02:00
Bruno Windels
081820d8fb
also update view when going to an not-found room
2020-10-13 15:14:07 +02:00
Bruno Windels
a14795e3f8
unused
2020-10-13 15:05:11 +02:00
Bruno Windels
d1d675ed7a
make navigation observables already return new value before they emit
2020-10-13 14:54:57 +02:00
Bruno Windels
7f3e0f237b
also do redirect after initial navigation
2020-10-13 14:43:45 +02:00
Bruno Windels
1780f334ea
more tests
2020-10-13 13:13:47 +02:00
Bruno Windels
d9c8a6339e
support empty strings for rooms segment
2020-10-13 13:13:35 +02:00
Bruno Windels
7b13e45e19
fix creating the rooms segment
2020-10-13 13:13:15 +02:00
Bruno Windels
a360d0a2b9
also unset room vm if moving away from room
2020-10-13 13:12:49 +02:00
Bruno Windels
379d65edf1
also create new vm when coming for grid if transfering vm fails
2020-10-13 13:12:30 +02:00
Bruno Windels
77a58041eb
clean-up room grid initialization with vm transfering
...
also handle duplicate rooms, and add unit tests for grid vm
2020-10-13 13:11:19 +02:00
Bruno Windels
c8dd7b42e7
encountered this very unlikely race while testing, so prevent it
2020-10-13 13:10:35 +02:00
Bruno Windels
db5c98a706
support reassigning to null from untrack
2020-10-13 13:10:27 +02:00
Bruno Windels
4e8e9eae26
first round of fixes
2020-10-12 18:31:55 +02:00
Bruno Windels
14d2dcbc60
remove dead code
2020-10-12 17:49:41 +02:00
Bruno Windels
b2d6b7014b
first draft of url navigation for grid
2020-10-12 17:49:06 +02:00
Bruno Windels
6c2c29a7da
WIP
2020-10-09 19:43:11 +02:00
Bruno Windels
83ac3eccc5
apply url changes to view gallery
2020-10-09 17:04:25 +02:00
Bruno Windels
56e51fc2aa
idea comment
2020-10-09 17:04:17 +02:00
Bruno Windels
927e8134d3
use url navigation in root view model
...
also track all view models as it is
important everything is properly disposed now
2020-10-09 17:03:38 +02:00
Bruno Windels
33627edcb3
use url to go back in login view
2020-10-09 17:03:24 +02:00
Bruno Windels
35e85c55e0
use urls instead of callbacks to navigate in session picker
2020-10-09 17:03:13 +02:00
Bruno Windels
7b86b483ed
confirm before clearing
2020-10-09 17:02:19 +02:00
Bruno Windels
3ab68ef438
throw when something tracked is not disposable, fail early
2020-10-09 17:01:54 +02:00
Bruno Windels
1289f065d6
implement root view as template view
2020-10-09 17:01:39 +02:00
Bruno Windels
0f8f558889
dispose session container from view model
2020-10-09 17:01:22 +02:00
Bruno Windels
d48bbd122a
make applyUrl and history public
...
so we don't need to bother with silent flags in replaceUrl
2020-10-09 17:00:19 +02:00
Bruno Windels
35b83b7976
make SessionLoadViewModel transfer ownership of container with callback
...
also, deleting the session when navigating away is now done by
LoginViewModel
2020-10-09 16:59:34 +02:00
Bruno Windels
4ae622bdd3
make pushUrl silent again
2020-10-09 16:58:53 +02:00
Bruno Windels
41c1c9a6c3
rename Brawl -> Root
...
one of the last occurrences of brawl
2020-10-09 09:59:59 +02:00
Bruno Windels
c9bb18b87e
make loading screen a bit prettier
...
by wrapping it in a view with common pre-session chrome
this renames the existing SessionLoadView to SessionLoadStatusView
so we can call the wrapper the former.
2020-10-09 09:58:00 +02:00
Bruno Windels
696e7856f8
some cleanup
2020-10-09 09:56:01 +02:00
Bruno Windels
da9798979c
Merge branch 'master' into bwindels/url-routing
2020-10-09 09:30:38 +02:00
Bruno Windels
24690f8035
fix placeholder not being hidden in mobile layout
2020-10-09 09:30:06 +02:00
Bruno Windels
0d54f88670
early draft of showing load progress of a session loaded through url
2020-10-08 18:23:53 +02:00
Bruno Windels
00bd4364f0
early draft of loading session via url scheme
2020-10-08 18:23:37 +02:00
Bruno Windels
087aff4ef4
set to true if undefined passed in as well
2020-10-08 18:23:08 +02:00
Bruno Windels
4fe971775c
more url router work, differentiate between path and url
...
rename hashobservable to history
2020-10-08 18:22:36 +02:00
Bruno Windels
547241f577
Merge branch 'master' into bwindels/url-routing
2020-10-08 16:42:14 +02:00
Bruno Windels
ca0f8fd142
leave some space between room list tile and edge
2020-10-08 16:37:24 +02:00
Bruno Windels
5c2425796c
Merge branch 'master' into bwindels/url-routing
2020-10-08 16:33:19 +02:00
Bruno Windels
cb0ef1a1ae
this makes the caret huge on gnome web
2020-10-08 16:29:38 +02:00
Bruno Windels
35832e387a
Swap grid tile description based on focus
...
swap RoomPlaceholderView for generic StaticView
2020-10-08 16:14:59 +02:00
Bruno Windels
93e301e4fa
fix spinner margins
2020-10-08 15:53:12 +02:00
Bruno Windels
4783e03871
fix room header margin issue with hidden back button
2020-10-08 15:21:16 +02:00
Bruno Windels
868b1a1045
style composer
2020-10-08 15:20:52 +02:00
Bruno Windels
59802d1812
style room header
2020-10-08 15:00:20 +02:00
Bruno Windels
2cbe349a4d
don't read private parts
2020-10-08 14:21:34 +02:00
Bruno Windels
5c299c1db9
remove prefixes now we auto prefix
2020-10-08 14:18:48 +02:00
Bruno Windels
47a43869e6
fix grid layout in IE 11
...
this brings back index addressing rather than x y in the grid vm,
as we need to have a css class for every position for IE 11,
as we can't use css variables and autoprefixer can
translate grid-areas
2020-10-08 14:17:43 +02:00
Bruno Windels
c4cfb6f6d1
align left panel to 4px grid better, and simply margins
2020-10-08 10:29:30 +02:00
Bruno Windels
fd4b3d238f
increase click area of clear filter button, add search icon
2020-10-08 10:13:05 +02:00
Bruno Windels
c2eebb9af2
prevent filter field and composer breaking narrow layouts
2020-10-08 10:11:12 +02:00
Bruno Windels
e80f37603b
prevent breaking narrow layouts with inputs
2020-10-08 10:10:39 +02:00
Bruno Windels
26112fe3de
update grid icons
2020-10-08 10:10:03 +02:00
Bruno Windels
dafa995429
placeholder does not count as room shown
2020-10-07 18:00:07 +02:00
Bruno Windels
b79b41adcd
keep focused class
2020-10-07 17:59:58 +02:00
Bruno Windels
c80c369c42
prevent grid item from growing to max content height
2020-10-07 17:59:40 +02:00
Bruno Windels
bd959bc147
style grid button
2020-10-07 17:59:28 +02:00
Bruno Windels
ddda03d82c
style filter field and grid button
2020-10-07 17:59:14 +02:00
Bruno Windels
61b5369f2f
also show status view a bit lower for grid
2020-10-07 14:53:41 +02:00
Bruno Windels
f6d9ffa7bb
friends don't read each others private properties
2020-10-07 14:36:08 +02:00
Bruno Windels
46b24c3f24
fix room not changing when not in grid view
2020-10-07 14:32:57 +02:00
Bruno Windels
537972b97b
clarify comment
2020-10-07 14:25:32 +02:00
Bruno Windels
de14d6b54b
fix filter field taking up too much width
2020-10-07 14:22:14 +02:00
Bruno Windels
152a83f75f
css for the grid view
2020-10-07 14:22:00 +02:00
Bruno Windels
99ff387dec
index the room by x,y instead of index from the view
...
so it is easier to implement a focus-ring as a separate dom node
2020-10-07 14:18:35 +02:00
Bruno Windels
b9d2da736a
when opening room, focus in grid if already open
2020-10-07 13:18:19 +02:00
Bruno Windels
1ff6d36ec3
add grid toggle button to left panel
2020-10-07 12:31:52 +02:00
Bruno Windels
7955462dda
render grid view in session view
2020-10-07 12:31:24 +02:00
Bruno Windels
dc1357bb31
support clearing unread when focusing a room
2020-10-07 12:30:46 +02:00
Bruno Windels
614ec08238
integrate grid vm with session vm, allowing to switch
2020-10-07 12:25:40 +02:00
Bruno Windels
9cc7833d7a
implement room grid view
2020-10-07 12:24:44 +02:00
Bruno Windels
5a1d255d2a
implement room grid view model
2020-10-07 12:23:02 +02:00
Bruno Windels
01ff806b86
WIP
2020-10-07 09:40:51 +02:00
Bruno Windels
404de53c75
basic url router and navigation bootstrapping
2020-10-06 18:06:11 +02:00
Bruno Windels
b373a177ec
create room url in room tile
2020-10-06 18:05:52 +02:00
Bruno Windels
221b94adbf
room tile should be passed child options
2020-10-06 18:05:38 +02:00
Bruno Windels
5ab947e7de
pass urlRouter and navigation as view model options
2020-10-06 18:05:02 +02:00
Bruno Windels
514095da7a
move waitFor and get to BaseObservableValue
2020-10-06 18:04:34 +02:00
Bruno Windels
b8dcb249ff
implement url router
2020-10-06 18:03:12 +02:00
Bruno Windels
ef428809b5
implement navigation stack
2020-10-06 18:01:56 +02:00
Bruno Windels
1de645a990
give filter field a bit more space
2020-10-06 13:32:27 +02:00
Bruno Windels
e878b5786e
fix room view not showing anymore on narrow viewports
2020-10-06 13:31:23 +02:00
Bruno Windels
a7db44eabf
Merge pull request #138 from vector-im/bwindels/filter-room-list
...
Room list filtering
2020-10-06 11:08:39 +00:00
Bruno Windels
b1cb797919
fix refactor error in xhr, breaking it
2020-10-06 13:02:35 +02:00
Bruno Windels
0d6fe32f30
clear filter on esc
2020-10-06 12:43:31 +02:00
Bruno Windels
ddbe3305c8
fix filter field height
2020-10-06 12:34:13 +02:00
Bruno Windels
2fe6f4b769
clean up SessionView by making it a TemplateView
2020-10-06 12:23:17 +02:00
Bruno Windels
cac3daca72
add LeftPanelView(Model) with room filtering
2020-10-06 12:23:11 +02:00
Bruno Windels
c8125595a7
render hidden flag
2020-10-06 12:21:42 +02:00
Bruno Windels
c532cb5aea
add hidden flag to room tile vm
...
also move to leftpanel dir
2020-10-06 12:21:11 +02:00
Bruno Windels
e3fdd3a4fd
ApplyMap, your observable map collection for applying side-effects
2020-10-06 12:20:28 +02:00
Bruno Windels
9a3734e5ba
this is a NOP, but in the future might not be
2020-10-06 12:20:03 +02:00
Bruno Windels
7def542e21
fix test
2020-10-06 12:19:47 +02:00
Bruno Windels
84425fad5c
more work on FilteredMap (not done yet though)
...
I ended up not using this, but at some point we'll need it,
so commit this work
2020-10-06 12:19:08 +02:00
Bruno Windels
943467cf67
actually implemented filtered map
2020-10-05 18:18:44 +02:00
Bruno Windels
5ae1be9a9c
ignore invalid json on error pages
2020-10-05 17:18:05 +02:00
Bruno Windels
c8e4dbc1b3
this should be a map
2020-10-05 17:06:29 +02:00
Bruno Windels
b2e6310775
re-focus composer when clicking send button
2020-10-05 17:03:46 +02:00
Bruno Windels
a04a6a83be
fix composer not being visible on mobile
2020-10-05 17:03:32 +02:00
Bruno Windels
8f5d678698
cache small media repo thumbnails in service worker
2020-10-05 15:58:29 +02:00
Bruno Windels
6a8c0b52e0
indenting
2020-10-05 15:10:06 +02:00
Bruno Windels
8dc2816d6e
keep hashed files in cache as long as they don't change
2020-10-02 19:54:24 +02:00
Bruno Windels
e93b091566
dont use no-cache in fetch, as it doesn't play well with CORS on Safari
2020-10-02 14:02:59 +02:00
Bruno Windels
07eee8fac1
only create fragments when we will really write events to the timeline store
2020-10-01 17:01:33 +02:00
Bruno Windels
bebdaad7d4
log when we can't abort
2020-10-01 16:23:15 +02:00
Bruno Windels
c1df371a14
add some documentation for our idb investigations
2020-10-01 16:14:58 +02:00
Bruno Windels
9a4d47820d
change this back as well
2020-10-01 14:46:30 +02:00
Bruno Windels
cb7da2ba4a
dont need this anymore
2020-10-01 14:45:09 +02:00
Bruno Windels
f402e8c6c4
typo/thinko in docs
2020-10-01 14:39:23 +02:00
Bruno Windels
300529b7c5
write sync token first
...
in case we get a TransactionInactiveError,
we have at least written the sync token
and won't repeat the same sync request
2020-10-01 14:38:54 +02:00
Bruno Windels
1117c77d05
note for future optimisation
2020-10-01 14:36:00 +02:00
Bruno Windels
d5a6a4d350
todo comment
2020-10-01 14:35:46 +02:00
Bruno Windels
3c7125bb88
add (optional) logging for idb requests
2020-10-01 14:35:33 +02:00
Bruno Windels
93a7f9959e
Safari doesn't like the prepare txn still open when opening the sync txn
...
Waiting for it to close magically solves the TransactionInactiveError
we were seeing on some incremental sync request when
reading from roomMembers.
Still unsure what this is about, and if we should wait for all read txns
to close or not.
2020-10-01 14:31:38 +02:00
Bruno Windels
ddb14f48bf
we actually don't need to track write requests
...
as errors will bubble up to the txn
2020-10-01 14:31:08 +02:00
Bruno Windels
d5a52c32d6
these don't return a promise anymore
2020-09-29 11:51:14 +02:00
Bruno Windels
37690cffe3
track storage write requests internally, as we never await their promise
2020-09-29 11:50:37 +02:00
Bruno Windels
482b5f4d22
allow passing message to IDBRequestError
2020-09-29 11:50:10 +02:00
Bruno Windels
43d430fc98
remove unused storage modification functions
2020-09-29 11:47:49 +02:00
Bruno Windels
f993048a2b
Merge branch 'master' into bwindels/idb-promises-txn
2020-09-29 11:33:58 +02:00
Bruno Windels
e5b1cbbcd3
prevent endless loop when restoring messages that were already sent
2020-09-29 11:32:49 +02:00
Bruno Windels
7627a2bda2
add comment
2020-09-29 10:53:02 +02:00
Bruno Windels
163ca12854
ignore abort error
2020-09-29 10:52:52 +02:00
Bruno Windels
919357b474
more broken imports after refactor
2020-09-29 09:57:48 +02:00
Bruno Windels
c529df179b
also import this
2020-09-29 09:56:46 +02:00
Bruno Windels
c1ecaffbae
fix refactor typo
2020-09-29 09:54:51 +02:00
Bruno Windels
07fcf7e75b
also do this in try catch
2020-09-29 09:43:25 +02:00
Bruno Windels
4d23529b68
set promise polyfill before others
...
just in case
2020-09-29 09:42:43 +02:00
Bruno Windels
b1f9cfd972
cleanup storage errors a bit
2020-09-29 09:17:03 +02:00