@kabmo-labs/kabmo 0.5.0 → 0.5.2
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/dist/client/index.html +1 -1
- package/dist/client/index.js +1 -1
- package/dist/client/static/js/{index-cs3b557t.js → index-zcvn50cf.js} +1 -1
- package/package.json +1 -1
- package/src/client/components/layout/session-sidebar/SessionItem.tsx +4 -7
- package/src/client/components/mobile/mobile-session-sidebar/SessionRow.tsx +1 -1
- package/src/server/lib/fs/git-actions-sync.test.ts +18 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kabmo-labs/kabmo",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.2",
|
|
4
4
|
"description": "Web console and diagnostic workbench for AI coding agents — Elysia + Preact on Bun.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"author": "Wijanarko Putra Rajeb <wijanarko.rajeb@gmail.com>",
|
|
@@ -181,13 +181,10 @@ export function SessionItem({
|
|
|
181
181
|
) : status === 'stream' ? (
|
|
182
182
|
// The run spinner is the ONE thing on this row that says a run
|
|
183
183
|
// is in flight, and it was an unlabelled icon: a screen reader
|
|
184
|
-
// got a bare `svg`, and
|
|
185
|
-
// "
|
|
186
|
-
//
|
|
187
|
-
//
|
|
188
|
-
// the picker without asserting the row was a race measured on
|
|
189
|
-
// the Windows runner (the dependency's 20s run expired while the
|
|
190
|
-
// picker's own 20s timeout was still counting).
|
|
184
|
+
// got a bare `svg`, and nothing could ask "is this session
|
|
185
|
+
// running" by name. The rename and waiting cues beside it were
|
|
186
|
+
// already labelled, so this was the one status a reader — or an
|
|
187
|
+
// assertion — had to identify by shape.
|
|
191
188
|
<span role="status" aria-label="Running">
|
|
192
189
|
<Loader2 size={12} className="animate-spin" />
|
|
193
190
|
</span>
|
|
@@ -159,7 +159,7 @@ export function MobileSessionRow({
|
|
|
159
159
|
) : status === 'stream' ? (
|
|
160
160
|
// Same label the desktop row carries, for the same reason: the
|
|
161
161
|
// phone draws the identical cue, and an unlabelled spinner is
|
|
162
|
-
//
|
|
162
|
+
// unreachable to a screen reader.
|
|
163
163
|
<span role="status" aria-label="Running">
|
|
164
164
|
<Loader2 size={13} className="text-ink/50 animate-spin" />
|
|
165
165
|
</span>
|
|
@@ -22,13 +22,30 @@
|
|
|
22
22
|
* `MERGE_HEAD` file are the whole subject.
|
|
23
23
|
*/
|
|
24
24
|
|
|
25
|
-
import { afterAll, describe, expect, test } from 'bun:test';
|
|
25
|
+
import { afterAll, describe, expect, setDefaultTimeout, test } from 'bun:test';
|
|
26
26
|
import fs from 'node:fs';
|
|
27
27
|
import os from 'node:os';
|
|
28
28
|
import path from 'node:path';
|
|
29
29
|
import { GIT_BRANCH_ACTIONS } from '@/server/lib/fs/git-actions-branch';
|
|
30
30
|
import { removeDir } from '@/test-support/remove-dir';
|
|
31
31
|
|
|
32
|
+
/**
|
|
33
|
+
* The suite drives REAL git processes — `init`, `clone`, `commit`, `push`,
|
|
34
|
+
* `fetch`, `pull`, `merge` — and one test of it pays for most of them. Bun's
|
|
35
|
+
* default per-test budget is 5s, which a Linux runner clears and a Windows
|
|
36
|
+
* runner does not: measured on `windows-latest`, "reconciles a diverged branch"
|
|
37
|
+
* timed out at 5001ms while the same suite is green locally in 1.4s. Process
|
|
38
|
+
* spawn on that runner costs several times what it does on POSIX, and the
|
|
39
|
+
* log line above the failure (`killed 1 dangling process`) is the timeout
|
|
40
|
+
* firing mid-`git`.
|
|
41
|
+
*
|
|
42
|
+
* A budget, not a skip: the behaviour — a diverged branch reconciled by a merge
|
|
43
|
+
* and then pushed — is identical on both platforms, and skipping it there would
|
|
44
|
+
* report the Sync button as unverified on a platform the CLI ships to. The same
|
|
45
|
+
* budget is stated for the same reason in `git-update.server.test.ts`.
|
|
46
|
+
*/
|
|
47
|
+
setDefaultTimeout(30_000);
|
|
48
|
+
|
|
32
49
|
const tempDirs: string[] = [];
|
|
33
50
|
|
|
34
51
|
function tempDir(): string {
|