chore: sync upstream (25 Commits) #8
No reviewers
Labels
No labels
herkunft/alpha-feedback
status
blockiert
status
zu-testen
typ
bug
typ
docs
typ
enhancement
typ
feature
typ
idea
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
iris/effectcraft!8
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "chore/sync-upstream-20261023"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Upstream-Sync von
upstream/main(25 Commits). Fast-Forward.9581b53cRelease 0.16.00871135aMerge pull request #2062 from storytold/sonar-fix/js-css-reliability645b683aMerge pull request #2061 from storytold/sonar-fix/js-csprngec0cc83afix(web): fall back to network when caches.open fails in service worker6871aa22security: check crypto.randomUUID availability in canMove15b8a916Release 0.15.0b55cb5bcMerge pull request #1363 from DWAA1660/fix/1237-comp-contains-cycles571aebd8Merge pull request #1957 from Anubhav-Rai/script-value-dims831e719fMerge pull request #1855 from CharlesBaumer/fix/doc-path-stills-windows70763d74Merge pull request #1966 from Silvertree2010/fix/h930-deleting-the-first-vertex-of-a-cbe4d2d7bMerge pull request #1992 from Silvertree2010/fix/h1142-sampleimage-panics-with-integera9c2bfa6Merge pull request #1902 from Silvertree2010/fix/h704-hsv-to-rgb-returns-magenta-for-a13486210Merge pull request #1989 from Silvertree2010/fix/h1084-path-rect-panics-when-both-size9a51a05eMerge pull request #2099 from storytold/readme/app-icon7d68a74fREADME: the app icon above the titleProject::comp_contains recursed through precomp layers with no visited set or depth limit. A damaged project with a precomp cycle that doesn't pass the queried comp (A and B nesting each other, C unrelated) recursed until the stack ran out, which aborts the process ("stack overflow, aborting"): it can't be caught as a command error, so unsaved work is lost. layer.addItem checks it before adding a precomp, and the renderer calls it for every nested comp and its audio. A long chain used the stack the same way, and comps shared by many paths were walked once per path (exponential for nested diamonds). It is now an explicit stack with a visited set: same answers (a comp contains itself; a target reached through a cycle is found), each comp visited once, no recursion. The renderer already skips a precomp that contains the comp being rendered, so a cyclic project now renders instead of crashing; nothing is repaired on load. Tests: project comp_contains_ends_on_cycles_long_chains_and_shared_ precomps (cycle with an unrelated target, self-nesting, a target through a cycle, 40 levels of diamonds, a 20 000-comp chain); engine a_project_with_a_precomp_cycle_opens_adds_and_renders_without_running_ out_of_stack (file.open, layer.addItem both ways, render). On main the engine test aborts with a stack overflow. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>