chore: retire openhub and pi ts runtime
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env node
|
||||
// Pi Lab browser smoke
|
||||
// 验证 Pi Lab 默认独立悬浮入口 + MNote-native drawer,不复用 OpenHub drawer/provider tab/iframe。
|
||||
// 验证 Pi Lab 默认独立悬浮入口 + MNote-native drawer,不复用已退役 host drawer/provider tab/iframe。
|
||||
// 需要 mnote-web 已在运行;MNOTE_PAGE_AI_PI_LAB 默认开启,设为 0 时才强制关闭。
|
||||
|
||||
"use strict";
|
||||
@@ -90,16 +90,16 @@ async function main() {
|
||||
console.log(" 3. Pi Lab independent drawer visible");
|
||||
|
||||
const drawerEvidence = await page.evaluate(() => {
|
||||
const openHubDrawer = document.querySelector('[data-testid="wolai-page-ai-drawer"]');
|
||||
const legacyDrawer = document.querySelector('[data-testid="wolai-page-ai-drawer"]');
|
||||
const piDrawer = document.querySelector('[data-page-ai-pi-lab="drawer"]');
|
||||
const piPanel = document.querySelector('[data-page-ai-pi-lab="panel"]');
|
||||
const diagnostics = document.querySelector("[data-page-ai-pi-lab-diagnostics]");
|
||||
return {
|
||||
piDrawerVisible: Boolean(piDrawer && getComputedStyle(piDrawer).display !== "none"),
|
||||
panelInPiDrawer: Boolean(piDrawer && piPanel && piDrawer.contains(piPanel)),
|
||||
panelInOpenHubDrawer: Boolean(openHubDrawer && piPanel && openHubDrawer.contains(piPanel)),
|
||||
panelInLegacyDrawer: Boolean(legacyDrawer && piPanel && legacyDrawer.contains(piPanel)),
|
||||
piDrawerHasIframe: Boolean(piDrawer && piDrawer.querySelector("iframe")),
|
||||
openHubTabInPi: Boolean(piDrawer && piDrawer.querySelector("[data-page-ai-pi-lab-openhub-tab]")),
|
||||
retiredHostTabInPi: Boolean(piDrawer && piDrawer.querySelector("[data-page-ai-pi-lab-openhub-tab]")),
|
||||
contextChips: document.querySelectorAll("[data-page-ai-pi-lab-context-strip] [data-page-ai-pi-lab-context]").length,
|
||||
hasCurrentPageContext: Boolean(document.querySelector("[data-page-ai-pi-lab-current-page]")),
|
||||
hasChangedFilesContext: Boolean(document.querySelector("[data-page-ai-pi-lab-changed-files]")),
|
||||
@@ -112,9 +112,9 @@ async function main() {
|
||||
|
||||
assert(drawerEvidence.piDrawerVisible, "Pi Lab independent drawer should be visible");
|
||||
assert(drawerEvidence.panelInPiDrawer, "Pi Lab panel should be mounted inside independent Pi drawer");
|
||||
assert.equal(drawerEvidence.panelInOpenHubDrawer, false, "Pi Lab panel must not be inside OpenHub drawer");
|
||||
assert.equal(drawerEvidence.panelInLegacyDrawer, false, "Pi Lab panel must not be inside retired host drawer");
|
||||
assert.equal(drawerEvidence.piDrawerHasIframe, false, "Pi Lab drawer must not iframe a second app");
|
||||
assert.equal(drawerEvidence.openHubTabInPi, false, "Pi Lab drawer must not expose OpenHub provider tab");
|
||||
assert.equal(drawerEvidence.retiredHostTabInPi, false, "Pi Lab drawer must not expose retired host provider tab");
|
||||
assert(drawerEvidence.contextChips >= 3, `expected context strip chips, got ${drawerEvidence.contextChips}`);
|
||||
assert(drawerEvidence.hasCurrentPageContext, "context strip should retain current page binding");
|
||||
assert(drawerEvidence.hasChangedFilesContext, "context strip should retain changed files count");
|
||||
@@ -298,30 +298,6 @@ async function main() {
|
||||
assert.notEqual(runtimeEvidence.changedFiles, "0", "changed files chip should be non-zero");
|
||||
console.log(" 6. Real Pi Rust send, abort, deny, citation, receipt and diff evidence visible");
|
||||
|
||||
const openHubEvidence = await page.evaluate(async () => {
|
||||
const api = window.__mnoteSidebarPageAiRuntime;
|
||||
if (api && typeof api.openPageAiDrawer === "function") {
|
||||
api.openPageAiDrawer();
|
||||
}
|
||||
await new Promise((resolve) => setTimeout(resolve, 400));
|
||||
const openHubDrawer = document.querySelector('[data-testid="wolai-page-ai-drawer"]');
|
||||
const openHubFrame = document.querySelector("[data-page-ai-openhub-iframe]");
|
||||
const piDrawer = document.querySelector('[data-page-ai-pi-lab="drawer"]');
|
||||
return {
|
||||
openHubApiExists: Boolean(api && typeof api.openPageAiDrawer === "function"),
|
||||
openHubDrawerExists: Boolean(openHubDrawer),
|
||||
openHubHost: openHubDrawer?.getAttribute("data-page-ai-openhub-host") || "",
|
||||
openHubFrameExists: Boolean(openHubFrame),
|
||||
piStillIndependent: Boolean(piDrawer && openHubDrawer && !openHubDrawer.contains(piDrawer)),
|
||||
};
|
||||
});
|
||||
assert(openHubEvidence.openHubApiExists, "OpenHub drawer API should still exist");
|
||||
assert(openHubEvidence.openHubDrawerExists, "OpenHub drawer should still open independently");
|
||||
assert.equal(openHubEvidence.openHubHost, "true", "OpenHub drawer should still be the default host");
|
||||
assert(openHubEvidence.openHubFrameExists, "OpenHub iframe should still exist outside Pi Lab");
|
||||
assert(openHubEvidence.piStillIndependent, "Pi Lab drawer should remain outside OpenHub drawer");
|
||||
console.log(" 7. OpenHub default drawer still works independently");
|
||||
|
||||
fs.mkdirSync(path.dirname(SCREENSHOT), { recursive: true });
|
||||
await page.locator('[data-page-ai-pi-lab="drawer"]').waitFor({ state: "visible", timeout: UI_TIMEOUT_MS });
|
||||
await page.screenshot({ path: SCREENSHOT, fullPage: false });
|
||||
|
||||
Reference in New Issue
Block a user