Skip to content

Commit 8367b78

Browse files
Ljy-0827shnpd
authored andcommitted
fix(record): saftey policy and rebase bug fix
1 parent 5dc31a8 commit 8367b78

4 files changed

Lines changed: 16 additions & 4 deletions

File tree

apps/extension/src/lib/__tests__/recording-runtime.test.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,8 +139,10 @@ describe("RecordingObservationRuntime", () => {
139139

140140
await recording.captureInitial(4);
141141
const transition = await recording.captureTabTransition(4, 5);
142+
await recording.captureInitial(4);
143+
await recording.captureInitial(5);
142144

143-
expect(transition).toMatchObject({
145+
expect(transition).toEqual({
144146
preStateId: "s1",
145147
postStateId: "s2",
146148
targetUrl: "https://example.com/second",

apps/extension/src/lib/__tests__/tab-coordinator.test.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,14 @@ describe("RecordingTabCoordinator", () => {
2626
tabs.commit(6);
2727
expect(tabs.currentTabId).toBe(6);
2828
});
29+
30+
it("commits the freshly observed URL when returning to an existing tab", () => {
31+
const tabs = new RecordingTabCoordinator(4);
32+
tabs.navigation(5, "https://example.com/old");
33+
34+
tabs.commit(5, "https://example.com/new");
35+
36+
expect(tabs.currentTabId).toBe(5);
37+
expect(tabs.navigation(5).currentUrl).toBe("https://example.com/new");
38+
});
2939
});

apps/extension/src/lib/recording/tab-coordinator.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@ export class RecordingTabCoordinator {
4040
);
4141
}
4242

43-
commit(tabId: number): void {
43+
commit(tabId: number, currentUrl?: string): void {
44+
if (currentUrl !== undefined) this.navigation(tabId).currentUrl = currentUrl;
4445
this.#currentTabId = tabId;
4546
}
4647

apps/extension/src/tools/record.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -255,8 +255,7 @@ async function activateRecordingTab(
255255
};
256256
recording.steps.push(draft);
257257
recording.observation?.bindTabTransition(draft, recording.steps.length);
258-
recording.tabs.navigation(targetTabId, targetUrl);
259-
recording.tabs.commit(targetTabId);
258+
recording.tabs.commit(targetTabId, targetUrl);
260259
}
261260

262261
async function processRecordedStep(

0 commit comments

Comments
 (0)