chore: migrate production URLs to ttrpgplayer.ru (v1.0.24)
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -184,7 +184,7 @@ export class LicenseService {
|
|||||||
private resolveLicenseActivateBaseUrl(): string {
|
private resolveLicenseActivateBaseUrl(): string {
|
||||||
const raw = process.env.DND_LICENSE_STATUS_URL?.trim();
|
const raw = process.env.DND_LICENSE_STATUS_URL?.trim();
|
||||||
if (raw) return raw.endsWith('/') ? raw : `${raw}/`;
|
if (raw) return raw.endsWith('/') ? raw : `${raw}/`;
|
||||||
return 'https://license.mailib.ru/';
|
return 'https://license.ttrpgplayer.ru/';
|
||||||
}
|
}
|
||||||
|
|
||||||
private async activateWithProductKey(productKey: string): Promise<string> {
|
private async activateWithProductKey(productKey: string): Promise<string> {
|
||||||
|
|||||||
@@ -136,7 +136,7 @@ export const EDITOR_MESSAGES: Record<EditorLocale, Record<string, string>> = {
|
|||||||
'app.about.supportLabel': 'ПОДДЕРЖКА',
|
'app.about.supportLabel': 'ПОДДЕРЖКА',
|
||||||
'app.about.supportEmail': 'player.ttrpg@gmail.com',
|
'app.about.supportEmail': 'player.ttrpg@gmail.com',
|
||||||
'app.about.websiteLabel': 'САЙТ И ОБНОВЛЕНИЯ',
|
'app.about.websiteLabel': 'САЙТ И ОБНОВЛЕНИЯ',
|
||||||
'app.about.websiteUrl': 'https://updates.mailib.ru/',
|
'app.about.websiteUrl': 'https://ttrpgplayer.ru/',
|
||||||
|
|
||||||
'help.title': 'Инструкция',
|
'help.title': 'Инструкция',
|
||||||
'help.navAria': 'Разделы инструкции',
|
'help.navAria': 'Разделы инструкции',
|
||||||
@@ -453,7 +453,7 @@ export const EDITOR_MESSAGES: Record<EditorLocale, Record<string, string>> = {
|
|||||||
'app.about.supportLabel': 'SUPPORT',
|
'app.about.supportLabel': 'SUPPORT',
|
||||||
'app.about.supportEmail': 'player.ttrpg@gmail.com',
|
'app.about.supportEmail': 'player.ttrpg@gmail.com',
|
||||||
'app.about.websiteLabel': 'WEBSITE & UPDATES',
|
'app.about.websiteLabel': 'WEBSITE & UPDATES',
|
||||||
'app.about.websiteUrl': 'https://updates.mailib.ru/',
|
'app.about.websiteUrl': 'https://ttrpgplayer.ru/',
|
||||||
|
|
||||||
'help.title': 'Instructions',
|
'help.title': 'Instructions',
|
||||||
'help.navAria': 'Instruction sections',
|
'help.navAria': 'Instruction sections',
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
В `package.json` → `build.publish.url`:
|
В `package.json` → `build.publish.url`:
|
||||||
|
|
||||||
`https://updates.mailib.ru/`
|
`https://updates.ttrpgplayer.ru/`
|
||||||
|
|
||||||
Обязателен **слэш в конце**. URL вшивается в установщик при `npm run pack:win`.
|
Обязателен **слэш в конце**. URL вшивается в установщик при `npm run pack:win`.
|
||||||
|
|
||||||
@@ -44,9 +44,9 @@ Linux из PowerShell напрямую не собирается — тольк
|
|||||||
|
|
||||||
## Сервер
|
## Сервер
|
||||||
|
|
||||||
- Домен: `https://updates.mailib.ru/`
|
- Домен: `https://updates.ttrpgplayer.ru/`
|
||||||
- nginx `root`: `/var/www/updates_mailib_ru`
|
- nginx `root`: `/var/www/updates_mailib_ru`
|
||||||
- Проверка: `curl https://updates.mailib.ru/latest.yml`
|
- Проверка: `curl https://updates.ttrpgplayer.ru/latest.yml`
|
||||||
|
|
||||||
## Лицензия
|
## Лицензия
|
||||||
|
|
||||||
|
|||||||
@@ -20,4 +20,4 @@ npm run pack:mac
|
|||||||
|
|
||||||
## Проверка после выкладки
|
## Проверка после выкладки
|
||||||
|
|
||||||
`https://updates.mailib.ru/latest-mac.yml` (подставьте свой feed URL)
|
`https://updates.ttrpgplayer.ru/latest-mac.yml` (подставьте свой feed URL)
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
## Продакшен-сборка
|
## Продакшен-сборка
|
||||||
|
|
||||||
Скрипт `npm run build` / `node scripts/build.mjs --production` подставляет в main-бандл базовый URL **`https://license.mailib.ru/`** как `process.env.DND_LICENSE_STATUS_URL` (если при сборке переменная не задана). Другой хост: `DND_LICENSE_STATUS_URL=https://example.com npm run build`. В dev по-прежнему можно выставить переменную окружения при запуске Electron без пересборки.
|
Скрипт `npm run build` / `node scripts/build.mjs --production` подставляет в main-бандл базовый URL **`https://license.ttrpgplayer.ru/`** как `process.env.DND_LICENSE_STATUS_URL` (если при сборке переменная не задана). Другой хост: `DND_LICENSE_STATUS_URL=https://example.com npm run build`. В dev по-прежнему можно выставить переменную окружения при запуске Electron без пересборки.
|
||||||
|
|
||||||
## Хранение на клиенте
|
## Хранение на клиенте
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "TTRPGPlayer",
|
"name": "TTRPGPlayer",
|
||||||
"version": "1.0.23",
|
"version": "1.0.24",
|
||||||
"description": "TTRPG Player — редактор и проигрыватель НРИ",
|
"description": "TTRPG Player — редактор и проигрыватель НРИ",
|
||||||
"main": "dist/main/index.cjs",
|
"main": "dist/main/index.cjs",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
@@ -170,7 +170,7 @@
|
|||||||
},
|
},
|
||||||
"publish": {
|
"publish": {
|
||||||
"provider": "generic",
|
"provider": "generic",
|
||||||
"url": "https://updates.mailib.ru/"
|
"url": "https://updates.ttrpgplayer.ru/"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -15,7 +15,7 @@ const isProd = resolveIsProduction();
|
|||||||
const obfuscateMain = resolveObfuscateMain();
|
const obfuscateMain = resolveObfuscateMain();
|
||||||
|
|
||||||
/** База для `GET …/v1/status` (отзыв). Прод: по умолчанию публичный сервер; переопределение: `DND_LICENSE_STATUS_URL=… npm run build`. */
|
/** База для `GET …/v1/status` (отзыв). Прод: по умолчанию публичный сервер; переопределение: `DND_LICENSE_STATUS_URL=… npm run build`. */
|
||||||
const DEFAULT_LICENSE_STATUS_BASE = 'https://license.mailib.ru/';
|
const DEFAULT_LICENSE_STATUS_BASE = 'https://license.ttrpgplayer.ru/';
|
||||||
|
|
||||||
/** Старые .map от dev-сборок не должны попадать в pack. */
|
/** Старые .map от dev-сборок не должны попадать в pack. */
|
||||||
function removeStaleNodeBundleMaps() {
|
function removeStaleNodeBundleMaps() {
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ def build_document() -> Document:
|
|||||||
srv.rows[0].cells[0].text = "Параметр"
|
srv.rows[0].cells[0].text = "Параметр"
|
||||||
srv.rows[0].cells[1].text = "Значение"
|
srv.rows[0].cells[1].text = "Значение"
|
||||||
server_rows = [
|
server_rows = [
|
||||||
("Домен", "https://license.mailib.ru/"),
|
("Домен", "https://license.ttrpgplayer.ru/"),
|
||||||
("VPS", "185.173.94.234"),
|
("VPS", "185.173.94.234"),
|
||||||
("Папка проекта", "/var/www/license_mailib_ru"),
|
("Папка проекта", "/var/www/license_mailib_ru"),
|
||||||
("Файл ключей", "/var/www/license_mailib_ru/data.json"),
|
("Файл ключей", "/var/www/license_mailib_ru/data.json"),
|
||||||
@@ -229,7 +229,7 @@ console.log('maxDevices:', maxDevices);
|
|||||||
add_code(doc, "sudo -u dndlicense pm2 restart dnd-license")
|
add_code(doc, "sudo -u dndlicense pm2 restart dnd-license")
|
||||||
|
|
||||||
doc.add_heading("Проверка", level=1)
|
doc.add_heading("Проверка", level=1)
|
||||||
add_bullet(doc, "Сервер жив: curl https://license.mailib.ru/health → {\"ok\":true}")
|
add_bullet(doc, "Сервер жив: curl https://license.ttrpgplayer.ru/health → {\"ok\":true}")
|
||||||
add_bullet(
|
add_bullet(
|
||||||
doc,
|
doc,
|
||||||
"В приложении TTRPG Player: «Указать ключ» → вставить продуктовый ключ → активация.",
|
"В приложении TTRPG Player: «Указать ключ» → вставить продуктовый ключ → активация.",
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ def build_document() -> Document:
|
|||||||
doc.add_paragraph(
|
doc.add_paragraph(
|
||||||
"Одна версия на все платформы. Сначала вручную поднимается версия и собирается macOS; "
|
"Одна версия на все платформы. Сначала вручную поднимается версия и собирается macOS; "
|
||||||
"затем на Windows скрипт собирает Win/Linux без повторного bump и выкладывает на "
|
"затем на Windows скрипт собирает Win/Linux без повторного bump и выкладывает на "
|
||||||
"https://updates.mailib.ru/"
|
"https://updates.ttrpgplayer.ru/"
|
||||||
)
|
)
|
||||||
|
|
||||||
doc.add_heading("Рекомендуемый порядок", level=1)
|
doc.add_heading("Рекомендуемый порядок", level=1)
|
||||||
@@ -136,9 +136,9 @@ def build_document() -> Document:
|
|||||||
|
|
||||||
doc.add_heading("Проверка после выкладки", level=1)
|
doc.add_heading("Проверка после выкладки", level=1)
|
||||||
for url in [
|
for url in [
|
||||||
"https://updates.mailib.ru/latest.yml",
|
"https://updates.ttrpgplayer.ru/latest.yml",
|
||||||
"https://updates.mailib.ru/latest-linux.yml",
|
"https://updates.ttrpgplayer.ru/latest-linux.yml",
|
||||||
"https://updates.mailib.ru/latest-mac.yml",
|
"https://updates.ttrpgplayer.ru/latest-mac.yml",
|
||||||
]:
|
]:
|
||||||
add_bullet(doc, url)
|
add_bullet(doc, url)
|
||||||
|
|
||||||
|
|||||||
@@ -1,45 +1,90 @@
|
|||||||
TTRPG Release folder
|
TTRPG Release folder
|
||||||
|
|
||||||
====================
|
====================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
RECOMMENDED WORKFLOW (same version on all platforms)
|
RECOMMENDED WORKFLOW (same version on all platforms)
|
||||||
|
|
||||||
----------------------------------------------------
|
----------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
1) bump-version.cmd
|
1) bump-version.cmd
|
||||||
|
|
||||||
OR in project: npm version patch --no-git-tag-version
|
OR in project: npm version patch --no-git-tag-version
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
2) On Mac: npm ci && npm run build && npm run pack:mac
|
2) On Mac: npm ci && npm run build && npm run pack:mac
|
||||||
|
|
||||||
Copy to D:\TTRPG-Release:
|
Copy to D:\TTRPG-Release:
|
||||||
|
|
||||||
latest-mac.yml, TTRPGPlayer-x64.zip, TTRPGPlayer-arm64.zip (+ dmg optional)
|
latest-mac.yml, TTRPGPlayer-x64.zip, TTRPGPlayer-arm64.zip (+ dmg optional)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
3) release-all.cmd
|
3) release-all.cmd
|
||||||
|
|
||||||
- does NOT bump version (default -AfterMac)
|
- does NOT bump version (default -AfterMac)
|
||||||
|
|
||||||
- checks Mac files match package.json version
|
- checks Mac files match package.json version
|
||||||
|
|
||||||
- builds Windows + Linux, copies artifacts, publishes to updates.mailib.ru
|
- builds Windows + Linux, copies artifacts, publishes to updates.ttrpgplayer.ru
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
LEGACY (Win/Linux ahead of Mac)
|
LEGACY (Win/Linux ahead of Mac)
|
||||||
|
|
||||||
-------------------------------
|
-------------------------------
|
||||||
|
|
||||||
release-all-bump.cmd - bumps patch in script, build Win/Linux, publish with -SkipMac or add Mac later
|
release-all-bump.cmd - bumps patch in script, build Win/Linux, publish with -SkipMac or add Mac later
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
SCRIPTS
|
SCRIPTS
|
||||||
|
|
||||||
|
-------
|
||||||
|
|
||||||
|
release-all.cmd prepare + publish (-AfterMac by default)
|
||||||
|
|
||||||
|
prepare-release.cmd build Win/Linux only
|
||||||
|
|
||||||
|
publish.cmd upload only (-SkipMac if no Mac)
|
||||||
|
|
||||||
|
bump-version.cmd patch version in package.json only
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
prepare-release flags:
|
||||||
|
|
||||||
|
-AfterMac no bump, require Mac files in this folder (default via release-all)
|
||||||
|
|
||||||
|
-Bump bump patch then build
|
||||||
|
|
||||||
|
-SkipGit -SkipLinux -NoBump -Version X.Y.Z -Minor
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
publish flags:
|
||||||
|
|
||||||
|
-SkipMac -CheckOnly
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
CONFIG
|
||||||
|
|
||||||
|
------
|
||||||
|
|
||||||
|
release-config.json - project path, release path, git, WSL
|
||||||
|
|
||||||
|
publish-config.json - SSH upload settings
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Requires: Node.js 20+, git, OpenSSH, WSL+nvm for Linux.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Doc: TTRPG-Release-Instructions.docx
|
||||||
|
|
||||||
|
|||||||
@@ -2,5 +2,5 @@
|
|||||||
"sshKey": "%USERPROFILE%\\.ssh\\ttrpg_updates_root",
|
"sshKey": "%USERPROFILE%\\.ssh\\ttrpg_updates_root",
|
||||||
"sshTarget": "root@185.173.94.234",
|
"sshTarget": "root@185.173.94.234",
|
||||||
"remoteDir": "/var/www/updates_mailib_ru",
|
"remoteDir": "/var/www/updates_mailib_ru",
|
||||||
"feedUrl": "https://updates.mailib.ru/"
|
"feedUrl": "https://updates.ttrpgplayer.ru/"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user