Unstick plugins lazy.nvim won't update, and move to Thunderbird ESR
shellcheck / shellcheck (push) Failing after 17s

An interrupted plugin update can leave a plugin's files out of step with
its checkout, and lazy.nvim then refuses to update it, every time. Before
syncing, update now stashes such changes, so they can still be recovered
with git stash pop, and puts the plugin's submodules back.

Flathub retired org.mozilla.Thunderbird in favor of
org.mozilla.thunderbird_esr, so update tried to reinstall the old ID on
every run. Install the new one. flatpak update already moves existing
installs over; a migration carries a skip-packages entry for the old ID
over to the new one.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-11-08 10:51:49 -07:00
co-authored by Claude Opus 5.5
parent ee7451600b
commit c8b2f8473d
5 changed files with 122 additions and 2 deletions
+34
View File
@@ -0,0 +1,34 @@
#!/usr/bin/env bats
load test_helper
# Migrations that change files in the user's home
SKIP="$BATS_TEST_TMPDIR/home/.config/coredesktop/skip-packages"
THUNDERBIRD="$REPO/migrations/1794160046.sh"
skip_list() {
mkdir -p "$(dirname "$SKIP")"
printf "$1" > "$SKIP"
}
@test "skipping the old Thunderbird ID carries over to the new one" {
skip_list 'foo\norg.mozilla.Thunderbird # no mail'
run bash "$THUNDERBIRD"
[ "$status" -eq 0 ]
[ "$(cat "$SKIP")" = "$(printf 'foo\norg.mozilla.Thunderbird # no mail\norg.mozilla.thunderbird_esr')" ]
}
@test "the Thunderbird migration leaves other skip lists alone" {
for list in 'org.mozilla.ThunderbirdX\n' 'org.mozilla.Thunderbird\norg.mozilla.thunderbird_esr\n'; do
skip_list "$list"
before="$(cat "$SKIP")"
run bash "$THUNDERBIRD"
[ "$status" -eq 0 ]
[ "$(cat "$SKIP")" = "$before" ]
done
rm -f "$SKIP"
run bash "$THUNDERBIRD"
[ "$status" -eq 0 ]
[ ! -e "$SKIP" ]
}