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

Images are not included inside exported messages history and has to be viewed separately #22059

Closed
Jakolineuser opened this issue May 4, 2022 · 7 comments · Fixed by matrix-org/matrix-react-sdk#9260
Assignees
Labels
A-Export-Chat O-Occasional Affects or can be seen by some users regularly or most users rarely S-Minor Impairs non-critical functionality or suitable workarounds exist T-Defect

Comments

@Jakolineuser
Copy link

Jakolineuser commented May 4, 2022

Steps to reproduce

1- Open any chat room in Element web
2- Click room info located at the top right corner of your screen
3- Click export chat
4- Choose format as HTML (from the beginning) then tick the "Include attachments" checkbox
5- The result is an archive that has many files one of them is called "messages.html"
6- Clicking this file will launch it in your browser, it has the full history of the chat room with videos included, but not images
7- If the user wanna see the images then he/she should open the images folder and watch every image separately
8- This move destroyed the context of the chat room
9- Why is there "messages.html" and "messages2.html"? Why not make the entire history in one file?

Outcome

I expected to have the full room history exported and available for viewing in one html file with both images and videos included into that single file, so that I can open it in my browser and watch the whole history, what I got instead was an export distributed into two html files without any images, the images was available but standalone in a separate folder which ruined the context of the chat room.

Operating system

Debian

Browser information

Tested in both Firefox 91.6.0esr (64-bit) and Google Chrome 98.0.4758.80 (64-bit)

URL for webapp

https://app.element.io/

Application version

Element version: 1.10.11

Homeserver

matrix.org

Will you send logs?

No

@Jakolineuser Jakolineuser changed the title Images are not included when exporting room history and has to be viewed separately Images are not included inside exported room history and has to be viewed separately May 4, 2022
@Jakolineuser Jakolineuser changed the title Images are not included inside exported room history and has to be viewed separately Images are not included inside exported messages history and has to be viewed separately May 4, 2022
@duxovni duxovni added S-Minor Impairs non-critical functionality or suitable workarounds exist O-Occasional Affects or can be seen by some users regularly or most users rarely A-Export-Chat labels May 4, 2022
@Jakolineuser
Copy link
Author

Jakolineuser commented May 4, 2022

Judging by the similarity, perhaps the code responsible for exporting room history was taken from the Telegram desktop client, which is open-source, please notice that in Telegram Desktop 3.7.3 the export function is working as expected, with both videos and images being visible and clickable in a single "messages.html" file.

@t3chguy
Copy link
Member

t3chguy commented May 4, 2022

Yes, it was a community contribution based on that, the contributor is no longer around

@Jakolineuser
Copy link
Author

Jakolineuser commented May 5, 2022

Well, I'm not a programmer, someone should observe the source code for the latest version of Telegram desktop client and try to mimic that, because it's not very useful in it's current state, this is important.

The export function is full of problems, someone should fix them, write something new, or mimic the latest Telegram code.

@eTomte
Copy link

eTomte commented Jul 6, 2022

I'm having this issue as well. At the bare minimum the image issue needs to get fixed. I also dislike how there isn't a single HTML file with all of the messages, but the export has been that way since the beginning (when images worked.)

@bw4518
Copy link

bw4518 commented Jul 9, 2022

I confirm this issue. Export as such is almost completely useless. As stated, exported video files don't have this problem.

@dividuum
Copy link

dividuum commented Jul 15, 2022

Can confirm the missing images. I took a quick look at the code base after comparing the HTML output from the export with the one in element-web. The HTML export looks like this:

<div style='max-height:243px;max-width:324px;''></div>
<div style='height:243px;width:324px;''></div>

when it should look similar to the output in element-web:

<div style='max-height:243px;max-width:324px;''></div>
   <img ...>
</div>

I (think I) tracked this down to this code. My guess would be this.state.imgLoaded is still false while exporting in line 497:

  { !this.state.imgLoaded && <div style={{ height: maxHeight, width: maxWidth }} /> }

