Skip to content

Commit a7744a6

Browse files
authored
Merge pull request #369 from HyPrismTeam/dev
pee-poo-pee check (Bump 3.0.1)
2 parents 35957ea + d5c829c commit a7744a6

File tree

73 files changed

+3655
-803
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

73 files changed

+3655
-803
lines changed

.github/workflows/build.yml

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,9 +105,28 @@ jobs:
105105
sudo apt-get update
106106
sudo apt-get install -y \
107107
rpm \
108-
libfuse2
109-
108+
libfuse2 \
109+
flatpak \
110+
flatpak-builder
111+
112+
- name: Prepare Flatpak remotes
113+
run: |
114+
sudo flatpak remote-add --system --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
115+
sudo flatpak remote-add --system --if-not-exists flathub-beta https://dl.flathub.org/beta-repo/flathub-beta.flatpakrepo
116+
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
117+
flatpak remote-add --user --if-not-exists flathub-beta https://dl.flathub.org/beta-repo/flathub-beta.flatpakrepo
118+
119+
- name: Diagnose Flatpak environment
120+
run: |
121+
echo "=== flatpak --version ==="
122+
flatpak --version
123+
echo "=== system remotes ==="
124+
flatpak remotes --system || true
125+
echo "=== system runtimes (25.08 / Electron2) ==="
126+
flatpak list --system --runtime | grep -E 'freedesktop|electronjs|25\.08|Electron2' || true
127+
110128
- name: Build Linux ${{ matrix.arch }}
129+
continue-on-error: true
111130
run: |
112131
chmod +x Scripts/publish.sh
113132
./Scripts/publish.sh linux --arch ${{ matrix.arch }}

Docs/English/Development/Contributing.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
- Linux package app ID is `io.github.HyPrismTeam.HyPrism`.
2525
- AppStream metadata is injected for Linux packaging from `Properties/linux/io.github.HyPrismTeam.HyPrism.metainfo.xml`.
2626
- RPM repack step intentionally strips `/usr/lib/.build-id` payload and does not own system directories (`/`, `/usr`, `/usr/lib`) to avoid install conflicts on Fedora.
27-
- Flatpak packaging uses runtime/base `24.08`; CI prepares Flathub with `sudo` and installs `org.freedesktop.Platform`, `org.freedesktop.Sdk`, and `org.electronjs.Electron2.BaseApp` at system level before build.
27+
- Flatpak packaging uses runtime/base `25.08`; CI prepares Flathub remotes at system and user levels so flatpak-builder can install deps, then installs `org.freedesktop.Platform`, `org.freedesktop.Sdk`, and `org.electronjs.Electron2.BaseApp` at system level before build.
2828
- Linux CI prints Flatpak remotes/runtimes diagnostics to simplify troubleshooting when flatpak-bundler fails.
2929

3030
## Adding a New Feature

Docs/English/General/Features.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
- **Multi-instance support** — Run different game versions, mod configurations, or test setups simultaneously
77
- **Instance metadata** — Track installation state, version, patch status, and mod list per instance
88
- **Instance deletion** — Clean removal of game files with confirmation
9+
- **Instance import/export** — Import instances from ZIP archives or PWR patch files, export instances for backup/sharing
10+
- **PWR file support** — Import full game builds directly from `.pwr` files (official Hytale patch format)
911
- **Dashboard quick switcher** — Icon-only current instance selector (left of Play) opens a dropdown with instance icons + names
1012

1113
## Authentication

Docs/English/Technical/ServicesReference.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ All services are registered as singletons in `Bootstrapper.cs` and injected via
1616
- **Mods exact targeting:** mod IPC accepts optional `instanceId`; when provided, it has priority over branch/version to prevent collisions between multiple instances with the same version.
1717
- **Mods changelog:** `hyprism:mods:changelog` returns the (best-effort) plaintext changelog for a specific CurseForge mod file (`modId` + `fileId`).
1818
- **Instance operations targeting:** instance delete/saves IPC handlers accept `instanceId` and resolve by GUID first, with branch/version kept only as backward-compatible fallback.
19+
- **Instance import:** `hyprism:instance:import` supports importing from both ZIP archives and PWR patch files. ZIP files are extracted directly; PWR files are applied using Butler to create a new instance with auto-detected version from filename.
1920
- **Instance icon refresh:** `hyprism:instance:getIcon` returns a cache-busted file URL (`?v=<lastWriteTicks>`) so updated logos appear immediately after overwrite.
2021
- **Frontend icon loading rule:** instance list icon requests are executed sequentially (not in parallel) to avoid mixed responses on shared IPC reply channels.
2122
- **Launcher updater IPC:**
@@ -135,4 +136,4 @@ All services are registered as singletons in `Bootstrapper.cs` and injected via
135136
- **Mods storage policy:** profile switching does not redirect `UserData/Mods` to `Profiles/.../Mods`; mods remain instance-local.
136137
- **Profile folder format:** profile folders are stored under `Profiles/{profileId}` (GUID).
137138
- **Legacy migration:** launcher attempts to migrate legacy name-based profile folders in `Profiles/` to ID-based layout at startup (best-effort, non-destructive merge when both folders exist).
138-
- **Official profile auth routing:** switching to an official profile automatically sets auth domain to `sessionserver.hytale.com`.
139+
- **Official profile auth routing:** switching to an official profile automatically sets auth domain to `sessions.hytale.com`.

