- Updated vitest from 3.2.4 to 5.0.3 in package.json and package-lock.json.
- Upgraded related dependencies including @vitest/mocker, @vitest/spy, and chai to their latest compatible versions.
- Removed deprecated dependencies and adjusted peer dependencies for compatibility with vitest 5.
- Documented the upgrade process and its impact on security vulnerabilities in the project documentation.
- Refactor sponsor key handling to store keys locally without online validation.
- Introduce `hasSponsorKey` and `getSponsorKey` functions for key retrieval.
- Update Java download process to utilize a sponsor download channel when a key is present.
- Enhance documentation for Java environment download links and sponsor download process.
- Add `JavaDownloadOptions` interface to support passing session cookies for sponsor downloads.
- Remove legacy code related to online validation and sponsor download URLs.
- Removed online validation for sponsor keys, now only stored locally.
- Updated related components to use new local storage logic.
- Introduced `isSponsorActive` function to determine sponsor status based on local key.
- Adjusted API endpoints to save and retrieve sponsor keys without validation.
- Updated documentation to reflect changes in sponsor key handling.
Resolve the latest stable tag before the installer constructs architecture-specific download URLs.
Run release asset creation only for tag push events to avoid duplicate uploads.
Docker and packaged deployments store PTY/Zip-Tools/7z under data/lib,
but start.sh runs from server/ so PtyManager only checked server/data/lib.
When gsm3_data volume mounts over server/data, built-in binaries are lost.
- start.sh: seed server/data/lib from data/lib and recover invalid PTY
- package.js: mirror lib assets to server/data/lib and improve linux start.sh
- ptyManager/zipToolsManager: add ../data/lib lookup for server cwd
- Dockerfile: backup downloaded lib assets to /root/data/lib outside volume
Co-authored-by: RainySY <sakuradairong@users.noreply.github.com>
When data/terminal-control is missing or owned by another user (e.g. root),
fall back to ~/.gsm3/terminal-control and $TMPDIR/gsm3-terminal-control-<uid>
so Steam install and terminal sessions can still start.
Co-authored-by: RainySY <sakuradairong@users.noreply.github.com>