Skip to content

Tags: uneidel/kaim56

Tags

app-v5.47

Toggle app-v5.47's commit message
KatAgent 5.47: ManagerClient (connection in the instance, error per c…

…all, HTTP+auth once); fixes document upload and refused agent create

app-v5.46

Toggle app-v5.46's commit message
KatAgent 5.46: one chat merge (ChatMerge) for full sync and live poll…

… — manual sync no longer replaces chats

voice-v1.2.0

Toggle voice-v1.2.0's commit message
Voice 1.2.0: openWakeWord "Hey Bender" as the default wake gate (side…

…car kaim56-wake, Rust/tract)

cli-v0.2.0

Toggle cli-v0.2.0's commit message
CLI 0.2.0: self-update + daily hint; release pipeline cli-v*

voice-v1.1.1

Toggle voice-v1.1.1's commit message
Apps tab: Cloudflare link in a new tab; voice client 1.1.1 names a re…

…jected login

Apps tab: the worker's address under each app is now a link (new tab,
noopener, shortened, with an arrow) — before it was plain text; it stays
after a restore, the worker is still deployed.

Voice client 1.1.1: since the manager has a password, a client with the old
'pass' got bare 'HTTP 401 from /api/stt' errors — and, over iroh, its wrong
logins also locked the phone app out (every iroh client arrives through the
same gateway address; ten failures = 15 min lockout). statusError() now says
what to fix (user/pass in ~/.config/kaim56-voice.json, restart) and names the
lockout as such; a test pins the messages.

app-v5.45

Toggle app-v5.45's commit message
KatAgent 5.45: Apps in the drawer — local apps in a WebView through t…

…he manager (also over iroh), Cloudflare ones in the browser

app-v5.44

Toggle app-v5.44's commit message
Core War app: two models fight in Redcode and rewrite their warriors …

…mid-round

apps/corewar: the MARS page (ICWS'88) as an app. Every N cycles (default 500)
the round pauses and each warrior with a model gets an ephemeral task (the
existing /api/tasks, model + max_steps) with the rules, the state, the full
core matrix (80x100, own/opponent cells and processes), the code at the
processes and its program; the answer (German reason + Redcode) is written
into the core at the warrior's loading address while its processes keep
running (marsPatch), and becomes its program for later rounds. At most 10
adaptations per player and round. Changes tab: every adaptation with round,
cycle, model, duration, reason, diff and the raw answer; Rules tab: the exact
text every task carries. No manager code, no new instances.

Tests: coach.js (rules, matrix, task text, answer parser, diff, task id) and
the engine's mid-round patch — tests/run-tests.sh.

app-v5.43

Toggle app-v5.43's commit message
app 5.43: Notifications screen

Drawer → Notifications lists the manager's notifications (newest first,
unread emphasised, title, body, instance, time). Tapping an entry follows
its link exactly like a tapped system notification — the navigation is
now one function navTo(link) shared by both paths. Opening the screen
marks everything read on the manager and advances the app's watermark,
so nothing seen here rings again. Before, a swiped-away system
notification was gone for good on the phone.

app-v5.42

Toggle app-v5.42's commit message
app 5.42: notifications reach the phone while the app is closed

The notification poll lived in the chat screen's composition and showed
only entries newer than the app start: closed app = nobody asked the
manager, and on the next start everything from before was skipped. The
daily job digest at 07:00 never rang.

NotifSync.kt: one watermark in the prefs (newest entry already shown,
notifLastTs) shared by the in-app long-poll and a new WorkManager periodic
worker (15 min, network required, no foreground icon). At app start the
backlog is shown at once; on the very first run only the last 24 h so an
old backlog does not flood the shade; read entries advance the watermark
without being shown. pick() is pure and unit-tested (3 tests).
Dependency androidx.work:work-runtime-ktx 2.9.1.

voice-v1.1.0

Toggle voice-v1.1.0's commit message
voice-client 1.1.0: self-update from GitHub Releases + release pipeline

update.go: at start (at most every 6 h, or now with --update) the newest
voice-v* release with the asset kaim56-voice-<os>-<arch> is looked up; a
newer one is downloaded next to the running binary as <exe>.new, checked
against the asset size, renamed over the binary and the process re-executes
itself with the same arguments. "auto_update": false switches it off, the
tray menu gets "Check for update" (stops the tunnel child before the
re-exec so the new process can bind the port), --version prints the version.

.github/workflows/voice.yml: like apk.yml — push to main with a version in
version.go that has no voice-v<version> tag yet builds the tunnel (cargo),
vets/tests/builds the client with the tunnel embedded and publishes the
release; the section '## <version>' of voice-client/RELEASE_NOTES.md is
the mandatory release body; v* platform tags get the binary attached too.

Tests: version compare, release selection (asset per platform, drafts and
the old platform assets ignored), atomic replace with a size check that
leaves the old binary intact on a short download, the 6-h stamp, and the
up-to-date path against an httptest server.