bitspire/apps/machine
Padreug a68e462462 fix(logging): interpolate log fields instead of passing an object
Electron's console bridge stringifies each console argument on its way to
the journal, so `console.log('msg:', { a, b })` arrives as
`msg: [object Object]` and every field is lost.

That cost a debugging session today: a cassette-state publish that had
in fact applied an operator refill correctly looked from the journal like
nothing had happened, because the d-tag, event id and stamp were all
inside the object.

Three call sites, the only ones in the renderer passing an object. The
publish line now also carries seq and the applied-op count, which are the
two things worth knowing when an operation seems not to have landed.

Recorded in CLAUDE.md's debugging invariants so it does not come back.
2026-09-23 23:55:13 +02:00
..
electron feat(cassettes): consume operator operations instead of counts 2026-09-23 12:55:52 +02:00
public feat(machine): add Ubuntu font and kiosk animations 2026-03-01 12:09:42 -05:00
src fix(logging): interpolate log fields instead of passing an object 2026-09-23 23:55:13 +02:00
.env.example chore(access): prune unwired readers, amend ADR-003 for what shipped 2026-09-20 15:16:59 +02:00
components.json feat(docker): add dev.sh with auto-funding and ATM app setup 2026-02-15 14:19:16 -05:00
index.html fix(machine): keep the mouse pointer visible on the web demo 2026-09-22 14:54:57 +02:00
package.json build(machine): add a web-only build:web target 2026-09-06 19:24:15 +02:00
tsconfig.json feat(docker): add dev.sh with auto-funding and ATM app setup 2026-02-15 14:19:16 -05:00
tsconfig.node.json feat(docker): add dev.sh with auto-funding and ATM app setup 2026-02-15 14:19:16 -05:00
vite.config.ts refactor(rename): @lamassu/* → @bitSpire/* package scopes 2026-06-01 19:08:03 +02:00
vitest.config.ts chore(machine): set up vitest for apps/machine 2026-06-01 19:12:11 +02:00