Commit graph

212 commits

Author SHA1 Message Date
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 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 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 cac3daca72 add LeftPanelView(Model) with room filtering 2020-10-06 12:23:11 +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 3359d49161 off both passphrase and security key options 2020-09-21 19:19:55 +02:00
Bruno Windels 1d33ab20a5 fix decrypted tiles not corresponding to a tile 2020-09-18 13:36:16 +02:00
Bruno Windels ed913ca24b add dispose to room encryption 2020-09-18 13:08:18 +02:00
Bruno Windels 2de406afa0 log secret storage error as well 2020-09-18 12:12:19 +02:00
Bruno Windels 6375574a56 show error 2020-09-17 18:59:40 +02:00
Bruno Windels 5b45c00322 switch to security key 2020-09-17 18:55:28 +02:00
Bruno Windels fe5b732c97 cleanup, better copy text 2020-09-17 18:54:55 +02:00
Bruno Windels 494c5cbcf0 notify UI when we need session backup 2020-09-17 18:00:00 +02:00
Bruno Windels a11b612640 await this 2020-09-14 17:45:02 +02:00
Bruno Windels b2e6e8687e dispose tiles
also add more defence against emitting event when disposed
2020-09-14 17:44:37 +02:00
Bruno Windels 9ea961ae53 don't crash when we don't have a subscription anymore 2020-09-14 17:43:06 +02:00
Bruno Windels 8555fd5f18 a little extra caution 2020-09-14 15:47:00 +02:00
Bruno Windels aa5d55bbf2 show when e2ee is enabled in timeline 2020-09-14 15:47:00 +02:00
Bruno Windels 8c4d68def9 show decryption errors in timeline 2020-09-14 15:47:00 +02:00
Bruno Windels 4875095ea3 fix event tiles not updating when event is decrypted when room keys come 2020-09-11 17:47:35 +02:00
Bruno Windels 0dece5b04f make continuation logic work well with pending events
- don't use display name to compare but user id
   (pending doesn't have display name yet)
 - use current time as timestamp
2020-09-11 11:43:40 +02:00
Bruno Windels 843e3e6b1c show encrypted status of room 2020-09-11 11:35:53 +02:00
Bruno Windels de1cc0d739 abort decrypt requests when changing room 2020-09-10 17:43:01 +02:00
Bruno Windels 0bf1723d99 Worker WIP 2020-09-10 15:40:30 +01:00
Bruno Windels fdbc5f3c1d WIP worker work 2020-09-10 13:00:11 +02:00
Bruno Windels f8e3a75471 fix typo 2020-09-09 10:22:29 +02:00
Bruno Windels 4c1aaaf416 show "setting up encryption keys..." step during login 2020-09-08 17:16:34 +02:00
Bruno Windels c32ac2c764 use decryption result to show message verification status in timeline 2020-09-08 10:50:39 +02:00
Bruno Windels 5a12904cc3 log errors during session load 2020-09-02 14:54:57 +02:00
Bruno Windels cfa011a317 remove room list sorting logging, works well now 2020-08-31 16:21:12 +02:00
Bruno Windels 6a9cbf7f33 store and sort by m.lowpriority tag 2020-08-27 20:52:51 +02:00
Bruno Windels 05821b0fdf use same check for timestamp validity as timestamp can be undefined sometimes 2020-08-27 12:42:38 +02:00
Bruno Windels 1a6931129b log as info 2020-08-27 10:50:30 +02:00
Bruno Windels 9e891c3442 log actual timestamps as well
so we can see if they are anything but null or a number
2020-08-27 10:48:12 +02:00
Bruno Windels 4b682ad930 use the same check when seeing if either does not have a timestamp 2020-08-27 10:45:20 +02:00
Bruno Windels 41a7448c74 add logging for room list sorting 2020-08-27 10:40:49 +02:00
Bruno Windels 59443e6602 close the room tile view model as well when closing a room so it does not stay selected 2020-08-27 10:07:47 +02:00
Bruno Windels b39c15d88d Room.name can actually return null now
so protect against this, and fall back to "Empty Room"
2020-08-21 18:14:32 +02:00
Bruno Windels f551010968 render badge on room 2020-08-21 15:50:47 +02:00
Bruno Windels 5837aed346 remove obsolete comment 2020-08-21 14:27:16 +02:00
Bruno Windels 00e20d2088 take null timestamps into account 2020-08-21 14:11:26 +02:00
Bruno Windels 5d1bc61f61 don't open a room when already open 2020-08-21 13:45:55 +02:00
Bruno Windels eae5bc4230 sort unread rooms first, then on last message timestamp, then alphabet. 2020-08-21 11:58:05 +02:00
Bruno Windels dbf5e59d87 clear unread state 2s after opening the room 2020-08-21 11:57:49 +02:00
Bruno Windels 89392434ad render unread rooms as bold 2020-08-21 11:57:38 +02:00
Bruno Windels f0d0dbb30f fix member event reporting 2020-08-20 17:43:51 +02:00
Bruno Windels 4fefe94302 render avatar in room header 2020-08-20 17:33:08 +02:00
Bruno Windels 00718c582a render avatar img in room list 2020-08-20 17:32:55 +02:00
Bruno Windels cff39019cb extract renderAvatar
and use avatarTitle instead of sender for img title
2020-08-20 17:32:18 +02:00
Bruno Windels 59bdd2b015 render avatar on message tiles 2020-08-20 16:03:52 +02:00
Bruno Windels 5d0ee21267 move mxcUrl functions to media repo class 2020-08-20 15:40:43 +02:00
Bruno Windels 843f4fa0f7 fix flood issue when back-filling isn't available 2020-08-20 15:28:22 +02:00
Bruno Windels 036b305c96 use display name for room name change tiles 2020-08-20 15:24:16 +02:00
Bruno Windels d31a1b5fff render display name in timeline 2020-08-20 10:26:28 +02:00
Bruno Windels 9ff4f3839c Merge branch 'master' into bwindels/memberlist 2020-08-19 12:13:38 +02:00
Bruno Windels 2526198251 replace usage of readPath with ?. 2020-08-19 11:36:43 +02:00
Bruno Windels 614a00b741 don't continue messages from more than 5min ago 2020-08-19 10:28:09 +02:00
Bruno Windels fad728069a don't show date & time on pending events 2020-08-19 10:27:27 +02:00
Bruno Windels 1c779cf95c render encrypted tiles as such so we don't fetch the whole history 2020-08-17 17:41:57 +02:00
Bruno Windels 0b1d9bf25e unused now 2020-08-17 17:41:49 +02:00
Bruno Windels 37597e2acb mark fragment in storage when start of timeline is reached
so we don't keep looping to fetch more messages
when scrolled all the way up
2020-08-17 17:41:10 +02:00
Bruno Windels 08de7c3569 loading screen while loading timeline
so we can set timelineVM directly to TimelineList
2020-08-17 16:34:25 +02:00
Bruno Windels 1e4f331989 fill top gap instead of loading more events from storage 2020-08-17 15:13:12 +02:00
Bruno Windels cf0af775e3 make SimpleTile inherit from ViewModel
to use same update mechanism and have viewmodel infra available for tile
2020-08-17 15:11:39 +02:00
Bruno Windels 9745c58144 use readPath in ImageTile 2020-08-17 14:20:54 +02:00
Bruno Windels 0d3ab21044
Merge pull request #19 from vector-im/bwindels/small-bits
Various small bits
2020-08-17 12:15:28 +00:00
Bruno Windels b5e7131050 only use 1 letter for avatar initial 2020-08-17 10:47:47 +02:00
Bruno Windels 404e6f8b87 make alphabetical sort order stable 2020-08-17 10:47:27 +02:00
Bruno Windels 70e6515b5c dont crash on m.image without url 2020-08-17 10:29:29 +02:00
Bruno Windels c12ecd6cc1 style session picker 2020-08-14 14:49:15 +02:00
Bruno Windels 19e5d310e0 move avatar one level lower because we'll need it in the session picker 2020-08-14 14:33:13 +02:00
Bruno Windels 61801ee2cd add send button to composer 2020-08-13 18:10:45 +02:00
Bruno Windels 44cc691c79 add avatar and sender user colors 2020-08-13 12:41:00 +02:00
Bruno Windels 5aacf85166 mark room tile as active when clicked 2020-08-12 17:40:41 +02:00
Bruno Windels 7f50e3d137 allow overriding the "emit change" mechanism in ViewModel
so view models that should send updates through their collection
can still use the same "emitChange" method on ViewModel
2020-08-12 17:39:11 +02:00
Bruno Windels 00a85697ab add license header in all source files 2020-08-05 18:38:55 +02:00
Bruno Windels f5d3092031 WIP 2020-06-26 23:26:24 +02:00
Bruno Windels e2c8b5e595 pass vm field to emitChange 2020-06-24 22:43:29 +02:00
Bruno Windels 2b17d0f691 spell height correctly 2020-05-09 21:21:55 +02:00
Bruno Windels 7f221cda65 show images intimeline 2020-05-09 20:02:08 +02:00
Bruno Windels c55a197303 pass options to parent in LoginViewModel 2020-05-07 19:17:15 +02:00
Bruno Windels b65da9b8a9 display sync errors in status bar 2020-05-07 00:05:21 +02:00
Bruno Windels 06fc3101e8 make login view enabled again if load view is not busy anymore 2020-05-06 23:44:52 +02:00
Bruno Windels c4b17e4be6 cleanup SessionViewModel, use ViewModel dispose infrastructure 2020-05-05 23:17:27 +02:00
Bruno Windels 3adc609e07 implement session status bar, with feedback on connection status 2020-05-05 23:16:51 +02:00
Bruno Windels b0e59c30dd correctly pass options to ViewModel ctor 2020-05-05 23:14:58 +02:00
Bruno Windels d7a8b1616a use t.view for room sub views
also move composer to own vm
2020-05-04 22:23:43 +02:00
Bruno Windels 1fa14a99e9 correctly wait for catchup sync 2020-05-04 19:38:23 +02:00
Bruno Windels cc87e35f23 use ViewModel super class for all view models that need binding 2020-05-04 19:23:11 +02:00
Bruno Windels d3f7fb5089 prototype how i18n would look like 2020-04-30 18:27:59 +02:00
Bruno Windels 8bde627cdb more WIP 2020-04-29 10:10:20 +02:00
Bruno Windels 657ec9aa62 move loading view state to own view model, so we're more free how to show it, and we can better reuse it 2020-04-23 09:06:04 +02:00
Bruno Windels acc511e69f extract loading into a sub viewmodel
to show the loading in a separate view
2020-04-22 21:53:55 +02:00
Bruno Windels b2954fd774 extract loadLabel logic to reuse in SessionPickerViewModel 2020-04-22 21:53:37 +02:00
Bruno Windels 0424ffe231 disable this for now as sync is not an EventEmitter anymore 2020-04-22 20:53:57 +02:00
Bruno Windels 449262e3c1 adjust ctor of SessionViewModel to accept sessionContainer now 2020-04-22 20:52:56 +02:00