Release Captail 0.1.3 reliability and updates - #6
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 75daa19696
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| Get-ChildItem -LiteralPath {{Quote(payloadDirectory)}} | | ||
| Copy-Item -Destination {{Quote(targetDirectory)}} -Recurse -Force |
There was a problem hiding this comment.
Make portable replacement transactional
If a Portable update hits a disk-full, locked-file, or I/O error after Copy-Item has overwritten some files, the catch block only reports the error and leaves a mixed old/new installation that may no longer start. Stage the complete payload beside the target and retain or restore a backup so replacement can be rolled back on failure.
Useful? React with 👍 / 👎.
| int elapsed = (int)Math.Floor( | ||
| (DateTime.UtcNow - _replayWindowStartedUtc).TotalSeconds); | ||
| return Math.Clamp(elapsed, 0, _config.BufferSeconds); |
There was a problem hiding this comment.
Account for the size cap in available duration
When MaxReplaySizeMb is nonzero and fills before BufferSeconds—for example, 250 MB at a high bitrate—libobs evicts older packets according to max_size_mb, but this getter reports only elapsed wall time capped by the configured duration. The dashboard and saving notification therefore claim substantially more footage is available than the saved replay can contain.
Useful? React with 👍 / 👎.
Summary
Validation
dotnet build Captail.sln -c Debug --no-restoredotnet build Captail.sln -c Release --no-restoredotnet format Captail.sln --verify-no-changes --no-restore