Might make sense as the export maybe doesn't wait for those images to be loaded? There seems to be a forExport prop that might be used force the image to be embedded as is without waiting for it to be loaded? Might have been introduced by this commit? I might be totally wrong with all of that as I'm neither familiar with matrix nor this code base.

@Jakolineuser
Copy link
Author

It's been 4 months, has anyone taken tangible steps to fix this?

@t3chguy t3chguy self-assigned this Sep 7, 2022
su-ex added a commit to SchildiChat/element-desktop that referenced this issue Sep 28, 2022
* Element Call video rooms ([\#9267](matrix-org/matrix-react-sdk#9267)).
* Device manager - rename session ([\#9282](matrix-org/matrix-react-sdk#9282)).
* Allow widgets to read related events ([\#9210](matrix-org/matrix-react-sdk#9210)). Contributed by @dhenneke.
* Device manager - logout of other session ([\#9280](matrix-org/matrix-react-sdk#9280)).
* Device manager - logout current session ([\#9275](matrix-org/matrix-react-sdk#9275)).
* Device manager - verify other devices ([\#9274](matrix-org/matrix-react-sdk#9274)).
* Allow integration managers to remove users ([\#9211](matrix-org/matrix-react-sdk#9211)).
* Device manager - add verify current session button ([\#9252](matrix-org/matrix-react-sdk#9252)).
* Add NotifPanel dot back. ([\#9242](matrix-org/matrix-react-sdk#9242)). Fixes element-hq/element-web#17641.
* Implement MSC3575: Sliding Sync ([\#8328](matrix-org/matrix-react-sdk#8328)).
* Add the clipboard read permission for widgets ([\#9250](matrix-org/matrix-react-sdk#9250)). Contributed by @stefanmuhle.
* Make autocomplete pop-up wider in thread view ([\#9289](matrix-org/matrix-react-sdk#9289)).
* Fix soft crash around inviting invalid MXIDs in start DM on first message flow ([\#9281](matrix-org/matrix-react-sdk#9281)). Fixes matrix-org/element-web-rageshakes#15060 and matrix-org/element-web-rageshakes#15140.
* Fix in-reply-to previews not disappearing when swapping rooms ([\#9278](matrix-org/matrix-react-sdk#9278)).
* Fix invalid instanceof operand window.OffscreenCanvas ([\#9276](matrix-org/matrix-react-sdk#9276)). Fixes element-hq/element-web#23275.
* Fix memory leak caused by unremoved listener ([\#9273](matrix-org/matrix-react-sdk#9273)).
* Fix thumbnail generation when offscreen canvas fails ([\#9272](matrix-org/matrix-react-sdk#9272)). Fixes element-hq/element-web#23265.
* Prevent sliding sync from showing a room under multiple sublists ([\#9266](matrix-org/matrix-react-sdk#9266)).
* Fix tile crash around tooltipify links ([\#9270](matrix-org/matrix-react-sdk#9270)). Fixes element-hq/element-web#23253.
* Device manager - filter out nulled metadatas in device tile properly ([\#9251](matrix-org/matrix-react-sdk#9251)).
* Fix a sliding sync bug which could cause rooms to loop ([\#9268](matrix-org/matrix-react-sdk#9268)).
* Remove the grey gradient on images in bubbles in the timeline ([\#9241](matrix-org/matrix-react-sdk#9241)). Fixes element-hq/element-web#21651.
* Fix html export not including images ([\#9260](matrix-org/matrix-react-sdk#9260)). Fixes element-hq/element-web#22059.
* Fix possible soft crash from a race condition in space hierarchies ([\#9254](matrix-org/matrix-react-sdk#9254)). Fixes matrix-org/element-web-rageshakes#15225.
* Disable all types of autocorrect, -complete, -capitalize, etc on Spotlight's search field ([\#9259](matrix-org/matrix-react-sdk#9259)).
* Handle M_INVALID_USERNAME on /register/available ([\#9237](matrix-org/matrix-react-sdk#9237)). Fixes element-hq/element-web#23161.
* Fix issue with quiet zone around QR code ([\#9243](matrix-org/matrix-react-sdk#9243)). Fixes element-hq/element-web#23199.
su-ex added a commit to SchildiChat/element-web that referenced this issue Sep 28, 2022
* Element Call video rooms ([\element-hq#9267](matrix-org/matrix-react-sdk#9267)).
* Device manager - rename session ([\element-hq#9282](matrix-org/matrix-react-sdk#9282)).
* Allow widgets to read related events ([\element-hq#9210](matrix-org/matrix-react-sdk#9210)). Contributed by @dhenneke.
* Device manager - logout of other session ([\element-hq#9280](matrix-org/matrix-react-sdk#9280)).
* Device manager - logout current session ([\element-hq#9275](matrix-org/matrix-react-sdk#9275)).
* Device manager - verify other devices ([\element-hq#9274](matrix-org/matrix-react-sdk#9274)).
* Allow integration managers to remove users ([\element-hq#9211](matrix-org/matrix-react-sdk#9211)).
* Device manager - add verify current session button ([\element-hq#9252](matrix-org/matrix-react-sdk#9252)).
* Add NotifPanel dot back. ([\#9242](matrix-org/matrix-react-sdk#9242)). Fixes element-hq#17641.
* Implement MSC3575: Sliding Sync ([\element-hq#8328](matrix-org/matrix-react-sdk#8328)).
* Add the clipboard read permission for widgets ([\element-hq#9250](matrix-org/matrix-react-sdk#9250)). Contributed by @stefanmuhle.
* Make autocomplete pop-up wider in thread view ([\element-hq#9289](matrix-org/matrix-react-sdk#9289)).
* Fix soft crash around inviting invalid MXIDs in start DM on first message flow ([\element-hq#9281](matrix-org/matrix-react-sdk#9281)). Fixes matrix-org/element-web-rageshakes#15060 and matrix-org/element-web-rageshakes#15140.
* Fix in-reply-to previews not disappearing when swapping rooms ([\element-hq#9278](matrix-org/matrix-react-sdk#9278)).
* Fix invalid instanceof operand window.OffscreenCanvas ([\element-hq#9276](matrix-org/matrix-react-sdk#9276)). Fixes element-hq#23275.
* Fix memory leak caused by unremoved listener ([\element-hq#9273](matrix-org/matrix-react-sdk#9273)).
* Fix thumbnail generation when offscreen canvas fails ([\element-hq#9272](matrix-org/matrix-react-sdk#9272)). Fixes element-hq#23265.
* Prevent sliding sync from showing a room under multiple sublists ([\element-hq#9266](matrix-org/matrix-react-sdk#9266)).
* Fix tile crash around tooltipify links ([\element-hq#9270](matrix-org/matrix-react-sdk#9270)). Fixes element-hq#23253.
* Device manager - filter out nulled metadatas in device tile properly ([\element-hq#9251](matrix-org/matrix-react-sdk#9251)).
* Fix a sliding sync bug which could cause rooms to loop ([\element-hq#9268](matrix-org/matrix-react-sdk#9268)).
* Remove the grey gradient on images in bubbles in the timeline ([\element-hq#9241](matrix-org/matrix-react-sdk#9241)). Fixes element-hq#21651.
* Fix html export not including images ([\element-hq#9260](matrix-org/matrix-react-sdk#9260)). Fixes element-hq#22059.
* Fix possible soft crash from a race condition in space hierarchies ([\element-hq#9254](matrix-org/matrix-react-sdk#9254)). Fixes matrix-org/element-web-rageshakes#15225.
* Disable all types of autocorrect, -complete, -capitalize, etc on Spotlight's search field ([\element-hq#9259](matrix-org/matrix-react-sdk#9259)).
* Handle M_INVALID_USERNAME on /register/available ([\element-hq#9237](matrix-org/matrix-react-sdk#9237)). Fixes element-hq#23161.
* Fix issue with quiet zone around QR code ([\element-hq#9243](matrix-org/matrix-react-sdk#9243)). Fixes element-hq#23199.
su-ex added a commit to SchildiChat/matrix-react-sdk that referenced this issue Sep 28, 2022
* Element Call video rooms ([\matrix-org#9267](matrix-org#9267)).
* Device manager - rename session ([\matrix-org#9282](matrix-org#9282)).
* Allow widgets to read related events ([\matrix-org#9210](matrix-org#9210)). Contributed by @dhenneke.
* Device manager - logout of other session ([\matrix-org#9280](matrix-org#9280)).
* Device manager - logout current session ([\matrix-org#9275](matrix-org#9275)).
* Device manager - verify other devices ([\matrix-org#9274](matrix-org#9274)).
* Allow integration managers to remove users ([\matrix-org#9211](matrix-org#9211)).
* Device manager - add verify current session button ([\matrix-org#9252](matrix-org#9252)).
* Add NotifPanel dot back. ([\matrix-org#9242](matrix-org#9242)). Fixes element-hq/element-web#17641.
* Implement MSC3575: Sliding Sync ([\matrix-org#8328](matrix-org#8328)).
* Add the clipboard read permission for widgets ([\matrix-org#9250](matrix-org#9250)). Contributed by @stefanmuhle.
* Make autocomplete pop-up wider in thread view ([\matrix-org#9289](matrix-org#9289)).
* Fix soft crash around inviting invalid MXIDs in start DM on first message flow ([\matrix-org#9281](matrix-org#9281)). Fixes matrix-org/element-web-rageshakes#15060 and matrix-org/element-web-rageshakes#15140.
* Fix in-reply-to previews not disappearing when swapping rooms ([\matrix-org#9278](matrix-org#9278)).
* Fix invalid instanceof operand window.OffscreenCanvas ([\matrix-org#9276](matrix-org#9276)). Fixes element-hq/element-web#23275.
* Fix memory leak caused by unremoved listener ([\matrix-org#9273](matrix-org#9273)).
* Fix thumbnail generation when offscreen canvas fails ([\matrix-org#9272](matrix-org#9272)). Fixes element-hq/element-web#23265.
* Prevent sliding sync from showing a room under multiple sublists ([\matrix-org#9266](matrix-org#9266)).
* Fix tile crash around tooltipify links ([\matrix-org#9270](matrix-org#9270)). Fixes element-hq/element-web#23253.
* Device manager - filter out nulled metadatas in device tile properly ([\matrix-org#9251](matrix-org#9251)).
* Fix a sliding sync bug which could cause rooms to loop ([\matrix-org#9268](matrix-org#9268)).
* Remove the grey gradient on images in bubbles in the timeline ([\matrix-org#9241](matrix-org#9241)). Fixes element-hq/element-web#21651.
* Fix html export not including images ([\matrix-org#9260](matrix-org#9260)). Fixes element-hq/element-web#22059.
* Fix possible soft crash from a race condition in space hierarchies ([\matrix-org#9254](matrix-org#9254)). Fixes matrix-org/element-web-rageshakes#15225.
* Disable all types of autocorrect, -complete, -capitalize, etc on Spotlight's search field ([\matrix-org#9259](matrix-org#9259)).
* Handle M_INVALID_USERNAME on /register/available ([\matrix-org#9237](matrix-org#9237)). Fixes element-hq/element-web#23161.
* Fix issue with quiet zone around QR code ([\matrix-org#9243](matrix-org#9243)). Fixes element-hq/element-web#23199.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Export-Chat O-Occasional Affects or can be seen by some users regularly or most users rarely 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.

6 participants