RMidhunSuresh
7be9f93909
Make regex module-level constant
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-05-11 20:32:36 +05:30
Bruno Windels
1738a0ea3c
need to create archived room when leaving, otherwise it isn't stored
2021-05-11 16:58:16 +02:00
RMidhunSuresh
03208b88d5
Move link tests to linkify
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-05-11 20:19:29 +05:30
Bruno Windels
a0e3848cf6
dispose existing view model when changing status, otherwise we leak!
2021-05-11 16:39:33 +02:00
Bruno Windels
8b8214cd1b
reference count archived rooms and keep track of active ones
...
so we don't create two instances for the same id, one for sync, and one
for displaying, and hence updates from sync being pushed on a different
instance than the one displaying, and not updating the view.
2021-05-11 16:09:58 +02:00
Bruno Windels
965700272b
remove archivedRoom map, it's unused and just complicating for now
2021-05-11 16:09:01 +02:00
RMidhunSuresh
dbe76e973e
Add braces to all blocks
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-05-11 17:59:03 +05:30
Bruno Windels
82a1b37363
refresh room view model when going from joined -> archived
...
given we have a dedicated class (ArchivedRoom) for it now
2021-05-11 13:11:38 +02:00
Bruno Windels
e3c1644d09
show leave reason instead of composer for archived room
2021-05-11 13:11:11 +02:00
Bruno Windels
9ea0138ffd
don't open room view when clearing room id
2021-05-11 13:10:21 +02:00
Bruno Windels
be7934057e
lint
2021-05-11 13:08:13 +02:00
Bruno Windels
51d13fd8d2
update comments for Invite updates
2021-05-11 13:07:57 +02:00
Bruno Windels
6bb9140720
have individual getters for kickDetails
2021-05-11 13:07:31 +02:00
Bruno Windels
00d4dc9518
rename kickAuthor to kickedBy
2021-05-11 13:07:11 +02:00
Bruno Windels
24731687dc
log room id in invite and archivedroom afterSync
2021-05-11 13:05:02 +02:00
Bruno Windels
e775ed12b4
sync arch. rooms with Room during init. sync to create summary, timeline
...
when receiving archived rooms during initial sync, sync them with Room
(e.g. as a joined room) first so the members, timeline get written
and the summary gets created which is then adopted by the ArchivedRoom.
2021-05-11 13:02:43 +02:00
Bruno Windels
2087059c0b
fix archived room summary key path now the summary is nested
2021-05-11 13:01:19 +02:00
RMidhunSuresh
3830a95af2
Cache result in TextTile
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-05-11 16:03:14 +05:30
RMidhunSuresh
86f4b6186a
Refactor functions to accept single parameter
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-05-11 15:03:20 +05:30
RMidhunSuresh
e4a143659c
Refactor unwanted getter into constant object
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-05-11 14:02:25 +05:30
RMidhunSuresh
051771397c
Fix bug in which links preceeded text
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-05-11 13:59:45 +05:30
RMidhunSuresh
3beaf88a8b
Rename messageFormat to body
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-05-11 13:46:38 +05:30
RMidhunSuresh
070bc96186
Fallback to empty string if content is undefined
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-05-11 13:43:54 +05:30
RMidhunSuresh
577883a1d4
Refactor loop
...
Don't handle last element separately
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-05-11 13:31:33 +05:30
RMidhunSuresh
03b971d898
Added tests for new linkify
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-05-11 12:55:39 +05:30
Bruno Windels
99d5467ad1
make archived room part of sync lifecycle (draft)
2021-05-10 18:42:30 +02:00
Bruno Windels
79d97737bc
calculate leave details in archived room
2021-05-10 18:41:43 +02:00
RMidhunSuresh
17be7c4f4d
Add newline to message
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-05-10 22:10:50 +05:30
RMidhunSuresh
fc3b391aa9
Use MessageBodyBuilder instead of linkify
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-05-10 21:41:57 +05:30
RMidhunSuresh
55f2d79d07
Move newline handling to MessageBodyBuilder
...
- Also add a insert method to reflect new design.
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-05-10 21:37:27 +05:30
RMidhunSuresh
787d438a74
Refactored Linkifier class into single function
...
Modified design so that linkify interacts with MessageBodyBuilder
through callbacks.
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-05-10 21:30:11 +05:30
RMidhunSuresh
dca649dfd4
Moved files into more appropriate locations
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-05-10 19:53:40 +05:30
RMidhunSuresh
06a6cae4af
Rename MessageBodyBuilder to MessageBodyBuilder
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-05-10 19:50:26 +05:30
RMidhunSuresh
bbeb0a5764
Transform new message format into DOM elements
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-05-08 19:22:49 +05:30
RMidhunSuresh
2f883d049c
Return new message format instead of message text
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-05-08 19:20:07 +05:30
RMidhunSuresh
9ca0d93a01
Add tests for linkify
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-05-08 19:18:45 +05:30
RMidhunSuresh
32fd1eb318
Implement linkifier
...
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-05-08 19:17:43 +05:30
RMidhunSuresh
3c46a07a1e
Implement object format to represent chat messages
...
Every chat text message can be split into parts such as text, newline
and links.
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-05-08 19:02:44 +05:30
Bruno Windels
1216378783
Extract BaseRoom from Room with summary and timeline, not sync or send
...
Which we can then reuse to create a dedicated ArchivedRoom class
which will:
- have only relevant methods and properties (e.g. no sendEvent)
- turns out that you can still receive a leave room in the sync
(e.g. when banned after kick) so we'll make the sync for
an archived room separate from room to not overcomplicate the sync
there, much like we did for Invite already.
2021-05-07 16:13:49 +02:00
Bruno Windels
06868abdb2
with room status being a thing, we don't need the invite on the room
2021-05-07 14:42:29 +02:00
Bruno Windels
a8d4ee0dd6
different room view models don't need to initiate switching now
...
as this is triggered by observing the room status
2021-05-07 13:11:17 +02:00
Bruno Windels
6c58c61da9
move switching room view models to a dedicated observable
...
based on the observing the room status
2021-05-07 13:10:35 +02:00
Bruno Windels
6bb8e2fa43
allow loading an archived room
2021-05-07 13:10:10 +02:00
Bruno Windels
1b83ae7d8a
allow observing the room status
2021-05-07 13:09:38 +02:00
Bruno Windels
243d105aad
support getting the room status for a room: invited, joined or archived
2021-05-07 13:08:39 +02:00
Bruno Windels
3143f2a791
also make an observable version of a retained value
2021-05-07 13:06:20 +02:00
Bruno Windels
36f54420cf
extract RetainedValue from MemberList
2021-05-07 13:06:00 +02:00
Bruno Windels
030b6837ef
rename
2021-05-06 15:27:32 +02:00
Bruno Windels
7e450071b1
clear all room state when rejoining room
2021-05-06 15:27:10 +02:00
Bruno Windels
8c2ae863fd
clean up rejoin storage logic somewhat
2021-05-06 15:26:48 +02:00