Skip to content

Merge upstream/main (ed1f927, 3 commits) - #15

Merged
tournierjc merged 7 commits into
mainfrom
sync/upstream-ed1f927-pr
Sep 22, 2026
Merged

tournierjc merged 7 commits into
mainfrom
sync/upstream-ed1f927-pr

Conversation

@tournierjc

@tournierjc tournierjc commented Sep 22, 2026 •

Copy link
Copy Markdown
Owner

Upstream commits merged (origin/main ce2116c -> upstream/main ed1f927)

SHA Verdict Titre
1c64165 MERGE fix(bash): preserve Windows PowerShell native exit codes (MiniMax-AI#304)
e7d809d MERGE (avec 1 commit local de repli CI) fix(windows): clarify source checkout requirements (MiniMax-AI#303)
ed1f927 MERGE fix(tui): preserve native scrolling when visible content shrinks (MiniMax-AI#306)

Aucun commit candidat n'ajoute de telemetrie / analytics / phone-home ; aucun ne touche un chemin de scripts/lib/retired-sources.mjs ; aucun doublon de PR deja fusionnee (patch-ids verifies).

Conflit resolu

  • scripts/verify.mjs : conservation du gate fork check:egress + reprise du profile windows amont.

Commit local de repli (238c375, 10fa3ee, 6626597)

Le workflow amont active windows-latest dans .github/workflows/ci.yml. Le token OAuth de gh (scopes gist/read:org/repo) n'a pas le scope workflow, donc GitHub refuse tout push modifiant un fichier de workflow (refusing to allow an OAuth App to create or update workflow ... without workflow scope). Verifie par sonde : tout push touchant .github/workflows/* est rejete, meme un nouveau fichier.

Resolution conservatrice : sur cette branche, ci.yml et test/source-sync.test.mjs restent au contenu du fork (matrice ubuntu/macos uniquement, assertions source-sync correspondantes). Le profile windows de scripts/verify.mjs est conserve (il echoue ferme hors Windows et n'est pas dans les profils par defaut). A retablir depuis l'amont quand le scope workflow sera disponible. Le reste de e7d809d (preflight NTFS scripts/check-windows-source-location.mjs, docs, test/windows-contract.test.mjs, skip WSL sur win32) est merge normalement.

Gates (linux-arm64, node 26.5.1)

Gate Resultat
typecheck OK
check:source OK (4225 fichiers, inventaire a jour)
check:tsconfig OK (127 exports)
check:standalone OK
check:egress OK
build OK (0.5.1, 6355 fichiers)
test:release-tools OK (44/44)
test:status-contract OK (9/9)
test:policy OK (142/142)
test:sandbox OK (26 pass / 22 skips)
test:artifact OK (4/4)
test:smoke OK (20/20, 1 skip)
test:byok OK (3/3)
test:capabilities 8 echecs preexistants (voir ci-dessous)

Tests connus rouges (preexistants, non imputables a ce merge)

packages/tui/test/unit/update-service.test.ts : 8 echecs "Unsupported MCode update host: linux-arm64". Verifie identiques sur un worktree de baseline ce2116c (8 failed / 4355 passed) et sur la branche apres merge (8 failed / 4361 passed — +6 tests passes venant des nouveaux commits). Environment : pas de cible linux-arm64 dans le service de mise a jour amont.

MiniMax-AI#240 (provider-add token-limits + proxy-audit smoke) est closed (completed) le 2026-09-20 : les suites smoke et byok passent desormais integralement sur cette machine.

Limites de verification

  • Suite complete pnpm verify non lancee en un seul profil (gates lancees individuellement, meme ordre que CI).
  • Le contrat Windows amont n'est pas exerce ici (pas d'hote win32 + repli CI decrit plus haut).
  • Les tests offline n'etablissent pas l'acceptation des services en direct ni multi-plateformes.

Addendum (2026-09-22): fork install docs + release process

Commit 85dc4d6 accumulates the documentation work requested in this PR:

  • README.md / README_ZH.md: fork banner at top; Quick start now installs the fork GitHub Release archive (checksum + npm install); filecdn.minimax.chat installer and public @minimax-ai/code npm relabeled as upstream-only channels; build-from-source clone URL points at tournierjc/minimax-code.
  • docs/fork-release-process.md (new): <upstream>-fork.N versioning scheme, tag-triggered CLI release workflow reuse, gh pr create REST workaround, prohibitions, upstream-channel table.
  • docs/installation.md / releasing.md / open-source-status.md / docs/README.md: fork channel boundaries + cross-references.
  • release/public-source.json regenerated (node scripts/source-inventory.mjs --write).

Gate status for this commit: pnpm verify --profile docs PASS (4 gates; docs-only skips listed by the verifier), source-inventory PASS (4226 files), check:tsconfig PASS, check:standalone PASS, test:release-tools PASS (40 pass/1 skip), test:artifact PASS.
Known-red (unchanged, upstream MiniMax-AI#240 + proxy-audit on node>=24): test:smoke token-limits + proxy-audit items.

dyh-sjtu and others added 7 commits September 22, 2026 12:01
)

* fix(bash): propagate native exit codes through Windows PowerShell 5.1 wrappers

Windows PowerShell 5.1 exits 0 after '& ([ScriptBlock]::Create($src))'
(FullLanguage stdin transport) and after 'Invoke-Expression $src'
(ConstrainedLanguage transport), regardless of $LASTEXITCODE set by native
commands inside the user command. Every failing native command was therefore
reported as success by the bash tool on hosts without pwsh 7, in both the
foreground result and the background task status.

Reproduced with the exact stdin wrapper: 'node -e "...;process.exit(7)"'
emits its stderr while powershell.exe exits 0.

Append 'exit $LASTEXITCODE' to both wrappers, the same idiom the first-party
versioned-prefix launchers already use. Verified on Windows 11 (PS 5.1):
pure-PowerShell payloads exit 0, native exit 7 (with or without a trailing
PowerShell tail) exits 7, terminating PowerShell errors still exit 1, and
packages/local-runtime/test/unit/child-bash-lifecycle.test.ts 'failure' mode
passes (failed before the fix: task status was 'succeeded').

* test(bash): cover Windows PowerShell exit codes

Force PowerShell 5.1 for native failures, successful commands, terminating errors and explicit exits with and without the parent-death guard.

Assisted-by: codex-cli reason:github-issue-297-regression-coverage

---------

Co-authored-by: Ralle1976 <ralf.arnold@it-bfw.de>
Co-authored-by: qinjiu <qinjiu@minimaxi.com>
* fix(windows): clarify source checkout requirements

Skip only WSL conversion fixtures on native Windows and add an explicit local-NTFS preflight to the source-build instructions. Cover localized fsutil output and fail-closed diagnostics without changing production path validation.

* ci: add focused Windows source contract

Run a Windows Node 24 contract on non-documentation pull requests while keeping the full capability suite on Linux and macOS. Share the gate through the verifier and Vitest suite manifest, keep the compatibility matrix macOS/Linux, and document the Windows-only boundary.
Upstream e7d809d (MiniMax-AI#303) re-enables a focused Windows CI contract in
.github/workflows/ci.yml. This fork cannot push workflow-file changes with
the gh OAuth token (no 'workflow' scope), so the fork's CI matrix stays as
before and the matching source-sync assertions are kept at the fork's
expected shape. scripts/verify.mjs keeps the new 'windows' profile, which
fails closed off Windows and is not part of the default full/platform
profiles. Restore both files from upstream once the workflow scope
restriction is lifted or Windows CI is adopted.
@tournierjc
tournierjc merged commit bea2903 into main Sep 22, 2026
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants