Repository navigation
Conversation
…ntion off Recording retention (issue #723) deletes relocated audio only once the user switches it on. Unit tests pin the default and the policy, but nothing checked the production chain: the retention pass that runs when a job reaches done, against the app's real settings and output folder. Every lane that goes through run_one_meeting now looks at the job's relocated _mix.wav right after done and again five seconds later. The pass runs on its own just after the state change and, switched off, logs nothing to wait for, so a single look could race it. Under the default period of 30 days a recording minutes old is never due, so that check alone would stay green with the switch ignored. In CI the app is therefore launched with a period of 0 days, as a launch argument so nothing is stored: the switch is then all that keeps the recording. Only in CI and only with the switch not on, because with 0 days a broken switch would delete every listed recording in the host's output folder, which on a developer's Mac is their own. A host that has switched retention on skips the check and says so instead of failing. "On" follows the app's own reading: yes or true in any case, or any integer but 0. The verdict lives in e2e-helpers.sh so a script test pins it in both directions; dropping the second look turns the deleted case green and the test catches that.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #977 +/- ##
======================================
Coverage 92.1% 92.1%
======================================
Files 322 322
Lines 24795 25374 +579
Branches 6 6
======================================
+ Hits 22838 23385 +547
- Misses 1953 1985 +32
Partials 4 4
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
This branch has not been deployed
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.
What changed and why
Follow-up to #960 (recording retention, issue #723). Unit tests pin the default (off) and the policy, but nothing checked the production chain: the retention pass that runs when a job reaches done, against the app's real settings and output folder.
run_one_meeting(default,--two-meetings,--title-source,--mic-device-change) now checks that the job's relocatedrecordings/<stem>_mix.wavis there right after done and still there 5 s later. The second look is needed because the pass runs on its own just after the state change, and with the switch off it logs nothing the lane could wait for.-recordingRetentionDays <integer>0</integer>as a launch argument, so nothing is stored or has to be restored. The switch is then all that keeps the recording.$GITHUB_ACTIONS) and only when the host has not switched retention on. With 0 days a broken switch would delete every listed recording in the host's output folder, and on a developer's Mac those are their own recordings.UserDefaults.flag: yes or true in any case, or any integer but 0.retention_default_verdictinscripts/lib/e2e-helpers.sh, pinned byscripts/tests/test_retention_default_verdict.sh(runs in about a second in the existing script-test step).Tests
kept) makesdeleted_after_done_is_caughtfail.bash -nandshellcheck -S warningare clean on the changed files, and everyscripts/tests/test_*.shpasses locally.run-e2elabel. What to look for in the e2e-app log:CI: recording retention period 0 days for this runandrecording still in ... 5s after done.Known limits, left as they are:
--mic-stalllane does not go throughrun_one_meetingand is not covered.AI assistance
Checklist
main, no merge commits