From d109f047222b6f02f3ac2019ad7488487d82ad96 Mon Sep 17 00:00:00 2001 From: Wonsuk Choi Date: Thu, 28 May 2026 11:58:19 +0900 Subject: [PATCH] fix(query-devtools/PiPContext): reset 'pip_open' in 'localStore' from 'closePipWindow' so the auto-open createEffect does not reopen the window after a programmatic close --- .../devtools-close-pip-window-localstorage.md | 5 +++++ .../src/__tests__/contexts/PiPContext.test.tsx | 16 ++++++++++++++++ .../query-devtools/src/contexts/PiPContext.tsx | 1 + 3 files changed, 22 insertions(+) create mode 100644 .changeset/devtools-close-pip-window-localstorage.md diff --git a/.changeset/devtools-close-pip-window-localstorage.md b/.changeset/devtools-close-pip-window-localstorage.md new file mode 100644 index 00000000000..16039f2982c --- /dev/null +++ b/.changeset/devtools-close-pip-window-localstorage.md @@ -0,0 +1,5 @@ +--- +'@tanstack/query-devtools': patch +--- + +fix(query-devtools/PiPContext): reset 'pip_open' in 'localStore' from 'closePipWindow' so the auto-open createEffect does not reopen the window after a programmatic close diff --git a/packages/query-devtools/src/__tests__/contexts/PiPContext.test.tsx b/packages/query-devtools/src/__tests__/contexts/PiPContext.test.tsx index 2eea2323f39..17a53b5bf35 100644 --- a/packages/query-devtools/src/__tests__/contexts/PiPContext.test.tsx +++ b/packages/query-devtools/src/__tests__/contexts/PiPContext.test.tsx @@ -312,6 +312,22 @@ describe('PiPContext', () => { expect(fakeWindow.close).toHaveBeenCalledTimes(1) }) + + it('should reset "pip_open" in "localStore" so the auto-open createEffect does not reopen the window', () => { + stubPipWindow() + + renderAndAct( + (pip) => { + pip().requestPipWindow(640, 480) + pip().closePipWindow() + }, + { disabled: true }, + ) + + expect(localStorage.getItem('TanstackQueryDevtools.pip_open')).toBe( + 'false', + ) + }) }) describe('"pip_open" auto-open createEffect', () => { diff --git a/packages/query-devtools/src/contexts/PiPContext.tsx b/packages/query-devtools/src/contexts/PiPContext.tsx index fb22c8be36a..fe42eef8f2f 100644 --- a/packages/query-devtools/src/contexts/PiPContext.tsx +++ b/packages/query-devtools/src/contexts/PiPContext.tsx @@ -41,6 +41,7 @@ export const PiPProvider = (props: PiPProviderProps) => { const w = pipWindow() if (w != null) { w.close() + props.setLocalStore('pip_open', 'false') setPipWindow(null) } }