Bruno Windels
eee1be1ceb
safari doesn't like empty string key paths 🙄
2021-06-24 16:16:15 +02:00
Bruno Windels
bb6417dab9
fix lint
2021-06-24 15:24:53 +02:00
Bruno Windels
5984e8dd6d
don't show reactions for redacted messages
2021-06-24 14:49:43 +02:00
Bruno Windels
787308375c
prevent toggling in vm while already busy
...
otherwise the check in SendQueue to prevent duplicates might fail
2021-06-24 14:33:16 +02:00
Bruno Windels
575f3fa966
fix tests
2021-06-24 14:28:10 +02:00
Bruno Windels
299294daff
prevent re(d)action in left/kicked room
2021-06-24 14:24:22 +02:00
Bruno Windels
3fa0f234bb
not used
2021-06-24 14:12:55 +02:00
Bruno Windels
20ae21ead5
add some more emoji fonts that might be install by default
2021-06-24 14:12:41 +02:00
Bruno Windels
366d3761b8
remove waiting for update event (it might not come in case of dupe)
...
also remove duplicate logging impl for re(d)action at cost of
double haveAnnotation call
2021-06-24 13:35:59 +02:00
Bruno Windels
b148368d5b
test different keys do work still
2021-06-24 13:29:13 +02:00
Bruno Windels
7557e2f437
not used
2021-06-24 13:26:14 +02:00
Bruno Windels
668c0aff36
drop duplicate reactions in send queue, as last measure of defence
2021-06-24 13:25:58 +02:00
Bruno Windels
38b465cb9d
rename vm.toggleReaction to vm.toggle
2021-06-24 13:15:20 +02:00
Bruno Windels
c46c330efb
prevent duplicate redactions from distorting reaction local echo
2021-06-24 13:14:54 +02:00
Bruno Windels
061f44f475
extract methods here
2021-06-24 12:56:23 +02:00
Bruno Windels
a4a7c23148
use pending re(d)action timestamp to have stable reaction sorting order
...
also move more logic into the matrix layer, from Reaction(s)ViewModel
to PendingAnnotation
2021-06-24 12:26:38 +02:00
RMidhunSuresh
eb35f46214
Make sure room does exist before creating vm
...
- This will stop the code from throwing when opening /details on
UnknownRoomView.
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-24 14:58:02 +05:30
RMidhunSuresh
a273b25bac
Remove css assumption
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-24 14:52:48 +05:30
RMidhunSuresh
e2fd90bdc2
Remove Segment import
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-24 13:48:53 +05:30
Bruno Windels
52957beb82
don't encrypt reactions
2021-06-23 17:49:27 +02:00
Bruno Windels
3c7ccc90b2
fix css for reaction view and do some renaming
...
also add some user-select:none
2021-06-23 17:48:21 +02:00
Bruno Windels
c585d76ce5
also clear pending reaction promise when an error is thrown
2021-06-23 17:47:47 +02:00
Bruno Windels
1a5a64864a
don't double log redactReaction
2021-06-23 17:47:18 +02:00
Bruno Windels
e125599a47
prevent decryption result getting lost after reaction updates entry
2021-06-23 17:38:52 +02:00
Bruno Windels
48588687a5
share logic whether have reacted already between basemsgtile & reactvm
2021-06-23 15:38:12 +02:00
Bruno Windels
a1d24894eb
this will block if we have a pending redaction & reaction
...
so the reaction won't be aborted
2021-06-23 11:45:24 +02:00
Bruno Windels
442d4cce03
make the react/redactReaction promise only return after update happened
2021-06-23 11:44:53 +02:00
Bruno Windels
18562d30d8
integration tests for local echo of toggling reactions
2021-06-23 11:43:14 +02:00
Bruno Windels
4d19f8d21d
this should return any promise returned, otherwise breaks tests
2021-06-23 11:42:32 +02:00
Bruno Windels
8991632105
add redaction mock utility fn
2021-06-23 11:42:16 +02:00
Bruno Windels
b153613200
determine toggle state correctly with both pending redaction & reaction
2021-06-23 11:41:28 +02:00
Bruno Windels
616d701ebb
add test that redaction for non-sending event aborts it
2021-06-21 19:02:42 +02:00
Bruno Windels
0e750db9ae
write unit tests for (re)aggregating annotations in RelationWriter
2021-06-21 18:16:21 +02:00
Bruno Windels
d1345d0f83
write test for redaction in RelationWriter
2021-06-21 17:52:02 +02:00
Bruno Windels
81f06f565e
write tests for AsyncMappedList
2021-06-21 17:26:08 +02:00
RMidhunSuresh
12305be06a
Fix issue #397
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-19 16:01:02 +05:30
Bruno Windels
1fc1d2c79b
fix lint
2021-06-18 15:09:34 +02:00
Bruno Windels
11fba12083
add tests for remote reaction target being added after pending event
2021-06-18 15:09:14 +02:00
Bruno Windels
0703cf8915
cleanup
2021-06-18 15:06:49 +02:00
Bruno Windels
5bea8130f2
more timeline annotation tests
2021-06-18 14:39:54 +02:00
Bruno Windels
9f99cf4b1e
fix lint in tests
2021-06-18 11:52:09 +02:00
Bruno Windels
8092713faa
add tests for local echo of adding and removing reaction
2021-06-18 11:51:02 +02:00
Bruno Windels
f000e98619
no point in reacting to redacted messages
2021-06-17 16:48:58 +02:00
Bruno Windels
64f1abdfed
show quick reactions in message menu
2021-06-17 16:46:06 +02:00
Bruno Windels
4312610e7d
support menu options with custom DOM
2021-06-17 16:45:53 +02:00
Bruno Windels
70d64f38eb
spelling
2021-06-17 16:07:32 +02:00
Bruno Windels
cad884aa41
fix local redaction echo while already sending target
2021-06-17 16:07:09 +02:00
Bruno Windels
a77ef02677
cleanup
2021-06-17 10:12:45 +02:00
Bruno Windels
cbee498d41
a bit more brief
2021-06-17 10:03:32 +02:00
Bruno Windels
bf84b59e39
more accurate test name and also test >=
2021-06-17 09:59:24 +02:00
Bruno Windels
099f99a96b
check power levels to see if we can react
2021-06-17 09:41:25 +02:00
Bruno Windels
fd54539e1c
clarify comment
2021-06-17 09:41:10 +02:00
Bruno Windels
150f58a6b3
don't aggregate relations on redacted events
2021-06-16 18:00:50 +02:00
Bruno Windels
ce5409dc26
aggregate relations when seeing event target during back-pagination
2021-06-16 17:40:29 +02:00
Bruno Windels
9099a76f45
fix spelling in comment
2021-06-16 17:30:48 +02:00
Bruno Windels
bbcf0d2572
more local echo fixes for redacting a reaction + cleanup
2021-06-16 12:46:44 +02:00
Bruno Windels
94635a18e0
actually, 0 or -1 mean you have a local redaction
2021-06-16 12:41:42 +02:00
Bruno Windels
4f10174e48
clarify comment
2021-06-16 10:28:17 +02:00
Bruno Windels
3b629622d9
need to keep pending count around if 0 or less for redaction local echo
...
also need to be able to tell the difference between no pending reactions
and redactions and the sum being 0 (having both a redaction and
reaction) so we keep isPending to true
2021-06-16 10:23:22 +02:00
Bruno Windels
e5c1094153
WIP
2021-06-15 19:06:41 +02:00
RMidhunSuresh
e161f61319
Remove selector list
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-15 15:11:32 +05:30
RMidhunSuresh
5e4db2f5dc
Change font size
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-15 14:52:07 +05:30
RMidhunSuresh
1772fc04f9
Remove text(..)
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-15 14:45:46 +05:30
RMidhunSuresh
4f05d9a5b7
Make navigation changes in one go
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-15 14:34:26 +05:30
RMidhunSuresh
97e484b8e6
Rename toggle --> open
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-15 14:30:27 +05:30
RMidhunSuresh
88a1e34987
Unsubscribe on dispose
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-14 21:04:44 +05:30
RMidhunSuresh
7b811aa927
Remove space after brace in two places
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-14 20:33:32 +05:30
RMidhunSuresh
e10b455b27
Rename method
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-14 20:32:05 +05:30
Bruno Windels
75ee509361
fix lint
2021-06-11 11:30:11 +02:00
Bruno Windels
6bdbbee83e
undo forced offline mode
2021-06-11 11:05:34 +02:00
Bruno Windels
81a721f880
make equality stable in comparator for reaction
2021-06-11 11:04:48 +02:00
Bruno Windels
1d9709d4e3
also compare by key if the timestamps are the same
2021-06-11 11:02:31 +02:00
Bruno Windels
757e08c62c
WIP 4
2021-06-10 18:29:10 +02:00
Bruno Windels
cb051ad161
WIP3
2021-06-09 16:52:30 +02:00
RMidhunSuresh
e2443a8b09
Undo spillover from earlier formatting havoc
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
b2f2d51594
Make formatting consistent with the codebase
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
dd9a19b7f0
Make formatting consistent
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
4005d70bb9
Increase height to make element more centered
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
fa67c5e248
Refactor function
...
- Move related parameters closer together.
- Remove unused parameter.
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
95512b5144
Remove margin from top
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
6086d157e2
Make value multiple of 4
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
2c0176f3f2
Remove unwanted width
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
f3f1436bb0
Rename room info to room details everywhere
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
f917730a21
Stick to naming convention for css/html classes
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
efd37d811f
Update on changes to vm
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
008f3601ca
Remove link support from Menu
...
- Not needed anymore since every link item has been rewritten as a
button.
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
332fbdda84
Move variable to scope of conditional
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
7fbcf89539
Remove unncessary empty line
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
eb870cfc23
Use url instead of link
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
fcc2afba08
Do not compute link in getter
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
04065847dc
Remove unused getter
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
c6f3b1fbbe
Do not use private props from room summary
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
4700009c68
Add new test for parseUrlPath
...
Make sure that the details panel stays open during room change.
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
4c962943b2
Modify setters in MenuOption to support chaining
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
0d63ce9a3a
Change SideBarActive --> right-shown
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
5b74038912
Check value of details everywhere
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
b2448e1207
Calculate path when button is clicked
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
37e052c061
details do not need to be child of rooms
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
a4bcb21a85
Move details handling to separate function
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
7f922afe79
Reduce duplication in code
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
04933acbfb
Add missing checks
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
a3587a80c6
Use internationalization for user facing strings
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
986f04aac0
Move Room details menu entry to top
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
9074caf443
Change Room Details --> Room details
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
65bd74442f
Make menu-items uniform
...
- Same font ,font-size and height.
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
98ef6f4321
Use optionWithButton
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
a3271fb916
Fix Menu: Use t instead of tag to get events
...
- Also move constructor up
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
8d254c91e3
Undo formatting/stylistic changes
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
3273682155
Do not show room id instead of canonical alias
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
d3d65d89ba
Put sidebar rows into container
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
f1fe17fe65
Make font-size equal to that of room-header
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
040c744b6a
Style links and buttons similarly in menu
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
00dbd3db06
Add menu entry to launch RoomInfoView
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
1e96b58f85
Add link support to menu
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
426d0779ee
Keep RoomInfoView open across room/grid changes
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
02d79b52a4
Prefer canonical alias over room_id if available
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
2dcec6343d
Info icon should open/close view alternatively
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
d782c9e0bb
Justify content to flex-end instead
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
eab6ca3baf
Make side-bar responsive
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
9ac415fa4f
Show panel when first visit contains /details
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
b5480b018b
Style open button
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
4edc58ebcf
Add button in Room header to open details
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
ecd5505af9
Bring in info icon
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
37367cde65
Make close button close the view
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
20a250dfc0
Style close button
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
c65e26ec4c
Position the close button to right end
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
91f083a245
Add close button to RoomInfoView
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
b0535b5d7d
Add styling for RoomInfoView
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
c96abc8892
Add css to place items appropriately
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
f42553f8cb
Add avatar size for design
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
ee29d7f799
Bring in icon assets
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
653fcbbb1f
Add method to create avatar section
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
0a4f8aff79
Create method to add sidebar element
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
a23e2c361a
Better styling
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
d502a7f911
Make display name bold
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
aece82dff6
Make room avatar larger in RoomInfoView
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
6f1b77b6fa
Add room avatar to RoomInfoView
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
0ea2843454
Add background for sidebar
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
191eb09a76
Fallback to canonical alias if no names found
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
0d11f85ab3
Add CSS to display sidebar to the right
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
9a605cc6c6
Remove unnecessary check
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
c3333f5fe8
Extract method
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
ddaa9b46c0
Dispose vm preemptively
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
7e38c3ea88
Remove right panel on grid update if needed
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
98d8d44695
Allow details to be child of rooms
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
439910f6ca
Handle case when path.get() may be null
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
96959a3c4c
Put name of property in emitChange
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
e39572b98b
Create RoomInformationView on toggle
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
986271d02a
Add code to toggle RoomInformation panel
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
c7fd0fac07
Allow details to be child of room
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
RMidhunSuresh
c7ba472042
Add view and vm for RoomInformation
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-09 16:51:18 +05:30
Bruno Windels
206d18f498
WIP2
2021-06-08 16:56:17 +02:00
Bruno Windels
2ebadb36c3
WIP
2021-06-08 13:20:55 +02:00
Bruno Windels
280de98858
fix lint
2021-06-04 16:41:37 +02:00
Bruno Windels
3e47877645
Merge branch 'master' into bwindels/reactions
2021-06-04 16:33:10 +02:00
Bruno Windels
47e74bd598
add glow animation for pending reactions
2021-06-04 16:32:35 +02:00
Bruno Windels
33655ee37e
forgot to export class
2021-06-04 16:32:03 +02:00
Bruno Windels
7691b28503
prevent another race between sync and openTimeline
2021-06-04 16:28:08 +02:00
Bruno Windels
bb6905bdcd
don't assume localEntries exists, as load races with sync.afterSync
2021-06-04 16:05:28 +02:00
Bruno Windels
919542f8fc
Don't assume container node exists when loading bundle
...
Only look for the container node when needed
2021-06-04 15:36:01 +02:00
Bruno Windels
b7402ce43c
support local echo for adding a reaction
2021-06-04 15:34:44 +02:00
Bruno Windels
8bf160dfc0
handle sending relations to events that haven't been sent yet
2021-06-04 10:48:59 +02:00
Bruno Windels
2878208e94
keep the DOM small, avoid a node for reactions on every message
2021-06-04 10:08:07 +02:00
Bruno Windels
4ef5afc011
this is actually not used, so remove it
2021-06-04 10:07:52 +02:00
Bruno Windels
dde26da5a6
add mountView utility to handle error handling on mount
...
and use it where errorToDOM is used currently for catching mount errors
2021-06-04 10:07:12 +02:00
Bruno Windels
ff370d03db
catch errors thrown by childview mount method on add in ListView
2021-06-04 09:37:36 +02:00
Bruno Windels
05cc1f6757
make reactions look like element
2021-06-03 21:01:59 +02:00
Bruno Windels
d91282a767
render reactions in div instead of ul
2021-06-03 21:01:47 +02:00
Bruno Windels
3e2b7ba5fa
obsolete, already provided in parent class
2021-06-03 21:01:26 +02:00
Bruno Windels
1385a22e60
don't recreate the reactions after clearing it with the last one removed
2021-06-03 21:00:57 +02:00
Bruno Windels
cc444fa207
we actually don't need any of the view model infrastructure
...
all the updates go over the observable list
2021-06-03 21:00:25 +02:00
Bruno Windels
8d4d9c6e8d
WIP
2021-06-03 19:57:48 +02:00
Bruno Windels
2eb2e4e9b3
more stable sorting order for reactions
2021-06-03 19:57:29 +02:00
Bruno Windels
bb8acbefa3
support undoing a reaction
2021-06-03 19:57:16 +02:00
Bruno Windels
20abb01ee8
very basic way of sending a reaction
2021-06-03 19:16:53 +02:00
Bruno Windels
b722691e85
show reactions as ListView of buttons if present
2021-06-03 19:16:19 +02:00
Bruno Windels
2152d5e833
expose reactions on base message tile as vm with observable list
2021-06-03 19:15:49 +02:00
Bruno Windels
b94ab42c90
delete annotations object when no more annotations left
2021-06-03 19:10:29 +02:00
Bruno Windels
b05345ee27
only show redacted messages
2021-06-03 16:50:37 +02:00
Bruno Windels
a78e9af8fc
Support (de)aggregating annotation relations in relation writer
...
When deaggregating on redacting an annotation relation, we remove the
relation and aggregate the other relations for that key again, so we can
reliably detect the first timestamp (and count and me as well to lesser
extent).
as a consequence, more than one event can get updated when redacting a
relation (the relation is updated, as well as the relation target), so
account for that by returning an array of entries that have updated.
2021-06-03 16:50:37 +02:00
Bruno Windels
41fb30c68b
add relations store
2021-06-03 16:50:37 +02:00
Bruno Windels
36a35d92f0
pass ownUserId to RelationWriter
...
We'll need to to aggregate whether we have reacted to a message
Create writers at room level and pass subwriter is dependency, rather
than creating them in sync and gap writer.
2021-06-03 16:50:37 +02:00
Bruno Windels
46bfab3eb7
fix some lint and comment
2021-06-03 16:50:11 +02:00
Bruno Windels
b83613924c
don't assume there is at least 1 tile before loading at top
...
it can happen that all tiles are not renderable, and we should just
keep calling loadAtTop
2021-06-03 09:25:56 +02:00
Bruno Windels
d965d57be7
don't leak timeline when an error is thrown while opening it
...
or you are just stuck with "not dealing with race" errors until refresh
2021-06-02 18:44:03 +02:00
Bruno Windels
0c4c018ceb
add note that powerlevels won't update when the state event is changed
2021-06-02 18:43:47 +02:00
Bruno Windels
d2f5b412ac
don't try to hook up local relations for events that are not relations
...
and do unnecessary work
2021-06-02 18:43:16 +02:00
Bruno Windels
365bd5cad0
fix the race
2021-06-02 18:42:46 +02:00
Bruno Windels
84ecaa2ee1
don't trip over missing create events when loading power levels
...
as the test from previous commit fails because of that, and powerlevels
works fine without
2021-06-02 18:41:52 +02:00
Bruno Windels
4a8a6168cd
add failing test for race between sync & subscribing after openTimeline
2021-06-02 18:41:03 +02:00
Bruno Windels
d8acf63e1d
change mock event api a bit to be easier to read
2021-06-02 18:38:16 +02:00
Bruno Windels
09bf0f3b4e
fix status styling for text messages being broken
...
as binding was put at argument level rather than className level
2021-06-02 15:25:20 +02:00
Bruno Windels
31075d601f
load power levels before decryption closes the txn
2021-06-02 15:06:30 +02:00
Bruno Windels
cef94fea45
fix lint
2021-06-02 12:38:41 +02:00
Bruno Windels
bf951bd322
fix logging wrong value
2021-06-02 12:34:14 +02:00
Bruno Windels
c3754fdbd4
fix the race, make test succeed
2021-06-02 12:34:02 +02:00
Bruno Windels
87ebdbb0b4
add failing test for unhandled race between sync and send
...
see comments in code
2021-06-02 12:33:15 +02:00
Bruno Windels
8369dcef5f
utility to wait until a value becomes truthy in a test
2021-06-02 12:32:50 +02:00
Bruno Windels
ffb6cb372a
utility to create events in tests
2021-06-02 12:32:34 +02:00
Bruno Windels
cf6e14ed8b
utility for homeserver api mocking
2021-06-02 12:32:19 +02:00
Bruno Windels
6a5679a338
create mock storage using fake-indexeddb
2021-06-02 12:32:03 +02:00
Bruno Windels
edbac25613
prepare storage to work with alternative idb impl
2021-06-02 12:31:13 +02:00
Bruno Windels
8dfed73524
Merge pull request #361 from vector-im/bwindels/redactions
...
Redactions
2021-06-02 10:22:33 +00:00
Bruno Windels
7a96f84cab
also show redaction reason for redaction local echo
2021-06-02 12:17:09 +02:00
Bruno Windels
15f6ab8b7e
only show cancel option if not already sending
2021-06-02 11:56:15 +02:00
Bruno Windels
addddf1f26
remove need for transferLocalEchoState, just add local relations again
2021-05-31 16:33:05 +02:00
Bruno Windels
13a4a0169c
remove obsolete comments
2021-05-31 16:23:59 +02:00
Bruno Windels
25ce06c9d5
clarify
2021-05-31 15:55:31 +02:00
Bruno Windels
dc2e21495b
explain why this is needed
2021-05-31 15:46:57 +02:00
Bruno Windels
8196a02f9d
don't even need isOwn member anymore
2021-05-31 15:25:01 +02:00
Bruno Windels
00231443d3
timeline has the own member, so can just use timeline, not ownUserId
2021-05-31 15:18:44 +02:00
Bruno Windels
2bd7c23076
fix lint
2021-05-31 15:08:49 +02:00
Bruno Windels
d68d14358f
use lower return
2021-05-31 14:08:45 +02:00
Bruno Windels
492a8fe359
remove extra whiteline
2021-05-31 14:05:37 +02:00
Bruno Windels
5d35caf85f
no need to emit, timeline finds out by themselves with remote echo
2021-05-31 14:03:22 +02:00
Bruno Windels
606d40c9d4
simplify canRedact logic in view by overriding in RedactedTile
2021-05-31 13:55:08 +02:00
Bruno Windels
23459aad52
check if you are allowed to redact a message
2021-05-31 13:52:03 +02:00
Bruno Windels
128f9812a6
set destructive flag here too
2021-05-31 13:08:06 +02:00
Bruno Windels
57288f75b0
add avatar & sender as first element in message so they don't occlude
2021-05-31 13:03:41 +02:00
Bruno Windels
d4373eb309
make options button look the same in all browsers
2021-05-31 13:03:23 +02:00
Bruno Windels
d66cdc97cd
fix message options button placement in IE11
2021-05-31 13:02:42 +02:00
Bruno Windels
2e34668b91
show errors while mounting list view children
2021-05-31 12:28:42 +02:00
Bruno Windels
762ed96a3b
Not needed as both evententry and pendingevententry return timestamp
2021-05-31 11:58:01 +02:00
Bruno Windels
447b98ce6c
don't use subviews for showing/hiding avatar & sender on continuation
2021-05-31 11:57:17 +02:00
Bruno Windels
0596ca06b1
emit remove before linking up sibling tiles
...
otherwise emitting the update from updatePreviousSibling has
the wrong idx
2021-05-31 11:56:41 +02:00
Bruno Windels
63b371b6ef
support findAndUpdate with same predicate semantics in SortedArray too
2021-05-31 10:47:32 +02:00
Bruno Windels
fa37e8fedb
findAndUpdate uses predicate, just add callback to update method
2021-05-31 10:46:16 +02:00
RMidhunSuresh
849a02cec2
Add aria-label
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-05-28 20:37:36 +05:30
Bruno Windels
6a5d856093
add destructive flag to delete menu option
2021-05-28 16:25:23 +02:00
Bruno Windels
5b0675b711
fix lint
2021-05-28 16:25:06 +02:00
Bruno Windels
95a680eb83
fix whitespace
2021-05-28 16:24:47 +02:00
Bruno Windels
57d9916746
buttons in ff were not in Inter
2021-05-28 15:30:03 +02:00
Bruno Windels
7f41993648
prevent buttons with negative margin to displace message menu
2021-05-28 15:28:04 +02:00
Bruno Windels
b3749f2d92
prevent long links from creating horizontal scroll
2021-05-28 15:27:44 +02:00
Bruno Windels
5afcfc3e9b
fix unsent/unverified message style
2021-05-28 15:27:25 +02:00
Bruno Windels
43c082475b
unify cancel option for various tiles in menu option
2021-05-28 15:27:02 +02:00
Bruno Windels
2b0fa22c8a
open menu when clicking ... button on message with delete/cancel option
2021-05-28 13:14:55 +02:00
Bruno Windels
63e948fc80
change renderMessage fn to base class
...
as preparation to create menu items in subclasses
2021-05-28 12:32:19 +02:00
Bruno Windels
100e056d55
style the button
2021-05-28 12:22:47 +02:00
Bruno Windels
f82e873da8
adjust message status styling to css grid changes
2021-05-28 12:17:59 +02:00
RMidhunSuresh
fc898f8c7e
Set new svg icon as background-image of button
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-05-28 15:47:50 +05:30
RMidhunSuresh
ba11cdd83f
Remove ellipsis character
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-05-28 15:47:06 +05:30
RMidhunSuresh
3f99b7247c
Bring in vertical ellipsis icon
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-05-28 15:46:10 +05:30
Bruno Windels
bbf9832d6a
switch timeline messages to css grid, and add menu button
2021-05-28 12:09:21 +02:00
Bruno Windels
13ac41b264
delete obsolete code
2021-05-28 12:02:35 +02:00
Bruno Windels
2da7ef4280
can only look in remote entries here as PEEs never return an event id
2021-05-27 10:28:02 +02:00
Bruno Windels
5e9ce365bf
also apply local relations when loading at top
2021-05-27 10:27:44 +02:00
Bruno Windels
c6e2607f1f
guard against updates emitted while populating during first subscription
...
This came up now because Timeline uses a MappedList to map PendingEvents
to PendingEventEntries. In the map function, we setup links between
entries to support local echo for relations. When opening a timeline
that has unsent relations, the initial populating of the MappedList
will try to emit an update for the target entry in remoteEntries.
This all happens while the ListView of the timeline is calling subscribe
and all collections in the chain are populating themselves based on
their sources.
This usually entails calling subscribe on the source,
and now you are subscribed, iterate over the source (as you're not
allowed to query an unsubscribed observable collection, as it might not
be populated yet, and even if it did, it wouldn't be guaranteed to be
up to date as events aren't flowing yet).
So in this concrete example, TilesCollection hadn't populated its tiles
yet and when the update to the target of the unsent relation reached
TilesCollection, the tiles array was still null and it crashed.
I thought what would be the best way to fix this and have a solid model
for observable collections to ensure they are always compatible with
each other. I considered splitting up the subscription process in two
steps where you'd first populate the source and then explicitly start
events flowing.
I didn't go with this way because it's really only updates that
make sense to be emitted during setup.
A missed update wouldn't usually bring the collections out of sync
like a missed add or remove would. It would just mean the UI isn't
updated (or any subsequent filtered collections are not updated),
but this should be fine to ignore during setup, as you can rely
on the subscribing collections down the chain picking up the update
while populating. If we ever want to support add or remove events
during setup, we would have to explicitly support them, but for now
they are correct to throw.
So for now, just ignore update events that happen during setup
where needed.
2021-05-27 10:02:05 +02:00
Bruno Windels
a8e43d4850
remove leftover logging
2021-05-27 09:18:22 +02:00
Bruno Windels
a93b1af047
ensure these don't fail on a gap entry
2021-05-27 09:16:25 +02:00