From 6e6aad0430686189f155193e74db5bedad1bcca0 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Sat, 5 Sep 2020 17:19:25 +0300 Subject: Add more Element iOS compatibility (ref #8) --- web/widget-api.js | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'web/widget-api.js') diff --git a/web/widget-api.js b/web/widget-api.js index 556537f..6d81107 100644 --- a/web/widget-api.js +++ b/web/widget-api.js @@ -34,14 +34,28 @@ window.onmessage = event => { } export function sendSticker(content) { + const data = { + content, + // `name` is for Element Web (and also the spec) + // Element Android uses content -> body as the name + name: content.body, + } + + // This is for Element iOS + const widgetData = { + ...data, + description: content.body, + file: `${content["net.maunium.telegram.sticker"].id}.png`, + } + // Element iOS explodes if there are extra fields present + delete widgetData.content["net.maunium.telegram.sticker"] + window.parent.postMessage({ api: "fromWidget", action: "m.sticker", requestId: `sticker-${Date.now()}`, widgetId, - data: { - name: content.body, - content, - }, + data, + widgetData, }, "*") } -- cgit v1.2.3