Repository navigation
v1.2.2
Infinitune 1.2.2: cancelled saves no longer overwrite songs
This release fixes the known issue from 1.2.0 and 1.2.1. A song worker that was cancelled while saving could overwrite the audio a replacement worker had already saved for the same song.
Song saving
- The save now prepares the audio under a private name in the song folder. It moves the audio into place only after confirming that its worker is still active, and in the same step writes the lyrics, generation log, cover files and id link. A cancelled worker leaves the folder untouched, so the files and the database stay consistent.
- The silence trim stops each ffmpeg pass after 2 minutes. A hung ffmpeg can no longer stall a song, and a timed-out trim keeps the untrimmed audio, as any trim failure already did.
- If the server crashes during a save, the next save into the same folder removes the private audio file left behind once it is older than 18 minutes.
Tests cover each case against a temporary music folder: a worker cancelled during the trim, a normal save, a failed download, crash leftovers, and a timed-out trim. The tests for cancellation, crash leftovers and the trim timeout fail on 1.2.1.
Maintenance
- GitHub Actions are updated:
actions/checkoutv7, the Docker login, Buildx, metadata and build-push actions v4 to v7, and the SonarQube scan 8.2.2. This release's image is the first one built with them.
Upgrade notes
- No configuration or data changes. While a song is being saved, its folder briefly contains a hidden
.audio-<id>.mp3file.
Known issue
- A crash during the second ffmpeg pass of the silence trim can leave a hidden
.trimmed-*.mp3file in the song folder. Earlier versions behave the same way.