fix(game): own export chooser modal; PNG option outside in-app webviews only
CI / changes (pull_request) Successful in 2s
CI / unit (pull_request) Has been skipped
CI / integration (pull_request) Has been skipped
CI / ui (pull_request) Successful in 59s
CI / conformance (pull_request) Successful in 9s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 1m26s
CI / changes (pull_request) Successful in 2s
CI / unit (pull_request) Has been skipped
CI / integration (pull_request) Has been skipped
CI / ui (pull_request) Successful in 59s
CI / conformance (pull_request) Successful in 9s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 1m26s
Telegram's native showPopup delivers its callback with no user activation, so navigator.share (TG iOS) and clipboard writes (TG Android GCG copy) silently fail from it — the chooser is now always the app's own modal, keeping the button click's gesture alive for the delivery APIs. The data:URL preview modal is dropped: the Android TG/VK long-press menu mangles data: URLs (dead download, black-screen open, base64 clipboard garbage), so a binary PNG has no working client-side route in those webviews at all. The image option is withheld there until the server-rendered signed-URL delivery (Telegram downloadFile / VKWebAppDownloadFile) lands; the plain web and mobile browsers keep it. On-device findings by the owner on the test contour (TG iOS, TG Android, VK Android).
This commit is contained in:
@@ -311,12 +311,8 @@ export const en = {
|
||||
'stats.guestHint': 'Sign in to track your statistics.',
|
||||
|
||||
'game.exportGcg': 'Export game',
|
||||
'game.exportChoice': 'Export the finished game as:',
|
||||
'game.exportImageOpt': 'Image (PNG)',
|
||||
'game.exportGcgOpt': 'GCG file',
|
||||
'game.imageSaveHint': 'Long-press (or right-click) the image to save it.',
|
||||
'game.imageCopy': 'Copy image',
|
||||
'game.imageCopied': 'Image copied to the clipboard.',
|
||||
'game.gcgActiveOnly': 'Available once the game is finished.',
|
||||
'game.gcgCopied': 'GCG copied to the clipboard.',
|
||||
'game.addFriendShort': 'Add friend?',
|
||||
|
||||
@@ -311,12 +311,8 @@ export const ru: Record<MessageKey, string> = {
|
||||
'stats.guestHint': 'Войдите, чтобы вести статистику.',
|
||||
|
||||
'game.exportGcg': 'Экспорт партии',
|
||||
'game.exportChoice': 'Экспортировать завершённую партию как:',
|
||||
'game.exportImageOpt': 'Картинка (PNG)',
|
||||
'game.exportGcgOpt': 'Файл GCG',
|
||||
'game.imageSaveHint': 'Чтобы сохранить картинку — долгое нажатие (или правый клик).',
|
||||
'game.imageCopy': 'Скопировать картинку',
|
||||
'game.imageCopied': 'Картинка скопирована в буфер обмена.',
|
||||
'game.gcgActiveOnly': 'Доступно после завершения игры.',
|
||||
'game.gcgCopied': 'GCG скопирован в буфер обмена.',
|
||||
'game.addFriendShort': 'В друзья?',
|
||||
|
||||
Reference in New Issue
Block a user