Accept legacy ACTIONGROUP-prefixed UUIDs - #3
Merged
evanpurkhiser merged 1 commit intoAug 26, 2026
Conversation
7 tasks
Owner
|
Good stuff! |
This was referenced Aug 27, 2026
Open
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
Support historical Things identifiers formatted as
ACTIONGROUP-<UUID>.Long-lived Things Cloud histories can contain these identifiers in object keys and task relationships. The current parser accepts plain UUIDs and compact base58 IDs, but rejects the prefixed form. This causes append-log replay to abort with
Corrupt log entry, making every CLI command unusable.This change:
ACTIONGROUP-<UUID>through the existing legacy UUID canonicalization path;Why not skip the entry?
A single append-log line can contain multiple valid objects. Skipping the entire line may discard unrelated tasks or projects alongside the incompatible identifier. This targeted compatibility fix preserves the data instead.
This is related to #1, which reports the same failure on accounts with long Things Cloud histories and specifically mentions historical
ACTIONGROUP-*IDs. It follows the maintainer's preference there for fixing unsupported historical formats rather than silently skipping them.Privacy
The improved diagnostic reports the file and byte offset plus the parser error. It does not print the raw log entry, which may contain private task titles or notes. All regression fixtures use synthetic data.
Test plan
ACTIONGROUP-<UUID>parses to the same canonical ID as its UUID suffix.cargo fmt --all -- --checkcargo test --all-targets(92 unit tests and all 18 CLI test groups)