Commit graph

308 commits

Author SHA1 Message Date
Danila Fedorin 434882069e Lift tiles creator to RoomViewModel 2021-08-05 09:39:59 -07:00
Danila Fedorin a9731f5a1d Clean up code for inserting emotes 2021-08-04 16:02:37 -07:00
Danila Fedorin b4a0c31e1c Update test code with new function signature 2021-08-04 15:54:11 -07:00
Danila Fedorin 508214a46b Insert emote text after quotes 2021-08-04 15:50:42 -07:00
Danila Fedorin b5f16468ce Add a flag to strip replies 2021-08-04 15:31:25 -07:00
Danila Fedorin 99a630fb84 Add a note on TilesCollection and diposing of tiles 2021-07-29 10:46:17 -07:00
Danila Fedorin e2ad589aa3 Go through and clean up affected files. 2021-07-27 16:51:34 -07:00
Danila Fedorin 242a9c209b Handle replies in EventEntry 2021-07-23 14:34:11 -07:00
RMidhunSuresh 281dc8bdb4 Add missing license headers
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-07-23 18:05:48 +05:30
Danila Fedorin 7adb0e5ddc Get rid of intermediate view model 2021-07-22 10:56:30 -07:00
Danila Fedorin d33d55376a Put reply into its own view model.
Otherwise, we re-render the reply message on
every keystroke.
2021-07-20 16:51:36 -07:00
Danila Fedorin fdcafaf6d3 Add _replyTo field to ComposerViewModel that can be set from a message 2021-07-19 16:10:35 -07:00
Danila Fedorin 0c0633fdd4 Fix body.string in BaseMessageTile 2021-07-16 14:28:18 -07:00
Danila Fedorin fb29913ef0 Add lint fixes 2021-07-16 14:21:39 -07:00
Danila Fedorin c835dc324e Merge branch 'master' of github.com:vector-im/hydrogen-web into formatted-messages 2021-07-16 14:05:43 -07:00
Danila Fedorin 3e4314e7f3 Update comment based on 'small object' version of code. 2021-07-16 13:53:14 -07:00
Danila Fedorin da48ddec83 Fix == typo 2021-07-16 13:49:33 -07:00
Danila Fedorin 7cfdd4f663 Rename TextTileFormat to BodyFormat 2021-07-16 13:46:25 -07:00
Danila Fedorin 031ce42831 Properly cache message format. 2021-07-16 13:43:40 -07:00
Danila Fedorin 9e1f57a2b1 Switch tiles to using enums and checking format. 2021-07-16 13:36:26 -07:00
Danila Fedorin 1e2945ca54 Add license headers to new files. 2021-07-16 13:12:26 -07:00
Danila Fedorin 900ebfe289 Properly pass children to list block 2021-07-16 13:05:47 -07:00
Danila Fedorin cdf85edad9 Move pill parsing into deserialize and avoid intermediate objects. 2021-07-16 13:01:33 -07:00
Danila Fedorin eacc033929 Make code blocks accept non-code tags. 2021-07-16 11:38:41 -07:00
Bruno Windels b5b19abb24 only allow links for the schemas mentioned in the spec 2021-07-16 18:32:40 +02:00
RMidhunSuresh 2502c4024a Fix broken tests
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-07-16 17:08:18 +05:30
Danila Fedorin d69b78469c Add table viewing code. 2021-07-15 13:19:54 -07:00
Danila Fedorin c13daedcb0 Ignore non-absolute links. 2021-07-15 13:15:56 -07:00
Danila Fedorin 025ab16668 Fix /me body rendering. 2021-07-14 18:10:59 -07:00
Danila Fedorin 038b101ed7 Render matrix.to user links as pills 2021-07-14 17:57:53 -07:00
Danila Fedorin 78d7d556e4 Add blockquote and del elements. 2021-07-14 12:38:55 -07:00
Danila Fedorin 763e1cd5de Add tentative version of linkification. 2021-07-13 16:56:46 -07:00
Danila Fedorin 0c05ff459c Add another test. 2021-07-13 15:14:03 -07:00
Danila Fedorin 5e39eb8f6c Do some additional validation, blocking block nodes inside inline nodes. 2021-07-13 14:47:10 -07:00
Danila Fedorin 4b92903ddd Add a test for auto-closing tags. 2021-07-12 15:16:04 -07:00
Danila Fedorin 4022c6121b Switch to DOMPurify in platform layer for sanitization. 2021-07-12 15:00:16 -07:00
Danila Fedorin 012ef2b215 Validate w/h and avoid use of properties object. 2021-07-12 13:42:39 -07:00
Danila Fedorin 1e9cdbafd4 Move test-specific code into the testing function. 2021-07-12 13:31:33 -07:00
Danila Fedorin fd17ffecfb Pass parameters to parseHTMLBody directly instead of via object. 2021-07-12 12:55:33 -07:00
Danila Fedorin c261b9fb23 Avoid intermediate objects while parsing TextTiles' bodies. 2021-07-12 12:47:22 -07:00
Danila Fedorin 9304ca330e Rewrite deserialize as a class to avoid passing options around. 2021-07-12 12:19:51 -07:00
Danila Fedorin abd62373e5 Remove copy of MediaRepository mxcUrl parsing. 2021-07-09 13:09:19 -07:00
Danila Fedorin 1435c2c9a2 Add HTML sanitization to domain layer. 2021-07-09 13:06:24 -07:00
Danila Fedorin d38c52d311 Display images in messages 2021-07-08 00:16:58 -07:00
Danila Fedorin c582b723bd Start working on images. 2021-07-07 23:40:16 -07:00
Danila Fedorin eca5308742 Move deserialization into domain and fix tests. 2021-07-07 12:21:10 -07:00
Danila Fedorin e56b15237e Parse formatted message bodies in addition to plain ones. 2021-07-06 16:14:04 -07:00
Danila Fedorin 6ba2deffef Make small tweaks to formatted representation. 2021-07-02 18:19:40 -07:00
Danila Fedorin 94f6c99ea6 Begin a parser implementation from HTML into an internal representation. 2021-07-02 00:18:37 -07:00
Danila Fedorin 4ee15005f5 Inline code blocks don't contain other elements 2021-07-01 13:55:01 -07:00
Danila Fedorin fd12baae3b Add some other message parts as demo. 2021-07-01 13:55:01 -07:00
Danila Fedorin ad868818c7 Add some initial thoughts on the implementation. 2021-07-01 13:55:01 -07:00
Bruno Windels dbaef5117a
Merge pull request #384 from vector-im/bwindels/reactions
Reactions
2021-06-24 15:01:44 +00: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 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 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 7557e2f437 not used 2021-06-24 13:26:14 +02:00
Bruno Windels 38b465cb9d rename vm.toggleReaction to vm.toggle 2021-06-24 13:15:20 +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
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 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 b153613200 determine toggle state correctly with both pending redaction & reaction 2021-06-23 11:41:28 +02:00
RMidhunSuresh 12305be06a Fix issue #397
Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
2021-06-19 16:01:02 +05:30
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 94635a18e0 actually, 0 or -1 mean you have a local redaction 2021-06-16 12:41:42 +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
Bruno Windels 75ee509361 fix lint 2021-06-11 11:30:11 +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 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 b7402ce43c support local echo for adding a reaction 2021-06-04 15:34:44 +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 2152d5e833 expose reactions on base message tile as vm with observable list 2021-06-03 19:15:49 +02:00
Bruno Windels b05345ee27 only show redacted messages 2021-06-03 16:50:37 +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 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 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 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