fix: reset diff viewer controllers on rehydrate (#96138) · openclaw/openclaw@941e8f1
brokemac79
·
2026-06-26
·
via Recent Commits to openclaw:main
| Original file line number | Diff line number | Diff line change |
|---|
@@ -172,6 +172,24 @@ describe("hydrateViewer", () => {
|
172 | 172 | expect(document.documentElement.dataset.openclawDiffsError).toBeUndefined(); |
173 | 173 | warn.mockRestore(); |
174 | 174 | }); |
| 175 | + |
| 176 | +it("replaces stale controllers when hydrating the current cards again", async () => { |
| 177 | +renderCard(); |
| 178 | +const { controllers, hydrateViewer } = await import("./viewer-client.js"); |
| 179 | +controllers.splice(0); |
| 180 | + |
| 181 | +await hydrateViewer(); |
| 182 | +expect(controllers).toHaveLength(1); |
| 183 | +const firstController = controllers[0]; |
| 184 | + |
| 185 | +document.body.innerHTML = ""; |
| 186 | +renderCard(); |
| 187 | +await hydrateViewer(); |
| 188 | + |
| 189 | +expect(controllers).toHaveLength(1); |
| 190 | +expect(controllers[0]).not.toBe(firstController); |
| 191 | +expect(fileDiffHydrateMock).toHaveBeenCalledTimes(2); |
| 192 | +}); |
175 | 193 | }); |
176 | 194 | |
177 | 195 | describe("viewerState initialization", () => { |
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。