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>
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.
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.
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.
* 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: 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: 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
* 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
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.