Commit Graph

400 Commits

Author SHA1 Message Date
sanasol
743d7f2b7c fix(ci): use macos-latest for ARM64 builds 2026-01-31 20:02:07 +01:00
sanasol
759a7089c4 fix(ci): use macos-15-large for Intel x64 builds (macos-13 retired) 2026-01-31 20:00:13 +01:00
sanasol
0a5cc3f6d7 feat(ci): separate macOS arm64 and x64 builds with individual code signing
Changes:
- Split macOS build into two separate jobs: build-macos-arm64 and build-macos-x64
- ARM64 builds on macos-14 (M1 runner) for native Apple Silicon builds
- x64 builds on macos-13 (Intel runner) for native Intel builds
- Each build has its own code signing and notarization process
- Artifacts renamed with -arm64 and -x64 suffixes for clarity
- Separate release jobs for each architecture
- Updated package.json mac targets from "universal" to ["arm64", "x64"]

This fixes code signing issues when building universal binaries and allows
faster parallel builds for each architecture.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 19:58:35 +01:00
sanasol
499d9a5a6d Merge sanasol/develop into develop 2026-01-31 19:54:46 +01:00
Fazri Gading
7b2acd49b6 chore: sync package-lock with package.json 2026-01-31 22:58:02 +08:00
Fazri Gading
7b9951e72d Update release.yml 2026-01-31 20:34:57 +08:00
Fazri Gading
e81a0167c1 Merge pull request #246 from amiayweb/fix/v2.2.0-failed-release
Fix/v2.2.0 failed release
2026-01-31 20:32:31 +08:00
Fazri Gading
50c04b64df Merge branch 'develop' into fix/v2.2.0-failed-release 2026-01-31 20:32:15 +08:00
Fazri Gading
28e5fa35e1 update package-lock.json 2026-01-31 20:05:33 +08:00
Fazri Gading
52e7eafe0b fix: redo package.json arch 2026-01-31 19:22:09 +08:00
Fazri Gading
3de5c2eaa3 fix: removed arm64 flags 2026-01-31 19:19:34 +08:00
Fazri Gading
9c9b71bd4c Merge pull request #244 from amiayweb/fix/x64-appimage-issue
fix: preserves arch x64 on linux target for #242
2026-01-31 18:53:23 +08:00
Fazri Gading
c4bb15ce91 fix: preserves arch x64 on linux target for #242 2026-01-31 18:19:39 +08:00
Fazri Gading
5147e1856f fix: preserves arch x64 on linux target for #242 2026-01-31 18:16:39 +08:00
Fazri Gading
8719cd3138 fix: revert to previous release.yml (#238) 2026-01-31 00:09:22 +01:00
Fazri Gading
611d436085 fix: change ownership back to the runner user (#237) 2026-01-30 23:55:17 +01:00
Fazri Gading
d5cc0868e9 Release Build v2.2.0 (#236)
* fix: resolve cross-platform EPERM permissions errors

modManager.js:
- Switch from hardcoded 'junction' to dynamic symlink type based on OS (fixing Linux EPERM).
- Add retry logic for directory removal to handle file locking race conditions.
- Improve broken symlink detection during profile sync.

gameManager.js:
- Implement retry loop (3 attempts) for game directory removal in updateGameFiles to prevent EBUSY/EPERM errors on Windows.

paths.js:
- Prevent fs.mkdirSync failure in getModsPath by pre-checking for broken symbolic links.

* fix: missing pacman builds

* prepare release for 2.1.1

minor fix for EPERM error permission

* prepare release 2.1.1

minor fix EPERM permission error

* prepare release 2.1.1

* Update README.md Windows Prequisites for ARM64 builds

* fix: remove broken symlink after detected

* fix: add pathexists for paths.js to check symlink

* fix: isbrokenlink should be true to remove the symlink

* add arch package .pkg.tar.zst for release

* fix: release workflow for build-arch and build-linux

* build-arch job now only build arch .pkg.tar.zst package instead of the whole generic linux.
* build-linux job now exclude .pacman package since its deprecated and should not be used.

* fix: removes pacman build as it replaced by tar.zst and adds build:arch shortcut for pkgbuild

* aur: add proper VCS (-git) PKGBUILD

created clean VCS-based PKGBUILD following arch packaging conventions.

this explicitly marked as a rolling (-git) build and derives its version dynamically from git tags and commit history via pkgver(). previous hybrid approach has been changed.

key changes:
- use -git suffix to clearly indicate rolling source builds
- set pkgver=0 and compute the actual version via pkgver()
- build only a directory layout using electron-builder (--dir)
- avoid generating AppImage, deb, rpm, or pacman installers
- align build and package steps with Arch packaging guidelines

note: this PKGBUILD is intended for development and AUR use only and is not suitable for binary redistribution or release artifacts.

* ci: add fixed-version PKGBUILD for Arch Linux releases

this PKGBUILD intended for CI and GitHub release artifacts. targets tagged releases only and uses a fixed pkgver that matches the corresponding git tag. all of the VCS logic has been removed to PKGBUILD-git to ensure reproducible builds and stable versioning suitable for binary distribution.

the build process relies on electron-builder directory output (--dir) and packages only the unpacked application into a standard Arch Linux package (.pkg.tar.zst). other distro format are excluded from this path and handled separately.

this change establishes a clear separation between:
- rolling AUR development builds (-git)
- CI-generated, versioned Arch Linux release packages

the result is predictable artifact naming, correct version alignment, and Arch-compliant packaging for downstream users.

* Update README.md

adds information for Arch build

* Update README.md

BUILD.md location was changed and now this link is poiting to nothing

* Update PKGBUILD

* Update PKGBUILD-git

* chore: fix ubuntu/debian part in README.md

* Polish language support (#195)

* Update support_request.yml

Added hardware specification

* Update bug_report.yml

Add logs textfield to bug report

* chore: add changelog in README.md

* fix screenshot input in feature_request.yml

* add hardware spec input in bug_report.yml

* fix: PKGBUILD pkgname variable fix

* userdata migration [need review from other OS]

* french translate

* Add German and Swedish translations

Added de.json and sv.json locale files for German and Swedish language support. Updated i18n.js to register 'de' and 'sv' as available languages in the launcher.

* Update README.md

* chore: add offline-mode warning to the README.md

* chore: add downloads counter in README.md

* fix: Steam Deck/Ubuntu crash - use system libzstd.so

The bundled libzstd.so is incompatible with glibc 2.41's stricter heap
validation, causing "free(): invalid pointer" crashes.

Solution: Automatically replace bundled libzstd.so with system version
on Linux. The launcher detects and symlinks to /usr/lib/libzstd.so.1.

- Auto-detect system libzstd at common paths (Arch, Debian, Fedora)
- Backup bundled version as libzstd.so.bundled
- Create symlink to system version
- Add HYTALE_NO_LIBZSTD_FIX=1 to disable if needed

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* chore: remove Windows and Linux ARM64 information on the README.md

* Update support_request.yml

* fix: improve update system UX and macOS compatibility

Update System Improvements:
- Fix duplicate update popups by disabling legacy updater.js
- Add skip button to update popup (shows after 30s, on error, or after download)
- Add macOS-specific handling with manual download as primary option
- Add missing open-download-page IPC handler
- Add missing unblockInterface() method to properly clean up after popup close
- Add quitAndInstallUpdate alias in preload for compatibility
- Remove pulse animation when download completes
- Fix manual download button to show correct status and close popup
- Sync player name to settings input after first install

Client Patcher Cleanup:
- Remove server patching code (server uses pre-patched JAR from CDN)
- Simplify to client-only patching
- Remove unused imports (crypto, AdmZip, execSync, spawn, javaManager)
- Remove unused methods (stringToUtf8, findAndReplaceDomainUtf8)
- Move localhost dev code to backup file for reference

Code Quality Fixes:
- Fix duplicate DOMContentLoaded handlers in install.js
- Fix duplicate checkForUpdates definition in preload.js
- Fix redundant if/else in onProgressUpdate callback
- Fix typo "Harwadre" -> "Hardware" in preload.js

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Add Russian language support

Added Russian (ru) to the list of available languages.

* chore: drafting documentation on SERVER.md

* Some updates in Russian language localization file

* fix

* Update ru.json

* Fixed Java runtime name and fixed typo

* fixed untranslated place

* Update ru.json

* Update ru.json

* Update ru.json

* Update ru.json

* Update ru.json

* fix: timeout getLatestClient 

fixes #138

* fix: change default version to 7.pwr in main.js

* fix: change default release version to 7.pwr

* fix: change version release to 7.pwr

* docs: Add comprehensive troubleshooting guide (#209)

Add TROUBLESHOOTING.md with solutions for common issues including:

- Windows: Firewall configuration, duplicate mods, SmartScreen
- Linux: GPU detection (NVIDIA/AMD), SDL3_image/libpng dependencies,
  Wayland/X11 issues, Steam Deck support
- macOS: Rosetta 2 for Apple Silicon, code signing, quarantine
- Connection: Server boot failures, regional restrictions
- Authentication: Token errors, config reset procedures
- Avatar/Cosmetics: F2P limitations documentation
- Backup locations for all platforms
- Log locations for bug reports

Solutions compiled from closed GitHub issues (#205, #155, #90, #60,
#144, #192) and community feedback.

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>

* Standardize language codes, improve formatting, and update all locale files. (#224)

* Update German (Germany) localization

* Update Español (España) localization

* Update French (France) localization

* Update Polish (Poland) localization

* Update Portuguese (Brazil) localization

* Update Russian (Russia) localization

* Update Swedish (Sweden) localization

* Update Turkish (Turkey) localization

* Update language codes, names and alphabetical in i18n system

* Changed Spanish language name to the Formal name "Spanish (Spain)"

* Fix PKGBUILD-git

* Fix PKGBUILD

* delete cache after installation

* Enforce 16-char player name limit and update mod sync

Added a maxlength attribute to the player name input and enforced a 16-character limit in both install and settings scripts, providing user feedback if exceeded. Refactored modManager.js to replace symlink-based mod management with a copy-based system, copying enabled mods to HytaleSaves\Mods and removing legacy symlink logic to improve compatibility and avoid permission issues.

* Update installation subtitle

* chore: update quickstart link in README.md

* chore: delete warning of Ubuntu-Debian at Linux Prequisites section

* added featured server list from api

* Add Featured Servers page to GUI

* Update Discord invite URL in client patcher

* Add differential update system

* Remove launcher chat and add Discord popup

* fix: removed 'check disk space' alert on permission file error

* fix: upgrade tar to ^7.5.6 version

* fix: re-add universal arch for mac

* fix: upgrade electron/rebuild to 4.0.3

* fix: removed override tar version

* fix: pkgbuild version to 2.1.2

* fix: src.tar.zst and srcinfo missing files

* feat: add Indonesian language translation

* fix: GPU preference hint to Laptop-only

* feat: create two columns for settings page

* Add Discord invite link to rpc

* docs: add recordings form, fix OS list

* Release v2.2.0

* Release v2.2.0

* Release v2.2.0

* chore: delete icon.ico, moved to build folder

* chore: delete icon.png, moved to build folder

* fix: build and release for tag push-only in release.yml

* fix: gamescope steam deck issue fixes #186 hopefully

* Support branch selection for server patching

* chose: add auto-patch system for pre-release JAR

---------

Co-authored-by: TalesAmaral <57869141+TalesAmaral@users.noreply.github.com>
Co-authored-by: walti0 <95646872+walti0@users.noreply.github.com>
Co-authored-by: AMIAY <letudiantenrap.collab@gmail.com>
Co-authored-by: sanasol <mail@sanasol.ws>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Terromur <79866197+Terromur@users.noreply.github.com>
Co-authored-by: Zakhar Smokotov <zaharb840@gmail.com>
Co-authored-by: xSamiVS <samtaiebc@gmail.com>
v2.2.0
2026-01-30 23:19:46 +01:00
Fazri Gading
a21e7e4910 chose: add auto-patch system for pre-release JAR 2026-01-31 05:52:20 +08:00
AMIAY
14a63febc1 Support branch selection for server patching 2026-01-30 22:45:21 +01:00
Fazri Gading
2cdef44fec fix: gamescope steam deck issue fixes #186 hopefully 2026-01-31 05:26:43 +08:00
Fazri Gading
f8cf41972d fix: build and release for tag push-only in release.yml 2026-01-31 04:34:58 +08:00
Fazri Gading
ea0f87c46a chore: delete icon.png, moved to build folder 2026-01-31 04:23:55 +08:00
Fazri Gading
a5b3fe02c8 chore: delete icon.ico, moved to build folder 2026-01-31 04:23:33 +08:00
Fazri Gading
0bb82a0b3d Release v2.2.0 2026-01-31 04:22:05 +08:00
Fazri Gading
eccdcf223e Release v2.2.0 2026-01-31 04:15:50 +08:00
Fazri Gading
a09b082152 Release v2.2.0 2026-01-31 04:04:34 +08:00
Fazri Gading
f1d01ac78c docs: add recordings form, fix OS list 2026-01-31 02:56:37 +08:00
AMIAY
bfe0156606 Add Discord invite link to rpc 2026-01-30 19:02:12 +01:00
Fazri Gading
78e97bdbb7 feat: create two columns for settings page 2026-01-31 01:42:20 +08:00
Fazri Gading
769bc2054c fix: GPU preference hint to Laptop-only 2026-01-31 00:52:02 +08:00
Fazri Gading
5337441d97 feat: add Indonesian language translation 2026-01-31 00:51:24 +08:00
Fazri Gading
12453d2dda fix: src.tar.zst and srcinfo missing files 2026-01-30 23:50:54 +08:00
Fazri Gading
803df90fb6 fix: pkgbuild version to 2.1.2 2026-01-30 23:50:29 +08:00
Fazri Gading
6c31c39abd fix: removed override tar version 2026-01-30 23:23:13 +08:00
Fazri Gading
b5ab8b78e8 fix: upgrade electron/rebuild to 4.0.3 2026-01-30 22:50:14 +08:00
Fazri Gading
343f7b8016 Merge branch 'develop' 2026-01-30 22:39:43 +08:00
Fazri Gading
fa568fcce7 fix: re-add universal arch for mac 2026-01-30 22:39:26 +08:00
Fazri Gading
a6ecd2c167 Merge branch 'develop' 2026-01-30 22:26:50 +08:00
Fazri Gading
3e1c4aef73 fix: upgrade tar to ^7.5.6 version 2026-01-30 22:24:56 +08:00
Fazri Gading
1c14c3f603 fix: removed 'check disk space' alert on permission file error 2026-01-30 22:13:01 +08:00
AMIAY
30a4327655 Remove launcher chat and add Discord popup 2026-01-30 14:44:46 +01:00
AMIAY
33a0e219fc Add differential update system 2026-01-30 04:11:10 +01:00
AMIAY
fbdd9ee0cf Update Discord invite URL in client patcher 2026-01-30 02:28:45 +01:00
sanasol
dfe9ed2a89 ci: set 6-hour max timeout for macOS notarization
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
v2.1.4-test
2026-01-29 20:59:28 +01:00
AMIAY
22ea2f56d3 Add Featured Servers page to GUI 2026-01-29 19:00:13 +01:00
AMIAY
5039bcdadf added featured server list from api 2026-01-29 17:07:29 +01:00
Fazri Gading
4db8016a28 chore: delete warning of Ubuntu-Debian at Linux Prequisites section 2026-01-29 23:15:54 +08:00
Fazri Gading
e0fd7e6900 chore: update quickstart link in README.md 2026-01-29 23:14:22 +08:00
AMIAY
93a2a98028 Update installation subtitle 2026-01-29 03:38:46 +01:00
AMIAY
4775e9adbd Enforce 16-char player name limit and update mod sync
Added a maxlength attribute to the player name input and enforced a 16-character limit in both install and settings scripts, providing user feedback if exceeded. Refactored modManager.js to replace symlink-based mod management with a copy-based system, copying enabled mods to HytaleSaves\Mods and removing legacy symlink logic to improve compatibility and avoid permission issues.
2026-01-29 03:33:56 +01:00