Docs/Russian/Development/Contributing.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
- Linux package app ID: `io.github.HyPrismTeam.HyPrism`.
2525
- AppStream-метаданные для Linux-пакетов берутся из `Properties/linux/io.github.HyPrismTeam.HyPrism.metainfo.xml`.
2626
- На этапе repack для RPM намеренно удаляется payload `/usr/lib/.build-id`, а системные директории (`/`, `/usr`, `/usr/lib`) не добавляются как владельцы пакета — это предотвращает конфликты установки на Fedora.
27-
- Для Flatpak используется runtime/base `24.08`; в CI перед сборкой Flathub подключается через `sudo`, а `org.freedesktop.Platform`, `org.freedesktop.Sdk` и `org.electronjs.Electron2.BaseApp` устанавливаются на system-уровень.
27+
- Для Flatpak используется runtime/base `25.08`; в CI remotes Flathub добавляются на system и user уровнях, чтобы flatpak-builder мог ставить зависимости, после чего `org.freedesktop.Platform`, `org.freedesktop.Sdk` и `org.electronjs.Electron2.BaseApp` устанавливаются на system-уровень.
2828
- Linux CI выводит диагностику remotes/runtimes Flatpak, чтобы быстрее разбирать сбои flatpak-bundler.
2929

3030
## Добавление новой функции

Docs/Russian/General/Features.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
- **Поддержка нескольких экземпляров** — Запускайте разные версии игры, конфигурации модов или тестовые сборки одновременно
77
- **Метаданные экземпляра** — Отслеживание состояния установки, версии, статуса патчей и списка модов для каждого экземпляра
88
- **Удаление экземпляра** — Полное удаление файлов игры с подтверждением
9+
- **Импорт/экспорт экземпляров** — Импортируйте экземпляры из ZIP-архивов или PWR-файлов, экспортируйте для резервного копирования/обмена
10+
- **Поддержка PWR-файлов** — Импорт полных сборок игры напрямую из `.pwr` файлов (официальный формат патчей Hytale)
911

1012
## Аутентификация
1113

Docs/Russian/Technical/ServicesReference.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
- **Точное нацеливание модов:** mod IPC принимает опциональный `instanceId`; если он передан, он имеет приоритет над branch/version и исключает коллизии при нескольких экземплярах с одной версией.
1616
- **Changelog модов:** `hyprism:mods:changelog` возвращает (best-effort) plaintext changelog для конкретного файла модификации CurseForge (`modId` + `fileId`).
1717
- **Нацеливание instance-операций:** обработчики удаления инстанса и работы с сейвами принимают `instanceId` и в первую очередь резолвят путь по GUID; branch/version сохранён как fallback для обратной совместимости.
18+
- **Импорт экземпляров:** `hyprism:instance:import` поддерживает импорт из ZIP-архивов и PWR-файлов. ZIP-файлы распаковываются напрямую; PWR-файлы применяются через Butler для создания нового экземпляра с автоопределением версии из имени файла.
1819
- **Обновление иконок инстанса:** `hyprism:instance:getIcon` возвращает URL файла с cache-busting параметром (`?v=<lastWriteTicks>`), чтобы новый логотип отображался сразу после перезаписи.
1920
- **Правило загрузки иконок на фронтенде:** в списке инстансов запросы иконок выполняются последовательно (не параллельно), чтобы исключить смешивание ответов в общем IPC reply-канале.
2021

@@ -119,4 +120,4 @@
119120
- **Политика хранения модов:** переключение профиля не перенаправляет `UserData/Mods` в `Profiles/.../Mods`; моды остаются в папке выбранного экземпляра.
120121
- **Формат папок профилей:** профили хранятся в `Profiles/{profileId}` (GUID).
121122
- **Миграция legacy-формата:** при старте лаунчер пытается мигрировать старые name-based папки в `Profiles/` в ID-based формат (best-effort, неразрушающее объединение при наличии обеих папок).
122-
- **Маршрутизация auth для official-профиля:** при переключении на официальный профиль домен аутентификации автоматически устанавливается в `sessionserver.hytale.com`.
123+
- **Маршрутизация auth для official-профиля:** при переключении на официальный профиль домен аутентификации автоматически устанавливается в `sessions.hytale.com`.

Frontend/package-lock.json

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Frontend/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
"preview": "vite preview"
1010
},
1111
"dependencies": {
12+
"flag-icons": "^7.5.0",
1213
"framer-motion": "^11.0.0",
1314
"i18next": "^25.7.4",
1415
"lucide-react": "^0.300.0",

0 commit comments

Comments
 (0)