Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Forwarded copies should not be deleted when a message is. #10924

Closed
Biep opened this issue Sep 20, 2019 · 10 comments · Fixed by matrix-org/matrix-react-sdk#7929
Closed

Forwarded copies should not be deleted when a message is. #10924

Biep opened this issue Sep 20, 2019 · 10 comments · Fixed by matrix-org/matrix-react-sdk#7929
Assignees
Labels
A-Message-Forwarding A-Timeline O-Uncommon Most users are unlikely to come across this or unexpected workflow S-Minor Impairs non-critical functionality or suitable workarounds exist T-Defect

Comments

@Biep
Copy link

Biep commented Sep 20, 2019

I saw a nice picture, and forwarded it to another room. Later the picture was deleted in the original room - and it also disappeared in the other room. This is unexpected behaviour and should not happen. At the best, when deleting a message, it should ask: 'Delete forwarded copies too?'.

Edit: the message is gone for me, in Riot Desktop - but another member sees it on her iPhone.
For me there is a single empty line , and the button ribbon that appears on hovering only has the three vertical dots.

@jamazi
Copy link

jamazi commented Jan 14, 2020

Confirmed

@tulir
Copy link
Contributor

tulir commented Jan 20, 2021

This is a bug. Forwarded copies aren't linked to the original in any way in the protocol, but Element Web seems to reuse some internal structures that cause forwards to become empty when the original is redacted. It seems to only happen when forwarding to a different encrypted room, the source room doesn't matter.

@Biep
Copy link
Author

Biep commented Jan 20, 2021

Linking would in itself be a good idea, but only with decent garbage collection/reference counting. The code for replying could be re-used.
Actually there should be two mechanisms, like citing and replying. The one "freezes" the message, and the other creates a dynamic link. When uploading huge files, having only a link helps keep the memory load down.

@tulir
Copy link
Contributor

tulir commented Jan 20, 2021

Forwarding already doesn't copy media content (that's the main reason forwarding exists), but media isn't linked to messages yet, so removing a message won't remove the media.

@maxkratz
Copy link
Contributor

Element Web seems to reuse some internal structures that cause forwards to become empty when the original is redacted. It seems to only happen when forwarding to a different encrypted room, the source room doesn't matter.

After deleting a forwarded message (aka "the copy"), the bug occurred, too. I was able to remove/hide the original message by deleting the forwarded one.

@Destroyer
Copy link

This is really annoying because if somebody else deletes your forwarded message, you don't even notice that it happened in other chats - there's no event information about that

@tulir
Copy link
Contributor

tulir commented Oct 17, 2021

To be perfectly clear: the message is not deleted in any other rooms. Reloading/restarting Element will bring it back.

That's why there's no notice about the removal in other rooms: it didn't actually happen. It's only a client-side rendering bug.

@SimonBrandner SimonBrandner added O-Uncommon Most users are unlikely to come across this or unexpected workflow S-Minor Impairs non-critical functionality or suitable workarounds exist labels Oct 17, 2021
@HarHarLinks

This comment was marked as duplicate.

@532910
Copy link
Contributor

532910 commented Feb 23, 2022

Why this marked as minor?

@t3chguy
Copy link
Member

t3chguy commented Feb 24, 2022

Why this marked as minor?

Because

To be perfectly clear: the message is not deleted in any other rooms. Reloading/restarting Element will bring it back.

