Draft
Conversation
Three internal call sites that unwrap fallible operations on user-reachable paths. No root-cause fixes here, just stopping panics on sync/save/parse paths. OpEncoderStrategy::finish: missing dep index now returns Error::ChangesOutOfOrder. The FIXME comment already called this out. ChangeCollector::unbundle: builders[i].finish() can fail. The function already returns Result<_, Error>, so propagate it. Automerge::import_obj: hex::decode panicked on non-hex actor suffixes. Map to AutomergeError::InvalidObjIdFormat. Regression test added.
fix(rust): tolerate stale inactive patch logs during sync
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This is the nteract desktop patch branch for Automerge. Keep
mainclose to upstreamautomerge/automerge, and use this branch for patches desktop needs before they land upstream.Included patch stack:
fork_atdependency traversal so repeated dependencies are scheduled once, avoiding theMissingOpsfailure reproduced from the desktop sync/fork pathdesktop-patches, withworkflow_dispatchavailable for manual runsUpstream PRs:
Local verification
git diff --checkcargo fmt --all -- --checkcargo test -p automerge --test fork_actor_invariantcargo test -p automerge --test test test_fork_at_historical_heads_after_synccargo test -p automerge --test test import_obj_with_bad_hex_returns_err_not_paniccargo test -p automerge op_set2::change::collector::testscargo test -p automerge --docRUSTDOCFLAGS="-D warnings" cargo doc -p automerge --no-deps