Commit graph

740 commits

Author SHA1 Message Date
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 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 0f8f558889 dispose session container from view model 2020-10-09 17:01:22 +02:00
Bruno Windels 5c2425796c Merge branch 'master' into bwindels/url-routing 2020-10-08 16:33:19 +02:00
Bruno Windels 2cbe349a4d don't read private parts 2020-10-08 14:21:34 +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 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 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 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 5a1d255d2a implement room grid view model 2020-10-07 12:23:02 +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 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 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 c32ac2c764 use decryption result to show message verification status in timeline 2020-09-08 10:50:39 +02:00
Bruno Windels 9870483121 remove room list sorting logging, works well now 2020-08-31 16:22:03 +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 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 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 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 00a85697ab add license header in all source files 2020-08-05 18:38:55 +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 b65da9b8a9 display sync errors in status bar 2020-05-07 00:05:21 +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 d7a8b1616a use t.view for room sub views
also move composer to own vm
2020-05-04 22:23:43 +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 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
Bruno Windels c95981a35d remove unused code 2020-04-20 23:10:33 +02:00
Bruno Windels 31f3886eba move EventEmitter to utils 2020-04-20 21:35:53 +02:00
Bruno Windels 001dbefbcf stop using default exports
because it becomes hard to remember where you used them and where not
2020-04-20 21:26:39 +02:00
Bruno Windels 378b75c98a more WIP and breakage 2020-04-09 23:19:49 +02:00
Bruno Windels e4563135bf look at prev_content when handling member events 2020-03-30 21:59:44 +02:00
Bruno Windels c830f50325 catch errors while persisting a new message 2020-03-30 21:33:04 +02:00
Bruno Windels 6d68ec1bac move fillGap to room 2020-03-21 23:40:40 +01:00
Bruno Windels f729108226 pass emit update fn through setter so we control when tile can update 2020-03-21 14:28:09 +01:00
Bruno Windels a3714f49cc group public methods for a tile together 2020-03-21 14:26:56 +01:00
Bruno Windels 4176af56ea add failing test for problem 2020-03-21 14:22:16 +01:00
Bruno Windels f7f9129b8b show send errors in UI 2019-09-15 12:23:26 +02:00
Bruno Windels 49a577991b login and session picker view models, sessions store 2019-07-31 00:06:53 +02:00
Bruno Windels 7218595c17 only send message if it's non-empty 2019-07-29 19:54:21 +02:00
Bruno Windels 8665bcb897 concat synced events in timeline with pending events for local echo 2019-07-29 19:53:58 +02:00
Bruno Windels e23abe209f fixup: leftover from removing access to events 2019-07-29 19:53:07 +02:00
Bruno Windels 9b94c4bb61 don't expose raw event object from entry, pending event doesn't have it
it only has content and *some* of the meta fields,
but we want to threat pendingevententry and evententry as one
and the same in the rest of the application, so don't give access
to entire event object.
2019-07-29 10:27:12 +02:00
Bruno Windels 56cee450d1 return syncing user id from PendingEventEntry.sender
add User class where we later can track display name, avatar, ...
2019-07-29 10:24:34 +02:00
Bruno Windels 3ed72df620 put everything together to make it roughly work
no local echo yet, and send errors are being swallowed
2019-07-27 10:51:51 +02:00
Bruno Windels fc873fbfa5 more css fixes, and make back button work for compact layout 2019-06-26 23:14:39 +02:00
Bruno Windels 9cd5257959 load more events when scrolled to top 2019-06-16 17:29:33 +02:00
Bruno Windels d34a26f0da store new gap entry on update so we can paginate again 2019-06-16 16:47:56 +02:00
Bruno Windels a1c23f715a always show date for now (but omit year to make it less annoying) 2019-06-16 16:19:26 +02:00
Bruno Windels a09c3e7bed hide sender name if previous message was by same sender 2019-06-16 15:48:54 +02:00
Bruno Windels 4a657b279d apply css from prototype, other small changes, keep scroll at bottom 2019-06-16 15:21:20 +02:00
Bruno Windels 1917a528c7 replace ad hoc buttons and label with SyncStatusBar 2019-06-16 10:54:16 +02:00
Bruno Windels a4bc2dd2b0 support isOwn on messages 2019-06-16 10:53:23 +02:00
Bruno Windels a5a333b71a organize view code in directory like viewmodels 2019-06-16 10:53:01 +02:00
Bruno Windels 64f126ba68 support updates originating from tile, and removing tile on update 2019-06-12 21:57:13 +02:00
Bruno Windels e3b4f898d0 show eventkey in ui for debugging purposes 2019-06-02 18:15:24 +02:00
Bruno Windels a269f612b6 space 2019-06-02 15:46:44 +02:00
Bruno Windels bdad0ad86b fix some gap fill errors 2019-06-02 15:46:24 +02:00
Bruno Windels 674007d892 don't fail when insert first or appending a tile 2019-06-02 15:15:14 +02:00
Bruno Windels e339cb7321 more fixes, timeline is showing again 2019-06-02 14:59:30 +02:00
Bruno Windels a1e527ccbc first round of fixes after running the app again in the browser! 2019-06-02 00:49:47 +02:00
Bruno Windels 210a00d541 first attempt at making UI work again, with tiles and gaps 2019-06-02 00:03:55 +02:00
Bruno Windels b10aa269d2 very quick emote support 2019-06-01 18:32:17 +02:00
Bruno Windels 1b228b0200 export timelineviewmodel from roomviewmodel 2019-06-01 18:29:23 +02:00
Bruno Windels 039bbe038c adjust tiles(collection) to entry changes 2019-06-01 18:29:02 +02:00
Bruno Windels 784588440c WIP for fragment support 2019-05-19 20:49:46 +02:00
Bruno Windels 2cd9c2344e expose timeline loading error in viewmodel 2019-03-09 00:43:43 +01:00
Bruno Windels c8749a1a06 rought impl of tiles collection 2019-03-09 00:40:17 +01:00
Bruno Windels 153d54a285 work on tile view models 2019-03-09 00:40:03 +01:00
Bruno Windels 1f5d488105 draft of timeline tiles support 2019-03-08 20:04:56 +01:00
Bruno Windels 2dbd0fb9dc move view models over to domain 2019-03-08 19:58:54 +01:00