Repository navigation
release: cuems-utils 0.1.0rc15 - #15
Merged
Merged
Conversation
Both cost real time and neither had any build-time signal: 1. dh_virtualenv --python python3 resolved through PATH, so building on a box with pyenv active baked the builder's private interpreter into the package. On the target /usr/lib/cuems/bin/python is then a broken symlink and every CUEMS Python component fails to start — only visible after dpkg -i on a node, and even then not until the next restart. debian/rules now pins the absolute path; documented with the pre-ship verification command. 2. The .deb's site-packages copy precedes any .pth-appended path in sys.path, so an "editable install" is silently ignored while the package is present. That is why earlier editable deploys did nothing and source got rsync'd over site-packages instead (leaving rc13 files under an rc12 dist-info). Refs ClickUp 869ed00ya
The frontend (8d67d08) now submits gradient-motiond's own CurveFactory names — its "exponential"/"logarithmic" labels send ease_in/ease_out, which are the implemented accelerating/decelerating shapes. But the FadeCurveType Python enum and the script.xsd enumeration only knew linear|exponential|logarithmic|sigmoid, so the first save of a non-linear fade from the new UI would fail validation. Add ease_in and ease_out to both; keep the legacy names accepted so projects authored by older editors still load (the frontend heals them to ease_in/ease_out on next save). Round-trip + legacy tests added.
Media gains optional pixel_width / pixel_height / file_size, appended to MediaType after regions, so the engine stops running ffprobe on the arm path. Covers the setters, the writer (schema order whatever the dict order, no empty element for None) and the parse path, which never calls the setters.
…t (869fat84r) MediaType gains three optional elements after regions: pixel_width and pixel_height (the original size of the file's first video stream, as ffprobe reports it) and file_size (bytes, when they were measured). The editor measures them at upload, as it does the duration, so the node engine no longer runs ffprobe while arming a video cue under the command lock: a GO sent right after a cue selection started up to 400 ms late on that probe. - script.xsd: xs:positiveInteger, minOccurs=0; absent means unknown. - Media: pixel_width / pixel_height / file_size properties. A positive int or a string of digits is stored as int; None removes the key; anything else raises ValueError. - MediaXmlBuilder writes Media in schema order whatever the dict order (the editor appends the values after what the frontend sent, and the parsers keep arrival order) and writes no element for a None dimension (an empty <pixel_width/> fails the schema). Older utils lines reject a project carrying these elements; they are made to accept it by replacing only script.xsd (their parsers keep unknown Media keys as plain ints and their code never reads them). Design: cuems-RELATIONS Plans/2026-10-01-engine-late-go-media-probe.md
…4r D18) (red) The file's MD5 identifies it unambiguously, for integrity checks: a corrupt or partial copy can have the right size. It is the MD5 the upload already carries. file_size and file_md5 apply to every media type; the pixel size stays VideoCue-only. An MD5 shaped like a number (all digits, or digits with one 'e') must survive the parser, which coerces such strings to int/float.
…at84r D18) - script.xsd: optional file_md5 (Md5Type, 32 lowercase hex) after file_size; the comment states that file_size and file_md5 apply to every media type. - Media.file_md5: any case in, lowercase stored; None removes it; anything that is not 32 hex digits raises ValueError. - MediaXmlBuilder: file_md5 in the schema order, no element for None. - Parsers.STRING_TYPED_KEYS gains file_md5: str_to_value turned an all-digit MD5 into an int and digits-with-one-e into a float (about one MD5 in a million), which would then fail the schema on the next save. Design: cuems-RELATIONS Plans/2026-10-01-engine-late-go-media-probe.md D18
Ships the stored media metadata (869fat84r): pixel_width / pixel_height (VideoCues) and file_size / file_md5 (every media type) in MediaType; and, from main, 9c17418: the engine-native fade curve names ease_in / ease_out. All are additive schema changes. Refs ClickUp 869fat84r
feat(media): store a media file's pixel size, size and MD5 in the project (rc15, 869fat84r)
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
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.
Release packaging for cuems-utils 0.1.0rc15 (869fat84r): merges the upstream branch into
debian/bookwormand finalizes the changelog. Seedebian/changelogfor the contents.Built on casas from this branch (clean environment); the deb's package tree equals this branch's source. utils: identical to the cuemsutils 0.1.0rc15 wheel on PyPI. editor: cuemsutils 0.1.0rc15 resolved from PyPI. engine: no longer ships cffi-gen-src.
Do not merge yet: the debs are under test on test2 and need Ion's explicit approval before
rc1_packagesand this merge (a pre-merge tag goes ondebian/bookwormfirst).Details: cuems-RELATIONS
Plans/2026-10-01-engine-late-go-media-probe.md§8.9.