Summary
Adding moc 1.4.1 to the CI matrix (see branch gabor/fix-integrity-alias-count local experiment) surfaces a hard compile error in one of mops' own transitive deps:
.mops/backup@3.0.0/src/backup-canister.mo:57.2-57.113:
type error [M0219], this declaration is currently implicitly transient,
please declare it explicitly `transient`
See run: https://github.com/caffeinelabs/mops/actions/runs/24739756755/job/72375998544
Why
moc 1.4.x promoted the implicit-transient warning (previously M0244/M0243-style advisory) to a hard type error M0219. Any actor-field declaration that isn't explicitly transient or persistent-eligible needs to be annotated.
backup@3.0.0 predates this tightening and hasn't been re-released. mops' own backend/main pulls it in transitively, so the mops backend canister build fails the moment the matrix includes a moc ≥ 1.4.
Impact
Proposed fixes (any or all)
- Bump
backup to a version that compiles under moc 1.4 (upstream fix in backup repo, then bump the mops backend's mops.toml).
- If backup is orphaned: vendor the one-line
transient annotation fix and pin to the vendored fork.
- Once (1) or (2) is done, re-add
1.4.1 to the CI matrix (drop-in revert of the branch commit I reverted).
Context
Discovered while preparing a small matrix bump on top of #507. That PR only touches cli/integrity.ts; the matrix-bump commit is reverted from its branch so #507 can land independently. Filing this so the upgrade path isn't lost.
Summary
Adding moc 1.4.1 to the CI matrix (see branch gabor/fix-integrity-alias-count local experiment) surfaces a hard compile error in one of mops' own transitive deps:
See run: https://github.com/caffeinelabs/mops/actions/runs/24739756755/job/72375998544
Why
moc 1.4.x promoted the implicit-transient warning (previously
M0244/M0243-style advisory) to a hard type errorM0219. Any actor-field declaration that isn't explicitlytransientor persistent-eligible needs to be annotated.backup@3.0.0predates this tightening and hasn't been re-released. mops' ownbackend/mainpulls it in transitively, so the mops backend canister build fails the moment the matrix includes a moc ≥ 1.4.Impact
backuptransitively will also hit this.Proposed fixes (any or all)
backupto a version that compiles under moc 1.4 (upstream fix inbackuprepo, then bump the mops backend'smops.toml).transientannotation fix and pin to the vendored fork.1.4.1to the CI matrix (drop-in revert of the branch commit I reverted).Context
Discovered while preparing a small matrix bump on top of #507. That PR only touches
cli/integrity.ts; the matrix-bump commit is reverted from its branch so #507 can land independently. Filing this so the upgrade path isn't lost.