chore(release): prepare v1.8.0 desktop widgets

This commit is contained in:
Codex committed 2026-09-28 11:44:26 +09:00
1 parent 47fa2896ba
commit 27292095a3
10 files changed
+26 -12

No files matched your search

+6
View File
@@ -11,6 +11,8 @@ assert.match(assets.indexHtml, /window\.LifeOSLocales\.en=/);
assert.match(assets.addonsJs, /window\.exportData = exportData/);
assert.match(assets.addonsJs, /schemaVersion: 2/);
assert.match(assets.addonsJs, /settings: settings\(\), system: sys\(\)/);
assert.match(assets.addonsJs, /widgetLayout/);
assert.match(assets.i18nRenderersJs, /lifeos_widget_layout_v1/);
assert.match(assets.addonsJs, /if \(mergedLocalBoard\) await uploadCloudState\(\)/);
assert.match(assets.i18nRenderersJs, /dialog\.goals/);
assert.match(assets.i18nRenderersJs, /shell\.wallpaperTitle/);
@@ -253,6 +255,8 @@ const widgetContext = vm.createContext({
widgetContext.window = widgetContext;
vm.runInContext(assets.desktopWidgetsJs, widgetContext);
const widgetLayer = widgetDesktop.children[0], goalWidget = widgetLayer.children[0];
assert.equal(widgetLayer.children.length, 4, "goal, clock, today, and quick action widgets are available");
assert.match(widgetLayer.children[2].querySelector('.widget-body').innerHTML, /widgets\.memoriesToday/);
const goalHandle = goalWidget.querySelector('.widget-drag');
goalWidget.emit('pointerdown', { button: 0, target: { closest: selector => selector === '.widget-drag' ? goalHandle : null }, clientX: 0, clientY: 0, preventDefault() {} });
goalHandle.emit('pointermove', { clientX: -110, clientY: 98 });
@@ -268,6 +272,8 @@ assert.equal(savedWidget.w, 2, "goal countdown width can be reduced");
assert.equal(savedWidget.h, 2, "goal countdown height can be reduced");
widgetContext.toggleDesktopWidget('actions');
assert.equal(JSON.parse(widgetStorage.getItem('lifeos_settings')).desktopWidgets.includes('actions'), true);
widgetContext.resetWidgetLayout();
assert.equal(widgetStorage.getItem('lifeos_widget_layout_v1'), null, "widget layout reset removes stored geometry");
const zhLogin = await worker.default.fetch(new Request("https://life-os.test/", { headers: { "accept-language": "zh-CN,zh;q=0.9" } }), {});
assert.match(await zhLogin.text(), /登录 ChatGPT/);
const enLogin = await worker.default.fetch(new Request("https://life-os.test/", { headers: { "accept-language": "en-US,en;q=0.9" } }), {});