authorgravatar for maria@kuuro.netmaria <maria@kuuro.net> 2026-09-17 00:37:57-03:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-09-17 00:37:57-03:00
log6d1d549441be84f19696ab59ed7e2fbf305280d4
tree3ccaa13109c29d21097478dc6af126250a252976
parentf17165a76b1a782831eb6a05a4383b27283df15d
signature Signed by PGP key B5690EEEBB952194

fix(diff): collapse files by default (#12190)


3 files changed, 5 insertions(+), 5 deletions(-)

apps/web/src/clientPersistenceStorage.test.ts+2-2
...@@ -114,13 +114,13 @@ describe("clientPersistenceStorage", () => {...@@ -114,13 +114,13 @@ describe("clientPersistenceStorage", () => {
114 expect(settings).not.toHaveProperty("diffWordWrap");114 expect(settings).not.toHaveProperty("diffWordWrap");
115 });115 });
116116
117 it("keeps the default diff file state across reloads and defaults it to expanded", async () => {117 it("keeps the default diff file state across reloads and defaults it to collapsed", async () => {
118 const testWindow = getTestWindow();118 const testWindow = getTestWindow();
119 const { readBrowserClientSettings, writeBrowserClientSettings } =119 const { readBrowserClientSettings, writeBrowserClientSettings } =
120 await import("./clientPersistenceStorage");120 await import("./clientPersistenceStorage");
121121
122 testWindow.localStorage.setItem("t3code:client-settings:v1", JSON.stringify({}));122 testWindow.localStorage.setItem("t3code:client-settings:v1", JSON.stringify({}));
123 expect(readBrowserClientSettings()?.diffFilesCollapsed).toBe(false);123 expect(readBrowserClientSettings()?.diffFilesCollapsed).toBe(true);
124124
125 writeBrowserClientSettings({ ...DEFAULT_CLIENT_SETTINGS, diffFilesCollapsed: true });125 writeBrowserClientSettings({ ...DEFAULT_CLIENT_SETTINGS, diffFilesCollapsed: true });
126 expect(readBrowserClientSettings()?.diffFilesCollapsed).toBe(true);126 expect(readBrowserClientSettings()?.diffFilesCollapsed).toBe(true);
packages/contracts/src/settings.test.ts+2-2
...@@ -227,8 +227,8 @@ describe("ClientSettings notifications", () => {...@@ -227,8 +227,8 @@ describe("ClientSettings notifications", () => {
227});227});
228228
229describe("ClientSettings default diff file state", () => {229describe("ClientSettings default diff file state", () => {
230 it("keeps files expanded when existing settings omit the preference", () => {230 it("keeps files collapsed when existing settings omit the preference", () => {
231 expect(decodeClientSettings({}).diffFilesCollapsed).toBe(false);231 expect(decodeClientSettings({}).diffFilesCollapsed).toBe(true);
232 });232 });
233233
234 it.each([true, false])("preserves a saved collapsed preference of %s", (diffFilesCollapsed) => {234 it.each([true, false])("preserves a saved collapsed preference of %s", (diffFilesCollapsed) => {
packages/contracts/src/settings.ts+1-1
...@@ -356,7 +356,7 @@ export const ClientSettingsSchema = Schema.Struct({...@@ -356,7 +356,7 @@ export const ClientSettingsSchema = Schema.Struct({
356 dismissedProviderUpdateNotificationKeys: Schema.Array(TrimmedNonEmptyString).pipe(356 dismissedProviderUpdateNotificationKeys: Schema.Array(TrimmedNonEmptyString).pipe(
357 Schema.withDecodingDefault(Effect.succeed([])),357 Schema.withDecodingDefault(Effect.succeed([])),
358 ),358 ),
359 diffFilesCollapsed: Schema.Boolean.pipe(Schema.withDecodingDefault(Effect.succeed(false))),359 diffFilesCollapsed: Schema.Boolean.pipe(Schema.withDecodingDefault(Effect.succeed(true))),
360 diffIgnoreWhitespace: Schema.Boolean.pipe(Schema.withDecodingDefault(Effect.succeed(true))),360 diffIgnoreWhitespace: Schema.Boolean.pipe(Schema.withDecodingDefault(Effect.succeed(true))),
361 diffLayout: DiffLayout.pipe(Schema.withDecodingDefault(Effect.succeed(DEFAULT_DIFF_LAYOUT))),361 diffLayout: DiffLayout.pipe(Schema.withDecodingDefault(Effect.succeed(DEFAULT_DIFF_LAYOUT))),
362 environmentIdentificationMode: EnvironmentIdentificationMode.pipe(362 environmentIdentificationMode: EnvironmentIdentificationMode.pipe(