Skip to content

fix(linux): preserve existing data with XDG and ARM64 support - #364

Open
hetaoBackend wants to merge 1 commit into
mainfrom
fix/linux-compatibility
Open

hetaoBackend wants to merge 1 commit into
mainfrom
fix/linux-compatibility

Conversation

@hetaoBackend

@hetaoBackend hetaoBackend commented Sep 25, 2026 •

Copy link
Copy Markdown
Collaborator

Change

New Linux installations use an absolute XDG_DATA_HOME/minimax (falling back to ~/.local/share/minimax), while existing .minimax directories, profiles and symlink targets remain in place. This avoids making existing configuration and sessions appear missing or relocating a live data store. Older .mavis installations retain the existing migration to .minimax, and the Linux CLI now resolves that directory before exporting runtime overrides. Explicit data-directory overrides remain authoritative.

Also adds Linux zsh PATH integration, terminal notification override coverage, and Ubuntu ARM64 coverage in ordinary CI, Node compatibility and CLI archive installation. Registers the new tests and source files, updates workflow assertions, and documents the directory behavior in English and Chinese.

Refs #362. Adapted from ASHURA1800's public proposal, f3f0538, with contributor attribution retained in the commit. The maintainer adaptation intentionally keeps existing data in place rather than automatically migrating it to XDG.

Validation

  • Regression baseline: the original proposal failed 10 directory selection/compatibility cases; the corrected focused run passes all 56 tests across data-directory, CLI initialization, PATH and terminal notification suites.
  • Typecheck and release-tool checks passed during iteration.
  • Full local verification: VITEST_MAX_WORKERS=4 pnpm verify passed all 15 applicable gates on macOS ARM64 / Node 26.4.0 at commit 611ec8e5439128cd0a06f943ab2de27dfe6ba4da, with a clean tracked working tree. Windows and package-installation gates were intentionally skipped by this local profile.
  • Performance: perf:full, because this changes data-directory selection and initialization. The remote full-performance result is required before merge; no result is claimed here yet.
  • NOT RUN locally: native Linux x64/ARM64, Windows, and live model/service acceptance. Linux branch unit tests use synthetic temporary data on macOS. The new built-CLI XDG smoke cases run only on Linux. ARM64 source and archive installation checks are included in CI; the Node compatibility workflow must also pass for the selected branch before merge.

Publication and contribution checks

  • Changes use the existing applicable licenses; imported material and provenance are identified above, and contributor attribution is preserved.
  • No credentials, account data, real user content, internal source history or private review material is included.
  • Both new test files were reviewed before regenerating release/public-source.json and are declared in test/vitest-suites.json.
  • Shared English/Chinese documentation is updated. Mock/offline results are not described as native-platform or live-service acceptance.

Maintainer handoff

Publication scope: two new test files; no license changes.

Shared-source port: pending. Independent review and successful current checks are required before merge.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

Adapt the Linux compatibility proposal from ASHURA1800/minimax-code f3f0538. Keep existing data directories in place, validate XDG paths, initialize the Linux CLI consistently, and register regression and release coverage.

Refs #362

Co-authored-by: ASHURA1800 <228700200+ASHURA1800@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working cli Standalone mcode: TUI, headless, ACP and source builds/tooling perf:full Run the full performance suite; required for performance-sensitive changes tui Interactive terminal UI (TUI)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant