From 628a970e6f10830ccaa8e047286de6e888cc795bddc0349ddbda0338fbf4607f Mon Sep 17 00:00:00 2001 From: AidarKC Date: Tue, 11 Aug 2026 13:29:29 +0400 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=B0=D1=82=D1=8C=20UI=20=D0=B7=D0=B2=D0=BE=D0=BD=D0=BA=D0=BE?= =?UTF-8?q?=D0=B2=20=D0=B8=20=D0=BD=D0=B8=D0=B6=D0=BD=D0=B8=D0=B9=20=D1=82?= =?UTF-8?q?=D1=83=D0=BB=D0=B1=D0=B0=D1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 2 +- shine-UI/index.html | 5 +- shine-UI/js/app.js | 23 ++ .../components/arweave-attachment-manager.js | 7 +- shine-UI/js/components/toolbar.js | 1 - shine-UI/js/pages/arweave-uploads-view.js | 2 +- shine-UI/js/pages/channels-list.js | 25 +- shine-UI/js/services/call-ui-service.js | 184 ++++++++++- shine-UI/manifest.webmanifest | 11 +- shine-UI/styles/components.css | 288 +++++++++++++++--- shine-UI/styles/layout.css | 4 +- shine-UI/styles/main.css | 4 + 12 files changed, 465 insertions(+), 91 deletions(-) diff --git a/VERSION.properties b/VERSION.properties index 9e7bd58d..f83edfa4 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.5.29 +client.version=1.5.31 server.version=1.4.10 diff --git a/shine-UI/index.html b/shine-UI/index.html index 7a10f904..a392a36e 100644 --- a/shine-UI/index.html +++ b/shine-UI/index.html @@ -2,7 +2,10 @@ - + diff --git a/shine-UI/js/app.js b/shine-UI/js/app.js index 70366603..a8d07478 100644 --- a/shine-UI/js/app.js +++ b/shine-UI/js/app.js @@ -180,6 +180,7 @@ let uiVersionPeriodicIntervalId = null; let hiddenDmAudioContext = null; let hiddenDmAudioUnlocked = false; let initialConnectionCompleted = false; +let orientationLockInFlight = false; const CALL_PUSH_PENDING_ACTION_KEY = 'shine-ui-call-push-pending-action-v1'; const GUEST_ALLOWED_PAGES = new Set([ 'start-view', @@ -258,6 +259,23 @@ async function playDmSignal({ extended = false } = {}) { } } +async function tryLockPortraitOrientation() { + if (orientationLockInFlight) return false; + + const orientationApi = window.screen?.orientation; + if (!orientationApi?.lock) return false; + + orientationLockInFlight = true; + try { + await orientationApi.lock('portrait'); + return true; + } catch { + return false; + } finally { + orientationLockInFlight = false; + } +} + async function notifyHiddenIncomingMessage(fromLogin, text) { const body = String(text || '').trim() || `Вам пришло сообщение от ${fromLogin}`; const title = `Сообщение от ${fromLogin}`; @@ -1028,6 +1046,7 @@ async function ensureSessionRuntimeStarted() { async function init() { consumeCallPushActionFromUrlIfAny(); + void tryLockPortraitOrientation(); if (state.session.isLocalDemo) { setConnectionStatus('connected'); @@ -1411,8 +1430,12 @@ async function init() { }, { passive: true }); document.addEventListener('visibilitychange', () => { if (document.visibilityState !== 'visible') return; + void tryLockPortraitOrientation(); void checkConnectionHealth(); }); + window.addEventListener('orientationchange', () => { + void tryLockPortraitOrientation(); + }); } init(); diff --git a/shine-UI/js/components/arweave-attachment-manager.js b/shine-UI/js/components/arweave-attachment-manager.js index c22207ed..72f5529d 100644 --- a/shine-UI/js/components/arweave-attachment-manager.js +++ b/shine-UI/js/components/arweave-attachment-manager.js @@ -286,7 +286,7 @@ export function openArweaveAttachmentManager({ historyOnly = false, mode = 'attachment', historyPurpose = '', - uploadTransport = 'arweave', + uploadTransport = 'turbo', turboKeySource = 'client', } = {}) { const cleanLogin = String(login || '').trim(); @@ -303,7 +303,7 @@ export function openArweaveAttachmentManager({ let turboKeyChoices = []; let selectedWalletId = readLastWalletId(cleanLogin) || 'derived-client-key'; let selectedTurboKeySource = readLastTurboKeySource(cleanLogin, turboKeySource); - let selectedUploadTransport = String(uploadTransport || '').trim().toLowerCase() === 'turbo' ? 'turbo' : 'arweave'; + let selectedUploadTransport = String(uploadTransport || '').trim().toLowerCase() === 'arweave' ? 'arweave' : 'turbo'; let selectedFile = null; let selectedSha256 = ''; let selectedPreviewEnabled = false; @@ -592,6 +592,7 @@ export function openArweaveAttachmentManager({