feat: make package disclosure motion optional

Add a persisted general setting that keeps package expand and collapse motion enabled by default while allowing remote and lower-performance systems to switch it off. Route the setting through normalized application state and renderer settings, bypass transition grouping when disabled, and retain the existing virtualized package list behavior. Cover legacy defaults, explicit opt-out persistence, settings presentation, and the immediate disclosure path with focused regression tests.
This commit is contained in:
Sucukdeluxe
2026-08-14 23:59:51 +02:00
parent 08512d38a4
commit d1d1817f86
14 changed files with 61 additions and 7 deletions
+8
View File
@@ -36,6 +36,14 @@ afterEach(() => {
});
describe("settings storage", () => {
it("enables package disclosure motion by default and preserves an explicit opt-out", () => {
const legacy = { ...defaultSettings() } as Partial<AppSettings>;
delete legacy.animatePackageDisclosure;
expect(normalizeSettings(legacy as AppSettings).animatePackageDisclosure).toBe(true);
expect(normalizeSettings({ ...defaultSettings(), animatePackageDisclosure: false }).animatePackageDisclosure).toBe(false);
});
it("repairs a persisted version-2 column order that lost availability during default merging", () => {
const dir = fs.mkdtempSync(path.join(os.tmpdir(), "rd-store-"));
tempDirs.push(dir);