@t3chguy t3chguy self-assigned this Mar 1, 2022
kegsay added a commit to matrix-org/matrix-react-sdk that referenced this issue Apr 14, 2022
* Release threads as a beta feature ([\#8081](#8081)). Fixes element-hq/element-web#21351.
* More video rooms design updates ([\#8222](#8222)).
* Update video rooms to new design specs ([\#8207](#8207)). Fixes element-hq/element-web#21515, element-hq/element-web#21516 element-hq/element-web#21519 and element-hq/element-web#21526.
* Live Location Sharing - left panel warning with error ([\#8201](#8201)).
* Live location sharing - Stop publishing location to beacons with consecutive errors ([\#8194](#8194)).
* Live location sharing: allow retry when stop sharing fails ([\#8193](#8193)).
* Allow voice messages to be scrubbed in the timeline ([\#8079](#8079)). Fixes element-hq/element-web#18713.
* Live location sharing - stop sharing to beacons in rooms you left ([\#8187](#8187)).
* Allow sending and thumbnailing AVIF images ([\#8172](#8172)).
* Live location sharing - handle geolocation errors ([\#8179](#8179)).
* Show voice room participants when not connected ([\#8136](#8136)). Fixes element-hq/element-web#21513.
* Add margins between labs sections ([\#8169](#8169)).
* Live location sharing - send geolocation beacon events - happy path ([\#8127](#8127)).
* Add support for Animated (A)PNG ([\#8158](#8158)). Fixes element-hq/element-web#12967.
* Don't form continuations from thread roots ([\#8166](#8166)). Fixes element-hq/element-web#20908.
* Improve handling of animated GIF and WEBP images ([\#8153](#8153)). Fixes element-hq/element-web#16193 and element-hq/element-web#6684.
* Wire up file preview for video files ([\#8140](#8140)). Fixes element-hq/element-web#21539.
* When showing thread, always auto-focus its composer ([\#8115](#8115)). Fixes element-hq/element-web#21438.
* Live location sharing - refresh beacon expiry in room ([\#8116](#8116)).
* Use styled mxids in member list v2 ([\#8110](#8110)). Fixes element-hq/element-web#14825. Contributed by @SimonBrandner.
* Delete groups (legacy communities system) ([\#8027](#8027)). Fixes element-hq/element-web#17532.
* Add a prototype of voice rooms in labs ([\#8084](#8084)). Fixes element-hq/element-web#3546.
* Fix editing `<ol>` tags with a non-1 start attribute ([\#8211](#8211)). Fixes element-hq/element-web#21625.
* Fix URL previews being enabled when room first created ([\#8227](#8227)). Fixes element-hq/element-web#21659.
* Don't use m.call for Jitsi video rooms ([\#8223](#8223)).
* Scale emoji with size of surrounding text ([\#8224](#8224)).
* Make "Jump to date" translatable ([\#8218](#8218)).
* Normalize call buttons ([\#8129](#8129)). Fixes element-hq/element-web#21493. Contributed by @luixxiul.
* Show room preview bar with maximised widgets ([\#8180](#8180)). Fixes element-hq/element-web#21542.
* Update more strings to not wrongly mention room when it is/could be a space ([\#7722](#7722)). Fixes element-hq/element-web#20243 and element-hq/element-web#20910.
* Fix issue with redacting via edit composer flow causing stuck editStates ([\#8184](#8184)).
* Fix some image/video scroll jumps ([\#8182](#8182)).
* Fix "react error on share dialog" ([\#8170](#8170)). Contributed by @yaya-usman.
* Fix disambiguated profile in threads in bubble layout ([\#8168](#8168)). Fixes element-hq/element-web#21570. Contributed by @SimonBrandner.
* Responsive BetaCard on Labs ([\#8154](#8154)). Fixes element-hq/element-web#21554. Contributed by @luixxiul.
* Display button as inline in room directory dialog ([\#8164](#8164)). Fixes element-hq/element-web#21567. Contributed by @luixxiul.
* Null guard TimelinePanel unmount edge ([\#8171](#8171)).
* Fix beta pill label breaking ([\#8162](#8162)). Fixes element-hq/element-web#21566. Contributed by @luixxiul.
* Strip relations when forwarding ([\#7929](#7929)). Fixes element-hq/element-web#19769, element-hq/element-web#18067 element-hq/element-web#21015 and element-hq/element-web#10924.
* Don't try (and fail) to show replies for redacted events ([\#8141](#8141)). Fixes element-hq/element-web#21435.
* Fix 3pid member info for space member list ([\#8128](#8128)). Fixes element-hq/element-web#21534.
* Set max-width to user context menu ([\#8089](#8089)). Fixes element-hq/element-web#21486. Contributed by @luixxiul.
* Fix issue with falsey hrefs being sent in events ([\#8113](#8113)). Fixes element-hq/element-web#21417.
* Make video sizing consistent with images ([\#8102](#8102)). Fixes element-hq/element-web#20072.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Message-Forwarding A-Timeline O-Uncommon Most users are unlikely to come across this or unexpected workflow S-Minor Impairs non-critical functionality or suitable workarounds exist T-Defect
Projects
None yet
Development

Successfully merging a pull request may close this issue.

10 participants