Commit graph

6170 commits

Author SHA1 Message Date
SpiritCroc
acdf419768 Merge tag 'v1.5.32' into sc
Note: mainly conflicts in differing implementations to fix duplicate
read receipts.

After a quick glance at the upstream implementation, my first impression
is that we likely want to keep our downstream implementation:
- Better performance by checking for the more recent receipt in the SDK
  upon receipt receival, instead on rendering the timeline
- null seems to always map to main, which caused us jumping receipts in
  the past, which we have addressed by now

Conflicts:
	matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/helper/ChunkEntityHelper.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/timeline/TimelineEventController.kt
	vector/src/main/java/im/vector/app/features/html/PillsPostProcessor.kt

Change-Id: I47ae2afe5fcbe77a4fec69374d83821b94a431de
2023-04-20 10:53:09 +02:00
Yoan Pintas
110b5cfcb4
Add pills for permalink supported hosts (#8324) 2023-04-12 12:35:01 +00:00
ganfra
fe69d8e3fa Fix multiple read receipts for the same user in timeline #7882 2023-04-05 13:08:12 +02:00
SpiritCroc
965ba93de4 Merge tag 'v1.5.30' into sc
Version 1.5.30

Change-Id: I732e9fe05182e53968eab1d03f99dabdc148fed9

Conflicts:
	dependencies.gradle
	dependencies_groups.gradle
	vector/src/main/java/im/vector/app/features/home/room/detail/RoomDetailAction.kt
	vector/src/main/java/im/vector/app/features/home/room/detail/TimelineFragment.kt
	vector/src/main/java/im/vector/app/features/settings/VectorSettingsUrls.kt
	vector/src/main/res/drawable/ic_composer_rich_text_save.xml
2023-04-05 11:28:26 +02:00
Jorge Martín
c6e612c058 version++ 2023-04-05 10:18:30 +02:00
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
Yoan Pintas
ed121c051b
Add user completion for matrix ids (#8271) 2023-03-30 08:04:59 +00: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
Yoan Pintas
9fd1a22e10
Pillify permalinks (#8242) 2023-03-21 21:31:45 +00: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
ganfra
6491d0d89f version++ 2023-03-08 17:33:12 +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