@cryptiklemur/lattice 1.20.2 → 1.20.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/ci.yml +2 -42
- package/package.json +1 -1
- package/tests/accessibility.spec.ts +3 -3
- package/tests/keyboard-shortcuts.spec.ts +3 -7
- package/tests/message-actions.spec.ts +1 -1
- package/tests/onboarding.spec.ts +1 -1
- package/tests/session-flow.spec.ts +1 -1
- package/tests/session-preview.spec.ts +1 -1
package/.github/workflows/ci.yml
CHANGED
|
@@ -77,45 +77,5 @@ jobs:
|
|
|
77
77
|
- name: Build client
|
|
78
78
|
run: cd client && npx vite build
|
|
79
79
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
runs-on: ubuntu-latest
|
|
83
|
-
continue-on-error: true
|
|
84
|
-
steps:
|
|
85
|
-
- name: Checkout
|
|
86
|
-
uses: actions/checkout@v5
|
|
87
|
-
|
|
88
|
-
- name: Setup Bun
|
|
89
|
-
uses: oven-sh/setup-bun@v2
|
|
90
|
-
with:
|
|
91
|
-
bun-version: latest
|
|
92
|
-
|
|
93
|
-
- name: Setup Node.js
|
|
94
|
-
uses: actions/setup-node@v4
|
|
95
|
-
with:
|
|
96
|
-
node-version: 22
|
|
97
|
-
|
|
98
|
-
- name: Cache bun install
|
|
99
|
-
uses: actions/cache@v4
|
|
100
|
-
with:
|
|
101
|
-
path: ~/.bun/install/cache
|
|
102
|
-
key: ${{ runner.os }}-bun-${{ hashFiles('bun.lock') }}
|
|
103
|
-
restore-keys: |
|
|
104
|
-
${{ runner.os }}-bun-
|
|
105
|
-
|
|
106
|
-
- name: Install dependencies
|
|
107
|
-
run: bun install --frozen-lockfile
|
|
108
|
-
|
|
109
|
-
- name: Install Playwright browsers
|
|
110
|
-
run: bunx playwright install --with-deps chromium
|
|
111
|
-
|
|
112
|
-
- name: Run Playwright tests
|
|
113
|
-
run: bunx playwright test
|
|
114
|
-
|
|
115
|
-
- name: Upload test results
|
|
116
|
-
if: always()
|
|
117
|
-
uses: actions/upload-artifact@v4
|
|
118
|
-
with:
|
|
119
|
-
name: playwright-results
|
|
120
|
-
path: test-results/
|
|
121
|
-
retention-days: 7
|
|
80
|
+
# Playwright tests require a running server (localhost:7654)
|
|
81
|
+
# Run locally with: bunx playwright test
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cryptiklemur/lattice",
|
|
3
|
-
"version": "1.20.
|
|
3
|
+
"version": "1.20.3",
|
|
4
4
|
"description": "Multi-machine agentic dashboard for Claude Code. Monitor sessions, manage MCP servers and skills, orchestrate across mesh-networked nodes.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Aaron Scherer <me@aaronscherer.me>",
|
|
@@ -7,7 +7,7 @@ test.beforeEach(async function ({ page }) {
|
|
|
7
7
|
registrations.forEach(function (r) { r.unregister(); });
|
|
8
8
|
});
|
|
9
9
|
}
|
|
10
|
-
caches.keys().then(function (names) {
|
|
10
|
+
if (typeof caches !== "undefined") caches.keys().then(function (names) {
|
|
11
11
|
names.forEach(function (name) { caches.delete(name); });
|
|
12
12
|
});
|
|
13
13
|
});
|
|
@@ -26,8 +26,8 @@ test.describe("Focus and modal behavior", function () {
|
|
|
26
26
|
var modal = page.locator("[role='dialog'][aria-label='Add Project']");
|
|
27
27
|
await expect(modal).toBeVisible({ timeout: 5000 });
|
|
28
28
|
|
|
29
|
-
var
|
|
30
|
-
await expect(
|
|
29
|
+
var focusInModal = modal.locator(":focus");
|
|
30
|
+
await expect(focusInModal).toHaveCount(1);
|
|
31
31
|
|
|
32
32
|
var focusableElements = modal.locator(
|
|
33
33
|
"input, button, [tabindex]:not([tabindex='-1'])"
|
|
@@ -7,7 +7,7 @@ test.beforeEach(async function ({ page }) {
|
|
|
7
7
|
registrations.forEach(function (r) { r.unregister(); });
|
|
8
8
|
});
|
|
9
9
|
}
|
|
10
|
-
caches.keys().then(function (names) {
|
|
10
|
+
if (typeof caches !== "undefined") caches.keys().then(function (names) {
|
|
11
11
|
names.forEach(function (name) { caches.delete(name); });
|
|
12
12
|
});
|
|
13
13
|
});
|
|
@@ -48,9 +48,7 @@ test.describe("Keyboard interactions", function () {
|
|
|
48
48
|
await page.keyboard.press("Control+k");
|
|
49
49
|
await page.waitForTimeout(300);
|
|
50
50
|
|
|
51
|
-
var paletteInput = page.locator("input[placeholder*='
|
|
52
|
-
page.locator("[role='dialog'] input[type='text']")
|
|
53
|
-
);
|
|
51
|
+
var paletteInput = page.locator("input[placeholder*='command']");
|
|
54
52
|
await expect(paletteInput.first()).toBeVisible({ timeout: 5000 });
|
|
55
53
|
});
|
|
56
54
|
|
|
@@ -61,9 +59,7 @@ test.describe("Keyboard interactions", function () {
|
|
|
61
59
|
await page.keyboard.press("Control+k");
|
|
62
60
|
await page.waitForTimeout(300);
|
|
63
61
|
|
|
64
|
-
var paletteInput = page.locator("input[placeholder*='
|
|
65
|
-
page.locator("[role='dialog'] input[type='text']")
|
|
66
|
-
);
|
|
62
|
+
var paletteInput = page.locator("input[placeholder*='command']");
|
|
67
63
|
await expect(paletteInput.first()).toBeVisible({ timeout: 5000 });
|
|
68
64
|
|
|
69
65
|
await page.keyboard.press("Escape");
|
|
@@ -7,7 +7,7 @@ test.beforeEach(async function ({ page }) {
|
|
|
7
7
|
registrations.forEach(function (r) { r.unregister(); });
|
|
8
8
|
});
|
|
9
9
|
}
|
|
10
|
-
caches.keys().then(function (names) {
|
|
10
|
+
if (typeof caches !== "undefined") caches.keys().then(function (names) {
|
|
11
11
|
names.forEach(function (name) { caches.delete(name); });
|
|
12
12
|
});
|
|
13
13
|
});
|
package/tests/onboarding.spec.ts
CHANGED
|
@@ -7,7 +7,7 @@ test.beforeEach(async function ({ page }) {
|
|
|
7
7
|
registrations.forEach(function (r) { r.unregister(); });
|
|
8
8
|
});
|
|
9
9
|
}
|
|
10
|
-
caches.keys().then(function (names) {
|
|
10
|
+
if (typeof caches !== "undefined") caches.keys().then(function (names) {
|
|
11
11
|
names.forEach(function (name) { caches.delete(name); });
|
|
12
12
|
});
|
|
13
13
|
});
|
|
@@ -7,7 +7,7 @@ test.beforeEach(async function ({ page }) {
|
|
|
7
7
|
registrations.forEach(function (r) { r.unregister(); });
|
|
8
8
|
});
|
|
9
9
|
}
|
|
10
|
-
caches.keys().then(function (names) {
|
|
10
|
+
if (typeof caches !== "undefined") caches.keys().then(function (names) {
|
|
11
11
|
names.forEach(function (name) { caches.delete(name); });
|
|
12
12
|
});
|
|
13
13
|
});
|
|
@@ -7,7 +7,7 @@ test.beforeEach(async function ({ page }) {
|
|
|
7
7
|
registrations.forEach(function (r) { r.unregister(); });
|
|
8
8
|
});
|
|
9
9
|
}
|
|
10
|
-
caches.keys().then(function (names) {
|
|
10
|
+
if (typeof caches !== "undefined") caches.keys().then(function (names) {
|
|
11
11
|
names.forEach(function (name) { caches.delete(name); });
|
|
12
12
|
});
|
|
13
13
|
});
|