Skip to content

Fix Sentry errors and stabilize undo/redo, slicing, and project saves - #6125

Merged
jonoomph merged 6 commits into
developfrom
sentry-sep-12-2026
Sep 13, 2026
Merged

jonoomph merged 6 commits into
developfrom
sentry-sep-12-2026

Conversation

@jonoomph

Copy link
Copy Markdown
Member

Fix several OpenShot 4.0.0 Sentry reports and editing problems found during manual testing.

Sentry fixes:

  • OPENSHOT-F3Z0: Handle preview titles when the playback worker is unavailable.
  • OPENSHOT-69HH: Preserve the audio channel layout while export options refresh.
  • OPENSHOT-GZ: Abort saving safely when the project asset folder cannot be created.
  • OPENSHOT-DJWP: Handle unreadable SVG titles, clean up preview resources, and allow retries.
  • OPENSHOT-FJMK: Ignore delayed partial edits to deleted clips and preserve reader data when inserting new clips.

Additional fixes:

  • Refresh borrowed native clip/effect references after edits to avoid accessing deleted objects.
  • Prevent stale query data from causing overlapping slices or restoring a trimmed clip’s original length.
  • Give razor clicks priority over clip-title menus.
  • Keep undo snapshots independent so later edits cannot rewrite insertion history or earlier effect settings.
  • Preserve asset paths in active and saved undo/redo history across Save,
    Save As, and reopening, including recordings present only in undone actions.

Address F3Z0, 69HH, GZ, DJWP, and FJMK with focused guards, safe SVG preview cleanup, and preservation of complete readers on clip insertion. Reject late partial updates for missing clips and fail saves before mutation when asset creation fails.

Add eight regression tests covering failures and recovery, real Qt selection signals, native layout assignment, and SVG rendering. All eight fail against the prior source; all 591 Python tests pass with offscreen Qt.
Sentry fixes:
- OPENSHOT-F3Z0: Handle preview titles before playback starts or after it stops.
- OPENSHOT-69HH: Preserve the audio layout while export choices are refreshed.
- OPENSHOT-GZ: Stop saving safely when the project asset folder cannot be created.
- OPENSHOT-DJWP: Handle unreadable SVG titles and allow preview generation to retry.
- OPENSHOT-FJMK: Ignore late partial edits to deleted clips and keep readers on new clips.

Additional fixes:
- Refresh native clip and effect references after edits to avoid using deleted objects.
- Keep early native refreshes out of the project query cache, preventing overlapping
  slices and trimmed clips returning to their original length.
- Let razor clicks cut through clip titles without opening a menu on mouse release.
- Keep undo snapshots independent so later trims and effect edits cannot rewrite them.
- Preserve title, recording, and other asset paths in undo/redo history across Save,
  Save As, and reopening, including recordings present only in undone actions.

Validation: all 598 Python tests pass, including native/query/store integration,
full insertion undo/redo, effect edits, repeated slicing, and save/history recovery.
The paired libopenshot branch passes 518 native tests with two VAAPI hardware skips.
Manual editing tests were reported stable by Jonathan. Final diffs pass whitespace
checks and both branches include current origin/develop.

This summary records the completed fixes in the preceding commits. Broad BV93
crash groups and FY5H are not fully resolved. Packaged Windows/macOS and real
Windows/Wayland recording validation remain outstanding.
@jonoomph

Copy link
Copy Markdown
Member Author

@jonoomph
jonoomph merged commit 79bdf3f into develop Sep 13, 2026
8 checks passed
@jonoomph
jonoomph deleted the sentry-sep-12-2026 branch September 13, 2026 06:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant