Commit Graph

6162 Commits

Author SHA1 Message Date
SpiritCroc 76d1c81495 [TEST] Restructure RR deduplication logic and avoid threads
We probably should add an extra check to only set main_or_null to events
which actually exist in the main thread

Change-Id: I8db0010e8717b6941917225fcce6646685814665
2023-04-02 13:02:50 +02:00
SpiritCroc 5ef2341bec [TEST] Fix another case of wrong read receipt location, to be observed
Context: https://github.com/SchildiChat/SchildiChat-android-rageshakes/issues/995

So comparing timestamps for main vs null read receipts does not seem to
work at all... so better only use that as fallback in case we really
don't know which event came later...?

Change-Id: I8f7df95735d1478784ec5f8bf3b0b1a70c534a29
2023-04-02 12:38:25 +02:00
SpiritCroc f4e9559eca In threads, reply fallback shouldn't cause stickers to render as bubble
Change-Id: I9539c77520e2d1563c3e782d649c2868e08ad81a
2023-04-01 16:23:45 +02:00
SpiritCroc 5f787db4f1 Send-as-sticker button for sticker-enabled custom emotes
Add some primitive support for sending MSC2545 stickers, at least for
stickers that also support sending as custom emote.
Also, this introduces support to sending stickers as reply this way 🎉

Change-Id: I85b245c2c40b9662342459e50285c081d37f324b
2023-04-01 16:15:22 +02:00
SpiritCroc 1004bd19e3 [TEST] Don't set main_or_null read receipt to old events
Context:
https://github.com/SchildiChat/SchildiChat-android-rageshakes/issues/951

If main RR updates after null RR, but to an older event than the null
RR, we still want to keep the null one.

Change-Id: Ib865965b6975536421b15146c863b9ea46f793b0
2023-03-25 08:32:22 +01:00
SpiritCroc 80edce3d6c Escape @room in reply fallback to avoid unintentional pings
Closes https://github.com/SchildiChat/SchildiChat-android/issues/178

Change-Id: I8a545dd80d29802d1b35b0315fca89125c997f15
2023-03-09 10:54:03 +01:00
SpiritCroc 19881a9f70 Merge tag 'v1.5.28' into sc
Change-Id: Ic5e1c79d3c39476375bf795bb7a1abb67c664f94

Conflicts:
	dependencies.gradle
	vector/src/main/java/im/vector/app/features/home/room/detail/composer/RichTextComposerLayout.kt
	vector/src/main/java/im/vector/app/features/html/EventHtmlRenderer.kt
	vector/src/main/java/im/vector/app/features/spaces/SpaceListViewModel.kt
	vector/src/main/res/layout/item_timeline_event_text_message_rich_stub.xml
