From 66986b804cd897c548951137bd84a5d0839f2832dbc68a0c6a97487aff0eaed4 Mon Sep 17 00:00:00 2001 From: AidarKC Date: Tue, 23 Jun 2026 14:11:09 +0400 Subject: [PATCH] =?UTF-8?q?=D0=92=D1=8B=D0=BD=D0=B5=D1=81=D1=82=D0=B8=20?= =?UTF-8?q?=D0=B4=D0=B5=D1=84=D0=BE=D0=BB=D1=82=D0=BD=D1=8B=D0=B9=20=D1=81?= =?UTF-8?q?=D0=B5=D1=80=D0=B2=D0=B5=D1=80=20=D0=B2=20=D0=BA=D0=BE=D0=BD?= =?UTF-8?q?=D1=84=D0=B8=D0=B3=20UI=20=D0=B8=20=D0=BE=D0=B6=D0=B8=D0=B2?= =?UTF-8?q?=D0=B8=D1=82=D1=8C=20=D1=81=D1=87=D0=B5=D1=82=D1=87=D0=B8=D0=BA?= =?UTF-8?q?=20=D0=BF=D0=B0=D1=80=D0=BE=D0=BB=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 4 ++-- shine-UI/js/deploy-config.js | 7 +++++++ shine-UI/js/pages/developer-settings-view.js | 5 +++-- shine-UI/js/pages/login-password-view.js | 7 ++++++- shine-UI/js/pages/register-view.js | 8 ++++++-- shine-UI/js/pages/registration-payment-view.js | 3 ++- shine-UI/js/services/auth-service.js | 3 ++- shine-UI/js/services/shine-server-resolver.js | 14 ++++++++++---- shine-UI/js/services/ws-client.js | 3 ++- shine-UI/server-ui/create-server-pda.html | 4 ++-- shine-UI/server-ui/js/create-server-pda-page.js | 3 +++ shine-UI/server-ui/js/update-server-pda-page.js | 3 +++ shine-UI/server-ui/update-server-pda.html | 4 ++-- 13 files changed, 50 insertions(+), 18 deletions(-) create mode 100644 shine-UI/js/deploy-config.js diff --git a/VERSION.properties b/VERSION.properties index 8aeaa9d..eaa4f8e 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.240 -server.version=1.2.225 +client.version=1.2.241 +server.version=1.2.226 diff --git a/shine-UI/js/deploy-config.js b/shine-UI/js/deploy-config.js new file mode 100644 index 0000000..4fa5068 --- /dev/null +++ b/shine-UI/js/deploy-config.js @@ -0,0 +1,7 @@ +// Конфиг по умолчанию для конкретного деплоя UI. +// Перед выкладкой на другой хост можно поменять этот файл без правки логики приложения. + +export const defaultServerLogin = 'shineupme'; +export const defaultServerAddress = 'shineup.me'; +export const defaultServerHttp = `https://${defaultServerAddress}`; +export const defaultServerWs = `wss://${defaultServerAddress}/ws`; diff --git a/shine-UI/js/pages/developer-settings-view.js b/shine-UI/js/pages/developer-settings-view.js index ab7b7a9..f8f90e6 100644 --- a/shine-UI/js/pages/developer-settings-view.js +++ b/shine-UI/js/pages/developer-settings-view.js @@ -17,6 +17,7 @@ import { uploadArweaveFile, validateAvatarSourceFile, } from '../services/arweave-file-service.js'; +import { defaultServerAddress, defaultServerHttp } from '../deploy-config.js'; export const pageMeta = { id: 'developer-settings-view', title: 'Настройки разработчика' }; @@ -207,9 +208,9 @@ function showClientUpdateHelp() { window.alert( 'Если UI не обновился:\n\n' + '1) Закройте вкладки с SHiNE.\n' - + '2) Откройте chrome://settings/siteData и удалите данные для shineup.me.\n' + + `2) Откройте chrome://settings/siteData и удалите данные для ${defaultServerAddress}.\n` + '3) Если приложение установлено как PWA — удалите его с устройства.\n' - + '4) Откройте https://shineup.me заново и выполните вход.\n' + + `4) Откройте ${defaultServerHttp} заново и выполните вход.\n` + '5) Если всё ещё старая версия — откройте в режиме инкогнито и проверьте версию в Настройки -> Версии.' ); } diff --git a/shine-UI/js/pages/login-password-view.js b/shine-UI/js/pages/login-password-view.js index c870886..136152c 100644 --- a/shine-UI/js/pages/login-password-view.js +++ b/shine-UI/js/pages/login-password-view.js @@ -100,6 +100,7 @@ export function render({ navigate }) { onInput: (index, value) => { passwordWords[index] = value; syncDraftState(); + updateWordsPreview(); }, }); @@ -165,7 +166,10 @@ export function render({ navigate }) { syncDraftState(); loginInput.addEventListener('input', syncDraftState); - passwordInput.addEventListener('input', syncDraftState); + passwordInput.addEventListener('input', () => { + syncDraftState(); + updateWordsPreview(); + }); passwordModeCheckbox.addEventListener('change', () => { const nextMode = passwordModeCheckbox.checked ? 'words' : 'single'; @@ -181,6 +185,7 @@ export function render({ navigate }) { } passwordMode = nextMode; updatePasswordModeVisibility(); + updateWordsPreview(); syncDraftState(); }); diff --git a/shine-UI/js/pages/register-view.js b/shine-UI/js/pages/register-view.js index 61e62c1..6a135cf 100644 --- a/shine-UI/js/pages/register-view.js +++ b/shine-UI/js/pages/register-view.js @@ -14,6 +14,7 @@ import { PASSWORD_WORDS_COUNT, } from '../services/password-words.js'; import { openRegistrationFaq } from './registration-faq-view.js'; +import { defaultServerHttp, defaultServerLogin } from '../deploy-config.js'; export const pageMeta = { id: 'register-view', title: 'Зарегистрироваться', showAppChrome: false }; @@ -100,6 +101,7 @@ export function render({ navigate }) { onInput: (index, value) => { passwordWords[index] = value; syncDraftState(); + updateWordsPreview(); }, }); @@ -123,8 +125,8 @@ export function render({ navigate }) { serverNotice.className = 'card stack'; serverNotice.innerHTML = `
Первый сервер SHiNE
- - + + `; @@ -299,6 +301,7 @@ export function render({ navigate }) { passwordInput.addEventListener('input', () => { syncDraftState(); + updateWordsPreview(); }); passwordModeCheckbox.addEventListener('change', () => { @@ -315,6 +318,7 @@ export function render({ navigate }) { } passwordMode = nextMode; updatePasswordModeVisibility(); + updateWordsPreview(); syncDraftState(); }); diff --git a/shine-UI/js/pages/registration-payment-view.js b/shine-UI/js/pages/registration-payment-view.js index cd4afc5..0437074 100644 --- a/shine-UI/js/pages/registration-payment-view.js +++ b/shine-UI/js/pages/registration-payment-view.js @@ -16,6 +16,7 @@ import { isUserAlreadyExistsSolanaError, registerUserOnSolana, } from '../services/solana-register-service.js'; +import { defaultServerLogin } from '../deploy-config.js'; export const pageMeta = { id: 'registration-payment-view', title: 'Оплата регистрации', showAppChrome: false }; const MIN_REQUIRED_SOL = 0.01; @@ -194,7 +195,7 @@ export function render({ navigate }) { login: state.registrationDraft.login, keyBundle, solanaEndpoint: state.entrySettings.solanaServer, - accessServers: [state.entrySettings.shineServerLogin || 'shineupme'], + accessServers: [state.entrySettings.shineServerLogin || defaultServerLogin], }); } catch (solanaError) { const solanaMsg = formatSolanaErrorDetails(solanaError); diff --git a/shine-UI/js/services/auth-service.js b/shine-UI/js/services/auth-service.js index c314e2a..d02254f 100644 --- a/shine-UI/js/services/auth-service.js +++ b/shine-UI/js/services/auth-service.js @@ -27,6 +27,7 @@ import { saveEncryptedUserSecrets, saveSessionMaterial, } from './key-vault.js'; +import { defaultServerWs } from '../deploy-config.js'; const BCH_SUFFIX = '001'; const ZERO64 = '0'.repeat(64); @@ -73,7 +74,7 @@ const CONNECTION_SUBTYPES = Object.freeze({ function normalizeServerUrl(url) { const value = (url || '').trim(); - if (!value) return 'wss://shineup.me/ws'; + if (!value) return defaultServerWs; if (value.startsWith('ws://') || value.startsWith('wss://')) { try { const parsed = new URL(value); diff --git a/shine-UI/js/services/shine-server-resolver.js b/shine-UI/js/services/shine-server-resolver.js index db23935..e42cc81 100644 --- a/shine-UI/js/services/shine-server-resolver.js +++ b/shine-UI/js/services/shine-server-resolver.js @@ -1,9 +1,15 @@ import { readShineUserPda } from './shine-user-pda-service.js'; +import { + defaultServerAddress, + defaultServerHttp, + defaultServerLogin, + defaultServerWs, +} from '../deploy-config.js'; -export const DEFAULT_SHINE_SERVER_LOGIN = 'shineupme'; -export const DEFAULT_SHINE_SERVER_ADDRESS = 'shineup.me'; -export const DEFAULT_SHINE_SERVER_HTTP = `https://${DEFAULT_SHINE_SERVER_ADDRESS}`; -export const DEFAULT_SHINE_SERVER_WS = `wss://${DEFAULT_SHINE_SERVER_ADDRESS}/ws`; +export const DEFAULT_SHINE_SERVER_LOGIN = defaultServerLogin; +export const DEFAULT_SHINE_SERVER_ADDRESS = defaultServerAddress; +export const DEFAULT_SHINE_SERVER_HTTP = defaultServerHttp; +export const DEFAULT_SHINE_SERVER_WS = defaultServerWs; function normalizeHostLike(value) { const raw = String(value || '').trim(); diff --git a/shine-UI/js/services/ws-client.js b/shine-UI/js/services/ws-client.js index e8de9ed..324cdf6 100644 --- a/shine-UI/js/services/ws-client.js +++ b/shine-UI/js/services/ws-client.js @@ -1,10 +1,11 @@ import { captureClientError } from './client-error-reporter.js'; +import { defaultServerWs } from '../deploy-config.js'; const DEFAULT_TIMEOUT_MS = 12000; function buildWsUrl(raw) { const value = (raw || '').trim(); - if (!value) return 'wss://shineup.me/ws'; + if (!value) return defaultServerWs; if (value.startsWith('/')) { const secure = window.location.protocol === 'https:'; const scheme = secure ? 'wss' : 'ws'; diff --git a/shine-UI/server-ui/create-server-pda.html b/shine-UI/server-ui/create-server-pda.html index 2911b2e..40cc3c3 100644 --- a/shine-UI/server-ui/create-server-pda.html +++ b/shine-UI/server-ui/create-server-pda.html @@ -56,12 +56,12 @@