- Skip zip target, only build DMG
- Blockmap generation for universal+zip was hanging indefinitely
- DMG alone should complete faster
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Replace separate ARM64 and x64 builds with single universal build
- Use --universal flag for fat binary (both archs in one app)
- Update package.json mac target to use "universal" arch
- Single notarization instead of double (fixes duplicate notarize calls)
- Simplify workflow by removing separate macOS release jobs
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Changes:
- Add 30 minute timeout for notarization (fail fast)
- Add SKIP_NOTARIZE=true env var to skip notarization entirely
- Don't fail build if notarization fails (app still code-signed)
- Add NOTARIZE_FAIL_ON_ERROR=true to fail build on notarization error
- Add forceCodeSigning, strictVerify, type=distribution to mac config
- Disable electron-builder built-in notarize (using custom script)
This prevents CI from hanging forever waiting for Apple's notarization
service and reduces wasted GitHub Actions minutes.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
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>
* 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>