Fix undo/redo media leak and layout corruption in SLIDES history#3497
Merged
vassbo merged 2 commits intoJul 13, 2026
ChurchApps:devChurchApps/FreeShow:devfrom
Toaster996:fix/undo-redo-slides-historyToaster996/FreeShow:fix/undo-redo-slides-historyCopy head branch name to clipboard
Merged
Fix undo/redo media leak and layout corruption in SLIDES history#3497vassbo merged 2 commits intoChurchApps:devChurchApps/FreeShow:devfrom Toaster996:fix/undo-redo-slides-historyToaster996/FreeShow:fix/undo-redo-slides-historyCopy head branch name to clipboard
vassbo merged 2 commits into
ChurchApps:devChurchApps/FreeShow:devfrom
Toaster996:fix/undo-redo-slides-historyToaster996/FreeShow:fix/undo-redo-slides-historyCopy head branch name to clipboard
Conversation
…ract action handlers to module-level functions - Fix media leak: move media mutation into SLIDES history action so undo properly reverts media state (clipboard.ts:663 -> historyActions.ts:472) - Fix layout corruption: use ID-based layout filtering instead of position- based on undo, fixing multi-slide paste undo (historyActions.ts:525) - Extract 6 inline action handlers to module-level functions in historyActions.ts (1213->880 lines) - Extract pasteDrawerItem/cloneChildren helpers in clipboard.ts (1503->1412 lines) - Remove ~84 lines of dead/commented code across both files
Contributor
Author
|
@vassbo This part looked like it needed some improvement, I think there was also a bug in it. The TODO comment already suggested it. |
Toaster996
force-pushed
the
fix/undo-redo-slides-history
branch
from
July 9, 2026 19:41
9b2fa22 to
7ffac3f
Compare
Collaborator
|
Thanks, you are correct that it needed some improvements, will review it next week. |
Toaster996
marked this pull request as ready for review
July 10, 2026 20:17
Collaborator
|
It looks good. The current history system is not very good, so one day I would like to improve it to make it simpler. |
vassbo
added a commit
that referenced
this pull request
Jul 16, 2026
* Don't fail license check if offline * Fixed Flipped Checkbox Logic (#3474) * Added Conditions button for Output window item #3461 * Fixed output stacking #3469 * Prebuilt Aero Peak Helper #3476 * Applied code changes sent in by Amazing Life Foundation. * Fix import of pro6 files (#3487) * Updated the bug report template. Mainly to ask users to check for duplicate bugs and test on the latest stable and beta versions before filling, but also added directions to encourage the users to help figure out if a certain OS or in what version of FreeShow the issue started. (#3507) * Fix undo/redo media leak and layout corruption in SLIDES history (#3497) * Fix stage output window lag/freeze and reduce capture overhead (#3498) * Removed unused Mirror item * Fix web stage 'Keep Style' rendering not matching the app (#3499) * Fix audio playlist stopping after one song (#3500) * Fixed StageShow item size not stretching to large resolutions * Fixed server not auto starting after toggled back on * Fixing errors * Fixed many files loading at once * Fixed errors * Fixing errors * Smarter auto groups #3511 * Remove unused List item * Fixed Focus mode navigation through duplicated shows #3467 * Fixed template Styles overwrites not working correctly with auto size #3480 * Remove list item remains * Tweaked Sentry logging init * Added script to rebuild OPUS propely in case of Not found! * Toggle to disable PCO auto sync on startup #3490 * Merge improvements #3492 * Internal pasting keeps formatting #3493 * Missing Visual C++ Redistributable Info * Event item from/to time of day * Fixed line align updating * Enhancements * Fixed text selection sometimes deselected when it should not * Fixed text selection sometimes deselected when it should not * Fixed Spotify time jumping * Enhancements * Interaction updates * Tips * Tweak * Updated Polish language * Added syncManager test - Cloud fixes * Fixed output stacking sometimes * Fixed Planning Center shows replaced when also syncing to cloud #2777 * Content provider run timer * Reduced expand arrows - Moved some buttons to context menus - Fixed NDI inputs groups option not showing * Fixed cloud test casing * Edit mode tabs * Unique tab name * Unique tab name * Fixed slide zoom in * Fixed new cloud devices not marking uploads as new * Added three machine sync test * Fixed startup sync * Changed fallback char from | to ? * Tweak * Split multiple items in two #3477 * Fixed scripture show verses not splitted in two properly * Text edit highlighted #3468 * Fixed scroll height * Highlight dynamic values * Version update --------- Co-authored-by: Jeremy Zongker <jeremy@zongker.net> Co-authored-by: David Myers <david.d.myers@gmail.com> Co-authored-by: Jonas <32509408+Toaster996@users.noreply.github.com> Co-authored-by: Frederick Henderson <frederickjh@users.noreply.github.com> Co-authored-by: Victor <vicholz@gmail.com>
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.
extract action handlers to module-level functions