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

HTML-formatted Media Captions not supported by Element-IOS client #7859

Open
RannerDesign opened this issue Nov 3, 2024 · 3 comments
Open
Labels
A-Media T-Enhancement New features, changes in functionality, performance boosts, user-facing improvements

Comments

@RannerDesign
Copy link

Steps to reproduce

HTML-formatted Media Captions not supported by Element-IOS client

The Client-Server-API describes in chapter 10.2.2.7 how to set up captions for media
https://spec.matrix.org/unstable/client-server-api/#media-captions

After solution of Issue 27927 Element/Web and Element/Windows are supporting unformatted and HTML-formatted captions.

IOS and Android clients currently do not support captions.

The tests were performed in the following environments:

Element Desktop on Windows 10 pro 22H2 (Build 19045.4780)
Version von Element: 1.11.83
Krypto-Version: Rust SDK 0.7.2 (7a21514), Vodozemac 0.7.0

Element IOS client
Element 1.11.18 (20240917151940)
Matrix SDK 0.27.13
Rust Crypto SDK 0.7.2 (Vodozemac 0.7.0)

The following server and user environment was used:

user_name:	Testuser1040
user_id:	@m1040a:matrix.org
room_name:	TH3
room_id:	!mNtkvlOYMJmlSPpMZt:matrix.org

The generation of events was performed with Python scripts using matrix-nio

Results for Element/Windows and Element/Web are now as expected: the image is show with a formatted caption.

Result for Element/IOS is unexpected: the image is shown without caption.

241103 Screenshots
The sources for these events are nearly identical:

Element/Windows

{
	"content": {
		"body": "Fotograf 3713: Drehwurm",
		"filename": "WP2024-03_Drehwurm_[Ranner]_IMG_3713.jpg",
		"format": "org.matrix.custom.html",
		"formatted_body": "<p><strong>Fotograf 3713: </strong>Drehwurm</p>",
		"info": {
			"h": 427,
			"mimetype": "image/jpeg",
			"size": 205735,
			"thumbnail_info": null,
			"thumbnail_url": null,
			"w": 640
		},
		"msgtype": "m.image",
		"url": "mxc://matrix.org/OTDzouHVfiTUncRpkUHoitSA"
	},
	"origin_server_ts": 1730324921229,
	"sender": "@e1035z:matrix.org",
	"type": "m.room.message",
	"unsigned": {
		"membership": "join",
		"age": 343618259
	},
	"event_id": "$Tq23xs6YTdrGfxnAeugyGZR_wlq8Du96p3xskytiO7U",
	"room_id": "!mNtkvlOYMJmlSPpMZt:matrix.org"
}

Element/Web

{
	"content": {
		"body": "Fotograf 3713: Drehwurm",
		"filename": "WP2024-03_Drehwurm_[Ranner]_IMG_3713.jpg",
		"format": "org.matrix.custom.html",
		"formatted_body": "<p><strong>Fotograf 3713: </strong>Drehwurm</p>",
		"info": {
			"h": 427,
			"mimetype": "image/jpeg",
			"size": 205735,
			"thumbnail_info": null,
			"thumbnail_url": null,
			"w": 640
		},
		"msgtype": "m.image",
		"url": "mxc://matrix.org/OTDzouHVfiTUncRpkUHoitSA"
	},
	"origin_server_ts": 1730324921229,
	"sender": "@e1035z:matrix.org",
	"type": "m.room.message",
	"unsigned": {
		"membership": "join",
		"age": 343955184
	},
	"event_id": "$Tq23xs6YTdrGfxnAeugyGZR_wlq8Du96p3xskytiO7U",
	"room_id": "!mNtkvlOYMJmlSPpMZt:matrix.org"
}

Element/IOS

{
	"sender": "@e1035z:matrix.org",
	"content": {
		"format": "org.matrix.custom.html",
		"formatted_body": "<p><strong>Fotograf 3713: </strong>Drehwurm</p>",
		"url": "mxc://matrix.org/OTDzouHVfiTUncRpkUHoitSA",
		"msgtype": "m.image",
		"filename": "WP2024-03_Drehwurm_[Ranner]_IMG_3713.jpg",
		"body": "Fotograf 3713: Drehwurm",
		"info": {
			"size": 205735,
			"mimetype": "image/jpeg",
			"w": 640,
			"h": 427
		}
	},
	"origin_server_ts": 1730324921229,
	"room_id": "!mNtkvlOYMJmlSPpMZt:matrix.org",
	"event_id": "$Tq23xs6YTdrGfxnAeugyGZR_wlq8Du96p3xskytiO7U",
	"unsigned": {
		"age": 344442504
	},
	"type": "m.room.message"
}

A support of formatted captions for Element/IOS client like Element/Windows and Element/Web would be highly appreciated.

Outcome

What did you expect?

Image with caption

What happened instead?

Image without caption

Your phone model

iPhone Xs

Operating system version

IOS 18.0.1

Application version

No response

Homeserver

matrrix.org

Will you send logs?

No

@RannerDesign RannerDesign added the T-Defect Something isn't working: bugs, crashes, hangs and other reported problems label Nov 3, 2024
@pixlwave pixlwave added T-Enhancement New features, changes in functionality, performance boosts, user-facing improvements A-Media and removed T-Defect Something isn't working: bugs, crashes, hangs and other reported problems labels Nov 4, 2024
@sophonet
Copy link

sophonet commented Nov 29, 2024

I have seen that the type „defect“ has been changed to „enhancement“, but I would consider this a defect: It is quite common that people send pictures with additional text e.g. using WhatsApp, and the text, even if it is technically called „caption“, often includes relevant information / personal questions etc. to the recipient. Currently according to this bug it is dropped from the conversation. In my situation it has caused confusion a couple of times already since questions in the caption have not been answered.

So indeed I would be glad if this issue could be addressed and the caption is shown as text below a picture, like it is done in WhatsApp/Signal/other messenger clients or in the desktop/web versions of element.

@manuroe
Copy link
Member

manuroe commented Nov 29, 2024

This feature is happening on ElementX-iOS: element-hq/element-x-ios#3429. The whole feature is available on EXI nightlies. It will be released soon on the App Store.

@RannerDesign
Copy link
Author

Thanks @manuroe HTML-formatted media captions are correctly displayed in ElementX-IOS.
Unfortunately ElementX forces all threads to be expanded and I found no way to change this in settings. This makes rooms to look very unoverseeable.
So I wonder if media captions will also be implemented for Element-IOS

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Media T-Enhancement New features, changes in functionality, performance boosts, user-facing improvements
Projects
None yet
Development

No branches or pull requests

4 participants