2023-03-08 20:27:57 +01:00
Florian Renaud 39c702f41b
Merge pull request #8170 from vector-im/feature/fre/apply_push_rules_after_decryption
Reapply push rules on the decrypted event source (PSG-1146)
2023-03-07 10:39:48 +01:00
Yoan Pintas 94675b9f85
create encrypted DM for user invite by email (#8172)
Co-authored-by: jonnyandrew <jonny.andrew@protonmail.com>
2023-03-06 22:05:43 +00:00
SpiritCroc e4e4e0a388 Support rendering emote pack display name
Change-Id: I93b422f3931128dd75de8ee570c56976a93702c8
2023-03-06 11:28:05 +01:00
Florian Renaud 21c7fc3d0a Merge remote-tracking branch 'origin/develop' into feature/fre/apply_push_rules_after_decryption 2023-03-06 09:11:48 +01:00
Benoit Marty ceda85f624 Fix test by mocking `WorkManagerProvider.tag`
Appeared when upgrading androidx.work:work-runtime-ktx from 2.7.1 to 2.8.0 in #8099
2023-03-03 18:01:10 +01:00
Yoan Pintas 446ed24bea
Update room member shields behavior (#8195) 2023-03-03 09:28:50 +00:00
Florian Renaud 4146b5511a Merge develop into feature/fre/apply_push_rules_after_decryption 2023-03-02 15:03:22 +01:00
Florian Renaud 084bd44348 Update decryption result on the events from the sync response
As the decryption is done on a copy of the event (containing the roomId), we have to update the initial event with the decryption result
2023-03-02 14:40:31 +01:00
Benoit Marty c7928c2228
Merge pull request #8168 from SpiritCroc/chunk-roomids
matrix-sdk: Ensure correct room for events loaded by chunks
2023-03-02 13:57:59 +01:00
Florian Renaud 245ca13049 Improve encryption check condition 2023-03-01 13:52:53 +01:00
Florian Renaud 891897f0a7 Add additional tests 2023-03-01 13:50:40 +01:00
Florian Renaud 75559fb21a Ensure the event is decrypted before applying push rules 2023-03-01 11:49:43 +01:00
Florian Renaud ccf971afc4 Update encrypted raw json with decrypted event content for event matching condition 2023-03-01 10:42:57 +01:00
Florian Renaud 9d7758c9e3 Reuse event.supportsNotification extension 2023-02-24 09:26:50 +01:00
Florian Renaud b6ac915805 Apply push rules on encrypted events 2023-02-24 09:13:44 +01:00
SpiritCroc 8192bb5442 matrix-sdk: Ensure correct room for events loaded by chunks
Chunks should not load events from other rooms if they happen to be
requested for one eventId that already exists in a different room.

Motivation from a client that renders rich replies (although the
broken scenario can appear in other cases as well):

If somebody links an invalid eventId in a room, which however is valid
in a different room, this can mess up our timelines badly.
This can be reproduced by replying to an event in a room, then forward
the reply to a different room with a client that also forwards the
replied-to information (such as FluffyChat). Then click on the rich
reply to open the eventId. Previously, Android could find the event from
the other room and thus replace the correct timeline with the wrong one.

Compare e.g. https://matrix.to/#/!bfebJVBOZMnORmkVdO:matrix.org/$wUyRiMQEjaWOpJ-XpdBJzuXkh95N7bce2pVT4IMXW50?via=schildi.chat&via=matrix.org&via=envs.net
linking to an event that exists here
https://matrix.to/#/!SDwMepdfgrmExhyxYZ:schildi.chat/$MO2G4MZZ1zg0Ymc9gTfekIyw7QFkNn4OvYQKK1PAGlE

Change-Id: I4dcee94353d954fb6ed57c3970686a620b831c6f
2023-02-23 20:12:33 +01:00
SpiritCroc 84684f24ea permalink loadMore: do not endlessly retry on M_UNKNOWN error
Currently getting this after
"[rich replies] matrix-sdk: Ensure correct room for events loaded by
chunks"

Change-Id: I6658a9ed9e5df6d1cca580f2e83fff4a86d3383a
2023-02-23 20:00:03 +01:00
SpiritCroc af720cdab9 [rich replies] matrix-sdk: Ensure correct room for events loaded by chunks
If somebody links an invalid eventId in a room, which however is valid
in a different room, this can mess up our timelines badly.
This can be reproduced by replying to an event in a room, then forward
the reply to a different room with a client that also forwards the
replied-to information (such as FluffyChat). Then click on the rich
reply to open the eventId. Previously, Android could find the event from
the other room and thus replace the correct timeline with the wrong one.

Compare e.g. https://matrix.to/#/!bfebJVBOZMnORmkVdO:matrix.org/$wUyRiMQEjaWOpJ-XpdBJzuXkh95N7bce2pVT4IMXW50?via=schildi.chat&via=matrix.org&via=envs.net
linking to an event that exists here
https://matrix.to/#/!SDwMepdfgrmExhyxYZ:schildi.chat/$MO2G4MZZ1zg0Ymc9gTfekIyw7QFkNn4OvYQKK1PAGlE

Change-Id: I4dcee94353d954fb6ed57c3970686a620b831c6f
2023-02-23 19:48:15 +01:00
SpiritCroc 4065d21b7e [merge] Disable another new useless reply fallback calculation
Change-Id: Ia090dac36ce08e7ea8e8bc0fe67a3e316b988bb9
2023-02-23 12:12:46 +01:00
SpiritCroc 38c8e30541 Merge tag 'v1.5.26' into sc
Change-Id: Ie54ce4c15b4b95f7ecb4419f421762d7c57c5c2d

Conflicts:
	dependencies.gradle
	matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmSessionStoreMigration.kt
	vector/src/main/java/im/vector/app/features/home/room/detail/TimelineFragment.kt
	vector/src/main/java/im/vector/app/features/home/room/detail/TimelineViewModel.kt
	vector/src/main/java/im/vector/app/features/home/room/detail/timeline/factory/MessageItemFactory.kt
	vector/src/main/res/drawable/ic_composer_rich_text_editor_close.xml
	vector/src/main/res/drawable/ic_composer_rich_text_editor_edit.xml
	vector/src/main/res/drawable/ic_rich_composer_add.xml
	vector/src/main/res/drawable/ic_rich_composer_send.xml
2023-02-23 11:55:21 +01:00
Florian Renaud 021babc9b1 Fix notification in encrypted room for poll end event 2023-02-23 09:24:14 +01:00
ganfra a98dc86e34 version++ 2023-02-22 17:51:12 +01:00
Maxime NATUREL 24e1740a8a
Merge pull request #8151 from vector-im/fix/mna/edited-reply-parsing
[Timeline]: Editing a reply from iOS breaks the "in reply to" rendering (PSG-1168)
2023-02-22 10:48:25 +01:00
dependabot[bot] 77807de811
Bump com.otaliastudios:transcoder from 0.10.4 to 0.10.5
Bumps [com.otaliastudios:transcoder](https://github.com/natario1/Transcoder) from 0.10.4 to 0.10.5.
- [Release notes](https://github.com/natario1/Transcoder/releases)
- [Commits](https://github.com/natario1/Transcoder/compare/v0.10.4...v0.10.5)

---
updated-dependencies:
- dependency-name: com.otaliastudios:transcoder
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-21 23:57:25 +00:00
Maxime NATUREL ac0bdb7dfe Ensure edited text reply contains a formatted body 2023-02-20 15:55:49 +01:00
SpiritCroc 9521814f32 Support webp rendering in the timeline
Change-Id: I701cc96bdc466e1de961222e30d25289a159557e
2023-02-19 10:10:42 +01:00
Maxime NATUREL de50577ac3
Merge pull request #8136 from vector-im/fix/mna/poll-end-while-no-poll-start
[Poll] Improve rendering of poll end message when poll start event isn't available (PSG-1157)
2023-02-17 13:51:50 +01:00
Florian Renaud 7d16c86f37
Merge pull request #8130 from vector-im/feature/fre/poll_sync_push_rules_after_creation
[Poll] Synchronize polls and message push rules after creation (PSG-1137)
2023-02-17 13:46:13 +01:00
Florian Renaud dcd43d6e7f Move push rule ids extensions to vector module 2023-02-17 10:14:33 +01:00
Florian Renaud f887acd854
Merge pull request #8114 from vector-im/feature/fre/poll_new_push_rules
[Poll] Synchronize polls push rules with message push rules (PSG-954)
2023-02-17 10:03:53 +01:00
Maxime NATUREL 2ae6cd40c7
Merge pull request #8126 from vector-im/fix/mna/poll-votes-aggregation
[Poll] Fix votes aggregation process (PSG-1153)
2023-02-16 17:29:45 +01:00
SpiritCroc daacdd038c Merge tag 'v1.5.25' into sc
Change-Id: I45d2198b25e7ebee157f4836596ef59ddb1fbe8e
2023-02-15 15:53:00 +01:00
Maxime NATUREL 068a43e1f4 Fix code style issue 2023-02-15 10:37:10 +01:00
Benoit Marty bb08def69b Hotfix 1.5.25 2023-02-15 10:18:02 +01:00
Hugh Nimmo-Smith e8f196a6f1 Deduplicate error messages 2023-02-14 17:53:02 +00:00
Florian Renaud 1f4c098d8b Synchronize polls and message push rules after creation 2023-02-14 17:56:30 +01:00
Florian Renaud 2cb1ea95dc Allow notifications for poll end event 2023-02-14 17:52:23 +01:00
Florian Renaud 71455706cb Sync poll rules with messages rule 2023-02-14 17:52:22 +01:00
Maxime NATUREL 28089618a3 Adding fallback text on Poll end message 2023-02-14 17:01:57 +01:00
SpiritCroc b65bd730b8 Add some missed read receipt debugging
Change-Id: I431f18d433b49e382b70bc14dc999ca14e8f05f3
2023-02-14 10:49:18 +01:00
Hugh Nimmo-Smith f43c9bf4d0
Spelling 2023-02-13 17:40:50 +00:00
Maxime NATUREL 6034085244 Adding unit test 2023-02-13 18:08:08 +01:00
Maxime NATUREL 454ce1c095 Aggregate poll response events even when the poll start event has been received yet 2023-02-13 18:08:07 +01:00