fix: skip deleted entries in navigation history

This commit is contained in:
2026-06-06 02:42:20 +08:00
parent 0cd8a79049
commit 40c0953904
4 changed files with 42 additions and 13 deletions
+19
View File
@@ -356,6 +356,13 @@ async function runReadyScenario(cdp, url) {
await assertEval(cdp, `!document.querySelector('.activity-feed-header h2')`, 'activity: screen title is not duplicated inside body')
await assertText(cdp, 'Smoke activity', 'activity feed: event visible')
await clickText(cdp, '.nav-item', 'Сегодня')
await clickText(cdp, '.tree-label', 'Smoke Client')
await clickText(cdp, '.tree-label', 'Smoke Project')
await deleteSmokeNode(cdp, 'node-client')
await dispatchBodyKeydown(cdp, 'Backspace')
await assertEval(cdp, `document.querySelector('.header-title')?.innerText.trim() === 'Сегодня'`, 'navigation: Backspace skips deleted history entries')
await click(cdp, '.nav-add-btn')
await waitForSelector(cdp, '.modal-create')
await assertText(cdp, 'Создать элемент', 'create node: modal opens')
@@ -528,6 +535,15 @@ async function dispatchMouseBack(cdp) {
await sleep(150)
}
async function deleteSmokeNode(cdp, id) {
await cdp.send('Runtime.evaluate', {
expression: `window.__VERSTAK_GUI_SMOKE__.deleteNode(${JSON.stringify(id)})`,
awaitPromise: true,
returnByValue: true,
})
await sleep(150)
}
async function setClipboardText(cdp, value) {
await cdp.send('Runtime.evaluate', {
expression: `window.__VERSTAK_GUI_SMOKE_CLIPBOARD__ = ${JSON.stringify(value)}`,
@@ -1347,6 +1363,9 @@ function wailsMockSource() {
dropFiles: async (paths) => {
if (runtimeHandlers['files-dropped']) await runtimeHandlers['files-dropped'](paths);
},
deleteNode: async (id) => {
detachNode(id);
},
};
})();
`