{"level":"debug","error":"failed to open gamelist XML file /userdata/roms/openjazz/gamelist.xml: open /userdata/roms/openjazz/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for openjazz"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jazz2/gamelist.xml: open /userdata/roms/jazz2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jazz2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/pyxel/gamelist.xml: open /userdata/roms/pyxel/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for pyxel"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake/gamelist.xml: open /userdata/roms/quake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/bennugd/gamelist.xml: open /userdata/roms/bennugd/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for bennugd"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider1/gamelist.xml: open /userdata/roms/traider1/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider1"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/thextech/gamelist.xml: open /userdata/roms/thextech/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for thextech"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/etlegacy/gamelist.xml: open /userdata/roms/etlegacy/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for etlegacy"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/xrick/gamelist.xml: open /userdata/roms/xrick/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for xrick"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flatpak/gamelist.xml: open /userdata/roms/flatpak/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flatpak"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/library/gamelist.xml: open /userdata/roms/library/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for library"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/steam/gamelist.xml: open /userdata/roms/steam/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for steam"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/sonic-mania/gamelist.xml: open /userdata/roms/sonic-mania/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for sonic-mania"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vircon32/gamelist.xml: open /userdata/roms/vircon32/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vircon32"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jkdf2/gamelist.xml: open /userdata/roms/jkdf2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jkdf2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/reminiscence/gamelist.xml: open /userdata/roms/reminiscence/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for reminiscence"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/tyrquake/gamelist.xml: open /userdata/roms/tyrquake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for tyrquake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/iortcw/gamelist.xml: open /userdata/roms/iortcw/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for iortcw"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/moonlight/gamelist.xml: open /userdata/roms/moonlight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for moonlight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vemulator/gamelist.xml: open /userdata/roms/vemulator/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vemulator"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uzebox/gamelist.xml: open /userdata/roms/uzebox/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uzebox"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/easyrpg/gamelist.xml: open /userdata/roms/easyrpg/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for easyrpg"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake3/gamelist.xml: open /userdata/roms/quake3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hurrican/gamelist.xml: open /userdata/roms/hurrican/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hurrican"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/zc210/gamelist.xml: open /userdata/roms/zc210/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for zc210"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/corsixth/gamelist.xml: open /userdata/roms/corsixth/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for corsixth"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/solarus/gamelist.xml: open /userdata/roms/solarus/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for solarus"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lutro/gamelist.xml: open /userdata/roms/lutro/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lutro"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake2/gamelist.xml: open /userdata/roms/quake2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/doom3/gamelist.xml: open /userdata/roms/doom3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for doom3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hcl/gamelist.xml: open /userdata/roms/hcl/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hcl"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/theforceengine/gamelist.xml: open /userdata/roms/theforceengine/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for theforceengine"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lowresnx/gamelist.xml: open /userdata/roms/lowresnx/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lowresnx"} {"level":"debug","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running DevilutionX scanner for system: PC"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flatpak/gamelist.xml: open /userdata/roms/flatpak/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flatpak"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/library/gamelist.xml: open /userdata/roms/library/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for library"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/steam/gamelist.xml: open /userdata/roms/steam/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for steam"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/sonic-mania/gamelist.xml: open /userdata/roms/sonic-mania/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for sonic-mania"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vircon32/gamelist.xml: open /userdata/roms/vircon32/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vircon32"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jkdf2/gamelist.xml: open /userdata/roms/jkdf2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jkdf2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/reminiscence/gamelist.xml: open /userdata/roms/reminiscence/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for reminiscence"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/tyrquake/gamelist.xml: open /userdata/roms/tyrquake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for tyrquake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/iortcw/gamelist.xml: open /userdata/roms/iortcw/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for iortcw"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/moonlight/gamelist.xml: open /userdata/roms/moonlight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for moonlight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vemulator/gamelist.xml: open /userdata/roms/vemulator/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vemulator"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uzebox/gamelist.xml: open /userdata/roms/uzebox/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uzebox"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/easyrpg/gamelist.xml: open /userdata/roms/easyrpg/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for easyrpg"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake3/gamelist.xml: open /userdata/roms/quake3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hurrican/gamelist.xml: open /userdata/roms/hurrican/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hurrican"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/zc210/gamelist.xml: open /userdata/roms/zc210/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for zc210"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/corsixth/gamelist.xml: open /userdata/roms/corsixth/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for corsixth"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/solarus/gamelist.xml: open /userdata/roms/solarus/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for solarus"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lutro/gamelist.xml: open /userdata/roms/lutro/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lutro"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake2/gamelist.xml: open /userdata/roms/quake2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/doom3/gamelist.xml: open /userdata/roms/doom3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for doom3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hcl/gamelist.xml: open /userdata/roms/hcl/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hcl"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/theforceengine/gamelist.xml: open /userdata/roms/theforceengine/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for theforceengine"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lowresnx/gamelist.xml: open /userdata/roms/lowresnx/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lowresnx"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jknight/gamelist.xml: open /userdata/roms/jknight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jknight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vis/gamelist.xml: open /userdata/roms/vis/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vis"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/superbroswar/gamelist.xml: open /userdata/roms/superbroswar/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for superbroswar"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/wasm4/gamelist.xml: open /userdata/roms/wasm4/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for wasm4"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/mohaa/gamelist.xml: open /userdata/roms/mohaa/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for mohaa"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/cavestory/gamelist.xml: open /userdata/roms/cavestory/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for cavestory"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flash/gamelist.xml: open /userdata/roms/flash/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flash"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider2/gamelist.xml: open /userdata/roms/traider2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uqm/gamelist.xml: open /userdata/roms/uqm/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uqm"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/openjazz/gamelist.xml: open /userdata/roms/openjazz/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for openjazz"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jazz2/gamelist.xml: open /userdata/roms/jazz2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jazz2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/pyxel/gamelist.xml: open /userdata/roms/pyxel/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for pyxel"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake/gamelist.xml: open /userdata/roms/quake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/bennugd/gamelist.xml: open /userdata/roms/bennugd/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for bennugd"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider1/gamelist.xml: open /userdata/roms/traider1/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider1"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/thextech/gamelist.xml: open /userdata/roms/thextech/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for thextech"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/etlegacy/gamelist.xml: open /userdata/roms/etlegacy/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for etlegacy"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/xrick/gamelist.xml: open /userdata/roms/xrick/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for xrick"} {"level":"debug","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running Doom3 scanner for system: PC"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/mohaa/gamelist.xml: open /userdata/roms/mohaa/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for mohaa"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/cavestory/gamelist.xml: open /userdata/roms/cavestory/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for cavestory"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flash/gamelist.xml: open /userdata/roms/flash/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flash"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider2/gamelist.xml: open /userdata/roms/traider2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uqm/gamelist.xml: open /userdata/roms/uqm/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uqm"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/openjazz/gamelist.xml: open /userdata/roms/openjazz/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for openjazz"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jazz2/gamelist.xml: open /userdata/roms/jazz2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jazz2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/pyxel/gamelist.xml: open /userdata/roms/pyxel/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for pyxel"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake/gamelist.xml: open /userdata/roms/quake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/bennugd/gamelist.xml: open /userdata/roms/bennugd/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for bennugd"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider1/gamelist.xml: open /userdata/roms/traider1/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider1"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/thextech/gamelist.xml: open /userdata/roms/thextech/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for thextech"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/etlegacy/gamelist.xml: open /userdata/roms/etlegacy/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for etlegacy"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/xrick/gamelist.xml: open /userdata/roms/xrick/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for xrick"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flatpak/gamelist.xml: open /userdata/roms/flatpak/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flatpak"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/library/gamelist.xml: open /userdata/roms/library/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for library"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/steam/gamelist.xml: open /userdata/roms/steam/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for steam"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/sonic-mania/gamelist.xml: open /userdata/roms/sonic-mania/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for sonic-mania"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vircon32/gamelist.xml: open /userdata/roms/vircon32/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vircon32"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jkdf2/gamelist.xml: open /userdata/roms/jkdf2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jkdf2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/reminiscence/gamelist.xml: open /userdata/roms/reminiscence/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for reminiscence"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/tyrquake/gamelist.xml: open /userdata/roms/tyrquake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for tyrquake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/iortcw/gamelist.xml: open /userdata/roms/iortcw/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for iortcw"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/moonlight/gamelist.xml: open /userdata/roms/moonlight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for moonlight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vemulator/gamelist.xml: open /userdata/roms/vemulator/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vemulator"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uzebox/gamelist.xml: open /userdata/roms/uzebox/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uzebox"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/easyrpg/gamelist.xml: open /userdata/roms/easyrpg/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for easyrpg"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake3/gamelist.xml: open /userdata/roms/quake3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hurrican/gamelist.xml: open /userdata/roms/hurrican/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hurrican"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/zc210/gamelist.xml: open /userdata/roms/zc210/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for zc210"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/corsixth/gamelist.xml: open /userdata/roms/corsixth/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for corsixth"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/solarus/gamelist.xml: open /userdata/roms/solarus/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for solarus"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lutro/gamelist.xml: open /userdata/roms/lutro/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lutro"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake2/gamelist.xml: open /userdata/roms/quake2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/doom3/gamelist.xml: open /userdata/roms/doom3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for doom3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hcl/gamelist.xml: open /userdata/roms/hcl/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hcl"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/theforceengine/gamelist.xml: open /userdata/roms/theforceengine/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for theforceengine"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lowresnx/gamelist.xml: open /userdata/roms/lowresnx/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lowresnx"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jknight/gamelist.xml: open /userdata/roms/jknight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jknight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vis/gamelist.xml: open /userdata/roms/vis/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vis"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/superbroswar/gamelist.xml: open /userdata/roms/superbroswar/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for superbroswar"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/wasm4/gamelist.xml: open /userdata/roms/wasm4/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for wasm4"} {"level":"debug","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running HCL scanner for system: PC"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hcl/gamelist.xml: open /userdata/roms/hcl/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hcl"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/theforceengine/gamelist.xml: open /userdata/roms/theforceengine/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for theforceengine"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lowresnx/gamelist.xml: open /userdata/roms/lowresnx/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lowresnx"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jknight/gamelist.xml: open /userdata/roms/jknight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jknight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vis/gamelist.xml: open /userdata/roms/vis/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vis"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/superbroswar/gamelist.xml: open /userdata/roms/superbroswar/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for superbroswar"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/wasm4/gamelist.xml: open /userdata/roms/wasm4/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for wasm4"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/mohaa/gamelist.xml: open /userdata/roms/mohaa/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for mohaa"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/cavestory/gamelist.xml: open /userdata/roms/cavestory/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for cavestory"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flash/gamelist.xml: open /userdata/roms/flash/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flash"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider2/gamelist.xml: open /userdata/roms/traider2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uqm/gamelist.xml: open /userdata/roms/uqm/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uqm"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/openjazz/gamelist.xml: open /userdata/roms/openjazz/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for openjazz"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jazz2/gamelist.xml: open /userdata/roms/jazz2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jazz2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/pyxel/gamelist.xml: open /userdata/roms/pyxel/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for pyxel"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake/gamelist.xml: open /userdata/roms/quake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/bennugd/gamelist.xml: open /userdata/roms/bennugd/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for bennugd"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider1/gamelist.xml: open /userdata/roms/traider1/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider1"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/thextech/gamelist.xml: open /userdata/roms/thextech/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for thextech"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/etlegacy/gamelist.xml: open /userdata/roms/etlegacy/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for etlegacy"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/xrick/gamelist.xml: open /userdata/roms/xrick/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for xrick"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flatpak/gamelist.xml: open /userdata/roms/flatpak/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flatpak"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/library/gamelist.xml: open /userdata/roms/library/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for library"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/steam/gamelist.xml: open /userdata/roms/steam/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for steam"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/sonic-mania/gamelist.xml: open /userdata/roms/sonic-mania/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for sonic-mania"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vircon32/gamelist.xml: open /userdata/roms/vircon32/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vircon32"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jkdf2/gamelist.xml: open /userdata/roms/jkdf2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jkdf2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/reminiscence/gamelist.xml: open /userdata/roms/reminiscence/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for reminiscence"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/tyrquake/gamelist.xml: open /userdata/roms/tyrquake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for tyrquake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/iortcw/gamelist.xml: open /userdata/roms/iortcw/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for iortcw"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/moonlight/gamelist.xml: open /userdata/roms/moonlight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for moonlight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vemulator/gamelist.xml: open /userdata/roms/vemulator/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vemulator"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uzebox/gamelist.xml: open /userdata/roms/uzebox/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uzebox"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/easyrpg/gamelist.xml: open /userdata/roms/easyrpg/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for easyrpg"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake3/gamelist.xml: open /userdata/roms/quake3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hurrican/gamelist.xml: open /userdata/roms/hurrican/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hurrican"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/zc210/gamelist.xml: open /userdata/roms/zc210/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for zc210"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/corsixth/gamelist.xml: open /userdata/roms/corsixth/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for corsixth"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/solarus/gamelist.xml: open /userdata/roms/solarus/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for solarus"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lutro/gamelist.xml: open /userdata/roms/lutro/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lutro"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake2/gamelist.xml: open /userdata/roms/quake2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/doom3/gamelist.xml: open /userdata/roms/doom3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for doom3"} {"level":"debug","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running MrBoom scanner for system: PC"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/iortcw/gamelist.xml: open /userdata/roms/iortcw/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for iortcw"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/moonlight/gamelist.xml: open /userdata/roms/moonlight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for moonlight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vemulator/gamelist.xml: open /userdata/roms/vemulator/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vemulator"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uzebox/gamelist.xml: open /userdata/roms/uzebox/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uzebox"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/easyrpg/gamelist.xml: open /userdata/roms/easyrpg/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for easyrpg"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake3/gamelist.xml: open /userdata/roms/quake3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hurrican/gamelist.xml: open /userdata/roms/hurrican/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hurrican"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/zc210/gamelist.xml: open /userdata/roms/zc210/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for zc210"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/corsixth/gamelist.xml: open /userdata/roms/corsixth/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for corsixth"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/solarus/gamelist.xml: open /userdata/roms/solarus/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for solarus"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lutro/gamelist.xml: open /userdata/roms/lutro/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lutro"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake2/gamelist.xml: open /userdata/roms/quake2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/doom3/gamelist.xml: open /userdata/roms/doom3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for doom3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hcl/gamelist.xml: open /userdata/roms/hcl/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hcl"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/theforceengine/gamelist.xml: open /userdata/roms/theforceengine/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for theforceengine"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lowresnx/gamelist.xml: open /userdata/roms/lowresnx/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lowresnx"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jknight/gamelist.xml: open /userdata/roms/jknight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jknight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vis/gamelist.xml: open /userdata/roms/vis/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vis"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/superbroswar/gamelist.xml: open /userdata/roms/superbroswar/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for superbroswar"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/wasm4/gamelist.xml: open /userdata/roms/wasm4/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for wasm4"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/mohaa/gamelist.xml: open /userdata/roms/mohaa/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for mohaa"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/cavestory/gamelist.xml: open /userdata/roms/cavestory/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for cavestory"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flash/gamelist.xml: open /userdata/roms/flash/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flash"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider2/gamelist.xml: open /userdata/roms/traider2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uqm/gamelist.xml: open /userdata/roms/uqm/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uqm"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/openjazz/gamelist.xml: open /userdata/roms/openjazz/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for openjazz"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jazz2/gamelist.xml: open /userdata/roms/jazz2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jazz2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/pyxel/gamelist.xml: open /userdata/roms/pyxel/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for pyxel"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake/gamelist.xml: open /userdata/roms/quake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/bennugd/gamelist.xml: open /userdata/roms/bennugd/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for bennugd"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider1/gamelist.xml: open /userdata/roms/traider1/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider1"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/thextech/gamelist.xml: open /userdata/roms/thextech/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for thextech"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/etlegacy/gamelist.xml: open /userdata/roms/etlegacy/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for etlegacy"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/xrick/gamelist.xml: open /userdata/roms/xrick/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for xrick"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flatpak/gamelist.xml: open /userdata/roms/flatpak/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flatpak"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/library/gamelist.xml: open /userdata/roms/library/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for library"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/steam/gamelist.xml: open /userdata/roms/steam/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for steam"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/sonic-mania/gamelist.xml: open /userdata/roms/sonic-mania/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for sonic-mania"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vircon32/gamelist.xml: open /userdata/roms/vircon32/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vircon32"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jkdf2/gamelist.xml: open /userdata/roms/jkdf2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jkdf2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/reminiscence/gamelist.xml: open /userdata/roms/reminiscence/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for reminiscence"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/tyrquake/gamelist.xml: open /userdata/roms/tyrquake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for tyrquake"} {"level":"debug","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running TheForceEngine scanner for system: PC"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/cavestory/gamelist.xml: open /userdata/roms/cavestory/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for cavestory"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flash/gamelist.xml: open /userdata/roms/flash/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flash"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider2/gamelist.xml: open /userdata/roms/traider2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uqm/gamelist.xml: open /userdata/roms/uqm/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uqm"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/openjazz/gamelist.xml: open /userdata/roms/openjazz/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for openjazz"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jazz2/gamelist.xml: open /userdata/roms/jazz2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jazz2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/pyxel/gamelist.xml: open /userdata/roms/pyxel/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for pyxel"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake/gamelist.xml: open /userdata/roms/quake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/bennugd/gamelist.xml: open /userdata/roms/bennugd/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for bennugd"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider1/gamelist.xml: open /userdata/roms/traider1/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider1"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/thextech/gamelist.xml: open /userdata/roms/thextech/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for thextech"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/etlegacy/gamelist.xml: open /userdata/roms/etlegacy/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for etlegacy"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/xrick/gamelist.xml: open /userdata/roms/xrick/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for xrick"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flatpak/gamelist.xml: open /userdata/roms/flatpak/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flatpak"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/library/gamelist.xml: open /userdata/roms/library/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for library"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/steam/gamelist.xml: open /userdata/roms/steam/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for steam"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/sonic-mania/gamelist.xml: open /userdata/roms/sonic-mania/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for sonic-mania"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vircon32/gamelist.xml: open /userdata/roms/vircon32/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vircon32"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jkdf2/gamelist.xml: open /userdata/roms/jkdf2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jkdf2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/reminiscence/gamelist.xml: open /userdata/roms/reminiscence/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for reminiscence"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/tyrquake/gamelist.xml: open /userdata/roms/tyrquake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for tyrquake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/iortcw/gamelist.xml: open /userdata/roms/iortcw/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for iortcw"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/moonlight/gamelist.xml: open /userdata/roms/moonlight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for moonlight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vemulator/gamelist.xml: open /userdata/roms/vemulator/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vemulator"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uzebox/gamelist.xml: open /userdata/roms/uzebox/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uzebox"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/easyrpg/gamelist.xml: open /userdata/roms/easyrpg/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for easyrpg"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake3/gamelist.xml: open /userdata/roms/quake3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hurrican/gamelist.xml: open /userdata/roms/hurrican/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hurrican"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/zc210/gamelist.xml: open /userdata/roms/zc210/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for zc210"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/corsixth/gamelist.xml: open /userdata/roms/corsixth/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for corsixth"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/solarus/gamelist.xml: open /userdata/roms/solarus/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for solarus"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lutro/gamelist.xml: open /userdata/roms/lutro/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lutro"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake2/gamelist.xml: open /userdata/roms/quake2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/doom3/gamelist.xml: open /userdata/roms/doom3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for doom3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hcl/gamelist.xml: open /userdata/roms/hcl/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hcl"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/theforceengine/gamelist.xml: open /userdata/roms/theforceengine/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for theforceengine"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lowresnx/gamelist.xml: open /userdata/roms/lowresnx/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lowresnx"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jknight/gamelist.xml: open /userdata/roms/jknight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jknight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vis/gamelist.xml: open /userdata/roms/vis/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vis"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/superbroswar/gamelist.xml: open /userdata/roms/superbroswar/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for superbroswar"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/wasm4/gamelist.xml: open /userdata/roms/wasm4/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for wasm4"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/mohaa/gamelist.xml: open /userdata/roms/mohaa/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for mohaa"} {"level":"debug","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running LowResNX scanner for system: PC"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jazz2/gamelist.xml: open /userdata/roms/jazz2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jazz2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/pyxel/gamelist.xml: open /userdata/roms/pyxel/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for pyxel"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake/gamelist.xml: open /userdata/roms/quake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/bennugd/gamelist.xml: open /userdata/roms/bennugd/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for bennugd"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider1/gamelist.xml: open /userdata/roms/traider1/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider1"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/thextech/gamelist.xml: open /userdata/roms/thextech/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for thextech"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/etlegacy/gamelist.xml: open /userdata/roms/etlegacy/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for etlegacy"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/xrick/gamelist.xml: open /userdata/roms/xrick/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for xrick"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flatpak/gamelist.xml: open /userdata/roms/flatpak/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flatpak"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/library/gamelist.xml: open /userdata/roms/library/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for library"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/steam/gamelist.xml: open /userdata/roms/steam/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for steam"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/sonic-mania/gamelist.xml: open /userdata/roms/sonic-mania/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for sonic-mania"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vircon32/gamelist.xml: open /userdata/roms/vircon32/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vircon32"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jkdf2/gamelist.xml: open /userdata/roms/jkdf2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jkdf2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/reminiscence/gamelist.xml: open /userdata/roms/reminiscence/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for reminiscence"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/tyrquake/gamelist.xml: open /userdata/roms/tyrquake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for tyrquake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/iortcw/gamelist.xml: open /userdata/roms/iortcw/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for iortcw"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/moonlight/gamelist.xml: open /userdata/roms/moonlight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for moonlight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vemulator/gamelist.xml: open /userdata/roms/vemulator/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vemulator"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uzebox/gamelist.xml: open /userdata/roms/uzebox/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uzebox"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/easyrpg/gamelist.xml: open /userdata/roms/easyrpg/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for easyrpg"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake3/gamelist.xml: open /userdata/roms/quake3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hurrican/gamelist.xml: open /userdata/roms/hurrican/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hurrican"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/zc210/gamelist.xml: open /userdata/roms/zc210/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for zc210"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/corsixth/gamelist.xml: open /userdata/roms/corsixth/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for corsixth"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/solarus/gamelist.xml: open /userdata/roms/solarus/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for solarus"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lutro/gamelist.xml: open /userdata/roms/lutro/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lutro"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake2/gamelist.xml: open /userdata/roms/quake2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/doom3/gamelist.xml: open /userdata/roms/doom3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for doom3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hcl/gamelist.xml: open /userdata/roms/hcl/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hcl"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/theforceengine/gamelist.xml: open /userdata/roms/theforceengine/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for theforceengine"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lowresnx/gamelist.xml: open /userdata/roms/lowresnx/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lowresnx"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jknight/gamelist.xml: open /userdata/roms/jknight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jknight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vis/gamelist.xml: open /userdata/roms/vis/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vis"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/superbroswar/gamelist.xml: open /userdata/roms/superbroswar/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for superbroswar"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/wasm4/gamelist.xml: open /userdata/roms/wasm4/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for wasm4"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/mohaa/gamelist.xml: open /userdata/roms/mohaa/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for mohaa"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/cavestory/gamelist.xml: open /userdata/roms/cavestory/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for cavestory"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flash/gamelist.xml: open /userdata/roms/flash/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flash"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider2/gamelist.xml: open /userdata/roms/traider2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uqm/gamelist.xml: open /userdata/roms/uqm/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uqm"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/openjazz/gamelist.xml: open /userdata/roms/openjazz/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for openjazz"} {"level":"debug","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running JKnight scanner for system: PC"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake/gamelist.xml: open /userdata/roms/quake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/bennugd/gamelist.xml: open /userdata/roms/bennugd/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for bennugd"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider1/gamelist.xml: open /userdata/roms/traider1/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider1"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/thextech/gamelist.xml: open /userdata/roms/thextech/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for thextech"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/etlegacy/gamelist.xml: open /userdata/roms/etlegacy/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for etlegacy"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/xrick/gamelist.xml: open /userdata/roms/xrick/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for xrick"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flatpak/gamelist.xml: open /userdata/roms/flatpak/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flatpak"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/library/gamelist.xml: open /userdata/roms/library/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for library"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/steam/gamelist.xml: open /userdata/roms/steam/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for steam"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/sonic-mania/gamelist.xml: open /userdata/roms/sonic-mania/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for sonic-mania"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vircon32/gamelist.xml: open /userdata/roms/vircon32/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vircon32"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jkdf2/gamelist.xml: open /userdata/roms/jkdf2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jkdf2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/reminiscence/gamelist.xml: open /userdata/roms/reminiscence/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for reminiscence"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/tyrquake/gamelist.xml: open /userdata/roms/tyrquake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for tyrquake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/iortcw/gamelist.xml: open /userdata/roms/iortcw/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for iortcw"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/moonlight/gamelist.xml: open /userdata/roms/moonlight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for moonlight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vemulator/gamelist.xml: open /userdata/roms/vemulator/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vemulator"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uzebox/gamelist.xml: open /userdata/roms/uzebox/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uzebox"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/easyrpg/gamelist.xml: open /userdata/roms/easyrpg/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for easyrpg"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake3/gamelist.xml: open /userdata/roms/quake3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hurrican/gamelist.xml: open /userdata/roms/hurrican/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hurrican"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/zc210/gamelist.xml: open /userdata/roms/zc210/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for zc210"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/corsixth/gamelist.xml: open /userdata/roms/corsixth/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for corsixth"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/solarus/gamelist.xml: open /userdata/roms/solarus/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for solarus"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lutro/gamelist.xml: open /userdata/roms/lutro/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lutro"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake2/gamelist.xml: open /userdata/roms/quake2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/doom3/gamelist.xml: open /userdata/roms/doom3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for doom3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hcl/gamelist.xml: open /userdata/roms/hcl/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hcl"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/theforceengine/gamelist.xml: open /userdata/roms/theforceengine/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for theforceengine"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lowresnx/gamelist.xml: open /userdata/roms/lowresnx/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lowresnx"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jknight/gamelist.xml: open /userdata/roms/jknight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jknight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vis/gamelist.xml: open /userdata/roms/vis/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vis"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/superbroswar/gamelist.xml: open /userdata/roms/superbroswar/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for superbroswar"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/wasm4/gamelist.xml: open /userdata/roms/wasm4/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for wasm4"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/mohaa/gamelist.xml: open /userdata/roms/mohaa/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for mohaa"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/cavestory/gamelist.xml: open /userdata/roms/cavestory/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for cavestory"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flash/gamelist.xml: open /userdata/roms/flash/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flash"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider2/gamelist.xml: open /userdata/roms/traider2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uqm/gamelist.xml: open /userdata/roms/uqm/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uqm"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/openjazz/gamelist.xml: open /userdata/roms/openjazz/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for openjazz"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jazz2/gamelist.xml: open /userdata/roms/jazz2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jazz2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/pyxel/gamelist.xml: open /userdata/roms/pyxel/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for pyxel"} {"level":"debug","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running VIS scanner for system: PC"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/bennugd/gamelist.xml: open /userdata/roms/bennugd/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for bennugd"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider1/gamelist.xml: open /userdata/roms/traider1/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider1"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/thextech/gamelist.xml: open /userdata/roms/thextech/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for thextech"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/etlegacy/gamelist.xml: open /userdata/roms/etlegacy/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for etlegacy"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/xrick/gamelist.xml: open /userdata/roms/xrick/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for xrick"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flatpak/gamelist.xml: open /userdata/roms/flatpak/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flatpak"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/library/gamelist.xml: open /userdata/roms/library/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for library"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/steam/gamelist.xml: open /userdata/roms/steam/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for steam"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/sonic-mania/gamelist.xml: open /userdata/roms/sonic-mania/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for sonic-mania"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vircon32/gamelist.xml: open /userdata/roms/vircon32/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vircon32"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jkdf2/gamelist.xml: open /userdata/roms/jkdf2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jkdf2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/reminiscence/gamelist.xml: open /userdata/roms/reminiscence/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for reminiscence"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/tyrquake/gamelist.xml: open /userdata/roms/tyrquake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for tyrquake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/iortcw/gamelist.xml: open /userdata/roms/iortcw/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for iortcw"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/moonlight/gamelist.xml: open /userdata/roms/moonlight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for moonlight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vemulator/gamelist.xml: open /userdata/roms/vemulator/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vemulator"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uzebox/gamelist.xml: open /userdata/roms/uzebox/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uzebox"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/easyrpg/gamelist.xml: open /userdata/roms/easyrpg/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for easyrpg"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake3/gamelist.xml: open /userdata/roms/quake3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hurrican/gamelist.xml: open /userdata/roms/hurrican/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hurrican"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/zc210/gamelist.xml: open /userdata/roms/zc210/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for zc210"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/corsixth/gamelist.xml: open /userdata/roms/corsixth/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for corsixth"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/solarus/gamelist.xml: open /userdata/roms/solarus/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for solarus"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lutro/gamelist.xml: open /userdata/roms/lutro/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lutro"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake2/gamelist.xml: open /userdata/roms/quake2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/doom3/gamelist.xml: open /userdata/roms/doom3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for doom3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hcl/gamelist.xml: open /userdata/roms/hcl/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hcl"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/theforceengine/gamelist.xml: open /userdata/roms/theforceengine/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for theforceengine"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lowresnx/gamelist.xml: open /userdata/roms/lowresnx/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lowresnx"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jknight/gamelist.xml: open /userdata/roms/jknight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jknight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vis/gamelist.xml: open /userdata/roms/vis/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vis"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/superbroswar/gamelist.xml: open /userdata/roms/superbroswar/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for superbroswar"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/wasm4/gamelist.xml: open /userdata/roms/wasm4/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for wasm4"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/mohaa/gamelist.xml: open /userdata/roms/mohaa/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for mohaa"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/cavestory/gamelist.xml: open /userdata/roms/cavestory/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for cavestory"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flash/gamelist.xml: open /userdata/roms/flash/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flash"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider2/gamelist.xml: open /userdata/roms/traider2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uqm/gamelist.xml: open /userdata/roms/uqm/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uqm"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/openjazz/gamelist.xml: open /userdata/roms/openjazz/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for openjazz"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jazz2/gamelist.xml: open /userdata/roms/jazz2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jazz2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/pyxel/gamelist.xml: open /userdata/roms/pyxel/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for pyxel"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake/gamelist.xml: open /userdata/roms/quake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake"} {"level":"debug","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running PyGame scanner for system: PC"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jkdf2/gamelist.xml: open /userdata/roms/jkdf2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jkdf2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/reminiscence/gamelist.xml: open /userdata/roms/reminiscence/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for reminiscence"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/tyrquake/gamelist.xml: open /userdata/roms/tyrquake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for tyrquake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/iortcw/gamelist.xml: open /userdata/roms/iortcw/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for iortcw"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/moonlight/gamelist.xml: open /userdata/roms/moonlight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for moonlight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vemulator/gamelist.xml: open /userdata/roms/vemulator/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vemulator"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uzebox/gamelist.xml: open /userdata/roms/uzebox/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uzebox"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/easyrpg/gamelist.xml: open /userdata/roms/easyrpg/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for easyrpg"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake3/gamelist.xml: open /userdata/roms/quake3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hurrican/gamelist.xml: open /userdata/roms/hurrican/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hurrican"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/zc210/gamelist.xml: open /userdata/roms/zc210/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for zc210"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/corsixth/gamelist.xml: open /userdata/roms/corsixth/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for corsixth"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/solarus/gamelist.xml: open /userdata/roms/solarus/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for solarus"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lutro/gamelist.xml: open /userdata/roms/lutro/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lutro"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake2/gamelist.xml: open /userdata/roms/quake2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/doom3/gamelist.xml: open /userdata/roms/doom3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for doom3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hcl/gamelist.xml: open /userdata/roms/hcl/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hcl"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/theforceengine/gamelist.xml: open /userdata/roms/theforceengine/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for theforceengine"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lowresnx/gamelist.xml: open /userdata/roms/lowresnx/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lowresnx"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jknight/gamelist.xml: open /userdata/roms/jknight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jknight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vis/gamelist.xml: open /userdata/roms/vis/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vis"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/superbroswar/gamelist.xml: open /userdata/roms/superbroswar/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for superbroswar"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/wasm4/gamelist.xml: open /userdata/roms/wasm4/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for wasm4"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/mohaa/gamelist.xml: open /userdata/roms/mohaa/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for mohaa"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/cavestory/gamelist.xml: open /userdata/roms/cavestory/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for cavestory"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flash/gamelist.xml: open /userdata/roms/flash/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flash"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider2/gamelist.xml: open /userdata/roms/traider2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uqm/gamelist.xml: open /userdata/roms/uqm/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uqm"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/openjazz/gamelist.xml: open /userdata/roms/openjazz/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for openjazz"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jazz2/gamelist.xml: open /userdata/roms/jazz2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jazz2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/pyxel/gamelist.xml: open /userdata/roms/pyxel/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for pyxel"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake/gamelist.xml: open /userdata/roms/quake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/bennugd/gamelist.xml: open /userdata/roms/bennugd/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for bennugd"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider1/gamelist.xml: open /userdata/roms/traider1/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider1"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/thextech/gamelist.xml: open /userdata/roms/thextech/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for thextech"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/etlegacy/gamelist.xml: open /userdata/roms/etlegacy/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for etlegacy"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/xrick/gamelist.xml: open /userdata/roms/xrick/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for xrick"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flatpak/gamelist.xml: open /userdata/roms/flatpak/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flatpak"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/library/gamelist.xml: open /userdata/roms/library/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for library"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/steam/gamelist.xml: open /userdata/roms/steam/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for steam"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/sonic-mania/gamelist.xml: open /userdata/roms/sonic-mania/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for sonic-mania"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vircon32/gamelist.xml: open /userdata/roms/vircon32/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vircon32"} {"level":"debug","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running SuperBrosWar scanner for system: PC"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flash/gamelist.xml: open /userdata/roms/flash/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flash"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider2/gamelist.xml: open /userdata/roms/traider2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uqm/gamelist.xml: open /userdata/roms/uqm/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uqm"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/openjazz/gamelist.xml: open /userdata/roms/openjazz/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for openjazz"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jazz2/gamelist.xml: open /userdata/roms/jazz2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jazz2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/pyxel/gamelist.xml: open /userdata/roms/pyxel/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for pyxel"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake/gamelist.xml: open /userdata/roms/quake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/bennugd/gamelist.xml: open /userdata/roms/bennugd/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for bennugd"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider1/gamelist.xml: open /userdata/roms/traider1/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider1"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/thextech/gamelist.xml: open /userdata/roms/thextech/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for thextech"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/etlegacy/gamelist.xml: open /userdata/roms/etlegacy/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for etlegacy"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/xrick/gamelist.xml: open /userdata/roms/xrick/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for xrick"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flatpak/gamelist.xml: open /userdata/roms/flatpak/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flatpak"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/library/gamelist.xml: open /userdata/roms/library/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for library"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/steam/gamelist.xml: open /userdata/roms/steam/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for steam"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/sonic-mania/gamelist.xml: open /userdata/roms/sonic-mania/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for sonic-mania"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vircon32/gamelist.xml: open /userdata/roms/vircon32/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vircon32"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jkdf2/gamelist.xml: open /userdata/roms/jkdf2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jkdf2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/reminiscence/gamelist.xml: open /userdata/roms/reminiscence/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for reminiscence"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/tyrquake/gamelist.xml: open /userdata/roms/tyrquake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for tyrquake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/iortcw/gamelist.xml: open /userdata/roms/iortcw/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for iortcw"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/moonlight/gamelist.xml: open /userdata/roms/moonlight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for moonlight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vemulator/gamelist.xml: open /userdata/roms/vemulator/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vemulator"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uzebox/gamelist.xml: open /userdata/roms/uzebox/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uzebox"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/easyrpg/gamelist.xml: open /userdata/roms/easyrpg/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for easyrpg"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake3/gamelist.xml: open /userdata/roms/quake3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hurrican/gamelist.xml: open /userdata/roms/hurrican/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hurrican"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/zc210/gamelist.xml: open /userdata/roms/zc210/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for zc210"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/corsixth/gamelist.xml: open /userdata/roms/corsixth/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for corsixth"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/solarus/gamelist.xml: open /userdata/roms/solarus/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for solarus"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lutro/gamelist.xml: open /userdata/roms/lutro/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lutro"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake2/gamelist.xml: open /userdata/roms/quake2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/doom3/gamelist.xml: open /userdata/roms/doom3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for doom3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hcl/gamelist.xml: open /userdata/roms/hcl/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hcl"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/theforceengine/gamelist.xml: open /userdata/roms/theforceengine/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for theforceengine"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lowresnx/gamelist.xml: open /userdata/roms/lowresnx/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lowresnx"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jknight/gamelist.xml: open /userdata/roms/jknight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jknight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vis/gamelist.xml: open /userdata/roms/vis/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vis"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/superbroswar/gamelist.xml: open /userdata/roms/superbroswar/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for superbroswar"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/wasm4/gamelist.xml: open /userdata/roms/wasm4/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for wasm4"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/mohaa/gamelist.xml: open /userdata/roms/mohaa/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for mohaa"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/cavestory/gamelist.xml: open /userdata/roms/cavestory/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for cavestory"} {"level":"debug","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running Wasm4 scanner for system: PC"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jazz2/gamelist.xml: open /userdata/roms/jazz2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jazz2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/pyxel/gamelist.xml: open /userdata/roms/pyxel/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for pyxel"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake/gamelist.xml: open /userdata/roms/quake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/bennugd/gamelist.xml: open /userdata/roms/bennugd/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for bennugd"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider1/gamelist.xml: open /userdata/roms/traider1/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider1"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/thextech/gamelist.xml: open /userdata/roms/thextech/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for thextech"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/etlegacy/gamelist.xml: open /userdata/roms/etlegacy/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for etlegacy"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/xrick/gamelist.xml: open /userdata/roms/xrick/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for xrick"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flatpak/gamelist.xml: open /userdata/roms/flatpak/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flatpak"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/library/gamelist.xml: open /userdata/roms/library/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for library"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/steam/gamelist.xml: open /userdata/roms/steam/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for steam"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/sonic-mania/gamelist.xml: open /userdata/roms/sonic-mania/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for sonic-mania"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vircon32/gamelist.xml: open /userdata/roms/vircon32/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vircon32"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jkdf2/gamelist.xml: open /userdata/roms/jkdf2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jkdf2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/reminiscence/gamelist.xml: open /userdata/roms/reminiscence/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for reminiscence"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/tyrquake/gamelist.xml: open /userdata/roms/tyrquake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for tyrquake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/iortcw/gamelist.xml: open /userdata/roms/iortcw/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for iortcw"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/moonlight/gamelist.xml: open /userdata/roms/moonlight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for moonlight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vemulator/gamelist.xml: open /userdata/roms/vemulator/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vemulator"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uzebox/gamelist.xml: open /userdata/roms/uzebox/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uzebox"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/easyrpg/gamelist.xml: open /userdata/roms/easyrpg/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for easyrpg"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake3/gamelist.xml: open /userdata/roms/quake3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hurrican/gamelist.xml: open /userdata/roms/hurrican/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hurrican"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/zc210/gamelist.xml: open /userdata/roms/zc210/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for zc210"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/corsixth/gamelist.xml: open /userdata/roms/corsixth/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for corsixth"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/solarus/gamelist.xml: open /userdata/roms/solarus/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for solarus"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lutro/gamelist.xml: open /userdata/roms/lutro/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lutro"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake2/gamelist.xml: open /userdata/roms/quake2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/doom3/gamelist.xml: open /userdata/roms/doom3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for doom3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hcl/gamelist.xml: open /userdata/roms/hcl/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hcl"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/theforceengine/gamelist.xml: open /userdata/roms/theforceengine/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for theforceengine"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lowresnx/gamelist.xml: open /userdata/roms/lowresnx/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lowresnx"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jknight/gamelist.xml: open /userdata/roms/jknight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jknight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vis/gamelist.xml: open /userdata/roms/vis/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vis"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/superbroswar/gamelist.xml: open /userdata/roms/superbroswar/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for superbroswar"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/wasm4/gamelist.xml: open /userdata/roms/wasm4/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for wasm4"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/mohaa/gamelist.xml: open /userdata/roms/mohaa/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for mohaa"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/cavestory/gamelist.xml: open /userdata/roms/cavestory/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for cavestory"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flash/gamelist.xml: open /userdata/roms/flash/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flash"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider2/gamelist.xml: open /userdata/roms/traider2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uqm/gamelist.xml: open /userdata/roms/uqm/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uqm"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/openjazz/gamelist.xml: open /userdata/roms/openjazz/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for openjazz"} {"level":"debug","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running Xash3D_FWGS scanner for system: PC"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flash/gamelist.xml: open /userdata/roms/flash/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flash"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider2/gamelist.xml: open /userdata/roms/traider2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uqm/gamelist.xml: open /userdata/roms/uqm/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uqm"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/openjazz/gamelist.xml: open /userdata/roms/openjazz/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for openjazz"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jazz2/gamelist.xml: open /userdata/roms/jazz2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jazz2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/pyxel/gamelist.xml: open /userdata/roms/pyxel/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for pyxel"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake/gamelist.xml: open /userdata/roms/quake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/bennugd/gamelist.xml: open /userdata/roms/bennugd/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for bennugd"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider1/gamelist.xml: open /userdata/roms/traider1/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider1"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/thextech/gamelist.xml: open /userdata/roms/thextech/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for thextech"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/etlegacy/gamelist.xml: open /userdata/roms/etlegacy/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for etlegacy"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/xrick/gamelist.xml: open /userdata/roms/xrick/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for xrick"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flatpak/gamelist.xml: open /userdata/roms/flatpak/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flatpak"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/library/gamelist.xml: open /userdata/roms/library/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for library"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/steam/gamelist.xml: open /userdata/roms/steam/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for steam"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/sonic-mania/gamelist.xml: open /userdata/roms/sonic-mania/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for sonic-mania"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vircon32/gamelist.xml: open /userdata/roms/vircon32/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vircon32"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jkdf2/gamelist.xml: open /userdata/roms/jkdf2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jkdf2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/reminiscence/gamelist.xml: open /userdata/roms/reminiscence/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for reminiscence"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/tyrquake/gamelist.xml: open /userdata/roms/tyrquake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for tyrquake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/iortcw/gamelist.xml: open /userdata/roms/iortcw/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for iortcw"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/moonlight/gamelist.xml: open /userdata/roms/moonlight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for moonlight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vemulator/gamelist.xml: open /userdata/roms/vemulator/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vemulator"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uzebox/gamelist.xml: open /userdata/roms/uzebox/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uzebox"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/easyrpg/gamelist.xml: open /userdata/roms/easyrpg/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for easyrpg"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake3/gamelist.xml: open /userdata/roms/quake3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hurrican/gamelist.xml: open /userdata/roms/hurrican/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hurrican"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/zc210/gamelist.xml: open /userdata/roms/zc210/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for zc210"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/corsixth/gamelist.xml: open /userdata/roms/corsixth/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for corsixth"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/solarus/gamelist.xml: open /userdata/roms/solarus/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for solarus"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lutro/gamelist.xml: open /userdata/roms/lutro/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lutro"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake2/gamelist.xml: open /userdata/roms/quake2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/doom3/gamelist.xml: open /userdata/roms/doom3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for doom3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hcl/gamelist.xml: open /userdata/roms/hcl/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hcl"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/theforceengine/gamelist.xml: open /userdata/roms/theforceengine/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for theforceengine"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lowresnx/gamelist.xml: open /userdata/roms/lowresnx/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lowresnx"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jknight/gamelist.xml: open /userdata/roms/jknight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jknight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vis/gamelist.xml: open /userdata/roms/vis/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vis"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/superbroswar/gamelist.xml: open /userdata/roms/superbroswar/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for superbroswar"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/wasm4/gamelist.xml: open /userdata/roms/wasm4/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for wasm4"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/mohaa/gamelist.xml: open /userdata/roms/mohaa/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for mohaa"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/cavestory/gamelist.xml: open /userdata/roms/cavestory/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for cavestory"} {"level":"debug","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running MoHAA scanner for system: PC"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake/gamelist.xml: open /userdata/roms/quake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/bennugd/gamelist.xml: open /userdata/roms/bennugd/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for bennugd"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider1/gamelist.xml: open /userdata/roms/traider1/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider1"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/thextech/gamelist.xml: open /userdata/roms/thextech/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for thextech"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/etlegacy/gamelist.xml: open /userdata/roms/etlegacy/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for etlegacy"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/xrick/gamelist.xml: open /userdata/roms/xrick/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for xrick"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flatpak/gamelist.xml: open /userdata/roms/flatpak/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flatpak"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/library/gamelist.xml: open /userdata/roms/library/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for library"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/steam/gamelist.xml: open /userdata/roms/steam/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for steam"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/sonic-mania/gamelist.xml: open /userdata/roms/sonic-mania/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for sonic-mania"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vircon32/gamelist.xml: open /userdata/roms/vircon32/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vircon32"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jkdf2/gamelist.xml: open /userdata/roms/jkdf2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jkdf2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/reminiscence/gamelist.xml: open /userdata/roms/reminiscence/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for reminiscence"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/tyrquake/gamelist.xml: open /userdata/roms/tyrquake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for tyrquake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/iortcw/gamelist.xml: open /userdata/roms/iortcw/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for iortcw"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/moonlight/gamelist.xml: open /userdata/roms/moonlight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for moonlight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vemulator/gamelist.xml: open /userdata/roms/vemulator/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vemulator"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uzebox/gamelist.xml: open /userdata/roms/uzebox/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uzebox"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/easyrpg/gamelist.xml: open /userdata/roms/easyrpg/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for easyrpg"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake3/gamelist.xml: open /userdata/roms/quake3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hurrican/gamelist.xml: open /userdata/roms/hurrican/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hurrican"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/zc210/gamelist.xml: open /userdata/roms/zc210/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for zc210"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/corsixth/gamelist.xml: open /userdata/roms/corsixth/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for corsixth"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/solarus/gamelist.xml: open /userdata/roms/solarus/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for solarus"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lutro/gamelist.xml: open /userdata/roms/lutro/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lutro"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake2/gamelist.xml: open /userdata/roms/quake2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/doom3/gamelist.xml: open /userdata/roms/doom3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for doom3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hcl/gamelist.xml: open /userdata/roms/hcl/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hcl"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/theforceengine/gamelist.xml: open /userdata/roms/theforceengine/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for theforceengine"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lowresnx/gamelist.xml: open /userdata/roms/lowresnx/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lowresnx"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jknight/gamelist.xml: open /userdata/roms/jknight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jknight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vis/gamelist.xml: open /userdata/roms/vis/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vis"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/superbroswar/gamelist.xml: open /userdata/roms/superbroswar/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for superbroswar"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/wasm4/gamelist.xml: open /userdata/roms/wasm4/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for wasm4"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/mohaa/gamelist.xml: open /userdata/roms/mohaa/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for mohaa"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/cavestory/gamelist.xml: open /userdata/roms/cavestory/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for cavestory"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flash/gamelist.xml: open /userdata/roms/flash/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flash"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider2/gamelist.xml: open /userdata/roms/traider2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uqm/gamelist.xml: open /userdata/roms/uqm/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uqm"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/openjazz/gamelist.xml: open /userdata/roms/openjazz/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for openjazz"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jazz2/gamelist.xml: open /userdata/roms/jazz2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jazz2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/pyxel/gamelist.xml: open /userdata/roms/pyxel/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for pyxel"} {"level":"debug","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running CaveStory scanner for system: PC"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jkdf2/gamelist.xml: open /userdata/roms/jkdf2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jkdf2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/reminiscence/gamelist.xml: open /userdata/roms/reminiscence/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for reminiscence"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/tyrquake/gamelist.xml: open /userdata/roms/tyrquake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for tyrquake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/iortcw/gamelist.xml: open /userdata/roms/iortcw/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for iortcw"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/moonlight/gamelist.xml: open /userdata/roms/moonlight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for moonlight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vemulator/gamelist.xml: open /userdata/roms/vemulator/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vemulator"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uzebox/gamelist.xml: open /userdata/roms/uzebox/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uzebox"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/easyrpg/gamelist.xml: open /userdata/roms/easyrpg/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for easyrpg"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake3/gamelist.xml: open /userdata/roms/quake3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hurrican/gamelist.xml: open /userdata/roms/hurrican/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hurrican"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/zc210/gamelist.xml: open /userdata/roms/zc210/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for zc210"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/corsixth/gamelist.xml: open /userdata/roms/corsixth/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for corsixth"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/solarus/gamelist.xml: open /userdata/roms/solarus/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for solarus"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lutro/gamelist.xml: open /userdata/roms/lutro/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lutro"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake2/gamelist.xml: open /userdata/roms/quake2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/doom3/gamelist.xml: open /userdata/roms/doom3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for doom3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hcl/gamelist.xml: open /userdata/roms/hcl/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hcl"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/theforceengine/gamelist.xml: open /userdata/roms/theforceengine/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for theforceengine"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lowresnx/gamelist.xml: open /userdata/roms/lowresnx/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lowresnx"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jknight/gamelist.xml: open /userdata/roms/jknight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jknight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vis/gamelist.xml: open /userdata/roms/vis/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vis"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/superbroswar/gamelist.xml: open /userdata/roms/superbroswar/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for superbroswar"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/wasm4/gamelist.xml: open /userdata/roms/wasm4/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for wasm4"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/mohaa/gamelist.xml: open /userdata/roms/mohaa/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for mohaa"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/cavestory/gamelist.xml: open /userdata/roms/cavestory/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for cavestory"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flash/gamelist.xml: open /userdata/roms/flash/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flash"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider2/gamelist.xml: open /userdata/roms/traider2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uqm/gamelist.xml: open /userdata/roms/uqm/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uqm"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/openjazz/gamelist.xml: open /userdata/roms/openjazz/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for openjazz"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jazz2/gamelist.xml: open /userdata/roms/jazz2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jazz2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/pyxel/gamelist.xml: open /userdata/roms/pyxel/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for pyxel"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake/gamelist.xml: open /userdata/roms/quake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/bennugd/gamelist.xml: open /userdata/roms/bennugd/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for bennugd"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider1/gamelist.xml: open /userdata/roms/traider1/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider1"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/thextech/gamelist.xml: open /userdata/roms/thextech/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for thextech"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/etlegacy/gamelist.xml: open /userdata/roms/etlegacy/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for etlegacy"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/xrick/gamelist.xml: open /userdata/roms/xrick/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for xrick"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flatpak/gamelist.xml: open /userdata/roms/flatpak/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flatpak"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/library/gamelist.xml: open /userdata/roms/library/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for library"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/steam/gamelist.xml: open /userdata/roms/steam/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for steam"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/sonic-mania/gamelist.xml: open /userdata/roms/sonic-mania/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for sonic-mania"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vircon32/gamelist.xml: open /userdata/roms/vircon32/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vircon32"} {"level":"debug","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running SDLPoP scanner for system: PC"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lutro/gamelist.xml: open /userdata/roms/lutro/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lutro"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake2/gamelist.xml: open /userdata/roms/quake2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/doom3/gamelist.xml: open /userdata/roms/doom3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for doom3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hcl/gamelist.xml: open /userdata/roms/hcl/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hcl"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/theforceengine/gamelist.xml: open /userdata/roms/theforceengine/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for theforceengine"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lowresnx/gamelist.xml: open /userdata/roms/lowresnx/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lowresnx"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jknight/gamelist.xml: open /userdata/roms/jknight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jknight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vis/gamelist.xml: open /userdata/roms/vis/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vis"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/superbroswar/gamelist.xml: open /userdata/roms/superbroswar/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for superbroswar"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/wasm4/gamelist.xml: open /userdata/roms/wasm4/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for wasm4"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/mohaa/gamelist.xml: open /userdata/roms/mohaa/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for mohaa"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/cavestory/gamelist.xml: open /userdata/roms/cavestory/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for cavestory"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flash/gamelist.xml: open /userdata/roms/flash/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flash"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider2/gamelist.xml: open /userdata/roms/traider2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uqm/gamelist.xml: open /userdata/roms/uqm/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uqm"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/openjazz/gamelist.xml: open /userdata/roms/openjazz/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for openjazz"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jazz2/gamelist.xml: open /userdata/roms/jazz2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jazz2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/pyxel/gamelist.xml: open /userdata/roms/pyxel/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for pyxel"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake/gamelist.xml: open /userdata/roms/quake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/bennugd/gamelist.xml: open /userdata/roms/bennugd/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for bennugd"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider1/gamelist.xml: open /userdata/roms/traider1/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider1"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/thextech/gamelist.xml: open /userdata/roms/thextech/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for thextech"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/etlegacy/gamelist.xml: open /userdata/roms/etlegacy/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for etlegacy"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/xrick/gamelist.xml: open /userdata/roms/xrick/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for xrick"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flatpak/gamelist.xml: open /userdata/roms/flatpak/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flatpak"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/library/gamelist.xml: open /userdata/roms/library/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for library"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/steam/gamelist.xml: open /userdata/roms/steam/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for steam"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/sonic-mania/gamelist.xml: open /userdata/roms/sonic-mania/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for sonic-mania"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vircon32/gamelist.xml: open /userdata/roms/vircon32/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vircon32"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jkdf2/gamelist.xml: open /userdata/roms/jkdf2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jkdf2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/reminiscence/gamelist.xml: open /userdata/roms/reminiscence/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for reminiscence"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/tyrquake/gamelist.xml: open /userdata/roms/tyrquake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for tyrquake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/iortcw/gamelist.xml: open /userdata/roms/iortcw/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for iortcw"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/moonlight/gamelist.xml: open /userdata/roms/moonlight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for moonlight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vemulator/gamelist.xml: open /userdata/roms/vemulator/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vemulator"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uzebox/gamelist.xml: open /userdata/roms/uzebox/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uzebox"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/easyrpg/gamelist.xml: open /userdata/roms/easyrpg/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for easyrpg"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake3/gamelist.xml: open /userdata/roms/quake3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hurrican/gamelist.xml: open /userdata/roms/hurrican/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hurrican"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/zc210/gamelist.xml: open /userdata/roms/zc210/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for zc210"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/corsixth/gamelist.xml: open /userdata/roms/corsixth/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for corsixth"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/solarus/gamelist.xml: open /userdata/roms/solarus/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for solarus"} {"level":"debug","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running Flash scanner for system: PC"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/doom3/gamelist.xml: open /userdata/roms/doom3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for doom3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hcl/gamelist.xml: open /userdata/roms/hcl/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hcl"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/theforceengine/gamelist.xml: open /userdata/roms/theforceengine/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for theforceengine"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lowresnx/gamelist.xml: open /userdata/roms/lowresnx/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lowresnx"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jknight/gamelist.xml: open /userdata/roms/jknight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jknight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vis/gamelist.xml: open /userdata/roms/vis/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vis"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/superbroswar/gamelist.xml: open /userdata/roms/superbroswar/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for superbroswar"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/wasm4/gamelist.xml: open /userdata/roms/wasm4/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for wasm4"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/mohaa/gamelist.xml: open /userdata/roms/mohaa/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for mohaa"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/cavestory/gamelist.xml: open /userdata/roms/cavestory/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for cavestory"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flash/gamelist.xml: open /userdata/roms/flash/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flash"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider2/gamelist.xml: open /userdata/roms/traider2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uqm/gamelist.xml: open /userdata/roms/uqm/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uqm"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/openjazz/gamelist.xml: open /userdata/roms/openjazz/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for openjazz"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jazz2/gamelist.xml: open /userdata/roms/jazz2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jazz2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/pyxel/gamelist.xml: open /userdata/roms/pyxel/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for pyxel"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake/gamelist.xml: open /userdata/roms/quake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/bennugd/gamelist.xml: open /userdata/roms/bennugd/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for bennugd"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider1/gamelist.xml: open /userdata/roms/traider1/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider1"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/thextech/gamelist.xml: open /userdata/roms/thextech/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for thextech"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/etlegacy/gamelist.xml: open /userdata/roms/etlegacy/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for etlegacy"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/xrick/gamelist.xml: open /userdata/roms/xrick/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for xrick"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flatpak/gamelist.xml: open /userdata/roms/flatpak/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flatpak"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/library/gamelist.xml: open /userdata/roms/library/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for library"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/steam/gamelist.xml: open /userdata/roms/steam/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for steam"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/sonic-mania/gamelist.xml: open /userdata/roms/sonic-mania/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for sonic-mania"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vircon32/gamelist.xml: open /userdata/roms/vircon32/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vircon32"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jkdf2/gamelist.xml: open /userdata/roms/jkdf2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jkdf2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/reminiscence/gamelist.xml: open /userdata/roms/reminiscence/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for reminiscence"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/tyrquake/gamelist.xml: open /userdata/roms/tyrquake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for tyrquake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/iortcw/gamelist.xml: open /userdata/roms/iortcw/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for iortcw"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/moonlight/gamelist.xml: open /userdata/roms/moonlight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for moonlight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vemulator/gamelist.xml: open /userdata/roms/vemulator/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vemulator"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uzebox/gamelist.xml: open /userdata/roms/uzebox/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uzebox"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/easyrpg/gamelist.xml: open /userdata/roms/easyrpg/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for easyrpg"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake3/gamelist.xml: open /userdata/roms/quake3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hurrican/gamelist.xml: open /userdata/roms/hurrican/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hurrican"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/zc210/gamelist.xml: open /userdata/roms/zc210/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for zc210"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/corsixth/gamelist.xml: open /userdata/roms/corsixth/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for corsixth"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/solarus/gamelist.xml: open /userdata/roms/solarus/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for solarus"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lutro/gamelist.xml: open /userdata/roms/lutro/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lutro"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake2/gamelist.xml: open /userdata/roms/quake2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake2"} {"level":"debug","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running Traider2 scanner for system: PC"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/mohaa/gamelist.xml: open /userdata/roms/mohaa/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for mohaa"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/cavestory/gamelist.xml: open /userdata/roms/cavestory/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for cavestory"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flash/gamelist.xml: open /userdata/roms/flash/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flash"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider2/gamelist.xml: open /userdata/roms/traider2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uqm/gamelist.xml: open /userdata/roms/uqm/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uqm"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/openjazz/gamelist.xml: open /userdata/roms/openjazz/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for openjazz"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jazz2/gamelist.xml: open /userdata/roms/jazz2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jazz2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/pyxel/gamelist.xml: open /userdata/roms/pyxel/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for pyxel"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake/gamelist.xml: open /userdata/roms/quake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/bennugd/gamelist.xml: open /userdata/roms/bennugd/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for bennugd"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider1/gamelist.xml: open /userdata/roms/traider1/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider1"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/thextech/gamelist.xml: open /userdata/roms/thextech/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for thextech"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/etlegacy/gamelist.xml: open /userdata/roms/etlegacy/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for etlegacy"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/xrick/gamelist.xml: open /userdata/roms/xrick/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for xrick"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flatpak/gamelist.xml: open /userdata/roms/flatpak/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flatpak"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/library/gamelist.xml: open /userdata/roms/library/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for library"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/steam/gamelist.xml: open /userdata/roms/steam/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for steam"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/sonic-mania/gamelist.xml: open /userdata/roms/sonic-mania/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for sonic-mania"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vircon32/gamelist.xml: open /userdata/roms/vircon32/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vircon32"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jkdf2/gamelist.xml: open /userdata/roms/jkdf2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jkdf2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/reminiscence/gamelist.xml: open /userdata/roms/reminiscence/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for reminiscence"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/tyrquake/gamelist.xml: open /userdata/roms/tyrquake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for tyrquake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/iortcw/gamelist.xml: open /userdata/roms/iortcw/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for iortcw"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/moonlight/gamelist.xml: open /userdata/roms/moonlight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for moonlight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vemulator/gamelist.xml: open /userdata/roms/vemulator/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vemulator"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uzebox/gamelist.xml: open /userdata/roms/uzebox/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uzebox"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/easyrpg/gamelist.xml: open /userdata/roms/easyrpg/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for easyrpg"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake3/gamelist.xml: open /userdata/roms/quake3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hurrican/gamelist.xml: open /userdata/roms/hurrican/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hurrican"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/zc210/gamelist.xml: open /userdata/roms/zc210/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for zc210"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/corsixth/gamelist.xml: open /userdata/roms/corsixth/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for corsixth"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/solarus/gamelist.xml: open /userdata/roms/solarus/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for solarus"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lutro/gamelist.xml: open /userdata/roms/lutro/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lutro"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake2/gamelist.xml: open /userdata/roms/quake2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/doom3/gamelist.xml: open /userdata/roms/doom3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for doom3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hcl/gamelist.xml: open /userdata/roms/hcl/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hcl"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/theforceengine/gamelist.xml: open /userdata/roms/theforceengine/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for theforceengine"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lowresnx/gamelist.xml: open /userdata/roms/lowresnx/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lowresnx"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jknight/gamelist.xml: open /userdata/roms/jknight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jknight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vis/gamelist.xml: open /userdata/roms/vis/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vis"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/superbroswar/gamelist.xml: open /userdata/roms/superbroswar/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for superbroswar"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/wasm4/gamelist.xml: open /userdata/roms/wasm4/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for wasm4"} {"level":"debug","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running UQM scanner for system: PC"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jazz2/gamelist.xml: open /userdata/roms/jazz2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jazz2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/pyxel/gamelist.xml: open /userdata/roms/pyxel/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for pyxel"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake/gamelist.xml: open /userdata/roms/quake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/bennugd/gamelist.xml: open /userdata/roms/bennugd/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for bennugd"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider1/gamelist.xml: open /userdata/roms/traider1/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider1"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/thextech/gamelist.xml: open /userdata/roms/thextech/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for thextech"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/etlegacy/gamelist.xml: open /userdata/roms/etlegacy/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for etlegacy"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/xrick/gamelist.xml: open /userdata/roms/xrick/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for xrick"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flatpak/gamelist.xml: open /userdata/roms/flatpak/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flatpak"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/library/gamelist.xml: open /userdata/roms/library/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for library"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/steam/gamelist.xml: open /userdata/roms/steam/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for steam"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/sonic-mania/gamelist.xml: open /userdata/roms/sonic-mania/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for sonic-mania"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vircon32/gamelist.xml: open /userdata/roms/vircon32/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vircon32"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jkdf2/gamelist.xml: open /userdata/roms/jkdf2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jkdf2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/reminiscence/gamelist.xml: open /userdata/roms/reminiscence/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for reminiscence"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/tyrquake/gamelist.xml: open /userdata/roms/tyrquake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for tyrquake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/iortcw/gamelist.xml: open /userdata/roms/iortcw/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for iortcw"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/moonlight/gamelist.xml: open /userdata/roms/moonlight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for moonlight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vemulator/gamelist.xml: open /userdata/roms/vemulator/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vemulator"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uzebox/gamelist.xml: open /userdata/roms/uzebox/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uzebox"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/easyrpg/gamelist.xml: open /userdata/roms/easyrpg/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for easyrpg"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake3/gamelist.xml: open /userdata/roms/quake3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hurrican/gamelist.xml: open /userdata/roms/hurrican/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hurrican"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/zc210/gamelist.xml: open /userdata/roms/zc210/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for zc210"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/corsixth/gamelist.xml: open /userdata/roms/corsixth/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for corsixth"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/solarus/gamelist.xml: open /userdata/roms/solarus/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for solarus"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lutro/gamelist.xml: open /userdata/roms/lutro/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lutro"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake2/gamelist.xml: open /userdata/roms/quake2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/doom3/gamelist.xml: open /userdata/roms/doom3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for doom3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hcl/gamelist.xml: open /userdata/roms/hcl/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hcl"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/theforceengine/gamelist.xml: open /userdata/roms/theforceengine/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for theforceengine"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lowresnx/gamelist.xml: open /userdata/roms/lowresnx/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lowresnx"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jknight/gamelist.xml: open /userdata/roms/jknight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jknight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vis/gamelist.xml: open /userdata/roms/vis/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vis"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/superbroswar/gamelist.xml: open /userdata/roms/superbroswar/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for superbroswar"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/wasm4/gamelist.xml: open /userdata/roms/wasm4/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for wasm4"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/mohaa/gamelist.xml: open /userdata/roms/mohaa/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for mohaa"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/cavestory/gamelist.xml: open /userdata/roms/cavestory/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for cavestory"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flash/gamelist.xml: open /userdata/roms/flash/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flash"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider2/gamelist.xml: open /userdata/roms/traider2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uqm/gamelist.xml: open /userdata/roms/uqm/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uqm"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/openjazz/gamelist.xml: open /userdata/roms/openjazz/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for openjazz"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running OpenJazz scanner for system: PC"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/etlegacy/gamelist.xml: open /userdata/roms/etlegacy/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for etlegacy"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/xrick/gamelist.xml: open /userdata/roms/xrick/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for xrick"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flatpak/gamelist.xml: open /userdata/roms/flatpak/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flatpak"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/library/gamelist.xml: open /userdata/roms/library/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for library"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/steam/gamelist.xml: open /userdata/roms/steam/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for steam"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/sonic-mania/gamelist.xml: open /userdata/roms/sonic-mania/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for sonic-mania"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vircon32/gamelist.xml: open /userdata/roms/vircon32/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vircon32"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jkdf2/gamelist.xml: open /userdata/roms/jkdf2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jkdf2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/reminiscence/gamelist.xml: open /userdata/roms/reminiscence/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for reminiscence"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/tyrquake/gamelist.xml: open /userdata/roms/tyrquake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for tyrquake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/iortcw/gamelist.xml: open /userdata/roms/iortcw/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for iortcw"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/moonlight/gamelist.xml: open /userdata/roms/moonlight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for moonlight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vemulator/gamelist.xml: open /userdata/roms/vemulator/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vemulator"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uzebox/gamelist.xml: open /userdata/roms/uzebox/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uzebox"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/easyrpg/gamelist.xml: open /userdata/roms/easyrpg/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for easyrpg"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake3/gamelist.xml: open /userdata/roms/quake3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hurrican/gamelist.xml: open /userdata/roms/hurrican/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hurrican"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/zc210/gamelist.xml: open /userdata/roms/zc210/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for zc210"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/corsixth/gamelist.xml: open /userdata/roms/corsixth/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for corsixth"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/solarus/gamelist.xml: open /userdata/roms/solarus/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for solarus"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lutro/gamelist.xml: open /userdata/roms/lutro/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lutro"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake2/gamelist.xml: open /userdata/roms/quake2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/doom3/gamelist.xml: open /userdata/roms/doom3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for doom3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hcl/gamelist.xml: open /userdata/roms/hcl/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hcl"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/theforceengine/gamelist.xml: open /userdata/roms/theforceengine/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for theforceengine"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lowresnx/gamelist.xml: open /userdata/roms/lowresnx/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lowresnx"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jknight/gamelist.xml: open /userdata/roms/jknight/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jknight"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vis/gamelist.xml: open /userdata/roms/vis/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vis"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/superbroswar/gamelist.xml: open /userdata/roms/superbroswar/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for superbroswar"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/wasm4/gamelist.xml: open /userdata/roms/wasm4/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for wasm4"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/mohaa/gamelist.xml: open /userdata/roms/mohaa/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for mohaa"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/cavestory/gamelist.xml: open /userdata/roms/cavestory/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for cavestory"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/flash/gamelist.xml: open /userdata/roms/flash/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for flash"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider2/gamelist.xml: open /userdata/roms/traider2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/uqm/gamelist.xml: open /userdata/roms/uqm/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for uqm"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/openjazz/gamelist.xml: open /userdata/roms/openjazz/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for openjazz"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jazz2/gamelist.xml: open /userdata/roms/jazz2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jazz2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/pyxel/gamelist.xml: open /userdata/roms/pyxel/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for pyxel"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/quake/gamelist.xml: open /userdata/roms/quake/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for quake"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/bennugd/gamelist.xml: open /userdata/roms/bennugd/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for bennugd"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/traider1/gamelist.xml: open /userdata/roms/traider1/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for traider1"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/thextech/gamelist.xml: open /userdata/roms/thextech/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for thextech"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:928","message":"scanned 4 files for system: PC"} {"level":"info","system":"PC","files":4,"elapsed":377.067424,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {NEC PC-8801 119 77 17 true}"} {"level":"info","system":"PC88","step":77,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"PC88","path":"/userdata/roms/pc88","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"PC88","path":"/userdata/roms/pc88","entriesScanned":2,"filesFound":0,"elapsed":1.199849,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running PC88 scanner for system: PC88"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/pc88/gamelist.xml: open /userdata/roms/pc88/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for pc88"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: PC88"} {"level":"info","system":"PC88","files":0,"elapsed":2.109645,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","systems":10,"files":11,"commitTime":62.654769,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1036","message":"committed batch (system limit)"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {NEC PC-9801 119 78 17 true}"} {"level":"info","system":"PC98","step":78,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"PC98","path":"/userdata/roms/pc98","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"PC98","path":"/userdata/roms/pc98","entriesScanned":2,"filesFound":0,"elapsed":1.291048,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running PC98 scanner for system: PC98"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/pc98/gamelist.xml: open /userdata/roms/pc98/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for pc98"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: PC98"} {"level":"info","system":"PC98","files":0,"elapsed":2.501626,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {PDP-1 119 79 17 true}"} {"level":"info","system":"PDP1","step":79,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"PDP1","path":"/userdata/roms/pdp1","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"PDP1","path":"/userdata/roms/pdp1","entriesScanned":2,"filesFound":0,"elapsed":0.31297,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running PDP1 scanner for system: PDP1"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/pdp1/gamelist.xml: open /userdata/roms/pdp1/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for pdp1"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: PDP1"} {"level":"info","system":"PDP1","files":0,"elapsed":1.098755,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {Commodore PET 2001 119 80 17 true}"} {"level":"info","system":"PET2001","step":80,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"PET2001","path":"/userdata/roms/pet","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"PET2001","path":"/userdata/roms/pet","entriesScanned":2,"filesFound":0,"elapsed":0.795733,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running PET scanner for system: PET2001"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/pet/gamelist.xml: open /userdata/roms/pet/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for pet"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: PET2001"} {"level":"info","system":"PET2001","files":0,"elapsed":3.3009,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {Playstation Portable 119 81 17 true}"} {"level":"info","system":"PSP","step":81,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"PSP","path":"/userdata/roms/psp","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"PSP","path":"/userdata/roms/psp","entriesScanned":2,"filesFound":0,"elapsed":0.696826,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running PSP scanner for system: PSP"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/psp/gamelist.xml: open /userdata/roms/psp/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for psp"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: PSP"} {"level":"info","system":"PSP","files":0,"elapsed":1.659591,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {Playstation 119 82 17 true}"} {"level":"info","system":"PSX","step":82,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"PSX","path":"/userdata/roms/psx","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"PSX","path":"/userdata/roms/psx","entriesScanned":2,"filesFound":0,"elapsed":0.46146,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running PSX scanner for system: PSX"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/psx/gamelist.xml: open /userdata/roms/psx/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for psx"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: PSX"} {"level":"info","system":"PSX","files":0,"elapsed":1.434486,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {PICO-8 119 83 17 true}"} {"level":"info","system":"Pico8","step":83,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"Pico8","path":"/userdata/roms/pico8","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"Pico8","path":"/userdata/roms/pico8","entriesScanned":2,"filesFound":0,"elapsed":0.333908,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running Pico8 scanner for system: Pico8"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/pico8/gamelist.xml: open /userdata/roms/pico8/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for pico8"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: Pico8"} {"level":"info","system":"Pico8","files":0,"elapsed":1.162454,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {Plug & Play 119 84 17 true}"} {"level":"info","system":"PlugNPlay","step":84,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"PlugNPlay","path":"/userdata/roms/plugnplay","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"PlugNPlay","path":"/userdata/roms/plugnplay","entriesScanned":2,"filesFound":0,"elapsed":0.325262,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running PlugNPlay scanner for system: PlugNPlay"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/plugnplay/gamelist.xml: open /userdata/roms/plugnplay/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for plugnplay"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: PlugNPlay"} {"level":"info","system":"PlugNPlay","files":0,"elapsed":1.097401,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {Pokemon Mini 119 85 17 true}"} {"level":"info","system":"PokemonMini","step":85,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"PokemonMini","path":"/userdata/roms/pokemini","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"PokemonMini","path":"/userdata/roms/pokemini","entriesScanned":2,"filesFound":0,"elapsed":0.302189,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running PokeMini scanner for system: PokemonMini"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/pokemini/gamelist.xml: open /userdata/roms/pokemini/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for pokemini"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: PokemonMini"} {"level":"info","system":"PokemonMini","files":0,"elapsed":1.201047,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {SAM Coupe 119 86 17 true}"} {"level":"info","system":"SAMCoupe","step":86,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"SAMCoupe","path":"/userdata/roms/samcoupe","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"SAMCoupe","path":"/userdata/roms/samcoupe","entriesScanned":2,"filesFound":0,"elapsed":0.385366,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running SamCoupe scanner for system: SAMCoupe"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/samcoupe/gamelist.xml: open /userdata/roms/samcoupe/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for samcoupe"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: SAMCoupe"} {"level":"info","system":"SAMCoupe","files":0,"elapsed":1.166985,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {SG-1000 119 87 17 true}"} {"level":"info","system":"SG1000","step":87,"total":119,"paths":2,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"SG1000","path":"/userdata/roms/scv","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"SG1000","path":"/userdata/roms/scv","entriesScanned":2,"filesFound":0,"elapsed":0.335001,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","system":"SG1000","path":"/userdata/roms/sg1000","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"SG1000","path":"/userdata/roms/sg1000","entriesScanned":2,"filesFound":0,"elapsed":0.192292,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running SCV scanner for system: SG1000"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/sg1000/gamelist.xml: open /userdata/roms/sg1000/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for sg1000"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/scv/gamelist.xml: open /userdata/roms/scv/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for scv"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running SG1000 scanner for system: SG1000"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/sg1000/gamelist.xml: open /userdata/roms/sg1000/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for sg1000"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/scv/gamelist.xml: open /userdata/roms/scv/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for scv"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: SG1000"} {"level":"info","system":"SG1000","files":0,"elapsed":2.095114,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {SNES 119 88 17 true}"} {"level":"info","system":"SNES","step":88,"total":119,"paths":2,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"SNES","path":"/userdata/roms/snes","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"SNES","path":"/userdata/roms/snes","entriesScanned":6,"filesFound":0,"elapsed":2.740065,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","system":"SNES","path":"/userdata/roms/satellaview","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"SNES","path":"/userdata/roms/satellaview","entriesScanned":2,"filesFound":0,"elapsed":0.547398,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running SNES scanner for system: SNES"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/satellaview/gamelist.xml: open /userdata/roms/satellaview/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for satellaview"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running Satellaview scanner for system: SNES"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/satellaview/gamelist.xml: open /userdata/roms/satellaview/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for satellaview"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:928","message":"scanned 1 files for system: SNES"} {"level":"info","system":"SNES","files":1,"elapsed":13.286155,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {SNES MSU-1 119 89 18 true}"} {"level":"info","system":"SNESMSU1","step":89,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"SNESMSU1","path":"/userdata/roms/snes-msu1","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"SNESMSU1","path":"/userdata/roms/snes-msu1","entriesScanned":2,"filesFound":0,"elapsed":0.49146,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running SNESMSU1 scanner for system: SNESMSU1"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/snes-msu1/gamelist.xml: open /userdata/roms/snes-msu1/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for snes-msu1"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: SNESMSU1"} {"level":"info","system":"SNESMSU1","files":0,"elapsed":1.702872,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {ScummVM 119 90 18 true}"} {"level":"info","system":"ScummVM","step":90,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"ScummVM","path":"/userdata/roms/scummvm","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"ScummVM","path":"/userdata/roms/scummvm","entriesScanned":2,"filesFound":0,"elapsed":1.03339,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running ScummVM scanner for system: ScummVM"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/scummvm/gamelist.xml: open /userdata/roms/scummvm/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for scummvm"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: ScummVM"} {"level":"info","system":"ScummVM","files":0,"elapsed":2.258761,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {Genesis 32X 119 91 18 true}"} {"level":"info","system":"Sega32X","step":91,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"Sega32X","path":"/userdata/roms/sega32x","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"Sega32X","path":"/userdata/roms/sega32x","entriesScanned":2,"filesFound":0,"elapsed":0.681774,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running Sega32x scanner for system: Sega32X"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/sega32x/gamelist.xml: open /userdata/roms/sega32x/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for sega32x"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: Sega32X"} {"level":"info","system":"Sega32X","files":0,"elapsed":1.944228,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {Singe 119 92 18 true}"} {"level":"info","system":"Singe","step":92,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"Singe","path":"/userdata/roms/singe","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"Singe","path":"/userdata/roms/singe","entriesScanned":2,"filesFound":0,"elapsed":0.500107,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running Singe scanner for system: Singe"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/singe/gamelist.xml: open /userdata/roms/singe/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for singe"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: Singe"} {"level":"info","system":"Singe","files":0,"elapsed":1.905426,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {V.Tech Socrates 119 93 18 true}"} {"level":"info","system":"Socrates","step":93,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"Socrates","path":"/userdata/roms/socrates","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"Socrates","path":"/userdata/roms/socrates","entriesScanned":2,"filesFound":0,"elapsed":0.515575,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running Socrates scanner for system: Socrates"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/socrates/gamelist.xml: open /userdata/roms/socrates/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for socrates"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: Socrates"} {"level":"info","system":"Socrates","files":0,"elapsed":1.890269,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {Spectravideo 119 94 18 true}"} {"level":"info","system":"Spectravideo","step":94,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"Spectravideo","path":"/userdata/roms/spectravideo","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"Spectravideo","path":"/userdata/roms/spectravideo","entriesScanned":2,"filesFound":0,"elapsed":0.459273,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running Spectravideo scanner for system: Spectravideo"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/spectravideo/gamelist.xml: open /userdata/roms/spectravideo/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for spectravideo"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: Spectravideo"} {"level":"info","system":"Spectravideo","files":0,"elapsed":1.672821,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {Sufami Turbo 119 95 18 true}"} {"level":"info","system":"Sufami","step":95,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"Sufami","path":"/userdata/roms/sufami","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"Sufami","path":"/userdata/roms/sufami","entriesScanned":2,"filesFound":0,"elapsed":0.525784,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running Sufami scanner for system: Sufami"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/sufami/gamelist.xml: open /userdata/roms/sufami/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for sufami"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: Sufami"} {"level":"info","system":"Sufami","files":0,"elapsed":1.234276,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {Super A'Can 119 96 18 true}"} {"level":"info","system":"SuperACan","step":96,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"SuperACan","path":"/userdata/roms/supracan","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"SuperACan","path":"/userdata/roms/supracan","entriesScanned":2,"filesFound":0,"elapsed":0.47568,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running SuperACan scanner for system: SuperACan"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/supracan/gamelist.xml: open /userdata/roms/supracan/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for supracan"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: SuperACan"} {"level":"info","system":"SuperACan","files":0,"elapsed":1.43558,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {Super Gameboy 119 97 18 true}"} {"level":"info","system":"SuperGameboy","step":97,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"SuperGameboy","path":"/userdata/roms/sgb","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"SuperGameboy","path":"/userdata/roms/sgb","entriesScanned":2,"filesFound":0,"elapsed":0.426252,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running SGB scanner for system: SuperGameboy"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/sgb/gamelist.xml: open /userdata/roms/sgb/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for sgb"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: SuperGameboy"} {"level":"info","system":"SuperGameboy","files":0,"elapsed":1.364954,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","systems":10,"files":1,"commitTime":47.532251,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1036","message":"committed batch (system limit)"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {SuperGrafx 119 98 18 true}"} {"level":"info","system":"SuperGrafx","step":98,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"SuperGrafx","path":"/userdata/roms/supergrafx","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"SuperGrafx","path":"/userdata/roms/supergrafx","entriesScanned":2,"filesFound":0,"elapsed":0.41922,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running SuperGrafx scanner for system: SuperGrafx"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/supergrafx/gamelist.xml: open /userdata/roms/supergrafx/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for supergrafx"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: SuperGrafx"} {"level":"info","system":"SuperGrafx","files":0,"elapsed":1.487038,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {SuperVision 119 99 18 true}"} {"level":"info","system":"SuperVision","step":99,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"SuperVision","path":"/userdata/roms/supervision","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"SuperVision","path":"/userdata/roms/supervision","entriesScanned":2,"filesFound":0,"elapsed":0.488648,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running SuperVision scanner for system: SuperVision"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/supervision/gamelist.xml: open /userdata/roms/supervision/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for supervision"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: SuperVision"} {"level":"info","system":"SuperVision","files":0,"elapsed":1.523028,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {TI-99/4A 119 100 18 true}"} {"level":"info","system":"TI994A","step":100,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"TI994A","path":"/userdata/roms/ti99","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"TI994A","path":"/userdata/roms/ti99","entriesScanned":2,"filesFound":0,"elapsed":0.382919,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running TI99 scanner for system: TI994A"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/ti99/gamelist.xml: open /userdata/roms/ti99/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for ti99"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: TI994A"} {"level":"info","system":"TI994A","files":0,"elapsed":1.361881,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {TIC-80 119 101 18 true}"} {"level":"info","system":"TIC80","step":101,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"TIC80","path":"/userdata/roms/tic80","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"TIC80","path":"/userdata/roms/tic80","entriesScanned":2,"filesFound":0,"elapsed":0.331408,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running TIC80 scanner for system: TIC80"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/tic80/gamelist.xml: open /userdata/roms/tic80/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for tic80"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: TIC80"} {"level":"info","system":"TIC80","files":0,"elapsed":1.221256,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {Thomson MO/TO 119 102 18 true}"} {"level":"info","system":"Thomson","step":102,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"Thomson","path":"/userdata/roms/thomson","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"Thomson","path":"/userdata/roms/thomson","entriesScanned":2,"filesFound":0,"elapsed":0.356043,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running Thomson scanner for system: Thomson"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/thomson/gamelist.xml: open /userdata/roms/thomson/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for thomson"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: Thomson"} {"level":"info","system":"Thomson","files":0,"elapsed":1.074067,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {Tutor 119 103 18 true}"} {"level":"info","system":"TomyTutor","step":103,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"TomyTutor","path":"/userdata/roms/tutor","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"TomyTutor","path":"/userdata/roms/tutor","entriesScanned":2,"filesFound":0,"elapsed":0.325419,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running Tutor scanner for system: TomyTutor"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/tutor/gamelist.xml: open /userdata/roms/tutor/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for tutor"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: TomyTutor"} {"level":"info","system":"TomyTutor","files":0,"elapsed":1.088911,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {TurboGrafx-16 119 104 18 true}"} {"level":"info","system":"TurboGrafx16","step":104,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"TurboGrafx16","path":"/userdata/roms/pcengine","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"TurboGrafx16","path":"/userdata/roms/pcengine","entriesScanned":7,"filesFound":0,"elapsed":2.671783,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running PCEngine scanner for system: TurboGrafx16"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: TurboGrafx16"} {"level":"info","system":"TurboGrafx16","files":0,"elapsed":5.555286,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {TurboGrafx-16 CD 119 105 18 true}"} {"level":"info","system":"TurboGrafx16CD","step":105,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"TurboGrafx16CD","path":"/userdata/roms/pcenginecd","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"TurboGrafx16CD","path":"/userdata/roms/pcenginecd","entriesScanned":2,"filesFound":0,"elapsed":0.456616,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running PCEngineCD scanner for system: TurboGrafx16CD"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/pcenginecd/gamelist.xml: open /userdata/roms/pcenginecd/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for pcenginecd"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: TurboGrafx16CD"} {"level":"info","system":"TurboGrafx16CD","files":0,"elapsed":1.240527,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {VC4000 119 106 18 true}"} {"level":"info","system":"VC4000","step":106,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"VC4000","path":"/userdata/roms/vc4000","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"VC4000","path":"/userdata/roms/vc4000","entriesScanned":2,"filesFound":0,"elapsed":0.311616,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running VC4000 scanner for system: VC4000"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vc4000/gamelist.xml: open /userdata/roms/vc4000/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vc4000"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: VC4000"} {"level":"info","system":"VC4000","files":0,"elapsed":1.095891,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {Commodore VIC-20 119 107 18 true}"} {"level":"info","system":"VIC20","step":107,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"VIC20","path":"/userdata/roms/c20","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"VIC20","path":"/userdata/roms/c20","entriesScanned":2,"filesFound":0,"elapsed":0.324116,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running C20 scanner for system: VIC20"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/c20/gamelist.xml: open /userdata/roms/c20/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for c20"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: VIC20"} {"level":"info","system":"VIC20","files":0,"elapsed":1.055004,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {V.Smile 119 108 18 true}"} {"level":"info","system":"VSmile","step":108,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"VSmile","path":"/userdata/roms/vsmile","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"VSmile","path":"/userdata/roms/vsmile","entriesScanned":2,"filesFound":0,"elapsed":0.401825,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running VSmile scanner for system: VSmile"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vsmile/gamelist.xml: open /userdata/roms/vsmile/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vsmile"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: VSmile"} {"level":"info","system":"VSmile","files":0,"elapsed":1.323912,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {Vectrex 119 109 18 true}"} {"level":"info","system":"Vectrex","step":109,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"Vectrex","path":"/userdata/roms/vectrex","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"Vectrex","path":"/userdata/roms/vectrex","entriesScanned":2,"filesFound":0,"elapsed":0.496773,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running Vectrex scanner for system: Vectrex"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/vectrex/gamelist.xml: open /userdata/roms/vectrex/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for vectrex"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: Vectrex"} {"level":"info","system":"Vectrex","files":0,"elapsed":1.578444,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {Videopac+ G7400 119 110 18 true}"} {"level":"info","system":"VideopacPlus","step":110,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"VideopacPlus","path":"/userdata/roms/videopacplus","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"VideopacPlus","path":"/userdata/roms/videopacplus","entriesScanned":2,"filesFound":0,"elapsed":0.303387,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running VideopacPlus scanner for system: VideopacPlus"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/videopacplus/gamelist.xml: open /userdata/roms/videopacplus/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for videopacplus"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: VideopacPlus"} {"level":"info","system":"VideopacPlus","files":0,"elapsed":1.113234,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {Virtual Boy 119 111 18 true}"} {"level":"info","system":"VirtualBoy","step":111,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"VirtualBoy","path":"/userdata/roms/virtualboy","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"VirtualBoy","path":"/userdata/roms/virtualboy","entriesScanned":2,"filesFound":0,"elapsed":0.340783,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running VirtualBoy scanner for system: VirtualBoy"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/virtualboy/gamelist.xml: open /userdata/roms/virtualboy/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for virtualboy"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: VirtualBoy"} {"level":"info","system":"VirtualBoy","files":0,"elapsed":1.142089,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {Windows 119 112 18 true}"} {"level":"info","system":"Windows","step":112,"total":119,"paths":2,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"Windows","path":"/userdata/roms/fallout1-ce","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"Windows","path":"/userdata/roms/fallout1-ce","entriesScanned":2,"filesFound":0,"elapsed":1.207246,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","system":"Windows","path":"/userdata/roms/fallout2-ce","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"Windows","path":"/userdata/roms/fallout2-ce","entriesScanned":2,"filesFound":0,"elapsed":1.081985,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running Fallout1CE scanner for system: Windows"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/fallout1-ce/gamelist.xml: open /userdata/roms/fallout1-ce/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for fallout1-ce"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/fallout2-ce/gamelist.xml: open /userdata/roms/fallout2-ce/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for fallout2-ce"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/windows_installers/gamelist.xml: open /userdata/roms/windows_installers/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for windows_installers"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/windows/gamelist.xml: open /userdata/roms/windows/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for windows"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/wine/gamelist.xml: open /userdata/roms/wine/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for wine"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running Fallout2CE scanner for system: Windows"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/fallout1-ce/gamelist.xml: open /userdata/roms/fallout1-ce/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for fallout1-ce"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/fallout2-ce/gamelist.xml: open /userdata/roms/fallout2-ce/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for fallout2-ce"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/windows_installers/gamelist.xml: open /userdata/roms/windows_installers/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for windows_installers"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/windows/gamelist.xml: open /userdata/roms/windows/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for windows"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/wine/gamelist.xml: open /userdata/roms/wine/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for wine"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running WindowsInstallers scanner for system: Windows"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/fallout1-ce/gamelist.xml: open /userdata/roms/fallout1-ce/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for fallout1-ce"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/fallout2-ce/gamelist.xml: open /userdata/roms/fallout2-ce/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for fallout2-ce"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/windows_installers/gamelist.xml: open /userdata/roms/windows_installers/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for windows_installers"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/windows/gamelist.xml: open /userdata/roms/windows/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for windows"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/wine/gamelist.xml: open /userdata/roms/wine/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for wine"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running Windows scanner for system: Windows"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/windows_installers/gamelist.xml: open /userdata/roms/windows_installers/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for windows_installers"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/windows/gamelist.xml: open /userdata/roms/windows/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for windows"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/wine/gamelist.xml: open /userdata/roms/wine/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for wine"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/fallout1-ce/gamelist.xml: open /userdata/roms/fallout1-ce/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for fallout1-ce"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/fallout2-ce/gamelist.xml: open /userdata/roms/fallout2-ce/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for fallout2-ce"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running Wine scanner for system: Windows"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/fallout1-ce/gamelist.xml: open /userdata/roms/fallout1-ce/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for fallout1-ce"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/fallout2-ce/gamelist.xml: open /userdata/roms/fallout2-ce/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for fallout2-ce"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/windows_installers/gamelist.xml: open /userdata/roms/windows_installers/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for windows_installers"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/windows/gamelist.xml: open /userdata/roms/windows/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for windows"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/wine/gamelist.xml: open /userdata/roms/wine/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for wine"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: Windows"} {"level":"info","system":"Windows","files":0,"elapsed":5.403046,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {WonderSwan 119 113 18 true}"} {"level":"info","system":"WonderSwan","step":113,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"WonderSwan","path":"/userdata/roms/wswan","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"WonderSwan","path":"/userdata/roms/wswan","entriesScanned":2,"filesFound":0,"elapsed":0.447398,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running WSwan scanner for system: WonderSwan"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/wswan/gamelist.xml: open /userdata/roms/wswan/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for wswan"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: WonderSwan"} {"level":"info","system":"WonderSwan","files":0,"elapsed":1.452663,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {WonderSwan Color 119 114 18 true}"} {"level":"info","system":"WonderSwanColor","step":114,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"WonderSwanColor","path":"/userdata/roms/wswanc","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"WonderSwanColor","path":"/userdata/roms/wswanc","entriesScanned":2,"filesFound":0,"elapsed":0.345731,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running WSwanC scanner for system: WonderSwanColor"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/wswanc/gamelist.xml: open /userdata/roms/wswanc/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for wswanc"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: WonderSwanColor"} {"level":"info","system":"WonderSwanColor","files":0,"elapsed":2.304073,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {Sharp X1 119 115 18 true}"} {"level":"info","system":"X1","step":115,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"X1","path":"/userdata/roms/x1","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"X1","path":"/userdata/roms/x1","entriesScanned":2,"filesFound":0,"elapsed":0.706461,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running X1 scanner for system: X1"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/x1/gamelist.xml: open /userdata/roms/x1/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for x1"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: X1"} {"level":"info","system":"X1","files":0,"elapsed":1.595528,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {X68000 119 116 18 true}"} {"level":"info","system":"X68000","step":116,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"X68000","path":"/userdata/roms/x68000","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"X68000","path":"/userdata/roms/x68000","entriesScanned":2,"filesFound":0,"elapsed":0.61792,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running X68000 scanner for system: X68000"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/x68000/gamelist.xml: open /userdata/roms/x68000/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for x68000"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: X68000"} {"level":"info","system":"X68000","files":0,"elapsed":1.674748,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {TS-1500 119 117 18 true}"} {"level":"info","system":"ZX81","step":117,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"ZX81","path":"/userdata/roms/zx81","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"ZX81","path":"/userdata/roms/zx81","entriesScanned":2,"filesFound":0,"elapsed":0.40047,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running ZX81 scanner for system: ZX81"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/zx81/gamelist.xml: open /userdata/roms/zx81/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for zx81"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: ZX81"} {"level":"info","system":"ZX81","files":0,"elapsed":1.456465,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {ZX Spectrum 119 118 18 true}"} {"level":"info","system":"ZXSpectrum","step":118,"total":119,"paths":1,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:884","message":"indexing system"} {"level":"debug","system":"ZXSpectrum","path":"/userdata/roms/zxspectrum","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:460","message":"starting directory walk"} {"level":"debug","system":"ZXSpectrum","path":"/userdata/roms/zxspectrum","entriesScanned":2,"filesFound":0,"elapsed":0.455627,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:472","message":"completed directory walk"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:908","message":"running ZXSpectrum scanner for system: ZXSpectrum"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/zxspectrum/gamelist.xml: open /userdata/roms/zxspectrum/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for zxspectrum"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:925","message":"no files found for system: ZXSpectrum"} {"level":"info","system":"ZXSpectrum","files":0,"elapsed":1.389746,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1015","message":"completed system indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1084","message":"checking 256 launchers for custom scanners"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher KodiLocalVideo for system Video: scanner=false scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher KodiMovie for system Movie: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running KodiMovie scanner for system: Movie"} {"level":"warn","error":"failed to get movies: failed to send request: Post \"http://localhost:8080/jsonrpc\": dial tcp 127.0.0.1:8080: connect: connection refused","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1107","message":"error running KodiMovie scanner for system: Movie"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher KodiTVEpisode for system TVEpisode: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running KodiTVEpisode scanner for system: TVEpisode"} {"level":"warn","error":"failed to get TV shows: failed to send request: Post \"http://localhost:8080/jsonrpc\": dial tcp 127.0.0.1:8080: connect: connection refused","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1107","message":"error running KodiTVEpisode scanner for system: TVEpisode"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher KodiLocalAudio for system MusicTrack: scanner=false scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher KodiSong for system MusicTrack: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running KodiSong scanner for system: MusicTrack"} {"level":"warn","error":"failed to get songs: failed to send request: Post \"http://localhost:8080/jsonrpc\": dial tcp 127.0.0.1:8080: connect: connection refused","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1107","message":"error running KodiSong scanner for system: MusicTrack"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher KodiAlbum for system MusicAlbum: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running KodiAlbum scanner for system: MusicAlbum"} {"level":"warn","error":"failed to get albums: failed to send request: Post \"http://localhost:8080/jsonrpc\": dial tcp 127.0.0.1:8080: connect: connection refused","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1107","message":"error running KodiAlbum scanner for system: MusicAlbum"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher KodiArtist for system MusicArtist: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running KodiArtist scanner for system: MusicArtist"} {"level":"warn","error":"failed to get artists: failed to send request: Post \"http://localhost:8080/jsonrpc\": dial tcp 127.0.0.1:8080: connect: connection refused","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1107","message":"error running KodiArtist scanner for system: MusicArtist"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher KodiTVShow for system TVShow: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running KodiTVShow scanner for system: TVShow"} {"level":"warn","error":"failed to get TV shows: failed to send request: Post \"http://localhost:8080/jsonrpc\": dial tcp 127.0.0.1:8080: connect: connection refused","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1107","message":"error running KodiTVShow scanner for system: TVShow"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Generic for system : scanner=false scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Aquarius for system Aquarius: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running Aquarius scanner for system: Aquarius"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/aquarius/gamelist.xml: open /userdata/roms/aquarius/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for aquarius"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: Aquarius"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher GB for system Gameboy: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Jazz2 for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher PET for system PET2001: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Pyxel for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Saturn for system Saturn: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running Saturn scanner for system: Saturn"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/saturn/gamelist.xml: open /userdata/roms/saturn/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for saturn"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: Saturn"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher ScummVM for system ScummVM: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Sonic3AIR for system Genesis: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Intellivision for system Intellivision: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Archimedes for system Archimedes: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Quake for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher AmstradCPC for system Amstrad: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher BBC for system BBCMicro: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher BennuGD for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher NGP for system NeoGeoPocket: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher AdVision for system AdventureVision: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Laser310 for system Laser: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Ports for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Thomson for system Thomson: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Adam for system ColecoAdam: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Atom for system AcornAtom: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher C20 for system VIC20: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher GameCom for system GameCom: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Odyssey2 for system Odyssey2: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Traider1 for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher CGenius for system DOS: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher CRVision for system CreatiVision: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher TheXTech for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher VPinball for system Arcade: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher CommanderX16 for system CommanderX16: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher ETLegacy for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher XRick for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Flatpak for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Library for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher ODCommander for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher OricAtmos for system Oric: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running OricAtmos scanner for system: Oric"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/oricatmos/gamelist.xml: open /userdata/roms/oricatmos/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for oricatmos"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: Oric"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Socrates for system Socrates: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Steam for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Wii for system Wii: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running Wii scanner for system: Wii"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/wii/gamelist.xml: open /userdata/roms/wii/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for wii"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: Wii"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher GBC2Players for system Gameboy2P: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher PSX for system PSX: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher PV1000 for system CasioPV1000: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher SCV for system SG1000: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher SonicMania for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher ECWolf for system DOS: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher GW for system GameNWatch: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher PSVita for system Vita: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running PSVita scanner for system: Vita"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/psvita/gamelist.xml: open /userdata/roms/psvita/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for psvita"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: Vita"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Singe for system Singe: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Vircon32 for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher VSmile for system VSmile: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher SGB for system SuperGameboy: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher CDogs for system DOS: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Fallout1CE for system Windows: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher JKDF2 for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher NeoGeo for system NeoGeo: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher PCFX for system PCFX: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running PCFX scanner for system: PCFX"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/pcfx/gamelist.xml: open /userdata/roms/pcfx/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for pcfx"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: PCFX"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher PS4 for system PS4: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running PS4 scanner for system: PS4"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/ps4/gamelist.xml: open /userdata/roms/ps4/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for ps4"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: PS4"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Reminiscence for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher TyrQuake for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Fallout2CE for system Windows: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher GamePock for system GamePocket: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Atomiswave for system Atomiswave: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher GX4000 for system Amstrad: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher IORTCW for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Amiga1200 for system Amiga1200: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Moonlight for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher SuperACan for system SuperACan: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Namco2X6 for system Namco2X6: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running Namco2X6 scanner for system: Namco2X6"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/namco2x6/gamelist.xml: open /userdata/roms/namco2x6/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for namco2x6"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: Namco2X6"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher SuperVision for system SuperVision: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher VC4000 for system VC4000: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher VEmulator for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher GBA2Players for system GBA2P: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running GBA2Players scanner for system: GBA2P"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/gba2players/gamelist.xml: open /userdata/roms/gba2players/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for gba2players"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: GBA2P"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Uzebox for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher ZXSpectrum for system ZXSpectrum: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher GBA for system GBA: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher JaguarCD for system JaguarCD: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running JaguarCD scanner for system: JaguarCD"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jaguarcd/gamelist.xml: open /userdata/roms/jaguarcd/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jaguarcd"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: JaguarCD"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher MasterSystem for system MasterSystem: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher PS2 for system PS2: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running PS2 scanner for system: PS2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/ps2/gamelist.xml: open /userdata/roms/ps2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for ps2"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: PS2"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher EDuke32 for system DOS: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Fury for system DOS: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher MSXTurboR for system MSX: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher N64DD for system Nintendo64: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher OpenBOR for system Arcade: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher TIC80 for system TIC80: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher EasyRPG for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Lindbergh for system Lindbergh: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running Lindbergh scanner for system: Lindbergh"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/lindbergh/gamelist.xml: open /userdata/roms/lindbergh/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for lindbergh"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: Lindbergh"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher VideopacPlus for system VideopacPlus: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher 3DS for system 3DS: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running 3DS scanner for system: 3DS"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/3ds/gamelist.xml: open /userdata/roms/3ds/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for 3ds"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: 3DS"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher FM7 for system FM7: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher NAOMI for system NAOMI: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher J2ME for system J2ME: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running J2ME scanner for system: J2ME"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/j2me/gamelist.xml: open /userdata/roms/j2me/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for j2me"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: J2ME"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher MUGEN for system Arcade: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Recordings for system Video: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running Recordings scanner for system: Video"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/recordings/gamelist.xml: open /userdata/roms/recordings/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for recordings"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: Video"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher CPlus4 for system C16: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher NES for system NES: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Quake3 for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Amiga500 for system Amiga500: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Arcadia for system Arcadia: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Astrocde for system Astrocade: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher C128 for system C64: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher ColecoVision for system ColecoVision: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher GameAndWatch for system GameNWatch: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher GameGear for system GameGear: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Hurrican for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher CampLynx for system Lynx48: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Channelf for system ChannelF: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Macintosh for system MacOS: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher PRBoom for system DOS: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher SamCoupe for system SAMCoupe: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Triforce for system Triforce: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running Triforce scanner for system: Triforce"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/triforce/gamelist.xml: open /userdata/roms/triforce/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for triforce"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: Triforce"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher 3DO for system 3DO: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running 3DO scanner for system: 3DO"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/3do/gamelist.xml: open /userdata/roms/3do/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for 3do"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: 3DO"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher AmigaCD32 for system AmigaCD32: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Tutor for system TomyTutor: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher ZC210 for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher PlugNPlay for system PlugNPlay: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher CorsixTH for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher MegaDuck for system MegaDuck: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher PC98 for system PC98: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Solarus for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher SuperGrafx for system SuperGrafx: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Xbox360 for system Xbox360: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running Xbox360 scanner for system: Xbox360"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/xbox360/gamelist.xml: open /userdata/roms/xbox360/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for xbox360"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: Xbox360"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Abuse for system DOS: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Atari5200 for system Atari5200: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Lutro for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher NDS for system NDS: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Quake2 for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Apple2GS for system AppleII: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher DevilutionX for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher FMTowns for system FMTowns: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Xbox for system Xbox: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running Xbox scanner for system: Xbox"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/xbox/gamelist.xml: open /userdata/roms/xbox/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for xbox"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: Xbox"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Image for system Image: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running Image scanner for system: Image"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/imageviewer/gamelist.xml: open /userdata/roms/imageviewer/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for imageviewer"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: Image"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher MegaCD for system MegaCD: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Model3 for system Model3: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running Model3 scanner for system: Model3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/model3/gamelist.xml: open /userdata/roms/model3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for model3"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: Model3"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Spectravideo for system Spectravideo: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Hikaru for system Hikaru: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running Hikaru scanner for system: Hikaru"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/hikaru/gamelist.xml: open /userdata/roms/hikaru/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for hikaru"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: Hikaru"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher PokeMini for system PokemonMini: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher SystemSP for system Arcade: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher CoCo for system CoCo2: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Vectrex for system Vectrex: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Atari7800 for system Atari7800: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher WindowsInstallers for system Windows: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Doom3 for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Sufami for system Sufami: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Tyrian for system DOS: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher HCL for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Model1 for system Model1: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running Model1 scanner for system: Model1"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/model1/gamelist.xml: open /userdata/roms/model1/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for model1"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: Model1"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher O2EM for system Odyssey2: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Catacomb for system DOS: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher CPS1 for system CPS1: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running CPS1 scanner for system: CPS1"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/cps1/gamelist.xml: open /userdata/roms/cps1/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for cps1"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: CPS1"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Jaguar for system Jaguar: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running Jaguar scanner for system: Jaguar"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/jaguar/gamelist.xml: open /userdata/roms/jaguar/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for jaguar"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: Jaguar"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Windows for system Windows: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher DICE for system DICE: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher MrBoom for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher PSP for system PSP: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher ZX81 for system ZX81: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher TheForceEngine for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher WiiU for system WiiU: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running WiiU scanner for system: WiiU"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/wiiu/gamelist.xml: open /userdata/roms/wiiu/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for wiiu"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: WiiU"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Apple2 for system AppleII: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher LowResNX for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher BStone for system DOS: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher DXX-Rebirth for system DOS: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher N64 for system Nintendo64: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher PDP1 for system PDP1: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Raze for system DOS: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher WSwanC for system WonderSwanColor: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher MegaDrive for system Genesis: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Model2 for system Model2: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running Model2 scanner for system: Model2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/model2/gamelist.xml: open /userdata/roms/model2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for model2"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: Model2"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher PCEngine for system TurboGrafx16: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Sega32x for system Sega32X: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher SNESMSU1 for system SNESMSU1: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher GB2Players for system Gameboy2P: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher JKnight for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher CPS2 for system CPS2: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running CPS2 scanner for system: CPS2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/cps2/gamelist.xml: open /userdata/roms/cps2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for cps2"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: CPS2"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Daphne for system DAPHNE: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher GBMSU for system SGBMSU1: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running GBMSU scanner for system: SGBMSU1"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/sgb-msu1/gamelist.xml: open /userdata/roms/sgb-msu1/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for sgb-msu1"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/gb-msu/gamelist.xml: open /userdata/roms/gb-msu/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for gb-msu"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: SGBMSU1"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher MSX2 for system MSX: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher SNES for system SNES: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher VIS for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher APFM1000 for system Arcade: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher MSX1 for system MSX: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Multivision for system Multivision: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Namco22 for system Namco22: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher NGPC for system NeoGeoPocketColor: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Dreamcast for system Dreamcast: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher LCDGames for system GameNWatch: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher PyGame for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher TI99 for system TI994A: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher C64 for system C64: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Electron for system AcornElectron: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher GBC for system GameboyColor: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher SonicRetro for system Genesis: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher SuperBrosWar for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Wasm4 for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Xash3D_FWGS for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher DOS for system DOS: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher GMaster for system GameMaster: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher MoHAA for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher MSX2Plus for system MSX2Plus: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher PC88 for system PC88: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher VGMPlay for system Audio: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Arduboy for system Arduboy: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher CaveStory for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Gamate for system Gamate: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Pico for system Genesis: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher SDLPoP for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher AmigaCDTV for system Amiga: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher CPS3 for system CPS3: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running CPS3 scanner for system: CPS3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/cps3/gamelist.xml: open /userdata/roms/cps3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for cps3"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: CPS3"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher MAME for system Arcade: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher GenesisMSU for system GenesisMSU: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher X1 for system X1: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Arcade for system Arcade: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Flash for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher NAOMI2 for system NAOMI2: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running NAOMI2 scanner for system: NAOMI2"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/naomi2/gamelist.xml: open /userdata/roms/naomi2/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for naomi2"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: NAOMI2"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher PCEngineCD for system TurboGrafx16CD: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Wine for system Windows: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher XEGS for system AtariXEGS: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Cannonball for system Arcade: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher FBNeo for system Arcade: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher GZDoom for system DOS: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Lynx for system AtariLynx: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher PS3 for system PS3: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running PS3 scanner for system: PS3"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/ps3/gamelist.xml: open /userdata/roms/ps3/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for ps3"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: PS3"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Traider2 for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Gaelco for system Gaelco: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running Gaelco scanner for system: Gaelco"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/gaelco/gamelist.xml: open /userdata/roms/gaelco/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for gaelco"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: Gaelco"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher GP32 for system GP32: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Pico8 for system Pico8: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher WSwan for system WonderSwan: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Atari800 for system Atari800: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher UQM for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher CDI for system CDI: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Chihiro for system Chihiro: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running Chihiro scanner for system: Chihiro"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/chihiro/gamelist.xml: open /userdata/roms/chihiro/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for chihiro"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: Chihiro"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher GameCube for system GameCube: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running GameCube scanner for system: GameCube"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/gamecube/gamelist.xml: open /userdata/roms/gamecube/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for gamecube"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: GameCube"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher X68000 for system X68000: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Atari2600 for system Atari2600: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Gong for system Arcade: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Ikemen for system Arcade: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher OpenJazz for system PC: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher NeoGeoCD for system NeoGeoCD: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher AtariST for system AtariST: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Satellaview for system SNES: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher SGBMSU1 for system SGBMSU1: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running SGBMSU1 scanner for system: SGBMSU1"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/sgb-msu1/gamelist.xml: open /userdata/roms/sgb-msu1/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for sgb-msu1"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/gb-msu/gamelist.xml: open /userdata/roms/gb-msu/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for gb-msu"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: SGBMSU1"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Cave3rd for system Arcade: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher FDS for system FDS: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher NGage for system NGage: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running NGage scanner for system: NGage"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/ngage/gamelist.xml: open /userdata/roms/ngage/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for ngage"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: NGage"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher ROTT for system DOS: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher SG1000 for system SG1000: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher Switch for system Switch: scanner=true scanned=false"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1099","message":"running Switch scanner for system: Switch"} {"level":"debug","error":"failed to open gamelist XML file /userdata/roms/switch/gamelist.xml: open /userdata/roms/switch/gamelist.xml: no such file or directory","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:639","message":"no gamelist.xml for switch"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1111","message":"scanned 0 files for system: Switch"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1088","message":"launcher VirtualBoy for system VirtualBoy: scanner=true scanned=true"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:267","message":"indexing status: {Writing database 119 119 18 true}"} {"level":"info","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1324","message":"populating system tags cache after indexing completion"} {"level":"info","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1328","message":"successfully populated system tags cache"} {"level":"info","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1333","message":"forcing WAL checkpoint after indexing completion"} {"level":"info","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1338","message":"WAL checkpoint completed successfully"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1350","message":"processed systems: map[AcornAtom:true AcornElectron:true AdventureVision:true Amiga:true Amiga1200:true Amiga500:true AmigaCD32:true Amstrad:true AppleII:true Arcade:true Arcadia:true Archimedes:true Arduboy:true Astrocade:true Atari2600:true Atari5200:true Atari7800:true Atari800:true AtariLynx:true AtariST:true AtariXEGS:true Atomiswave:true Audio:true BBCMicro:true C16:true C64:true CDI:true CasioPV1000:true ChannelF:true CoCo2:true ColecoAdam:true ColecoVision:true CommanderX16:true CreatiVision:true DAPHNE:true DICE:true DOS:true Dreamcast:true FDS:true FM7:true FMTowns:true GBA:true GP32:true Gamate:true GameCom:true GameGear:true GameMaster:true GameNWatch:true GamePocket:true Gameboy:true Gameboy2P:true GameboyColor:true Genesis:true GenesisMSU:true Intellivision:true Laser:true Lynx48:true MSX:true MSX2Plus:true MacOS:true MasterSystem:true MegaCD:true MegaDuck:true Multivision:true NAOMI:true NDS:true NES:true Namco22:true NeoGeo:true NeoGeoCD:true NeoGeoPocket:true NeoGeoPocketColor:true Nintendo64:true Odyssey2:true PC:true PC88:true PC98:true PDP1:true PET2001:true PSP:true PSX:true Pico8:true PlugNPlay:true PokemonMini:true SAMCoupe:true SG1000:true SNES:true SNESMSU1:true ScummVM:true Sega32X:true Singe:true Socrates:true Spectravideo:true Sufami:true SuperACan:true SuperGameboy:true SuperGrafx:true SuperVision:true TI994A:true TIC80:true Thomson:true TomyTutor:true TurboGrafx16:true TurboGrafx16CD:true VC4000:true VIC20:true VSmile:true Vectrex:true VideopacPlus:true VirtualBoy:true Windows:true WonderSwan:true WonderSwanColor:true X1:true X68000:true ZX81:true ZXSpectrum:true]"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1356","message":"indexed systems: [Amiga CommanderX16 MacOS Nintendo64 VirtualBoy Archimedes Atomiswave CasioPV1000 MegaCD PlugNPlay AcornAtom AppleII Dreamcast GameGear PC VSmile Amiga500 BBCMicro MSX2Plus NDS Namco22 TomyTutor FM7 FMTowns GamePocket Lynx48 PSX PokemonMini Sega32X VC4000 AtariST NAOMI Arcadia Thomson WonderSwan Spectravideo SuperACan GP32 NES PSP Atari800 ChannelF Odyssey2 Singe SuperGameboy TI994A TurboGrafx16CD ZXSpectrum AtariLynx Arduboy MegaDuck SuperVision VideopacPlus C64 GameNWatch GameboyColor Laser CDI Gameboy Intellivision Multivision NeoGeoCD PC98 ZX81 Atari7800 GameCom Gameboy2P ColecoVision DICE PC88 ColecoAdam GBA MSX PET2001 Vectrex Atari2600 CreatiVision DOS GenesisMSU NeoGeoPocket Pico8 SuperGrafx DAPHNE GameMaster SNESMSU1 TurboGrafx16 Windows CoCo2 ScummVM Socrates AcornElectron Amiga1200 Astrocade PDP1 SAMCoupe SNES WonderSwanColor Atari5200 C16 Genesis NeoGeoPocketColor Sufami X1 AmigaCD32 AtariXEGS X68000 AdventureVision Amstrad MasterSystem NeoGeo SG1000 Arcade FDS Gamate TIC80 Audio VIC20]"} {"level":"info","files":18,"systemsCompleted":117,"elapsed":1907.84488,"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediascanner/mediascanner.go:1373","message":"media indexing completed successfully"} {"level":"info","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:295","message":"finished generating media db successfully"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"info","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:321","message":"finished generating media db in 1.908503112s"} {"level":"info","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediadb/mediadb.go:1675","message":"starting background database optimization"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"info","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediadb/mediadb.go:1707","message":"running optimization step: analyze"} {"level":"info","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediadb/mediadb.go:1749","message":"optimization step analyze completed"} {"level":"info","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediadb/mediadb.go:1707","message":"running optimization step: vacuum"} {"level":"info","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediadb/mediadb.go:1749","message":"optimization step vacuum completed"} {"level":"debug","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.indexing"} {"level":"info","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/database/mediadb/mediadb.go:1770","message":"background database optimization completed"} {"level":"debug","request":{"jsonrpc":"2.0","id":"179c426a-19d4-437d-bb18-b1da76edb50c","method":"media"},"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:625","message":"received media request"} {"level":"debug","result":{"database":{"totalMedia":18,"exists":true,"indexing":false,"optimizing":false},"active":[]},"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"063551ae-96a1-4712-80f0-83a0f3c11524","method":"media"},"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/methods/media.go:625","message":"received media request"} {"level":"debug","result":{"database":{"totalMedia":18,"exists":true,"indexing":false,"optimizing":false},"active":[]},"time":"2026-01-09T14:33:35+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"info","time":"2026-01-09T14:33:44+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1daad36e0f1080)"} {"level":"debug","uid":"1daad36e0f1080","time":"2026-01-09T14:33:44+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1daad36e0f1080","time":"2026-01-09T14:33:44+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1daad36e0f1080","time":"2026-01-09T14:33:44+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1daad36e0f1080","manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:33:44+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1daad36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:33:44+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1daad36e0f1080","time":"2026-01-09T14:33:44+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","uid":"1daad36e0f1080","time":"2026-01-09T14:33:45+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"debug","uid":"1daad36e0f1080","recordCount":1,"recordType":"text","hasText":true,"hasURI":false,"payloadLen":52,"time":"2026-01-09T14:33:45+01:00","caller":"/build/pkg/readers/pn532/tags.go:107","message":"NDEF: processing records"} {"level":"info","time":"2026-01-09T14:33:45+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1daad36e0f1080"} {"level":"info","time":"2026-01-09T14:33:45+01:00","caller":"/build/pkg/readers/pn532/pn532.go:440","message":"NDEF text: NES/Kunio-kun no Nekketsu Soccer League (AR) .nes"} {"level":"debug","time":"2026-01-09T14:33:45+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x4000289260 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:33:45+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 14:33:45.114784698 +0100 CET m=+105.012020029 NTAG 1daad36e0f1080 NES/Kunio-kun no Nekketsu Soccer League (AR) .nes pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T14:33:45+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T14:33:45+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 14:33:45.114784698 +0100 CET m=+105.012020029 NTAG 1daad36e0f1080 NES/Kunio-kun no Nekketsu Soccer League (AR) .nes pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:33:45+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 14:33:45.114784698 +0100 CET m=+105.012020029 NTAG 1daad36e0f1080 NES/Kunio-kun no Nekketsu Soccer League (AR) .nes pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:33:45+01:00","caller":"/build/pkg/service/queues.go:72","message":"running script (1 cmds): NES/Kunio-kun no Nekketsu Soccer League (AR) .nes"} {"level":"info","time":"2026-01-09T14:33:45+01:00","caller":"/build/pkg/zapscript/commands.go:355","message":"running command: {{map[]} launch [NES/Kunio-kun no Nekketsu Soccer League (AR) .nes]}"} {"level":"debug","error":"file not found: NES/Kunio-kun no Nekketsu Soccer League (AR) .nes","time":"2026-01-09T14:33:45+01:00","caller":"/build/pkg/zapscript/launch.go:386","message":"error finding file: NES/Kunio-kun no Nekketsu Soccer League (AR) .nes"} {"level":"info","time":"2026-01-09T14:33:45+01:00","caller":"/build/pkg/zapscript/launch.go:410","message":"launching system: NES, path: Kunio-kun no Nekketsu Soccer League (AR) .nes"} {"level":"debug","time":"2026-01-09T14:33:45+01:00","caller":"/build/pkg/zapscript/launch.go:440","message":"checking system path: nes/Kunio-kun no Nekketsu Soccer League (AR) .nes"} {"level":"debug","time":"2026-01-09T14:33:45+01:00","caller":"/build/pkg/zapscript/commands.go:191","message":"found file: /userdata/roms/nes/Kunio-kun no Nekketsu Soccer League (AR) .nes"} {"level":"debug","time":"2026-01-09T14:33:45+01:00","caller":"/build/pkg/zapscript/launch.go:444","message":"launching found system path: /userdata/roms/nes/Kunio-kun no Nekketsu Soccer League (AR) .nes"} {"level":"info","time":"2026-01-09T14:33:45+01:00","caller":"/build/pkg/platforms/batocera/platform.go:467","message":"launch media: /userdata/roms/nes/Kunio-kun no Nekketsu Soccer League (AR) .nes"} {"level":"info","time":"2026-01-09T14:33:45+01:00","caller":"/build/pkg/platforms/batocera/platform.go:504","message":"launch media: using launcher NES for: /userdata/roms/nes/Kunio-kun no Nekketsu Soccer League (AR) .nes"} {"level":"debug","time":"2026-01-09T14:33:45+01:00","caller":"/build/pkg/platforms/launch.go:70","message":"launching with: &{0x285a570 0x28581a0 NES NES [nes] [] [.nes .unif .unf .zip .7z] 0 false false}"} {"level":"info","time":"2026-01-09T14:33:45+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T14:33:45+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"info","time":"2026-01-09T14:33:45+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"info","time":"2026-01-09T14:33:45+01:00","caller":"/build/pkg/platforms/launch.go:174","message":"DoLaunch setting ActiveMedia: SystemID='NES', SystemName='NES', Path='/userdata/roms/nes/Kunio-kun no Nekketsu Soccer League (AR) .nes', Name='Kunio-kun no Nekketsu Soccer League', LauncherID='NES'"} {"level":"debug","time":"2026-01-09T14:33:45+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.started"} {"level":"debug","dbid":26,"time":"2026-01-09T14:33:45+01:00","caller":"/build/pkg/service/service.go:480","message":"created media history entry"} {"level":"debug","time":"2026-01-09T14:33:46+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"debug","token":{"ScanTime":"2026-01-09T14:33:45.114784698+01:00","Type":"NTAG","UID":"1daad36e0f1080","Text":"NES/Kunio-kun no Nekketsu Soccer League (AR) .nes","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-09T14:33:47+01:00","caller":"/build/pkg/zapscript/commands.go:367","message":"cmd launch: clearing current playlist"} {"level":"debug","token":{"ScanTime":"2026-01-09T14:33:45.114784698+01:00","Type":"NTAG","UID":"1daad36e0f1080","Text":"NES/Kunio-kun no Nekketsu Soccer League (AR) .nes","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-09T14:33:47+01:00","caller":"/build/pkg/service/queues.go:118","message":"media changed, updating token"} {"level":"info","time":"2026-01-09T14:33:47+01:00","caller":"/build/pkg/service/queues.go:119","message":"current media launched set to: 1daad36e0f1080"} {"level":"debug","time":"2026-01-09T14:33:47+01:00","caller":"/build/pkg/service/readers.go:381","message":"new software token: &{0x4000210780 0x40003bc2d0 0x4000288fc0 map[pn532_uart:/dev/ttyUSB0:0x400027c300] 0x211f8b0 0x4000295260 0x269d7e0 0x4000355580 0x40003b89a0 0x4000010420 d70cc315-5ac3-4eaa-a1f6-48567688e4c4 {{14001795481539672506 105012020029 0x3a15a60} NTAG 1daad36e0f1080 NES/Kunio-kun no Nekketsu Soccer League (AR) .nes pn532uart:/dev/ttyUSB0 false false} {{14001795481539672506 105012020029 0x3a15a60} NTAG 1daad36e0f1080 NES/Kunio-kun no Nekketsu Soccer League (AR) .nes pn532uart:/dev/ttyUSB0 false false} {{{{} {0 0}} 0 0 {{} 0} {{} 0}}} false true}"} {"level":"debug","time":"2026-01-09T14:33:48+01:00","caller":"/build/pkg/api/server.go:903","message":"websocket origin: http://localhost"} {"level":"debug","time":"2026-01-09T14:33:48+01:00","caller":"/build/pkg/api/server.go:449","message":"websocket origin: http://localhost allowed (explicit match)"} {"level":"debug","request":{"jsonrpc":"2.0","id":"452ac2c7-bc69-4206-be61-dc42fc624ef3","method":"media"},"time":"2026-01-09T14:33:48+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T14:33:48+01:00","caller":"/build/pkg/api/methods/media.go:625","message":"received media request"} {"level":"debug","result":{"database":{"totalMedia":18,"exists":true,"indexing":false,"optimizing":false},"active":[{"started":"2026-01-09T14:33:45.438170768+01:00","launcherId":"NES","systemId":"NES","systemName":"NES","mediaPath":"/userdata/roms/nes/Kunio-kun no Nekketsu Soccer League (AR) .nes","mediaName":"Kunio-kun no Nekketsu Soccer League"}]},"time":"2026-01-09T14:33:48+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"d53f2677-b634-418d-a353-d31b073b9ff5","method":"tokens"},"time":"2026-01-09T14:33:48+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T14:33:48+01:00","caller":"/build/pkg/api/methods/history.go:31","message":"received tokens request"} {"level":"debug","result":{"last":{"scanTime":"2026-01-09T14:33:45.114784698+01:00","type":"NTAG","uid":"1daad36e0f1080","text":"NES/Kunio-kun no Nekketsu Soccer League (AR) .nes","data":""},"active":[{"scanTime":"2026-01-09T14:33:45.114784698+01:00","type":"NTAG","uid":"1daad36e0f1080","text":"NES/Kunio-kun no Nekketsu Soccer League (AR) .nes","data":""}]},"time":"2026-01-09T14:33:48+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"6a627547-fe7d-4197-a211-f612c7e11917","method":"run","params":{"uid":"**stop","text":"**stop","unsafe":false}},"time":"2026-01-09T14:33:55+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T14:33:55+01:00","caller":"/build/pkg/api/methods/run.go:50","message":"received run request"} {"level":"debug","time":"2026-01-09T14:33:55+01:00","caller":"/build/pkg/api/methods/run.go:67","message":"unmarshalled run params: {Type: UID:0x400079e310 Text:0x400079e320 Data: Unsafe:false}"} {"level":"debug","time":"2026-01-09T14:33:55+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"debug","result":{},"time":"2026-01-09T14:33:55+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"info","time":"2026-01-09T14:33:55+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 14:33:55.307957954 +0100 CET m=+115.205193285 **stop **stop true false}"} {"level":"debug","time":"2026-01-09T14:33:55+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"info","time":"2026-01-09T14:33:55+01:00","caller":"/build/pkg/service/queues.go:72","message":"running script (1 cmds): **stop"} {"level":"info","time":"2026-01-09T14:33:55+01:00","caller":"/build/pkg/zapscript/commands.go:355","message":"running command: {{map[]} stop []}"} {"level":"info","time":"2026-01-09T14:33:55+01:00","caller":"/build/pkg/zapscript/utils.go:49","message":"stopping media"} {"level":"info","time":"2026-01-09T14:33:55+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T14:33:55+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"info","time":"2026-01-09T14:33:55+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"debug","time":"2026-01-09T14:33:55+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.stopped"} {"level":"debug","token":{"ScanTime":"2026-01-09T14:33:55.307957954+01:00","Type":"","UID":"**stop","Text":"**stop","Data":"","Source":"","FromAPI":true,"Unsafe":false},"time":"2026-01-09T14:33:55+01:00","caller":"/build/pkg/zapscript/commands.go:367","message":"cmd launch: clearing current playlist"} {"level":"debug","dbid":26,"playTime":10,"time":"2026-01-09T14:33:55+01:00","caller":"/build/pkg/service/service.go:513","message":"closed media history entry"} {"level":"debug","time":"2026-01-09T14:33:56+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"info","time":"2026-01-09T14:33:57+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T14:33:57+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:33:57+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T14:33:57+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"info","time":"2026-01-09T14:34:02+01:00","caller":"/build/pkg/platforms/batocera/tracker.go:348","message":"detected game launched externally: Kunio-kun no Nekketsu Soccer League (AR) "} {"level":"debug","time":"2026-01-09T14:34:02+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.started"} {"level":"debug","dbid":27,"time":"2026-01-09T14:34:02+01:00","caller":"/build/pkg/service/service.go:480","message":"created media history entry"} {"level":"info","time":"2026-01-09T14:34:09+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T14:34:09+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T14:34:09+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T14:34:09+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1dabd36e0f1080","manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:34:09+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1dabd36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:34:09+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T14:34:09+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T14:34:09+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"debug","uid":"1dabd36e0f1080","recordCount":1,"recordType":"text","hasText":true,"hasURI":false,"payloadLen":25,"time":"2026-01-09T14:34:09+01:00","caller":"/build/pkg/readers/pn532/tags.go:107","message":"NDEF: processing records"} {"level":"info","time":"2026-01-09T14:34:09+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"info","time":"2026-01-09T14:34:09+01:00","caller":"/build/pkg/readers/pn532/pn532.go:440","message":"NDEF text: @NES/Captain Tsubasa 2"} {"level":"debug","time":"2026-01-09T14:34:09+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x40002971f0 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:34:09+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 14:34:09.453901906 +0100 CET m=+129.351137290 NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T14:34:09+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T14:34:09+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 14:34:09.453901906 +0100 CET m=+129.351137290 NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:34:09+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 14:34:09.453901906 +0100 CET m=+129.351137290 NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:34:09+01:00","caller":"/build/pkg/service/queues.go:72","message":"running script (1 cmds): @NES/Captain Tsubasa 2"} {"level":"info","time":"2026-01-09T14:34:09+01:00","caller":"/build/pkg/zapscript/commands.go:355","message":"running command: {{map[]} launch.title [NES/Captain Tsubasa 2]}"} {"level":"debug","time":"2026-01-09T14:34:09+01:00","caller":"/build/pkg/zapscript/titles.go:101","message":"using 1 launcher(s) for file type prioritization"} {"level":"info","time":"2026-01-09T14:34:09+01:00","caller":"/build/pkg/zapscript/titles.go:146","message":"searching for slug 'captaintsubasa2' in system 'NES'"} {"level":"info","time":"2026-01-09T14:34:09+01:00","caller":"/build/pkg/zapscript/titles/selection.go:50","message":"single result, confidence: 1.00 (match: 1.00, tags: 1.00)"} {"level":"debug","strategy":"strategy_exact_match","query":"captaintsubasa2","result_count":1,"confidence":1,"time":"2026-01-09T14:34:09+01:00","caller":"/build/pkg/zapscript/titles.go:195","message":"match found via exact match strategy"} {"level":"info","time":"2026-01-09T14:34:09+01:00","caller":"/build/pkg/zapscript/titles.go:199","message":"high confidence match (1.00), launching immediately"} {"level":"debug","system_id":"NES","slug":"captaintsubasa2","media_dbid":8,"strategy":"strategy_exact_match","time":"2026-01-09T14:34:09+01:00","caller":"/build/pkg/database/mediadb/slug_cache.go:146","message":"cached slug resolution"} {"level":"info","time":"2026-01-09T14:34:09+01:00","caller":"/build/pkg/platforms/batocera/platform.go:467","message":"launch media: /userdata/roms/nes/Captain Tsubasa 2 (AR).nes"} {"level":"info","time":"2026-01-09T14:34:09+01:00","caller":"/build/pkg/platforms/batocera/platform.go:488","message":"exiting current media"} {"level":"info","time":"2026-01-09T14:34:09+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T14:34:09+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"debug","time":"2026-01-09T14:34:10+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #2"} {"level":"debug","time":"2026-01-09T14:34:10+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"debug","time":"2026-01-09T14:34:11+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #3"} {"level":"debug","time":"2026-01-09T14:34:12+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #4"} {"level":"info","time":"2026-01-09T14:34:12+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T14:34:12+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:34:12+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T14:34:12+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"debug","time":"2026-01-09T14:34:13+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #5"} {"level":"info","time":"2026-01-09T14:34:14+01:00","caller":"/build/pkg/platforms/batocera/tracker.go:310","message":"detected game closed externally"} {"level":"debug","time":"2026-01-09T14:34:14+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.stopped"} {"level":"debug","dbid":27,"playTime":12,"time":"2026-01-09T14:34:14+01:00","caller":"/build/pkg/service/service.go:513","message":"closed media history entry"} {"level":"info","time":"2026-01-09T14:34:14+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"info","time":"2026-01-09T14:34:16+01:00","caller":"/build/pkg/platforms/batocera/platform.go:504","message":"launch media: using launcher NES for: /userdata/roms/nes/Captain Tsubasa 2 (AR).nes"} {"level":"debug","time":"2026-01-09T14:34:16+01:00","caller":"/build/pkg/platforms/launch.go:70","message":"launching with: &{0x285a570 0x28581a0 NES NES [nes] [] [.nes .unif .unf .zip .7z] 0 false false}"} {"level":"info","time":"2026-01-09T14:34:16+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T14:34:16+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"info","time":"2026-01-09T14:34:17+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"info","time":"2026-01-09T14:34:17+01:00","caller":"/build/pkg/platforms/launch.go:174","message":"DoLaunch setting ActiveMedia: SystemID='NES', SystemName='NES', Path='/userdata/roms/nes/Captain Tsubasa 2 (AR).nes', Name='Captain Tsubasa 2', LauncherID='NES'"} {"level":"debug","time":"2026-01-09T14:34:17+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.started"} {"level":"debug","dbid":28,"time":"2026-01-09T14:34:17+01:00","caller":"/build/pkg/service/service.go:480","message":"created media history entry"} {"level":"info","time":"2026-01-09T14:34:18+01:00","caller":"/build/pkg/platforms/batocera/tracker.go:348","message":"detected game launched externally: Captain Tsubasa 2 (AR)"} {"level":"debug","token":{"ScanTime":"2026-01-09T14:34:09.453901906+01:00","Type":"NTAG","UID":"1dabd36e0f1080","Text":"@NES/Captain Tsubasa 2","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-09T14:34:19+01:00","caller":"/build/pkg/zapscript/commands.go:367","message":"cmd launch: clearing current playlist"} {"level":"debug","token":{"ScanTime":"2026-01-09T14:34:09.453901906+01:00","Type":"NTAG","UID":"1dabd36e0f1080","Text":"@NES/Captain Tsubasa 2","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-09T14:34:19+01:00","caller":"/build/pkg/service/queues.go:118","message":"media changed, updating token"} {"level":"info","time":"2026-01-09T14:34:19+01:00","caller":"/build/pkg/service/queues.go:119","message":"current media launched set to: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-09T14:34:19+01:00","caller":"/build/pkg/service/readers.go:381","message":"new software token: &{0x4000210780 0x40003bc2d0 0x4000293b20 map[pn532_uart:/dev/ttyUSB0:0x400027c300] 0x211f8b0 0x40002aa690 0x269d7e0 0x4000355580 0x40003b89a0 0x4000010420 d70cc315-5ac3-4eaa-a1f6-48567688e4c4 {{14001795507648593490 129351137290 0x3a15a60} NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false} {{0 0 } false false} {{{{} {0 0}} 0 0 {{} 0} {{} 0}}} false true}"} {"level":"info","time":"2026-01-09T14:34:34+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1da6d36e0f1080)"} {"level":"debug","uid":"1da6d36e0f1080","time":"2026-01-09T14:34:34+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1da6d36e0f1080","time":"2026-01-09T14:34:34+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1da6d36e0f1080","time":"2026-01-09T14:34:34+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1da6d36e0f1080","manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:34:34+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1da6d36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:34:34+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1da6d36e0f1080","time":"2026-01-09T14:34:34+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","uid":"1da6d36e0f1080","time":"2026-01-09T14:34:34+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"debug","uid":"1da6d36e0f1080","recordCount":1,"recordType":"text","hasText":true,"hasURI":false,"payloadLen":25,"time":"2026-01-09T14:34:34+01:00","caller":"/build/pkg/readers/pn532/tags.go:107","message":"NDEF: processing records"} {"level":"info","time":"2026-01-09T14:34:34+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1da6d36e0f1080"} {"level":"info","time":"2026-01-09T14:34:34+01:00","caller":"/build/pkg/readers/pn532/pn532.go:440","message":"NDEF text: @NES/Captain Tsubasa 2"} {"level":"debug","time":"2026-01-09T14:34:34+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x4000292070 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:34:34+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 14:34:34.980236764 +0100 CET m=+154.877472095 NTAG 1da6d36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T14:34:34+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T14:34:34+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 14:34:34.980236764 +0100 CET m=+154.877472095 NTAG 1da6d36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:34:34+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 14:34:34.980236764 +0100 CET m=+154.877472095 NTAG 1da6d36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:34:34+01:00","caller":"/build/pkg/service/mappings.go:162","message":"launching with db/cfg id match override"} {"level":"info","time":"2026-01-09T14:34:34+01:00","caller":"/build/pkg/service/mappings.go:162","message":"launching with db/cfg id match override"} {"level":"info","time":"2026-01-09T14:34:34+01:00","caller":"/build/pkg/service/queues.go:62","message":"found mapping: @MasterSystem/Wonder Boy in Monster Land"} {"level":"info","time":"2026-01-09T14:34:34+01:00","caller":"/build/pkg/service/queues.go:72","message":"running script (1 cmds): @MasterSystem/Wonder Boy in Monster Land"} {"level":"info","time":"2026-01-09T14:34:34+01:00","caller":"/build/pkg/zapscript/commands.go:355","message":"running command: {{map[]} launch.title [MasterSystem/Wonder Boy in Monster Land]}"} {"level":"debug","time":"2026-01-09T14:34:34+01:00","caller":"/build/pkg/zapscript/titles.go:101","message":"using 1 launcher(s) for file type prioritization"} {"level":"info","time":"2026-01-09T14:34:34+01:00","caller":"/build/pkg/zapscript/titles.go:146","message":"searching for slug 'wonderboyinmonsterland' in system 'MasterSystem'"} {"level":"info","time":"2026-01-09T14:34:35+01:00","caller":"/build/pkg/zapscript/titles/selection.go:50","message":"single result, confidence: 1.00 (match: 1.00, tags: 1.00)"} {"level":"debug","strategy":"strategy_exact_match","query":"wonderboyinmonsterland","result_count":1,"confidence":1,"time":"2026-01-09T14:34:35+01:00","caller":"/build/pkg/zapscript/titles.go:195","message":"match found via exact match strategy"} {"level":"info","time":"2026-01-09T14:34:35+01:00","caller":"/build/pkg/zapscript/titles.go:199","message":"high confidence match (1.00), launching immediately"} {"level":"debug","system_id":"MasterSystem","slug":"wonderboyinmonsterland","media_dbid":6,"strategy":"strategy_exact_match","time":"2026-01-09T14:34:35+01:00","caller":"/build/pkg/database/mediadb/slug_cache.go:146","message":"cached slug resolution"} {"level":"info","time":"2026-01-09T14:34:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:467","message":"launch media: /userdata/roms/mastersystem/Wonder Boy in Monster Land (UE) (V1.1) [!].sms"} {"level":"info","time":"2026-01-09T14:34:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:488","message":"exiting current media"} {"level":"info","time":"2026-01-09T14:34:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T14:34:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"debug","time":"2026-01-09T14:34:36+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #2"} {"level":"debug","time":"2026-01-09T14:34:36+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"debug","time":"2026-01-09T14:34:37+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #3"} {"level":"debug","time":"2026-01-09T14:34:38+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #4"} {"level":"debug","time":"2026-01-09T14:34:39+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #5"} {"level":"info","time":"2026-01-09T14:34:40+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"debug","time":"2026-01-09T14:34:40+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.stopped"} {"level":"debug","dbid":28,"playTime":23,"time":"2026-01-09T14:34:40+01:00","caller":"/build/pkg/service/service.go:513","message":"closed media history entry"} {"level":"info","time":"2026-01-09T14:34:42+01:00","caller":"/build/pkg/platforms/batocera/platform.go:504","message":"launch media: using launcher MasterSystem for: /userdata/roms/mastersystem/Wonder Boy in Monster Land (UE) (V1.1) [!].sms"} {"level":"debug","time":"2026-01-09T14:34:42+01:00","caller":"/build/pkg/platforms/launch.go:70","message":"launching with: &{0x285a570 0x28581a0 MasterSystem MasterSystem [mastersystem] [] [.bin .sms .zip .7z] 0 false false}"} {"level":"info","time":"2026-01-09T14:34:42+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T14:34:42+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"info","time":"2026-01-09T14:34:42+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"info","time":"2026-01-09T14:34:42+01:00","caller":"/build/pkg/platforms/launch.go:174","message":"DoLaunch setting ActiveMedia: SystemID='MasterSystem', SystemName='Master System', Path='/userdata/roms/mastersystem/Wonder Boy in Monster Land (UE) (V1.1) [!].sms', Name='Wonder Boy in Monster Land', LauncherID='MasterSystem'"} {"level":"debug","time":"2026-01-09T14:34:42+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.started"} {"level":"debug","dbid":29,"time":"2026-01-09T14:34:42+01:00","caller":"/build/pkg/service/service.go:480","message":"created media history entry"} {"level":"debug","token":{"ScanTime":"2026-01-09T14:34:34.980236764+01:00","Type":"NTAG","UID":"1da6d36e0f1080","Text":"@MasterSystem/Wonder Boy in Monster Land","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-09T14:34:44+01:00","caller":"/build/pkg/zapscript/commands.go:367","message":"cmd launch: clearing current playlist"} {"level":"debug","token":{"ScanTime":"2026-01-09T14:34:34.980236764+01:00","Type":"NTAG","UID":"1da6d36e0f1080","Text":"@MasterSystem/Wonder Boy in Monster Land","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-09T14:34:44+01:00","caller":"/build/pkg/service/queues.go:118","message":"media changed, updating token"} {"level":"info","time":"2026-01-09T14:34:44+01:00","caller":"/build/pkg/service/queues.go:119","message":"current media launched set to: 1da6d36e0f1080"} {"level":"debug","time":"2026-01-09T14:34:44+01:00","caller":"/build/pkg/service/readers.go:381","message":"new software token: &{0x4000210780 0x40003bc2d0 0x400027e620 map[pn532_uart:/dev/ttyUSB0:0x400027c300] 0x211f8b0 0x400027ee00 0x269d7e0 0x4000355580 0x40003b89a0 0x4000010420 d70cc315-5ac3-4eaa-a1f6-48567688e4c4 {{14001795535018473948 154877472095 0x3a15a60} NTAG 1da6d36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false} {{14001795535018473948 154877472095 0x3a15a60} NTAG 1da6d36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false} {{{{} {0 0}} 0 0 {{} 0} {{} 0}}} false true}"} {"level":"info","time":"2026-01-09T14:34:44+01:00","caller":"/build/pkg/platforms/batocera/tracker.go:348","message":"detected game launched externally: Wonder Boy in Monster Land (UE) (V1.1) [!]"} {"level":"info","time":"2026-01-09T14:34:45+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T14:34:45+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:34:45+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T14:34:45+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"debug","request":{"jsonrpc":"2.0","id":"96d5cb37-3841-477a-824f-2dbeaa1a86ba","method":"systems"},"time":"2026-01-09T14:34:47+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T14:34:47+01:00","caller":"/build/pkg/api/methods/systems.go:31","message":"received systems request"} {"level":"debug","result":{"systems":[{"releaseDate":"1989-04-10","manufacturer":"IBM","id":"DOS","name":"PC (DOS)","category":"Computer"},{"releaseDate":"1988-10-29","manufacturer":"Sega","id":"Genesis","name":"Genesis","category":"Console"},{"releaseDate":"1985-10-20","manufacturer":"Sega","id":"MasterSystem","name":"Master System","category":"Console"},{"releaseDate":"1985-10-18","manufacturer":"Nintendo","id":"NES","name":"NES","category":"Console"},{"id":"PC","name":"PC","category":"Computer"},{"releaseDate":"1990-11-21","manufacturer":"Nintendo","id":"SNES","name":"SNES","category":"Console"}]},"time":"2026-01-09T14:34:47+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"5aced677-9f11-4366-bebb-94fb2227aaef","method":"systems"},"time":"2026-01-09T14:34:48+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T14:34:48+01:00","caller":"/build/pkg/api/methods/systems.go:31","message":"received systems request"} {"level":"debug","result":{"systems":[{"releaseDate":"1989-04-10","manufacturer":"IBM","id":"DOS","name":"PC (DOS)","category":"Computer"},{"releaseDate":"1988-10-29","manufacturer":"Sega","id":"Genesis","name":"Genesis","category":"Console"},{"releaseDate":"1985-10-20","manufacturer":"Sega","id":"MasterSystem","name":"Master System","category":"Console"},{"releaseDate":"1985-10-18","manufacturer":"Nintendo","id":"NES","name":"NES","category":"Console"},{"id":"PC","name":"PC","category":"Computer"},{"releaseDate":"1990-11-21","manufacturer":"Nintendo","id":"SNES","name":"SNES","category":"Console"}]},"time":"2026-01-09T14:34:48+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"2db41369-b961-49d4-a19a-0fac019aeed7","method":"media"},"time":"2026-01-09T14:34:48+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T14:34:48+01:00","caller":"/build/pkg/api/methods/media.go:625","message":"received media request"} {"level":"debug","result":{"database":{"totalMedia":18,"exists":true,"indexing":false,"optimizing":false},"active":[{"started":"2026-01-09T14:34:42.498308373+01:00","launcherId":"MasterSystem","systemId":"MasterSystem","systemName":"Master System","mediaPath":"/userdata/roms/mastersystem/Wonder Boy in Monster Land (UE) (V1.1) [!].sms","mediaName":"Wonder Boy in Monster Land"}]},"time":"2026-01-09T14:34:48+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"14848674-144e-41f6-b49a-34252ce70a9f","method":"media.tags","params":{"systems":[]}},"time":"2026-01-09T14:34:48+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T14:34:48+01:00","caller":"/build/pkg/api/methods/media.go:576","message":"received media tags request"} {"level":"debug","result":{"tags":[{"tag":"verified","type":"dump"},{"tag":"gen","type":"extension"},{"tag":"nes","type":"extension"},{"tag":"py","type":"extension"},{"tag":"sfc","type":"extension"},{"tag":"sh","type":"extension"},{"tag":"sms","type":"extension"},{"tag":"wad","type":"extension"},{"tag":"ar","type":"lang"},{"tag":"en","type":"lang"},{"tag":"eu","type":"region"},{"tag":"us","type":"region"},{"tag":"world","type":"region"},{"tag":"1","type":"rev"},{"tag":"1-1","type":"rev"},{"tag":"1-3","type":"rev"}]},"time":"2026-01-09T14:34:48+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"1e401d12-0c2b-4290-93b2-067ec3ee7af4","method":"media.search","params":{"query":"E","systems":[],"tags":[],"maxResults":100}},"time":"2026-01-09T14:34:53+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T14:34:53+01:00","caller":"/build/pkg/api/methods/media.go:416","message":"received media search request"} {"level":"debug","result":{"pagination":{"hasNextPage":false,"pageSize":100},"results":[{"system":{"releaseDate":"1988-10-29","manufacturer":"Sega","id":"Genesis","name":"Genesis","category":"Console"},"name":"Shadow Dancer - The Secret of Shinobi","path":"/userdata/roms/megadrive/Shadow Dancer - The Secret of Shinobi (World).gen","zapScript":"@Genesis/Shadow Dancer - The Secret of Shinobi","tags":[{"tag":"gen","type":"extension"},{"tag":"world","type":"region"}]},{"system":{"releaseDate":"1988-10-29","manufacturer":"Sega","id":"Genesis","name":"Genesis","category":"Console"},"name":"Sonic The Hedgehog","path":"/userdata/roms/megadrive/Sonic The Hedgehog (USA, Europe).gen","zapScript":"@Genesis/Sonic The Hedgehog","tags":[{"tag":"gen","type":"extension"},{"tag":"en","type":"lang"},{"tag":"eu","type":"region"},{"tag":"us","type":"region"}]},{"system":{"releaseDate":"1985-10-20","manufacturer":"Sega","id":"MasterSystem","name":"Master System","category":"Console"},"name":"Wonder Boy","path":"/userdata/roms/mastersystem/Wonder Boy (USA, Europe).sms","zapScript":"@MasterSystem/Wonder Boy","tags":[{"tag":"sms","type":"extension"},{"tag":"en","type":"lang"},{"tag":"eu","type":"region"},{"tag":"us","type":"region"}]},{"system":{"releaseDate":"1985-10-20","manufacturer":"Sega","id":"MasterSystem","name":"Master System","category":"Console"},"name":"Wonder Boy in Monster Land","path":"/userdata/roms/mastersystem/Wonder Boy in Monster Land (UE) (V1.1) [!].sms","zapScript":"@MasterSystem/Wonder Boy in Monster Land","tags":[{"tag":"verified","type":"dump"},{"tag":"sms","type":"extension"},{"tag":"1-1","type":"rev"}]},{"system":{"releaseDate":"1985-10-18","manufacturer":"Nintendo","id":"NES","name":"NES","category":"Console"},"name":"Adventure Island","path":"/userdata/roms/nes/Adventure Island .nes","zapScript":"@NES/Adventure Island","tags":[{"tag":"nes","type":"extension"}]},{"system":{"releaseDate":"1985-10-18","manufacturer":"Nintendo","id":"NES","name":"NES","category":"Console"},"name":"Exciting Basket","path":"/userdata/roms/nes/Exciting Basket.nes","zapScript":"@NES/Exciting Basket","tags":[{"tag":"nes","type":"extension"}]},{"system":{"releaseDate":"1985-10-18","manufacturer":"Nintendo","id":"NES","name":"NES","category":"Console"},"name":"Kunio-kun no Nekketsu Soccer League","path":"/userdata/roms/nes/Kunio-kun no Nekketsu Soccer League (AR) .nes","zapScript":"@NES/Kunio-kun no Nekketsu Soccer League","tags":[{"tag":"nes","type":"extension"},{"tag":"ar","type":"lang"}]},{"system":{"releaseDate":"1985-10-18","manufacturer":"Nintendo","id":"NES","name":"NES","category":"Console"},"name":"Super Mario Bros. 2","path":"/userdata/roms/nes/Super Mario Bros. 2 (USA).nes","zapScript":"@NES/Super Mario Bros. 2","tags":[{"tag":"nes","type":"extension"},{"tag":"en","type":"lang"},{"tag":"us","type":"region"}]},{"system":{"releaseDate":"1985-10-18","manufacturer":"Nintendo","id":"NES","name":"NES","category":"Console"},"name":"Super Mario Bros. 3","path":"/userdata/roms/nes/Super Mario Bros. 3 (USA).nes","zapScript":"@NES/Super Mario Bros. 3","tags":[{"tag":"nes","type":"extension"},{"tag":"en","type":"lang"},{"tag":"us","type":"region"}]},{"system":{"releaseDate":"1985-10-18","manufacturer":"Nintendo","id":"NES","name":"NES","category":"Console"},"name":"Super Mario Bros. + Duck Hunt + World Class Track Meet","path":"/userdata/roms/nes/Super Mario Bros. + Duck Hunt + World Class Track Meet (USA) (Rev 1).nes","zapScript":"@NES/Super Mario Bros. + Duck Hunt + World Class Track Meet","tags":[{"tag":"nes","type":"extension"},{"tag":"en","type":"lang"},{"tag":"us","type":"region"},{"tag":"1","type":"rev"}]},{"system":{"id":"PC","name":"PC","category":"Computer"},"name":"gamelists","path":"/userdata/roms/pygame/retrotrivia/gamelists.py","zapScript":"@PC/gamelists","tags":[{"tag":"py","type":"extension"}]},{"system":{"id":"PC","name":"PC","category":"Computer"},"name":"questions","path":"/userdata/roms/pygame/retrotrivia/questions.py","zapScript":"@PC/questions","tags":[{"tag":"py","type":"extension"}]},{"system":{"id":"PC","name":"PC","category":"Computer"},"name":"videoplayer","path":"/userdata/roms/pygame/retrotrivia/videoplayer.py","zapScript":"@PC/videoplayer","tags":[{"tag":"py","type":"extension"}]},{"system":{"releaseDate":"1990-11-21","manufacturer":"Nintendo","id":"SNES","name":"SNES","category":"Console"},"name":"Super Mario World","path":"/userdata/roms/snes/Super Mario World (USA).sfc","zapScript":"@SNES/Super Mario World","tags":[{"tag":"sfc","type":"extension"},{"tag":"en","type":"lang"},{"tag":"us","type":"region"}]}],"total":14},"time":"2026-01-09T14:34:53+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","dbid":29,"playTime":17,"time":"2026-01-09T14:35:00+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","request":{"jsonrpc":"2.0","id":"473b58ff-0899-4409-abde-6c2139fd8ec8","method":"media.search","params":{"query":"","systems":["NES"],"tags":[],"maxResults":100}},"time":"2026-01-09T14:35:06+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T14:35:06+01:00","caller":"/build/pkg/api/methods/media.go:416","message":"received media search request"} {"level":"debug","result":{"pagination":{"hasNextPage":false,"pageSize":100},"results":[{"system":{"releaseDate":"1985-10-18","manufacturer":"Nintendo","id":"NES","name":"NES","category":"Console"},"name":"Adventure Island","path":"/userdata/roms/nes/Adventure Island .nes","zapScript":"@NES/Adventure Island","tags":[{"tag":"nes","type":"extension"}]},{"system":{"releaseDate":"1985-10-18","manufacturer":"Nintendo","id":"NES","name":"NES","category":"Console"},"name":"Captain Tsubasa 2","path":"/userdata/roms/nes/Captain Tsubasa 2 (AR).nes","zapScript":"@NES/Captain Tsubasa 2","tags":[{"tag":"nes","type":"extension"},{"tag":"ar","type":"lang"}]},{"system":{"releaseDate":"1985-10-18","manufacturer":"Nintendo","id":"NES","name":"NES","category":"Console"},"name":"Exciting Basket","path":"/userdata/roms/nes/Exciting Basket.nes","zapScript":"@NES/Exciting Basket","tags":[{"tag":"nes","type":"extension"}]},{"system":{"releaseDate":"1985-10-18","manufacturer":"Nintendo","id":"NES","name":"NES","category":"Console"},"name":"Kunio-kun no Nekketsu Soccer League","path":"/userdata/roms/nes/Kunio-kun no Nekketsu Soccer League (AR) .nes","zapScript":"@NES/Kunio-kun no Nekketsu Soccer League","tags":[{"tag":"nes","type":"extension"},{"tag":"ar","type":"lang"}]},{"system":{"releaseDate":"1985-10-18","manufacturer":"Nintendo","id":"NES","name":"NES","category":"Console"},"name":"Super Mario Bros. 2","path":"/userdata/roms/nes/Super Mario Bros. 2 (USA).nes","zapScript":"@NES/Super Mario Bros. 2","tags":[{"tag":"nes","type":"extension"},{"tag":"en","type":"lang"},{"tag":"us","type":"region"}]},{"system":{"releaseDate":"1985-10-18","manufacturer":"Nintendo","id":"NES","name":"NES","category":"Console"},"name":"Super Mario Bros. 3","path":"/userdata/roms/nes/Super Mario Bros. 3 (USA).nes","zapScript":"@NES/Super Mario Bros. 3","tags":[{"tag":"nes","type":"extension"},{"tag":"en","type":"lang"},{"tag":"us","type":"region"}]},{"system":{"releaseDate":"1985-10-18","manufacturer":"Nintendo","id":"NES","name":"NES","category":"Console"},"name":"Super Mario Bros. + Duck Hunt + World Class Track Meet","path":"/userdata/roms/nes/Super Mario Bros. + Duck Hunt + World Class Track Meet (USA) (Rev 1).nes","zapScript":"@NES/Super Mario Bros. + Duck Hunt + World Class Track Meet","tags":[{"tag":"nes","type":"extension"},{"tag":"en","type":"lang"},{"tag":"us","type":"region"},{"tag":"1","type":"rev"}]}],"total":7},"time":"2026-01-09T14:35:06+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"9ebb0630-c6ca-4fea-b0c9-3c9e854bf9cc","method":"readers"},"time":"2026-01-09T14:35:11+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T14:35:11+01:00","caller":"/build/pkg/api/methods/readers.go:126","message":"received readers request"} {"level":"debug","result":{"readers":[{"id":"pn532_uart:/dev/ttyUSB0","info":"PN532 (pn532uart:/dev/ttyUSB0)","capabilities":["write"],"connected":true}]},"time":"2026-01-09T14:35:11+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"aa0ea1fb-3859-470d-984c-190632986f0f","method":"run","params":{"uid":"1da9d36e0f1080","text":"@NES/Exciting Basket","unsafe":false}},"time":"2026-01-09T14:35:15+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T14:35:15+01:00","caller":"/build/pkg/api/methods/run.go:50","message":"received run request"} {"level":"debug","time":"2026-01-09T14:35:15+01:00","caller":"/build/pkg/api/methods/run.go:67","message":"unmarshalled run params: {Type: UID:0x4000040580 Text:0x4000040590 Data: Unsafe:false}"} {"level":"debug","time":"2026-01-09T14:35:15+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"debug","result":{},"time":"2026-01-09T14:35:15+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"info","time":"2026-01-09T14:35:15+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 14:35:15.387358983 +0100 CET m=+195.284594314 1da9d36e0f1080 @NES/Exciting Basket true false}"} {"level":"info","time":"2026-01-09T14:35:15+01:00","caller":"/build/pkg/service/queues.go:72","message":"running script (1 cmds): @NES/Exciting Basket"} {"level":"info","time":"2026-01-09T14:35:15+01:00","caller":"/build/pkg/zapscript/commands.go:355","message":"running command: {{map[]} launch.title [NES/Exciting Basket]}"} {"level":"debug","time":"2026-01-09T14:35:15+01:00","caller":"/build/pkg/zapscript/titles.go:101","message":"using 1 launcher(s) for file type prioritization"} {"level":"info","time":"2026-01-09T14:35:15+01:00","caller":"/build/pkg/zapscript/titles.go:146","message":"searching for slug 'excitingbasket' in system 'NES'"} {"level":"info","time":"2026-01-09T14:35:15+01:00","caller":"/build/pkg/zapscript/titles/selection.go:50","message":"single result, confidence: 1.00 (match: 1.00, tags: 1.00)"} {"level":"debug","strategy":"strategy_exact_match","query":"excitingbasket","result_count":1,"confidence":1,"time":"2026-01-09T14:35:15+01:00","caller":"/build/pkg/zapscript/titles.go:195","message":"match found via exact match strategy"} {"level":"info","time":"2026-01-09T14:35:15+01:00","caller":"/build/pkg/zapscript/titles.go:199","message":"high confidence match (1.00), launching immediately"} {"level":"debug","system_id":"NES","slug":"excitingbasket","media_dbid":9,"strategy":"strategy_exact_match","time":"2026-01-09T14:35:15+01:00","caller":"/build/pkg/database/mediadb/slug_cache.go:146","message":"cached slug resolution"} {"level":"info","time":"2026-01-09T14:35:15+01:00","caller":"/build/pkg/platforms/batocera/platform.go:467","message":"launch media: /userdata/roms/nes/Exciting Basket.nes"} {"level":"info","time":"2026-01-09T14:35:15+01:00","caller":"/build/pkg/platforms/batocera/platform.go:488","message":"exiting current media"} {"level":"info","time":"2026-01-09T14:35:15+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T14:35:15+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"debug","time":"2026-01-09T14:35:16+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #2"} {"level":"debug","time":"2026-01-09T14:35:16+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"debug","time":"2026-01-09T14:35:17+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #3"} {"level":"debug","time":"2026-01-09T14:35:18+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #4"} {"level":"debug","time":"2026-01-09T14:35:19+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #5"} {"level":"debug","request":{"jsonrpc":"2.0","id":"ac143ae4-0da0-4ff3-9ab7-b38dfa80c7b6","method":"readers"},"time":"2026-01-09T14:35:20+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T14:35:20+01:00","caller":"/build/pkg/api/methods/readers.go:126","message":"received readers request"} {"level":"debug","result":{"readers":[{"id":"pn532_uart:/dev/ttyUSB0","info":"PN532 (pn532uart:/dev/ttyUSB0)","capabilities":["write"],"connected":true}]},"time":"2026-01-09T14:35:20+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"info","time":"2026-01-09T14:35:20+01:00","caller":"/build/pkg/platforms/batocera/tracker.go:310","message":"detected game closed externally"} {"level":"debug","time":"2026-01-09T14:35:20+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.stopped"} {"level":"debug","dbid":29,"playTime":38,"time":"2026-01-09T14:35:20+01:00","caller":"/build/pkg/service/service.go:513","message":"closed media history entry"} {"level":"info","time":"2026-01-09T14:35:20+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"info","time":"2026-01-09T14:35:22+01:00","caller":"/build/pkg/platforms/batocera/platform.go:504","message":"launch media: using launcher NES for: /userdata/roms/nes/Exciting Basket.nes"} {"level":"debug","time":"2026-01-09T14:35:22+01:00","caller":"/build/pkg/platforms/launch.go:70","message":"launching with: &{0x285a570 0x28581a0 NES NES [nes] [] [.nes .unif .unf .zip .7z] 0 false false}"} {"level":"info","time":"2026-01-09T14:35:22+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T14:35:22+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"info","time":"2026-01-09T14:35:22+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"info","time":"2026-01-09T14:35:22+01:00","caller":"/build/pkg/platforms/launch.go:174","message":"DoLaunch setting ActiveMedia: SystemID='NES', SystemName='NES', Path='/userdata/roms/nes/Exciting Basket.nes', Name='Exciting Basket', LauncherID='NES'"} {"level":"debug","time":"2026-01-09T14:35:22+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.started"} {"level":"debug","dbid":30,"time":"2026-01-09T14:35:22+01:00","caller":"/build/pkg/service/service.go:480","message":"created media history entry"} {"level":"info","time":"2026-01-09T14:35:24+01:00","caller":"/build/pkg/platforms/batocera/tracker.go:348","message":"detected game launched externally: Exciting Basket"} {"level":"debug","token":{"ScanTime":"2026-01-09T14:35:15.387358983+01:00","Type":"","UID":"1da9d36e0f1080","Text":"@NES/Exciting Basket","Data":"","Source":"","FromAPI":true,"Unsafe":false},"time":"2026-01-09T14:35:24+01:00","caller":"/build/pkg/zapscript/commands.go:367","message":"cmd launch: clearing current playlist"} {"level":"info","time":"2026-01-09T14:35:32+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1da6d36e0f1080)"} {"level":"debug","uid":"1da6d36e0f1080","time":"2026-01-09T14:35:32+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1da6d36e0f1080","time":"2026-01-09T14:35:32+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1da6d36e0f1080","time":"2026-01-09T14:35:32+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1da6d36e0f1080","manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:35:32+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1da6d36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:35:32+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1da6d36e0f1080","time":"2026-01-09T14:35:32+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","uid":"1da6d36e0f1080","time":"2026-01-09T14:35:32+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"debug","uid":"1da6d36e0f1080","recordCount":1,"recordType":"text","hasText":true,"hasURI":false,"payloadLen":25,"time":"2026-01-09T14:35:32+01:00","caller":"/build/pkg/readers/pn532/tags.go:107","message":"NDEF: processing records"} {"level":"info","time":"2026-01-09T14:35:32+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1da6d36e0f1080"} {"level":"info","time":"2026-01-09T14:35:32+01:00","caller":"/build/pkg/readers/pn532/pn532.go:440","message":"NDEF text: @NES/Captain Tsubasa 2"} {"level":"debug","time":"2026-01-09T14:35:32+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x40002921c0 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:35:32+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 14:35:32.421234998 +0100 CET m=+212.318470329 NTAG 1da6d36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T14:35:32+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T14:35:32+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 14:35:32.421234998 +0100 CET m=+212.318470329 NTAG 1da6d36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:35:32+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 14:35:32.421234998 +0100 CET m=+212.318470329 NTAG 1da6d36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:35:32+01:00","caller":"/build/pkg/service/mappings.go:162","message":"launching with db/cfg id match override"} {"level":"info","time":"2026-01-09T14:35:32+01:00","caller":"/build/pkg/service/mappings.go:162","message":"launching with db/cfg id match override"} {"level":"info","time":"2026-01-09T14:35:32+01:00","caller":"/build/pkg/service/queues.go:62","message":"found mapping: @MasterSystem/Wonder Boy in Monster Land"} {"level":"info","time":"2026-01-09T14:35:32+01:00","caller":"/build/pkg/service/queues.go:72","message":"running script (1 cmds): @MasterSystem/Wonder Boy in Monster Land"} {"level":"info","time":"2026-01-09T14:35:32+01:00","caller":"/build/pkg/zapscript/commands.go:355","message":"running command: {{map[]} launch.title [MasterSystem/Wonder Boy in Monster Land]}"} {"level":"debug","time":"2026-01-09T14:35:32+01:00","caller":"/build/pkg/zapscript/titles.go:101","message":"using 1 launcher(s) for file type prioritization"} {"level":"info","time":"2026-01-09T14:35:32+01:00","caller":"/build/pkg/zapscript/titles.go:146","message":"searching for slug 'wonderboyinmonsterland' in system 'MasterSystem'"} {"level":"debug","system_id":"MasterSystem","slug":"wonderboyinmonsterland","media_dbid":6,"strategy":"strategy_exact_match","time":"2026-01-09T14:35:32+01:00","caller":"/build/pkg/database/mediadb/slug_cache.go:109","message":"slug resolution cache hit"} {"level":"info","time":"2026-01-09T14:35:32+01:00","caller":"/build/pkg/zapscript/titles.go:154","message":"slug resolution cache hit (strategy: strategy_exact_match)"} {"level":"info","time":"2026-01-09T14:35:32+01:00","caller":"/build/pkg/zapscript/titles.go:161","message":"resolved from cache: Wonder Boy in Monster Land (/userdata/roms/mastersystem/Wonder Boy in Monster Land (UE) (V1.1) [!].sms)"} {"level":"info","time":"2026-01-09T14:35:32+01:00","caller":"/build/pkg/platforms/batocera/platform.go:467","message":"launch media: /userdata/roms/mastersystem/Wonder Boy in Monster Land (UE) (V1.1) [!].sms"} {"level":"info","time":"2026-01-09T14:35:32+01:00","caller":"/build/pkg/platforms/batocera/platform.go:488","message":"exiting current media"} {"level":"info","time":"2026-01-09T14:35:32+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T14:35:32+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"debug","time":"2026-01-09T14:35:33+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #2"} {"level":"debug","time":"2026-01-09T14:35:33+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"debug","time":"2026-01-09T14:35:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #3"} {"level":"debug","time":"2026-01-09T14:35:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #4"} {"level":"debug","time":"2026-01-09T14:35:36+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #5"} {"level":"info","time":"2026-01-09T14:35:37+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"debug","time":"2026-01-09T14:35:37+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.stopped"} {"level":"debug","dbid":30,"playTime":14,"time":"2026-01-09T14:35:37+01:00","caller":"/build/pkg/service/service.go:513","message":"closed media history entry"} {"level":"info","time":"2026-01-09T14:35:39+01:00","caller":"/build/pkg/platforms/batocera/platform.go:504","message":"launch media: using launcher MasterSystem for: /userdata/roms/mastersystem/Wonder Boy in Monster Land (UE) (V1.1) [!].sms"} {"level":"debug","time":"2026-01-09T14:35:39+01:00","caller":"/build/pkg/platforms/launch.go:70","message":"launching with: &{0x285a570 0x28581a0 MasterSystem MasterSystem [mastersystem] [] [.bin .sms .zip .7z] 0 false false}"} {"level":"info","time":"2026-01-09T14:35:39+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T14:35:39+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"info","time":"2026-01-09T14:35:39+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"info","time":"2026-01-09T14:35:39+01:00","caller":"/build/pkg/platforms/launch.go:174","message":"DoLaunch setting ActiveMedia: SystemID='MasterSystem', SystemName='Master System', Path='/userdata/roms/mastersystem/Wonder Boy in Monster Land (UE) (V1.1) [!].sms', Name='Wonder Boy in Monster Land', LauncherID='MasterSystem'"} {"level":"debug","time":"2026-01-09T14:35:39+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.started"} {"level":"debug","dbid":31,"time":"2026-01-09T14:35:39+01:00","caller":"/build/pkg/service/service.go:480","message":"created media history entry"} {"level":"debug","token":{"ScanTime":"2026-01-09T14:35:32.421234998+01:00","Type":"NTAG","UID":"1da6d36e0f1080","Text":"@MasterSystem/Wonder Boy in Monster Land","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-09T14:35:41+01:00","caller":"/build/pkg/zapscript/commands.go:367","message":"cmd launch: clearing current playlist"} {"level":"debug","token":{"ScanTime":"2026-01-09T14:35:32.421234998+01:00","Type":"NTAG","UID":"1da6d36e0f1080","Text":"@MasterSystem/Wonder Boy in Monster Land","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-09T14:35:41+01:00","caller":"/build/pkg/service/queues.go:118","message":"media changed, updating token"} {"level":"info","time":"2026-01-09T14:35:41+01:00","caller":"/build/pkg/service/queues.go:119","message":"current media launched set to: 1da6d36e0f1080"} {"level":"debug","time":"2026-01-09T14:35:41+01:00","caller":"/build/pkg/service/readers.go:381","message":"new software token: &{0x4000210780 0x40003bc2d0 0x40002d3500 map[pn532_uart:/dev/ttyUSB0:0x400027c300] 0x211f8b0 0x40002f2310 0x269d7e0 0x4000355580 0x40003b89a0 0x4000010420 d70cc315-5ac3-4eaa-a1f6-48567688e4c4 {{14001795596736497974 212318470329 0x3a15a60} NTAG 1da6d36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false} {{14001795596736497974 212318470329 0x3a15a60} NTAG 1da6d36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false} {{{{} {0 0}} 0 0 {{} 0} {{} 0}}} false true}"} {"level":"info","time":"2026-01-09T14:35:42+01:00","caller":"/build/pkg/platforms/batocera/tracker.go:348","message":"detected game launched externally: Wonder Boy in Monster Land (UE) (V1.1) [!]"} {"level":"info","time":"2026-01-09T14:35:45+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T14:35:45+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:35:45+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T14:35:45+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"debug","dbid":31,"playTime":20,"time":"2026-01-09T14:36:00+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","time":"2026-01-09T14:36:29+01:00","caller":"/build/pkg/api/server.go:903","message":"websocket origin: http://localhost"} {"level":"debug","time":"2026-01-09T14:36:29+01:00","caller":"/build/pkg/api/server.go:449","message":"websocket origin: http://localhost allowed (explicit match)"} {"level":"debug","request":{"jsonrpc":"2.0","id":"81909f19-209e-433b-936e-6a7c4240883b","method":"systems"},"time":"2026-01-09T14:36:29+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T14:36:29+01:00","caller":"/build/pkg/api/methods/systems.go:31","message":"received systems request"} {"level":"debug","result":{"systems":[{"releaseDate":"1989-04-10","manufacturer":"IBM","id":"DOS","name":"PC (DOS)","category":"Computer"},{"releaseDate":"1988-10-29","manufacturer":"Sega","id":"Genesis","name":"Genesis","category":"Console"},{"releaseDate":"1985-10-20","manufacturer":"Sega","id":"MasterSystem","name":"Master System","category":"Console"},{"releaseDate":"1985-10-18","manufacturer":"Nintendo","id":"NES","name":"NES","category":"Console"},{"id":"PC","name":"PC","category":"Computer"},{"releaseDate":"1990-11-21","manufacturer":"Nintendo","id":"SNES","name":"SNES","category":"Console"}]},"time":"2026-01-09T14:36:29+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"41efc759-b43e-40c4-961d-960edd11a445","method":"media.tags","params":{"systems":[]}},"time":"2026-01-09T14:36:29+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T14:36:29+01:00","caller":"/build/pkg/api/methods/media.go:576","message":"received media tags request"} {"level":"debug","result":{"tags":[{"tag":"verified","type":"dump"},{"tag":"gen","type":"extension"},{"tag":"nes","type":"extension"},{"tag":"py","type":"extension"},{"tag":"sfc","type":"extension"},{"tag":"sh","type":"extension"},{"tag":"sms","type":"extension"},{"tag":"wad","type":"extension"},{"tag":"ar","type":"lang"},{"tag":"en","type":"lang"},{"tag":"eu","type":"region"},{"tag":"us","type":"region"},{"tag":"world","type":"region"},{"tag":"1","type":"rev"},{"tag":"1-1","type":"rev"},{"tag":"1-3","type":"rev"}]},"time":"2026-01-09T14:36:29+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"989fc078-8c2e-4000-98da-b9a6675560de","method":"media"},"time":"2026-01-09T14:36:29+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T14:36:29+01:00","caller":"/build/pkg/api/methods/media.go:625","message":"received media request"} {"level":"debug","result":{"database":{"totalMedia":18,"exists":true,"indexing":false,"optimizing":false},"active":[{"started":"2026-01-09T14:35:39.935321718+01:00","launcherId":"MasterSystem","systemId":"MasterSystem","systemName":"Master System","mediaPath":"/userdata/roms/mastersystem/Wonder Boy in Monster Land (UE) (V1.1) [!].sms","mediaName":"Wonder Boy in Monster Land"}]},"time":"2026-01-09T14:36:29+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"b47da6d4-fad5-4049-a278-2ecf96fb1364","method":"tokens"},"time":"2026-01-09T14:36:29+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T14:36:29+01:00","caller":"/build/pkg/api/methods/history.go:31","message":"received tokens request"} {"level":"debug","result":{"last":{"scanTime":"2026-01-09T14:35:32.421234998+01:00","type":"NTAG","uid":"1da6d36e0f1080","text":"@NES/Captain Tsubasa 2","data":""},"active":[]},"time":"2026-01-09T14:36:29+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"8f349192-e363-4228-8013-9f67ceed5805","method":"readers"},"time":"2026-01-09T14:36:32+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T14:36:32+01:00","caller":"/build/pkg/api/methods/readers.go:126","message":"received readers request"} {"level":"debug","result":{"readers":[{"id":"pn532_uart:/dev/ttyUSB0","info":"PN532 (pn532uart:/dev/ttyUSB0)","capabilities":["write"],"connected":true}]},"time":"2026-01-09T14:36:32+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","dbid":31,"playTime":80,"time":"2026-01-09T14:37:00+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","time":"2025-12-31T21:54:56+01:00","caller":"/build/pkg/config/config.go:119","message":"env config path: "} {"level":"debug","time":"2025-12-31T21:54:56+01:00","caller":"/build/internal/telemetry/telemetry.go:78","message":"error reporting disabled"} {"level":"debug","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/config/config.go:119","message":"env config path: /userdata/system/.config/zaparoo/config.toml"} {"level":"debug","time":"2025-12-31T21:54:57+01:00","caller":"/build/internal/telemetry/telemetry.go:78","message":"error reporting disabled"} {"level":"info","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/helpers/service.go:170","message":"starting service"} {"level":"info","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/service/service.go:193","message":"version: 2.8.0"} {"level":"info","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/service/service.go:197","message":"boot session UUID: 5c139eb8-c3e5-4e07-95f6-a2be0fb13797"} {"level":"info","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/service/service.go:67","message":"creating platform directories"} {"level":"info","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/service/service.go:217","message":"running platform pre start"} {"level":"debug","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/platforms/shared/linuxinput.go:70","message":"input devices initialized successfully"} {"level":"info","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/service/service.go:224","message":"opening databases"} {"level":"debug","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/service/service.go:93","message":"opening media database"} {"level":"debug","path":"/userdata/system/.local/share/zaparoo/media.db","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/database/mediadb/mediadb.go:159","message":"checking if media database file exists"} {"level":"debug","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/database/mediadb/mediadb.go:171","message":"opening media database connection"} {"level":"debug","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/database/mediadb/mediadb.go:186","message":"running media database PRAGMA optimize"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/mediadb/mediadb.go:193","message":"running media database WAL checkpoint"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:99","message":"running media database migrations"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:50","message":"waiting for migration mutex"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:52","message":"migration mutex acquired"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:58","message":"setting up goose logger"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:62","message":"setting goose base filesystem"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:65","message":"setting goose dialect to sqlite"} {"level":"debug","migration_dir":"migrations","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:70","message":"running goose up migrations"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:39","message":"goose: no migrations to run. current version: 20251001185734"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:55","message":"migration mutex released"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:107","message":"opening user database"} {"level":"debug","path":"/userdata/system/.local/share/zaparoo/user.db","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/userdb/userdb.go:58","message":"checking if database file exists"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/userdb/userdb.go:70","message":"opening user database connection"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:113","message":"running user database migrations"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:50","message":"waiting for migration mutex"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:52","message":"migration mutex acquired"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:58","message":"setting up goose logger"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:62","message":"setting goose base filesystem"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:65","message":"setting goose dialect to sqlite"} {"level":"debug","migration_dir":"migrations","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:70","message":"running goose up migrations"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/helpers/service.go:301","message":"service process started with PID 2253"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:39","message":"goose: no migrations to run. current version: 20251218223408"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:55","message":"migration mutex released"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:122","message":"checking for boltdb migration"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:136","message":"cleaning up scan history older than 30 days"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:144","message":"no old scan history entries to clean up"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:151","message":"closing hanging media history entries"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/userdb/media_history.go:329","message":"closed 1 hanging media history entries"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:159","message":"cleaning up media history older than 365 days"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:167","message":"no old media history entries to clean up"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:177","message":"pruning expired non-supporting zaplink hosts"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:185","message":"no expired zaplink hosts to prune"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:238","message":"initializing inbox service"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:242","message":"initializing playtime limits"} {"level":"debug","subscriber_id":0,"buffer_size":10,"time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/broker/broker.go:119","message":"new subscriber registered"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:258","message":"loading mapping files"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/playtime/limits.go:218","message":"playtime: notification handler started"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/config/configmappings.go:76","message":"found 0 mapping files"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/config/configmappings.go:104","message":"loaded 0 mapping files, 0 mappings"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:264","message":"loading custom launchers"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/config/configlaunchers.go:138","message":"found 0 custom launcher files"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/config/configlaunchers.go:166","message":"loaded 0 files, 0 custom launchers"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:270","message":"initializing launcher cache"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:273","message":"checking for interrupted media indexing"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:276","message":"checking for interrupted media optimization"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:279","message":"starting mDNS discovery service"} {"level":"info","instance":"BATOCERA","port":7497,"type":"_zaparoo._tcp","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/discovery/discovery.go:91","message":"mDNS service advertising started"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:285","message":"starting API service"} {"level":"debug","subscriber_id":1,"buffer_size":100,"time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/broker/broker.go:119","message":"new subscriber registered"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:289","message":"starting publishers"} {"level":"debug","subscriber_id":2,"buffer_size":100,"time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/broker/broker.go:119","message":"new subscriber registered"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:294","message":"starting media history listener"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/api/server.go:835","message":"adding local IP to allowed origins: 172.16.24.155"} {"level":"debug","subscriber_id":3,"buffer_size":100,"time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/broker/broker.go:119","message":"new subscriber registered"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:643","message":"indexing status is 'completed', no auto-resume needed"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:302","message":"starting media history PlayTime updater"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:306","message":"starting clock reliability monitor"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:314","message":"starting reader manager"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:317","message":"starting input token queue manager"} {"level":"debug","hostname":"BATOCERA.local","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/api/server.go:850","message":"added mDNS hostname to allowed origins"} {"level":"debug","hostname":"BATOCERA","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/api/server.go:861","message":"added OS hostname to allowed origins"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:320","message":"running platform post start"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/api/server.go:864","message":"dynamicAllowedOrigins: [capacitor://localhost ionic://localhost https://localhost http://localhost http://localhost:7497 https://localhost:7497 http://127.0.0.1:7497 https://127.0.0.1:7497 http://172.16.24.155:7497 https://172.16.24.155:7497 http://BATOCERA.local https://BATOCERA.local http://BATOCERA.local:7497 https://BATOCERA.local:7497 http://BATOCERA https://BATOCERA http://BATOCERA:7497 https://BATOCERA:7497]"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/api/server.go:1003","message":"HTTP server goroutine launched, waiting for server to be ready"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/api/server.go:977","message":"starting HTTP server on :7497"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/api/server.go:978","message":"HTTP server goroutine started, attempting to bind"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/readers.go:294","message":"reader manager started, auto-detect=true"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/platforms/batocera/platform.go:144","message":"ES API check failed during startup (attempt 1/11), retrying in 100ms: failed to check running game: failed to send request: Get \"http://localhost:1234/runningGame\": dial tcp 127.0.0.1:1234: connect: connection refused"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/api/server.go:990","message":"HTTP server bound to port, ready to accept connections"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/api/server.go:1008","message":"HTTP server is ready to accept connections"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:703","message":"optimization status is 'completed', no auto-resume needed"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/platforms/batocera/platform.go:144","message":"ES API check failed during startup (attempt 2/11), retrying in 200ms: failed to check running game: failed to send request: Get \"http://localhost:1234/runningGame\": dial tcp 127.0.0.1:1234: connect: connection refused"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/platforms/batocera/platform.go:194","message":"background game tracker started"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:326","message":"platform post start completed, service fully initialized"} {"level":"info","time":"2026-01-09T14:38:56+01:00","caller":"/build/pkg/service/readers.go:306","message":"detected wake from sleep, reconnecting all readers"} {"level":"info","time":"2026-01-09T14:38:56+01:00","caller":"/build/pkg/service/readers.go:330","message":"no readers connected after 1 attempts, auto-detect=true"} {"level":"debug","time":"2026-01-09T14:38:56+01:00","caller":"/build/pkg/readers/pn532/pn532.go:318","message":"opening PN532 device: pn532uart:/dev/ttyUSB0"} {"level":"info","time":"2026-01-09T14:38:56+01:00","caller":"/build/pkg/readers/pn532/pn532.go:403","message":"PN532 reader opened: pn532uart:/dev/ttyUSB0"} {"level":"debug","time":"2026-01-09T14:38:56+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: readers.added"} {"level":"info","time":"2026-01-09T14:38:56+01:00","caller":"/build/pkg/service/autodetect.go:183","message":"successfully connected auto-detected reader: pn532_uart:/dev/ttyUSB0"} {"level":"debug","time":"2026-01-09T14:38:57+01:00","caller":"/build/pkg/zapscript/zaplinks.go:348","message":"no supported zaplink hosts to pre-warm"} {"level":"info","time":"2026-01-09T14:39:00+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1da6d36e0f1080)"} {"level":"debug","uid":"1da6d36e0f1080","time":"2026-01-09T14:39:00+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1da6d36e0f1080","time":"2026-01-09T14:39:00+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1da6d36e0f1080","time":"2026-01-09T14:39:00+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1da6d36e0f1080","manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:39:00+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1da6d36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:39:00+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1da6d36e0f1080","time":"2026-01-09T14:39:00+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","uid":"1da6d36e0f1080","time":"2026-01-09T14:39:00+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"debug","uid":"1da6d36e0f1080","recordCount":1,"recordType":"text","hasText":true,"hasURI":false,"payloadLen":25,"time":"2026-01-09T14:39:00+01:00","caller":"/build/pkg/readers/pn532/tags.go:107","message":"NDEF: processing records"} {"level":"info","time":"2026-01-09T14:39:00+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1da6d36e0f1080"} {"level":"info","time":"2026-01-09T14:39:00+01:00","caller":"/build/pkg/readers/pn532/pn532.go:440","message":"NDEF text: @NES/Captain Tsubasa 2"} {"level":"debug","time":"2026-01-09T14:39:00+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x40001d0fc0 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:39:00+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 14:39:00.942142967 +0100 CET m=+5.920907759 NTAG 1da6d36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T14:39:00+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T14:39:00+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 14:39:00.942142967 +0100 CET m=+5.920907759 NTAG 1da6d36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:39:00+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 14:39:00.942142967 +0100 CET m=+5.920907759 NTAG 1da6d36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:39:00+01:00","caller":"/build/pkg/service/mappings.go:162","message":"launching with db/cfg id match override"} {"level":"info","time":"2026-01-09T14:39:00+01:00","caller":"/build/pkg/service/mappings.go:162","message":"launching with db/cfg id match override"} {"level":"info","time":"2026-01-09T14:39:00+01:00","caller":"/build/pkg/service/queues.go:62","message":"found mapping: @MasterSystem/Wonder Boy in Monster Land"} {"level":"info","time":"2026-01-09T14:39:00+01:00","caller":"/build/pkg/service/queues.go:72","message":"running script (1 cmds): @MasterSystem/Wonder Boy in Monster Land"} {"level":"info","time":"2026-01-09T14:39:00+01:00","caller":"/build/pkg/zapscript/commands.go:355","message":"running command: {{map[]} launch.title [MasterSystem/Wonder Boy in Monster Land]}"} {"level":"debug","time":"2026-01-09T14:39:00+01:00","caller":"/build/pkg/zapscript/titles.go:101","message":"using 1 launcher(s) for file type prioritization"} {"level":"info","time":"2026-01-09T14:39:00+01:00","caller":"/build/pkg/zapscript/titles.go:146","message":"searching for slug 'wonderboyinmonsterland' in system 'MasterSystem'"} {"level":"debug","system_id":"MasterSystem","slug":"wonderboyinmonsterland","media_dbid":6,"strategy":"strategy_exact_match","time":"2026-01-09T14:39:00+01:00","caller":"/build/pkg/database/mediadb/slug_cache.go:109","message":"slug resolution cache hit"} {"level":"info","time":"2026-01-09T14:39:00+01:00","caller":"/build/pkg/zapscript/titles.go:154","message":"slug resolution cache hit (strategy: strategy_exact_match)"} {"level":"info","time":"2026-01-09T14:39:00+01:00","caller":"/build/pkg/zapscript/titles.go:161","message":"resolved from cache: Wonder Boy in Monster Land (/userdata/roms/mastersystem/Wonder Boy in Monster Land (UE) (V1.1) [!].sms)"} {"level":"info","time":"2026-01-09T14:39:00+01:00","caller":"/build/pkg/platforms/batocera/platform.go:467","message":"launch media: /userdata/roms/mastersystem/Wonder Boy in Monster Land (UE) (V1.1) [!].sms"} {"level":"info","time":"2026-01-09T14:39:01+01:00","caller":"/build/pkg/platforms/batocera/platform.go:504","message":"launch media: using launcher MasterSystem for: /userdata/roms/mastersystem/Wonder Boy in Monster Land (UE) (V1.1) [!].sms"} {"level":"debug","time":"2026-01-09T14:39:01+01:00","caller":"/build/pkg/platforms/launch.go:70","message":"launching with: &{0x285a570 0x28581a0 MasterSystem MasterSystem [mastersystem] [] [.bin .sms .zip .7z] 0 false false}"} {"level":"info","time":"2026-01-09T14:39:01+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T14:39:01+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"info","time":"2026-01-09T14:39:01+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"info","time":"2026-01-09T14:39:01+01:00","caller":"/build/pkg/platforms/launch.go:174","message":"DoLaunch setting ActiveMedia: SystemID='MasterSystem', SystemName='Master System', Path='/userdata/roms/mastersystem/Wonder Boy in Monster Land (UE) (V1.1) [!].sms', Name='Wonder Boy in Monster Land', LauncherID='MasterSystem'"} {"level":"debug","time":"2026-01-09T14:39:01+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.started"} {"level":"debug","dbid":32,"time":"2026-01-09T14:39:01+01:00","caller":"/build/pkg/service/service.go:480","message":"created media history entry"} {"level":"debug","time":"2026-01-09T14:39:02+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"debug","token":{"ScanTime":"2026-01-09T14:39:00.942142967+01:00","Type":"NTAG","UID":"1da6d36e0f1080","Text":"@MasterSystem/Wonder Boy in Monster Land","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-09T14:39:03+01:00","caller":"/build/pkg/zapscript/commands.go:367","message":"cmd launch: clearing current playlist"} {"level":"debug","token":{"ScanTime":"2026-01-09T14:39:00.942142967+01:00","Type":"NTAG","UID":"1da6d36e0f1080","Text":"@MasterSystem/Wonder Boy in Monster Land","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-09T14:39:03+01:00","caller":"/build/pkg/service/queues.go:118","message":"media changed, updating token"} {"level":"info","time":"2026-01-09T14:39:03+01:00","caller":"/build/pkg/service/queues.go:119","message":"current media launched set to: 1da6d36e0f1080"} {"level":"debug","time":"2026-01-09T14:39:03+01:00","caller":"/build/pkg/service/readers.go:381","message":"new software token: &{0x40003d0480 0x4000147040 map[pn532_uart:/dev/ttyUSB0:0x400036c200] 0x211f8b0 0x40001d1490 0x269d7e0 0x40000a5900 0x40002c8930 0x40000ea1e0 5c139eb8-c3e5-4e07-95f6-a2be0fb13797 {{14001795820595705335 5920907759 0x3a15a60} NTAG 1da6d36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false} {{14001795820595705335 5920907759 0x3a15a60} NTAG 1da6d36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false} {{{{} {0 0}} 0 0 {{} 0} {{} 0}}} false true}"} {"level":"info","time":"2026-01-09T14:39:04+01:00","caller":"/build/pkg/platforms/batocera/tracker.go:348","message":"detected game launched externally: Wonder Boy in Monster Land (UE) (V1.1) [!]"} {"level":"debug","new_devices_detected":["pn532_uart:/dev/ttyUSB0"],"time":"2026-01-09T14:39:04+01:00","caller":"/build/pkg/service/autodetect.go:146","message":"auto-detect found new devices available for connection"} {"level":"info","time":"2026-01-09T14:39:04+01:00","caller":"/build/pkg/service/readers.go:325","message":"reader count changed: 1 connected"} {"level":"info","time":"2026-01-09T14:39:05+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T14:39:05+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:39:05+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T14:39:05+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"info","time":"2026-01-09T14:39:14+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1da9d36e0f1080)"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:39:14+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:39:14+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:39:14+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1da9d36e0f1080","manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:39:14+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1da9d36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:39:14+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:39:14+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:39:14+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"debug","uid":"1da9d36e0f1080","recordCount":1,"recordType":"text","hasText":true,"hasURI":false,"payloadLen":23,"time":"2026-01-09T14:39:14+01:00","caller":"/build/pkg/readers/pn532/tags.go:107","message":"NDEF: processing records"} {"level":"info","time":"2026-01-09T14:39:14+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1da9d36e0f1080"} {"level":"info","time":"2026-01-09T14:39:14+01:00","caller":"/build/pkg/readers/pn532/pn532.go:440","message":"NDEF text: @NES/Exciting Basket"} {"level":"debug","time":"2026-01-09T14:39:14+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x4000143ce0 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:39:14+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 14:39:14.64824692 +0100 CET m=+19.627011712 NTAG 1da9d36e0f1080 @NES/Exciting Basket pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T14:39:14+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T14:39:14+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 14:39:14.64824692 +0100 CET m=+19.627011712 NTAG 1da9d36e0f1080 @NES/Exciting Basket pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:39:14+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 14:39:14.64824692 +0100 CET m=+19.627011712 NTAG 1da9d36e0f1080 @NES/Exciting Basket pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:39:14+01:00","caller":"/build/pkg/service/queues.go:72","message":"running script (1 cmds): @NES/Exciting Basket"} {"level":"info","time":"2026-01-09T14:39:14+01:00","caller":"/build/pkg/zapscript/commands.go:355","message":"running command: {{map[]} launch.title [NES/Exciting Basket]}"} {"level":"debug","time":"2026-01-09T14:39:14+01:00","caller":"/build/pkg/zapscript/titles.go:101","message":"using 1 launcher(s) for file type prioritization"} {"level":"info","time":"2026-01-09T14:39:14+01:00","caller":"/build/pkg/zapscript/titles.go:146","message":"searching for slug 'excitingbasket' in system 'NES'"} {"level":"debug","system_id":"NES","slug":"excitingbasket","media_dbid":9,"strategy":"strategy_exact_match","time":"2026-01-09T14:39:14+01:00","caller":"/build/pkg/database/mediadb/slug_cache.go:109","message":"slug resolution cache hit"} {"level":"info","time":"2026-01-09T14:39:14+01:00","caller":"/build/pkg/zapscript/titles.go:154","message":"slug resolution cache hit (strategy: strategy_exact_match)"} {"level":"info","time":"2026-01-09T14:39:14+01:00","caller":"/build/pkg/zapscript/titles.go:161","message":"resolved from cache: Exciting Basket (/userdata/roms/nes/Exciting Basket.nes)"} {"level":"info","time":"2026-01-09T14:39:14+01:00","caller":"/build/pkg/platforms/batocera/platform.go:467","message":"launch media: /userdata/roms/nes/Exciting Basket.nes"} {"level":"info","time":"2026-01-09T14:39:14+01:00","caller":"/build/pkg/platforms/batocera/platform.go:488","message":"exiting current media"} {"level":"info","time":"2026-01-09T14:39:14+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T14:39:14+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"info","time":"2026-01-09T14:39:14+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T14:39:14+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:39:14+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T14:39:14+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"debug","time":"2026-01-09T14:39:15+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #2"} {"level":"debug","time":"2026-01-09T14:39:15+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"debug","time":"2026-01-09T14:39:16+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #3"} {"level":"debug","time":"2026-01-09T14:39:17+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #4"} {"level":"info","time":"2026-01-09T14:39:18+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1da9d36e0f1080)"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:39:18+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:39:18+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","time":"2026-01-09T14:39:18+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #5"} {"level":"info","time":"2026-01-09T14:39:19+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"debug","time":"2026-01-09T14:39:19+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.stopped"} {"level":"debug","dbid":32,"playTime":18,"time":"2026-01-09T14:39:19+01:00","caller":"/build/pkg/service/service.go:513","message":"closed media history entry"} {"level":"info","time":"2026-01-09T14:39:21+01:00","caller":"/build/pkg/platforms/batocera/platform.go:504","message":"launch media: using launcher NES for: /userdata/roms/nes/Exciting Basket.nes"} {"level":"debug","time":"2026-01-09T14:39:21+01:00","caller":"/build/pkg/platforms/launch.go:70","message":"launching with: &{0x285a570 0x28581a0 NES NES [nes] [] [.nes .unif .unf .zip .7z] 0 false false}"} {"level":"info","time":"2026-01-09T14:39:21+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T14:39:21+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"info","time":"2026-01-09T14:39:22+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"info","time":"2026-01-09T14:39:22+01:00","caller":"/build/pkg/platforms/launch.go:174","message":"DoLaunch setting ActiveMedia: SystemID='NES', SystemName='NES', Path='/userdata/roms/nes/Exciting Basket.nes', Name='Exciting Basket', LauncherID='NES'"} {"level":"debug","time":"2026-01-09T14:39:22+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.started"} {"level":"debug","dbid":33,"time":"2026-01-09T14:39:22+01:00","caller":"/build/pkg/service/service.go:480","message":"created media history entry"} {"level":"info","time":"2026-01-09T14:39:24+01:00","caller":"/build/pkg/platforms/batocera/tracker.go:348","message":"detected game launched externally: Exciting Basket"} {"level":"debug","token":{"ScanTime":"2026-01-09T14:39:14.64824692+01:00","Type":"NTAG","UID":"1da9d36e0f1080","Text":"@NES/Exciting Basket","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-09T14:39:24+01:00","caller":"/build/pkg/zapscript/commands.go:367","message":"cmd launch: clearing current playlist"} {"level":"debug","token":{"ScanTime":"2026-01-09T14:39:14.64824692+01:00","Type":"NTAG","UID":"1da9d36e0f1080","Text":"@NES/Exciting Basket","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-09T14:39:24+01:00","caller":"/build/pkg/service/queues.go:118","message":"media changed, updating token"} {"level":"info","time":"2026-01-09T14:39:24+01:00","caller":"/build/pkg/service/queues.go:119","message":"current media launched set to: 1da9d36e0f1080"} {"level":"debug","time":"2026-01-09T14:39:24+01:00","caller":"/build/pkg/service/readers.go:381","message":"new software token: &{0x40003d0480 0x4000147040 0x4000422d90 map[pn532_uart:/dev/ttyUSB0:0x400036c200] 0x211f8b0 0x4000165730 0x269d7e0 0x40000a5900 0x40002c8930 0x40000ea1e0 5c139eb8-c3e5-4e07-95f6-a2be0fb13797 {{14001795835334194824 19627011712 0x3a15a60} NTAG 1da9d36e0f1080 @NES/Exciting Basket pn532uart:/dev/ttyUSB0 false false} {{0 0 } false false} {{{{} {0 0}} 0 0 {{} 0} {{} 0}}} false true}"} {"level":"error","error":"unsupported tag type","operation":"init tag for NDEF","time":"2026-01-09T14:39:30+01:00","caller":"/build/pkg/readers/pn532/pn532.go:210","message":"PN532 error"} {"level":"warn","error":"unsupported tag type","uid":"1da9d36e0f1080","tagType":"NTAG","time":"2026-01-09T14:39:30+01:00","caller":"/build/pkg/readers/pn532/tags.go:71","message":"failed to initialize tag for NDEF reading"} {"level":"info","time":"2026-01-09T14:39:30+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1da9d36e0f1080"} {"level":"debug","time":"2026-01-09T14:39:30+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x40001723f0 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:39:30+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 14:39:30.371861549 +0100 CET m=+35.350626341 NTAG 1da9d36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T14:39:30+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T14:39:30+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 14:39:30.371861549 +0100 CET m=+35.350626341 NTAG 1da9d36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:39:30+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 14:39:30.371861549 +0100 CET m=+35.350626341 NTAG 1da9d36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","error":"script is empty","time":"2026-01-09T14:39:30+01:00","caller":"/build/pkg/service/queues.go:307","message":"failed to parse script for playtime check"} {"level":"debug","time":"2026-01-09T14:39:30+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"error","error":"failed to parse script: script is empty","time":"2026-01-09T14:39:30+01:00","caller":"/build/pkg/service/queues.go:353","message":"error launching token"} {"level":"info","time":"2026-01-09T14:39:30+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T14:39:30+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:39:30+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T14:39:30+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"debug","time":"2026-01-09T14:39:31+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"info","time":"2026-01-09T14:39:34+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T14:39:34+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T14:39:34+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T14:39:34+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1dabd36e0f1080","manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:39:34+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1dabd36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:39:34+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T14:39:34+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","error":"failed to read NDEF from NTAG: invalid NDEF message: invalid TLV structure: NDEF length exceeds data size","uid":"1dabd36e0f1080","time":"2026-01-09T14:39:34+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"error","error":"failed to read NDEF from NTAG: invalid NDEF message: invalid TLV structure: NDEF length exceeds data size","operation":"read NDEF","time":"2026-01-09T14:39:34+01:00","caller":"/build/pkg/readers/pn532/pn532.go:210","message":"PN532 error"} {"level":"warn","error":"failed to read NDEF from NTAG: invalid NDEF message: invalid TLV structure: NDEF length exceeds data size","uid":"1dabd36e0f1080","tagType":"NTAG","time":"2026-01-09T14:39:34+01:00","caller":"/build/pkg/readers/pn532/tags.go:86","message":"failed to read NDEF data from tag"} {"level":"info","time":"2026-01-09T14:39:34+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-09T14:39:34+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x400015a1c0 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:39:34+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 14:39:34.240720558 +0100 CET m=+39.219485350 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T14:39:34+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T14:39:34+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 14:39:34.240720558 +0100 CET m=+39.219485350 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:39:34+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 14:39:34.240720558 +0100 CET m=+39.219485350 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","error":"script is empty","time":"2026-01-09T14:39:34+01:00","caller":"/build/pkg/service/queues.go:307","message":"failed to parse script for playtime check"} {"level":"debug","time":"2026-01-09T14:39:34+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"error","error":"failed to parse script: script is empty","time":"2026-01-09T14:39:34+01:00","caller":"/build/pkg/service/queues.go:353","message":"error launching token"} {"level":"info","time":"2026-01-09T14:39:34+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T14:39:34+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:39:34+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T14:39:34+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"debug","time":"2026-01-09T14:39:35+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"info","time":"2026-01-09T14:39:44+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T14:39:44+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T14:39:44+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T14:39:44+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1dabd36e0f1080","manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:39:44+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1dabd36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:39:44+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T14:39:44+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","error":"failed to read NDEF from NTAG: invalid NDEF message: invalid TLV structure: NDEF length exceeds data size","uid":"1dabd36e0f1080","time":"2026-01-09T14:39:44+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"error","error":"failed to read NDEF from NTAG: invalid NDEF message: invalid TLV structure: NDEF length exceeds data size","operation":"read NDEF","time":"2026-01-09T14:39:44+01:00","caller":"/build/pkg/readers/pn532/pn532.go:210","message":"PN532 error"} {"level":"warn","error":"failed to read NDEF from NTAG: invalid NDEF message: invalid TLV structure: NDEF length exceeds data size","uid":"1dabd36e0f1080","tagType":"NTAG","time":"2026-01-09T14:39:44+01:00","caller":"/build/pkg/readers/pn532/tags.go:86","message":"failed to read NDEF data from tag"} {"level":"info","time":"2026-01-09T14:39:44+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-09T14:39:44+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x4000422cb0 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:39:44+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 14:39:44.291049148 +0100 CET m=+49.269813940 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T14:39:44+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T14:39:44+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 14:39:44.291049148 +0100 CET m=+49.269813940 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:39:44+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 14:39:44.291049148 +0100 CET m=+49.269813940 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","error":"script is empty","time":"2026-01-09T14:39:44+01:00","caller":"/build/pkg/service/queues.go:307","message":"failed to parse script for playtime check"} {"level":"debug","time":"2026-01-09T14:39:44+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"error","error":"failed to parse script: script is empty","time":"2026-01-09T14:39:44+01:00","caller":"/build/pkg/service/queues.go:353","message":"error launching token"} {"level":"info","time":"2026-01-09T14:39:44+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T14:39:44+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:39:44+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T14:39:44+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"info","time":"2026-01-09T14:39:44+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T14:39:44+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T14:39:44+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","time":"2026-01-09T14:39:45+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"error","error":"unsupported tag type","operation":"init tag for NDEF","time":"2026-01-09T14:39:46+01:00","caller":"/build/pkg/readers/pn532/pn532.go:210","message":"PN532 error"} {"level":"warn","error":"unsupported tag type","uid":"1dabd36e0f1080","tagType":"NTAG","time":"2026-01-09T14:39:46+01:00","caller":"/build/pkg/readers/pn532/tags.go:71","message":"failed to initialize tag for NDEF reading"} {"level":"info","time":"2026-01-09T14:39:46+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-09T14:39:46+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x4000143880 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:39:46+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 14:39:46.679834355 +0100 CET m=+51.658599148 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T14:39:46+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T14:39:46+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 14:39:46.679834355 +0100 CET m=+51.658599148 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:39:46+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 14:39:46.679834355 +0100 CET m=+51.658599148 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","error":"script is empty","time":"2026-01-09T14:39:46+01:00","caller":"/build/pkg/service/queues.go:307","message":"failed to parse script for playtime check"} {"level":"debug","time":"2026-01-09T14:39:46+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"error","error":"failed to parse script: script is empty","time":"2026-01-09T14:39:46+01:00","caller":"/build/pkg/service/queues.go:353","message":"error launching token"} {"level":"info","time":"2026-01-09T14:39:47+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T14:39:47+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:39:47+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T14:39:47+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"debug","time":"2026-01-09T14:39:47+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"info","time":"2026-01-09T14:39:50+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T14:39:50+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T14:39:50+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T14:39:50+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1dabd36e0f1080","manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:39:50+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1dabd36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:39:50+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T14:39:50+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","error":"failed to read NDEF from NTAG: invalid NDEF message: invalid TLV structure: data too short","uid":"1dabd36e0f1080","time":"2026-01-09T14:39:50+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"error","error":"failed to read NDEF from NTAG: invalid NDEF message: invalid TLV structure: data too short","operation":"read NDEF","time":"2026-01-09T14:39:50+01:00","caller":"/build/pkg/readers/pn532/pn532.go:210","message":"PN532 error"} {"level":"warn","error":"failed to read NDEF from NTAG: invalid NDEF message: invalid TLV structure: data too short","uid":"1dabd36e0f1080","tagType":"NTAG","time":"2026-01-09T14:39:50+01:00","caller":"/build/pkg/readers/pn532/tags.go:86","message":"failed to read NDEF data from tag"} {"level":"info","time":"2026-01-09T14:39:50+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-09T14:39:50+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x4000174c40 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:39:50+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 14:39:50.595785291 +0100 CET m=+55.574550084 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T14:39:50+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T14:39:50+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 14:39:50.595785291 +0100 CET m=+55.574550084 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:39:50+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 14:39:50.595785291 +0100 CET m=+55.574550084 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","error":"script is empty","time":"2026-01-09T14:39:50+01:00","caller":"/build/pkg/service/queues.go:307","message":"failed to parse script for playtime check"} {"level":"debug","time":"2026-01-09T14:39:50+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"error","error":"failed to parse script: script is empty","time":"2026-01-09T14:39:50+01:00","caller":"/build/pkg/service/queues.go:353","message":"error launching token"} {"level":"debug","time":"2026-01-09T14:39:51+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"info","time":"2026-01-09T14:39:52+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T14:39:52+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:39:52+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T14:39:52+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"info","time":"2026-01-09T14:39:54+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1daad36e0f1080)"} {"level":"debug","uid":"1daad36e0f1080","time":"2026-01-09T14:39:54+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1daad36e0f1080","time":"2026-01-09T14:39:54+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1daad36e0f1080","time":"2026-01-09T14:39:54+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1daad36e0f1080","manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:39:54+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1daad36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:39:54+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1daad36e0f1080","time":"2026-01-09T14:39:54+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","uid":"1daad36e0f1080","time":"2026-01-09T14:39:55+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"debug","uid":"1daad36e0f1080","recordCount":1,"recordType":"text","hasText":true,"hasURI":false,"payloadLen":52,"time":"2026-01-09T14:39:55+01:00","caller":"/build/pkg/readers/pn532/tags.go:107","message":"NDEF: processing records"} {"level":"info","time":"2026-01-09T14:39:55+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1daad36e0f1080"} {"level":"info","time":"2026-01-09T14:39:55+01:00","caller":"/build/pkg/readers/pn532/pn532.go:440","message":"NDEF text: NES/Kunio-kun no Nekketsu Soccer League (AR) .nes"} {"level":"debug","time":"2026-01-09T14:39:55+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x400016e460 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:39:55+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 14:39:55.143880238 +0100 CET m=+60.122645082 NTAG 1daad36e0f1080 NES/Kunio-kun no Nekketsu Soccer League (AR) .nes pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T14:39:55+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T14:39:55+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 14:39:55.143880238 +0100 CET m=+60.122645082 NTAG 1daad36e0f1080 NES/Kunio-kun no Nekketsu Soccer League (AR) .nes pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:39:55+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 14:39:55.143880238 +0100 CET m=+60.122645082 NTAG 1daad36e0f1080 NES/Kunio-kun no Nekketsu Soccer League (AR) .nes pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:39:55+01:00","caller":"/build/pkg/service/queues.go:72","message":"running script (1 cmds): NES/Kunio-kun no Nekketsu Soccer League (AR) .nes"} {"level":"info","time":"2026-01-09T14:39:55+01:00","caller":"/build/pkg/zapscript/commands.go:355","message":"running command: {{map[]} launch [NES/Kunio-kun no Nekketsu Soccer League (AR) .nes]}"} {"level":"debug","error":"file not found: NES/Kunio-kun no Nekketsu Soccer League (AR) .nes","time":"2026-01-09T14:39:55+01:00","caller":"/build/pkg/zapscript/launch.go:386","message":"error finding file: NES/Kunio-kun no Nekketsu Soccer League (AR) .nes"} {"level":"info","time":"2026-01-09T14:39:55+01:00","caller":"/build/pkg/zapscript/launch.go:410","message":"launching system: NES, path: Kunio-kun no Nekketsu Soccer League (AR) .nes"} {"level":"debug","time":"2026-01-09T14:39:55+01:00","caller":"/build/pkg/zapscript/launch.go:440","message":"checking system path: nes/Kunio-kun no Nekketsu Soccer League (AR) .nes"} {"level":"debug","time":"2026-01-09T14:39:55+01:00","caller":"/build/pkg/zapscript/commands.go:191","message":"found file: /userdata/roms/nes/Kunio-kun no Nekketsu Soccer League (AR) .nes"} {"level":"debug","time":"2026-01-09T14:39:55+01:00","caller":"/build/pkg/zapscript/launch.go:444","message":"launching found system path: /userdata/roms/nes/Kunio-kun no Nekketsu Soccer League (AR) .nes"} {"level":"info","time":"2026-01-09T14:39:55+01:00","caller":"/build/pkg/platforms/batocera/platform.go:467","message":"launch media: /userdata/roms/nes/Kunio-kun no Nekketsu Soccer League (AR) .nes"} {"level":"info","time":"2026-01-09T14:39:55+01:00","caller":"/build/pkg/platforms/batocera/platform.go:488","message":"exiting current media"} {"level":"info","time":"2026-01-09T14:39:55+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T14:39:55+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"debug","dbid":33,"playTime":33,"time":"2026-01-09T14:39:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","time":"2026-01-09T14:39:56+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #2"} {"level":"debug","time":"2026-01-09T14:39:56+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"debug","time":"2026-01-09T14:39:57+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #3"} {"level":"debug","time":"2026-01-09T14:39:58+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #4"} {"level":"debug","time":"2026-01-09T14:39:59+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #5"} {"level":"info","time":"2026-01-09T14:40:00+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"debug","time":"2026-01-09T14:40:00+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.stopped"} {"level":"debug","dbid":33,"playTime":38,"time":"2026-01-09T14:40:00+01:00","caller":"/build/pkg/service/service.go:513","message":"closed media history entry"} {"level":"debug","time":"2026-01-09T14:40:02+01:00","caller":"/build/pkg/api/server.go:903","message":"websocket origin: http://localhost"} {"level":"debug","time":"2026-01-09T14:40:02+01:00","caller":"/build/pkg/api/server.go:449","message":"websocket origin: http://localhost allowed (explicit match)"} {"level":"info","time":"2026-01-09T14:40:02+01:00","caller":"/build/pkg/platforms/batocera/platform.go:504","message":"launch media: using launcher NES for: /userdata/roms/nes/Kunio-kun no Nekketsu Soccer League (AR) .nes"} {"level":"debug","time":"2026-01-09T14:40:02+01:00","caller":"/build/pkg/platforms/launch.go:70","message":"launching with: &{0x285a570 0x28581a0 NES NES [nes] [] [.nes .unif .unf .zip .7z] 0 false false}"} {"level":"info","time":"2026-01-09T14:40:02+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T14:40:02+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"debug","request":{"jsonrpc":"2.0","id":"c2830f33-e65b-4559-b2f5-a704e9eb300f","method":"media"},"time":"2026-01-09T14:40:02+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T14:40:02+01:00","caller":"/build/pkg/api/methods/media.go:625","message":"received media request"} {"level":"debug","result":{"database":{"totalMedia":18,"exists":true,"indexing":false,"optimizing":false},"active":[]},"time":"2026-01-09T14:40:02+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"792cd5c1-0fa5-496c-977c-d07a55ee953e","method":"tokens"},"time":"2026-01-09T14:40:02+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T14:40:02+01:00","caller":"/build/pkg/api/methods/history.go:31","message":"received tokens request"} {"level":"debug","result":{"last":{"scanTime":"2026-01-09T14:39:55.143880238+01:00","type":"NTAG","uid":"1daad36e0f1080","text":"NES/Kunio-kun no Nekketsu Soccer League (AR) .nes","data":""},"active":[{"scanTime":"2026-01-09T14:39:55.143880238+01:00","type":"NTAG","uid":"1daad36e0f1080","text":"NES/Kunio-kun no Nekketsu Soccer League (AR) .nes","data":""}]},"time":"2026-01-09T14:40:02+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"info","time":"2026-01-09T14:40:02+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"info","time":"2026-01-09T14:40:02+01:00","caller":"/build/pkg/platforms/launch.go:174","message":"DoLaunch setting ActiveMedia: SystemID='NES', SystemName='NES', Path='/userdata/roms/nes/Kunio-kun no Nekketsu Soccer League (AR) .nes', Name='Kunio-kun no Nekketsu Soccer League', LauncherID='NES'"} {"level":"debug","time":"2026-01-09T14:40:02+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.started"} {"level":"debug","dbid":34,"time":"2026-01-09T14:40:02+01:00","caller":"/build/pkg/service/service.go:480","message":"created media history entry"} {"level":"info","time":"2026-01-09T14:40:04+01:00","caller":"/build/pkg/platforms/batocera/tracker.go:348","message":"detected game launched externally: Kunio-kun no Nekketsu Soccer League (AR) "} {"level":"debug","token":{"ScanTime":"2026-01-09T14:39:55.143880238+01:00","Type":"NTAG","UID":"1daad36e0f1080","Text":"NES/Kunio-kun no Nekketsu Soccer League (AR) .nes","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-09T14:40:04+01:00","caller":"/build/pkg/zapscript/commands.go:367","message":"cmd launch: clearing current playlist"} {"level":"debug","token":{"ScanTime":"2026-01-09T14:39:55.143880238+01:00","Type":"NTAG","UID":"1daad36e0f1080","Text":"NES/Kunio-kun no Nekketsu Soccer League (AR) .nes","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-09T14:40:04+01:00","caller":"/build/pkg/service/queues.go:118","message":"media changed, updating token"} {"level":"info","time":"2026-01-09T14:40:04+01:00","caller":"/build/pkg/service/queues.go:119","message":"current media launched set to: 1daad36e0f1080"} {"level":"debug","time":"2026-01-09T14:40:04+01:00","caller":"/build/pkg/service/readers.go:381","message":"new software token: &{0x40003d0480 0x4000147040 0x40001d1e30 map[pn532_uart:/dev/ttyUSB0:0x400036c200] 0x211f8b0 0x4000423180 0x269d7e0 0x40000a5900 0x40002c8930 0x40000ea1e0 5c139eb8-c3e5-4e07-95f6-a2be0fb13797 {{14001795878853242926 60122645082 0x3a15a60} NTAG 1daad36e0f1080 NES/Kunio-kun no Nekketsu Soccer League (AR) .nes pn532uart:/dev/ttyUSB0 false false} {{14001795878853242926 60122645082 0x3a15a60} NTAG 1daad36e0f1080 NES/Kunio-kun no Nekketsu Soccer League (AR) .nes pn532uart:/dev/ttyUSB0 false false} {{{{} {0 0}} 0 0 {{} 0} {{} 0}}} false true}"} {"level":"debug","request":{"jsonrpc":"2.0","id":"1479a52c-b578-44a0-90d1-6a9f1431193f","method":"systems"},"time":"2026-01-09T14:40:04+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T14:40:04+01:00","caller":"/build/pkg/api/methods/systems.go:31","message":"received systems request"} {"level":"debug","result":{"systems":[{"releaseDate":"1989-04-10","manufacturer":"IBM","id":"DOS","name":"PC (DOS)","category":"Computer"},{"releaseDate":"1988-10-29","manufacturer":"Sega","id":"Genesis","name":"Genesis","category":"Console"},{"releaseDate":"1985-10-20","manufacturer":"Sega","id":"MasterSystem","name":"Master System","category":"Console"},{"releaseDate":"1985-10-18","manufacturer":"Nintendo","id":"NES","name":"NES","category":"Console"},{"id":"PC","name":"PC","category":"Computer"},{"releaseDate":"1990-11-21","manufacturer":"Nintendo","id":"SNES","name":"SNES","category":"Console"}]},"time":"2026-01-09T14:40:04+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"38fd3497-9e98-4ff1-a933-f972dbfe75b6","method":"systems"},"time":"2026-01-09T14:40:04+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T14:40:04+01:00","caller":"/build/pkg/api/methods/systems.go:31","message":"received systems request"} {"level":"debug","result":{"systems":[{"releaseDate":"1989-04-10","manufacturer":"IBM","id":"DOS","name":"PC (DOS)","category":"Computer"},{"releaseDate":"1988-10-29","manufacturer":"Sega","id":"Genesis","name":"Genesis","category":"Console"},{"releaseDate":"1985-10-20","manufacturer":"Sega","id":"MasterSystem","name":"Master System","category":"Console"},{"releaseDate":"1985-10-18","manufacturer":"Nintendo","id":"NES","name":"NES","category":"Console"},{"id":"PC","name":"PC","category":"Computer"},{"releaseDate":"1990-11-21","manufacturer":"Nintendo","id":"SNES","name":"SNES","category":"Console"}]},"time":"2026-01-09T14:40:04+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"d1514cac-e379-468b-b5c1-876cb3887b5c","method":"media"},"time":"2026-01-09T14:40:04+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T14:40:04+01:00","caller":"/build/pkg/api/methods/media.go:625","message":"received media request"} {"level":"debug","result":{"database":{"totalMedia":18,"exists":true,"indexing":false,"optimizing":false},"active":[{"started":"2026-01-09T14:40:02.735595078+01:00","launcherId":"NES","systemId":"NES","systemName":"NES","mediaPath":"/userdata/roms/nes/Kunio-kun no Nekketsu Soccer League (AR) .nes","mediaName":"Kunio-kun no Nekketsu Soccer League"}]},"time":"2026-01-09T14:40:04+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"bae2b8dd-9122-4370-b246-871f60f93e98","method":"media.tags","params":{"systems":[]}},"time":"2026-01-09T14:40:04+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T14:40:04+01:00","caller":"/build/pkg/api/methods/media.go:576","message":"received media tags request"} {"level":"debug","result":{"tags":[{"tag":"verified","type":"dump"},{"tag":"gen","type":"extension"},{"tag":"nes","type":"extension"},{"tag":"py","type":"extension"},{"tag":"sfc","type":"extension"},{"tag":"sh","type":"extension"},{"tag":"sms","type":"extension"},{"tag":"wad","type":"extension"},{"tag":"ar","type":"lang"},{"tag":"en","type":"lang"},{"tag":"eu","type":"region"},{"tag":"us","type":"region"},{"tag":"world","type":"region"},{"tag":"1","type":"rev"},{"tag":"1-1","type":"rev"},{"tag":"1-3","type":"rev"}]},"time":"2026-01-09T14:40:04+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"171da56c-1c72-4f15-b9a6-34a553296648","method":"media.search","params":{"query":"T","systems":["NES"],"tags":[],"maxResults":100}},"time":"2026-01-09T14:40:12+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T14:40:12+01:00","caller":"/build/pkg/api/methods/media.go:416","message":"received media search request"} {"level":"debug","result":{"pagination":{"hasNextPage":false,"pageSize":100},"results":[{"system":{"releaseDate":"1985-10-18","manufacturer":"Nintendo","id":"NES","name":"NES","category":"Console"},"name":"Adventure Island","path":"/userdata/roms/nes/Adventure Island .nes","zapScript":"@NES/Adventure Island","tags":[{"tag":"nes","type":"extension"}]},{"system":{"releaseDate":"1985-10-18","manufacturer":"Nintendo","id":"NES","name":"NES","category":"Console"},"name":"Captain Tsubasa 2","path":"/userdata/roms/nes/Captain Tsubasa 2 (AR).nes","zapScript":"@NES/Captain Tsubasa 2","tags":[{"tag":"nes","type":"extension"},{"tag":"ar","type":"lang"}]},{"system":{"releaseDate":"1985-10-18","manufacturer":"Nintendo","id":"NES","name":"NES","category":"Console"},"name":"Exciting Basket","path":"/userdata/roms/nes/Exciting Basket.nes","zapScript":"@NES/Exciting Basket","tags":[{"tag":"nes","type":"extension"}]},{"system":{"releaseDate":"1985-10-18","manufacturer":"Nintendo","id":"NES","name":"NES","category":"Console"},"name":"Kunio-kun no Nekketsu Soccer League","path":"/userdata/roms/nes/Kunio-kun no Nekketsu Soccer League (AR) .nes","zapScript":"@NES/Kunio-kun no Nekketsu Soccer League","tags":[{"tag":"nes","type":"extension"},{"tag":"ar","type":"lang"}]},{"system":{"releaseDate":"1985-10-18","manufacturer":"Nintendo","id":"NES","name":"NES","category":"Console"},"name":"Super Mario Bros. 2","path":"/userdata/roms/nes/Super Mario Bros. 2 (USA).nes","zapScript":"@NES/Super Mario Bros. 2","tags":[{"tag":"nes","type":"extension"},{"tag":"en","type":"lang"},{"tag":"us","type":"region"}]},{"system":{"releaseDate":"1985-10-18","manufacturer":"Nintendo","id":"NES","name":"NES","category":"Console"},"name":"Super Mario Bros. 3","path":"/userdata/roms/nes/Super Mario Bros. 3 (USA).nes","zapScript":"@NES/Super Mario Bros. 3","tags":[{"tag":"nes","type":"extension"},{"tag":"en","type":"lang"},{"tag":"us","type":"region"}]},{"system":{"releaseDate":"1985-10-18","manufacturer":"Nintendo","id":"NES","name":"NES","category":"Console"},"name":"Super Mario Bros. + Duck Hunt + World Class Track Meet","path":"/userdata/roms/nes/Super Mario Bros. + Duck Hunt + World Class Track Meet (USA) (Rev 1).nes","zapScript":"@NES/Super Mario Bros. + Duck Hunt + World Class Track Meet","tags":[{"tag":"nes","type":"extension"},{"tag":"en","type":"lang"},{"tag":"us","type":"region"},{"tag":"1","type":"rev"}]}],"total":7},"time":"2026-01-09T14:40:12+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"4d604e11-1ee4-4efb-b7f8-25fc3711376c","method":"readers"},"time":"2026-01-09T14:40:18+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T14:40:18+01:00","caller":"/build/pkg/api/methods/readers.go:126","message":"received readers request"} {"level":"debug","result":{"readers":[{"id":"pn532_uart:/dev/ttyUSB0","info":"PN532 (pn532uart:/dev/ttyUSB0)","capabilities":["write"],"connected":true}]},"time":"2026-01-09T14:40:18+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"info","time":"2026-01-09T14:40:24+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T14:40:24+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:40:24+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T14:40:24+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"info","time":"2026-01-09T14:40:40+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T14:40:40+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T14:40:40+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T14:40:40+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1dabd36e0f1080","manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:40:40+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1dabd36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:40:40+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T14:40:40+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T14:40:40+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"debug","uid":"1dabd36e0f1080","recordCount":1,"recordType":"text","hasText":true,"hasURI":false,"payloadLen":25,"time":"2026-01-09T14:40:40+01:00","caller":"/build/pkg/readers/pn532/tags.go:107","message":"NDEF: processing records"} {"level":"info","time":"2026-01-09T14:40:40+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"info","time":"2026-01-09T14:40:40+01:00","caller":"/build/pkg/readers/pn532/pn532.go:440","message":"NDEF text: @NES/Captain Tsubasa 2"} {"level":"debug","time":"2026-01-09T14:40:40+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x4000165880 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:40:40+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 14:40:40.618010429 +0100 CET m=+105.596775221 NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T14:40:40+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T14:40:40+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 14:40:40.618010429 +0100 CET m=+105.596775221 NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:40:40+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 14:40:40.618010429 +0100 CET m=+105.596775221 NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:40:40+01:00","caller":"/build/pkg/service/queues.go:72","message":"running script (1 cmds): @NES/Captain Tsubasa 2"} {"level":"info","time":"2026-01-09T14:40:40+01:00","caller":"/build/pkg/zapscript/commands.go:355","message":"running command: {{map[]} launch.title [NES/Captain Tsubasa 2]}"} {"level":"debug","time":"2026-01-09T14:40:40+01:00","caller":"/build/pkg/zapscript/titles.go:101","message":"using 1 launcher(s) for file type prioritization"} {"level":"info","time":"2026-01-09T14:40:40+01:00","caller":"/build/pkg/zapscript/titles.go:146","message":"searching for slug 'captaintsubasa2' in system 'NES'"} {"level":"debug","system_id":"NES","slug":"captaintsubasa2","media_dbid":8,"strategy":"strategy_exact_match","time":"2026-01-09T14:40:40+01:00","caller":"/build/pkg/database/mediadb/slug_cache.go:109","message":"slug resolution cache hit"} {"level":"info","time":"2026-01-09T14:40:40+01:00","caller":"/build/pkg/zapscript/titles.go:154","message":"slug resolution cache hit (strategy: strategy_exact_match)"} {"level":"info","time":"2026-01-09T14:40:40+01:00","caller":"/build/pkg/zapscript/titles.go:161","message":"resolved from cache: Captain Tsubasa 2 (/userdata/roms/nes/Captain Tsubasa 2 (AR).nes)"} {"level":"info","time":"2026-01-09T14:40:40+01:00","caller":"/build/pkg/platforms/batocera/platform.go:467","message":"launch media: /userdata/roms/nes/Captain Tsubasa 2 (AR).nes"} {"level":"info","time":"2026-01-09T14:40:40+01:00","caller":"/build/pkg/platforms/batocera/platform.go:488","message":"exiting current media"} {"level":"info","time":"2026-01-09T14:40:40+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T14:40:40+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"debug","time":"2026-01-09T14:40:41+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #2"} {"level":"debug","time":"2026-01-09T14:40:41+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"debug","time":"2026-01-09T14:40:42+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #3"} {"level":"debug","time":"2026-01-09T14:40:43+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #4"} {"level":"debug","time":"2026-01-09T14:40:44+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #5"} {"level":"info","time":"2026-01-09T14:40:45+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"debug","time":"2026-01-09T14:40:45+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.stopped"} {"level":"debug","dbid":34,"playTime":43,"time":"2026-01-09T14:40:45+01:00","caller":"/build/pkg/service/service.go:513","message":"closed media history entry"} {"level":"info","time":"2026-01-09T14:40:47+01:00","caller":"/build/pkg/platforms/batocera/platform.go:504","message":"launch media: using launcher NES for: /userdata/roms/nes/Captain Tsubasa 2 (AR).nes"} {"level":"debug","time":"2026-01-09T14:40:47+01:00","caller":"/build/pkg/platforms/launch.go:70","message":"launching with: &{0x285a570 0x28581a0 NES NES [nes] [] [.nes .unif .unf .zip .7z] 0 false false}"} {"level":"info","time":"2026-01-09T14:40:47+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T14:40:47+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"info","time":"2026-01-09T14:40:48+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"info","time":"2026-01-09T14:40:48+01:00","caller":"/build/pkg/platforms/launch.go:174","message":"DoLaunch setting ActiveMedia: SystemID='NES', SystemName='NES', Path='/userdata/roms/nes/Captain Tsubasa 2 (AR).nes', Name='Captain Tsubasa 2', LauncherID='NES'"} {"level":"debug","time":"2026-01-09T14:40:48+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.started"} {"level":"debug","dbid":35,"time":"2026-01-09T14:40:48+01:00","caller":"/build/pkg/service/service.go:480","message":"created media history entry"} {"level":"info","time":"2026-01-09T14:40:49+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T14:40:49+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:40:49+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T14:40:49+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"info","time":"2026-01-09T14:40:50+01:00","caller":"/build/pkg/platforms/batocera/tracker.go:348","message":"detected game launched externally: Captain Tsubasa 2 (AR)"} {"level":"debug","token":{"ScanTime":"2026-01-09T14:40:40.618010429+01:00","Type":"NTAG","UID":"1dabd36e0f1080","Text":"@NES/Captain Tsubasa 2","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-09T14:40:50+01:00","caller":"/build/pkg/zapscript/commands.go:367","message":"cmd launch: clearing current playlist"} {"level":"debug","token":{"ScanTime":"2026-01-09T14:40:40.618010429+01:00","Type":"NTAG","UID":"1dabd36e0f1080","Text":"@NES/Captain Tsubasa 2","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-09T14:40:50+01:00","caller":"/build/pkg/service/queues.go:118","message":"media changed, updating token"} {"level":"info","time":"2026-01-09T14:40:50+01:00","caller":"/build/pkg/service/queues.go:119","message":"current media launched set to: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-09T14:40:50+01:00","caller":"/build/pkg/service/readers.go:381","message":"new software token: &{0x40003d0480 0x4000147040 0x400016c9a0 map[pn532_uart:/dev/ttyUSB0:0x400036c200] 0x211f8b0 0x400015ae70 0x269d7e0 0x40000a5900 0x40002c8930 0x40000ea1e0 5c139eb8-c3e5-4e07-95f6-a2be0fb13797 {{14001795927645755197 105596775221 0x3a15a60} NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false} {{0 0 } false false} {{{{} {0 0}} 0 0 {{} 0} {{} 0}}} false true}"} {"level":"debug","dbid":35,"playTime":7,"time":"2026-01-09T14:40:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","time":"2026-01-09T14:41:00+01:00","caller":"/build/pkg/api/server.go:903","message":"websocket origin: http://localhost"} {"level":"debug","time":"2026-01-09T14:41:00+01:00","caller":"/build/pkg/api/server.go:449","message":"websocket origin: http://localhost allowed (explicit match)"} {"level":"debug","request":{"jsonrpc":"2.0","id":"b270c3d6-bdfc-459f-9bd7-7b31cd2ad8a7","method":"systems"},"time":"2026-01-09T14:41:00+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T14:41:00+01:00","caller":"/build/pkg/api/methods/systems.go:31","message":"received systems request"} {"level":"debug","result":{"systems":[{"releaseDate":"1989-04-10","manufacturer":"IBM","id":"DOS","name":"PC (DOS)","category":"Computer"},{"releaseDate":"1988-10-29","manufacturer":"Sega","id":"Genesis","name":"Genesis","category":"Console"},{"releaseDate":"1985-10-20","manufacturer":"Sega","id":"MasterSystem","name":"Master System","category":"Console"},{"releaseDate":"1985-10-18","manufacturer":"Nintendo","id":"NES","name":"NES","category":"Console"},{"id":"PC","name":"PC","category":"Computer"},{"releaseDate":"1990-11-21","manufacturer":"Nintendo","id":"SNES","name":"SNES","category":"Console"}]},"time":"2026-01-09T14:41:00+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"a7cea351-9b8a-46ec-87ea-0e431294d9ef","method":"media"},"time":"2026-01-09T14:41:00+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T14:41:00+01:00","caller":"/build/pkg/api/methods/media.go:625","message":"received media request"} {"level":"debug","result":{"database":{"totalMedia":18,"exists":true,"indexing":false,"optimizing":false},"active":[{"started":"2026-01-09T14:40:48.137001728+01:00","launcherId":"NES","systemId":"NES","systemName":"NES","mediaPath":"/userdata/roms/nes/Captain Tsubasa 2 (AR).nes","mediaName":"Captain Tsubasa 2"}]},"time":"2026-01-09T14:41:00+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"732aad9c-8cac-4490-9561-cab2446a8041","method":"tokens"},"time":"2026-01-09T14:41:00+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T14:41:00+01:00","caller":"/build/pkg/api/methods/history.go:31","message":"received tokens request"} {"level":"debug","result":{"last":{"scanTime":"2026-01-09T14:40:40.618010429+01:00","type":"NTAG","uid":"1dabd36e0f1080","text":"@NES/Captain Tsubasa 2","data":""},"active":[]},"time":"2026-01-09T14:41:00+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"info","time":"2026-01-09T14:41:04+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1da6d36e0f1080)"} {"level":"debug","uid":"1da6d36e0f1080","time":"2026-01-09T14:41:04+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1da6d36e0f1080","time":"2026-01-09T14:41:04+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1da6d36e0f1080","time":"2026-01-09T14:41:04+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1da6d36e0f1080","manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:41:04+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1da6d36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:41:04+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1da6d36e0f1080","time":"2026-01-09T14:41:04+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","uid":"1da6d36e0f1080","time":"2026-01-09T14:41:04+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"debug","uid":"1da6d36e0f1080","recordCount":1,"recordType":"text","hasText":true,"hasURI":false,"payloadLen":25,"time":"2026-01-09T14:41:04+01:00","caller":"/build/pkg/readers/pn532/tags.go:107","message":"NDEF: processing records"} {"level":"info","time":"2026-01-09T14:41:04+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1da6d36e0f1080"} {"level":"info","time":"2026-01-09T14:41:04+01:00","caller":"/build/pkg/readers/pn532/pn532.go:440","message":"NDEF text: @NES/Captain Tsubasa 2"} {"level":"debug","time":"2026-01-09T14:41:04+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x4000174cb0 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:41:04+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 14:41:04.667391357 +0100 CET m=+129.646156149 NTAG 1da6d36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T14:41:04+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T14:41:04+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 14:41:04.667391357 +0100 CET m=+129.646156149 NTAG 1da6d36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:41:04+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 14:41:04.667391357 +0100 CET m=+129.646156149 NTAG 1da6d36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:41:04+01:00","caller":"/build/pkg/service/mappings.go:162","message":"launching with db/cfg id match override"} {"level":"info","time":"2026-01-09T14:41:04+01:00","caller":"/build/pkg/service/mappings.go:162","message":"launching with db/cfg id match override"} {"level":"info","time":"2026-01-09T14:41:04+01:00","caller":"/build/pkg/service/queues.go:62","message":"found mapping: @MasterSystem/Wonder Boy in Monster Land"} {"level":"info","time":"2026-01-09T14:41:04+01:00","caller":"/build/pkg/service/queues.go:72","message":"running script (1 cmds): @MasterSystem/Wonder Boy in Monster Land"} {"level":"info","time":"2026-01-09T14:41:04+01:00","caller":"/build/pkg/zapscript/commands.go:355","message":"running command: {{map[]} launch.title [MasterSystem/Wonder Boy in Monster Land]}"} {"level":"debug","time":"2026-01-09T14:41:04+01:00","caller":"/build/pkg/zapscript/titles.go:101","message":"using 1 launcher(s) for file type prioritization"} {"level":"info","time":"2026-01-09T14:41:04+01:00","caller":"/build/pkg/zapscript/titles.go:146","message":"searching for slug 'wonderboyinmonsterland' in system 'MasterSystem'"} {"level":"debug","system_id":"MasterSystem","slug":"wonderboyinmonsterland","media_dbid":6,"strategy":"strategy_exact_match","time":"2026-01-09T14:41:04+01:00","caller":"/build/pkg/database/mediadb/slug_cache.go:109","message":"slug resolution cache hit"} {"level":"info","time":"2026-01-09T14:41:04+01:00","caller":"/build/pkg/zapscript/titles.go:154","message":"slug resolution cache hit (strategy: strategy_exact_match)"} {"level":"info","time":"2026-01-09T14:41:04+01:00","caller":"/build/pkg/zapscript/titles.go:161","message":"resolved from cache: Wonder Boy in Monster Land (/userdata/roms/mastersystem/Wonder Boy in Monster Land (UE) (V1.1) [!].sms)"} {"level":"info","time":"2026-01-09T14:41:04+01:00","caller":"/build/pkg/platforms/batocera/platform.go:467","message":"launch media: /userdata/roms/mastersystem/Wonder Boy in Monster Land (UE) (V1.1) [!].sms"} {"level":"info","time":"2026-01-09T14:41:04+01:00","caller":"/build/pkg/platforms/batocera/platform.go:488","message":"exiting current media"} {"level":"info","time":"2026-01-09T14:41:04+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T14:41:04+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"debug","time":"2026-01-09T14:41:05+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #2"} {"level":"debug","time":"2026-01-09T14:41:05+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"debug","time":"2026-01-09T14:41:06+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #3"} {"level":"debug","time":"2026-01-09T14:41:07+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #4"} {"level":"debug","time":"2026-01-09T14:41:08+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #5"} {"level":"debug","request":{"jsonrpc":"2.0","id":"bb633324-1cee-403e-aaff-ef666a1c942f","method":"media.tags","params":{"systems":[]}},"time":"2026-01-09T14:41:09+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T14:41:09+01:00","caller":"/build/pkg/api/methods/media.go:576","message":"received media tags request"} {"level":"debug","result":{"tags":[{"tag":"verified","type":"dump"},{"tag":"gen","type":"extension"},{"tag":"nes","type":"extension"},{"tag":"py","type":"extension"},{"tag":"sfc","type":"extension"},{"tag":"sh","type":"extension"},{"tag":"sms","type":"extension"},{"tag":"wad","type":"extension"},{"tag":"ar","type":"lang"},{"tag":"en","type":"lang"},{"tag":"eu","type":"region"},{"tag":"us","type":"region"},{"tag":"world","type":"region"},{"tag":"1","type":"rev"},{"tag":"1-1","type":"rev"},{"tag":"1-3","type":"rev"}]},"time":"2026-01-09T14:41:09+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"info","time":"2026-01-09T14:41:09+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"debug","time":"2026-01-09T14:41:09+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.stopped"} {"level":"debug","dbid":35,"playTime":21,"time":"2026-01-09T14:41:09+01:00","caller":"/build/pkg/service/service.go:513","message":"closed media history entry"} {"level":"info","time":"2026-01-09T14:41:11+01:00","caller":"/build/pkg/platforms/batocera/platform.go:504","message":"launch media: using launcher MasterSystem for: /userdata/roms/mastersystem/Wonder Boy in Monster Land (UE) (V1.1) [!].sms"} {"level":"debug","time":"2026-01-09T14:41:11+01:00","caller":"/build/pkg/platforms/launch.go:70","message":"launching with: &{0x285a570 0x28581a0 MasterSystem MasterSystem [mastersystem] [] [.bin .sms .zip .7z] 0 false false}"} {"level":"info","time":"2026-01-09T14:41:11+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T14:41:11+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"info","time":"2026-01-09T14:41:12+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"info","time":"2026-01-09T14:41:12+01:00","caller":"/build/pkg/platforms/launch.go:174","message":"DoLaunch setting ActiveMedia: SystemID='MasterSystem', SystemName='Master System', Path='/userdata/roms/mastersystem/Wonder Boy in Monster Land (UE) (V1.1) [!].sms', Name='Wonder Boy in Monster Land', LauncherID='MasterSystem'"} {"level":"debug","time":"2026-01-09T14:41:12+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.started"} {"level":"debug","dbid":36,"time":"2026-01-09T14:41:12+01:00","caller":"/build/pkg/service/service.go:480","message":"created media history entry"} {"level":"info","time":"2026-01-09T14:41:14+01:00","caller":"/build/pkg/platforms/batocera/tracker.go:348","message":"detected game launched externally: Wonder Boy in Monster Land (UE) (V1.1) [!]"} {"level":"debug","token":{"ScanTime":"2026-01-09T14:41:04.667391357+01:00","Type":"NTAG","UID":"1da6d36e0f1080","Text":"@MasterSystem/Wonder Boy in Monster Land","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-09T14:41:14+01:00","caller":"/build/pkg/zapscript/commands.go:367","message":"cmd launch: clearing current playlist"} {"level":"debug","token":{"ScanTime":"2026-01-09T14:41:04.667391357+01:00","Type":"NTAG","UID":"1da6d36e0f1080","Text":"@MasterSystem/Wonder Boy in Monster Land","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-09T14:41:14+01:00","caller":"/build/pkg/service/queues.go:118","message":"media changed, updating token"} {"level":"info","time":"2026-01-09T14:41:14+01:00","caller":"/build/pkg/service/queues.go:119","message":"current media launched set to: 1da6d36e0f1080"} {"level":"debug","time":"2026-01-09T14:41:14+01:00","caller":"/build/pkg/service/readers.go:381","message":"new software token: &{0x40003d0480 0x4000147040 0x40002869a0 map[pn532_uart:/dev/ttyUSB0:0x400036c200] 0x211f8b0 0x40002bb2d0 0x269d7e0 0x40000a5900 0x40002c8930 0x40000ea1e0 5c139eb8-c3e5-4e07-95f6-a2be0fb13797 {{14001795953464939901 129646156149 0x3a15a60} NTAG 1da6d36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false} {{14001795953464939901 129646156149 0x3a15a60} NTAG 1da6d36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false} {{{{} {0 0}} 0 0 {{} 0} {{} 0}}} false true}"} {"level":"info","time":"2026-01-09T14:41:20+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T14:41:20+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:41:20+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T14:41:20+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"debug","time":"2026-01-09T14:41:41+01:00","caller":"/build/pkg/api/server.go:903","message":"websocket origin: http://localhost"} {"level":"debug","time":"2026-01-09T14:41:41+01:00","caller":"/build/pkg/api/server.go:449","message":"websocket origin: http://localhost allowed (explicit match)"} {"level":"debug","request":{"jsonrpc":"2.0","id":"f16e85f9-267c-4b28-94f8-2a36fb38138f","method":"systems"},"time":"2026-01-09T14:41:41+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T14:41:41+01:00","caller":"/build/pkg/api/methods/systems.go:31","message":"received systems request"} {"level":"debug","result":{"systems":[{"releaseDate":"1989-04-10","manufacturer":"IBM","id":"DOS","name":"PC (DOS)","category":"Computer"},{"releaseDate":"1988-10-29","manufacturer":"Sega","id":"Genesis","name":"Genesis","category":"Console"},{"releaseDate":"1985-10-20","manufacturer":"Sega","id":"MasterSystem","name":"Master System","category":"Console"},{"releaseDate":"1985-10-18","manufacturer":"Nintendo","id":"NES","name":"NES","category":"Console"},{"id":"PC","name":"PC","category":"Computer"},{"releaseDate":"1990-11-21","manufacturer":"Nintendo","id":"SNES","name":"SNES","category":"Console"}]},"time":"2026-01-09T14:41:41+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"c92e9108-e6ef-495d-a0df-f8a76233b1ef","method":"media"},"time":"2026-01-09T14:41:41+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T14:41:41+01:00","caller":"/build/pkg/api/methods/media.go:625","message":"received media request"} {"level":"debug","result":{"database":{"totalMedia":18,"exists":true,"indexing":false,"optimizing":false},"active":[{"started":"2026-01-09T14:41:12.227706666+01:00","launcherId":"MasterSystem","systemId":"MasterSystem","systemName":"Master System","mediaPath":"/userdata/roms/mastersystem/Wonder Boy in Monster Land (UE) (V1.1) [!].sms","mediaName":"Wonder Boy in Monster Land"}]},"time":"2026-01-09T14:41:41+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"2356a45f-b020-4da0-adb9-12d3a6d3f767","method":"tokens"},"time":"2026-01-09T14:41:41+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T14:41:41+01:00","caller":"/build/pkg/api/methods/history.go:31","message":"received tokens request"} {"level":"debug","result":{"last":{"scanTime":"2026-01-09T14:41:04.667391357+01:00","type":"NTAG","uid":"1da6d36e0f1080","text":"@NES/Captain Tsubasa 2","data":""},"active":[]},"time":"2026-01-09T14:41:41+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","dbid":36,"playTime":43,"time":"2026-01-09T14:41:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"info","time":"2026-01-09T14:41:57+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1da9d36e0f1080)"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:41:57+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:41:57+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:41:57+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1da9d36e0f1080","manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:41:57+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1da9d36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:41:57+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:41:57+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","error":"failed to read NDEF from NTAG: tag read failed (NDEF header): InDataExchange error 0x01 (timeout) [sent 2 bytes, target 1]","uid":"1da9d36e0f1080","time":"2026-01-09T14:41:57+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"error","error":"failed to read NDEF from NTAG: tag read failed (NDEF header): InDataExchange error 0x01 (timeout) [sent 2 bytes, target 1]","operation":"read NDEF","time":"2026-01-09T14:41:57+01:00","caller":"/build/pkg/readers/pn532/pn532.go:210","message":"PN532 error"} {"level":"warn","error":"failed to read NDEF from NTAG: tag read failed (NDEF header): InDataExchange error 0x01 (timeout) [sent 2 bytes, target 1]","uid":"1da9d36e0f1080","tagType":"NTAG","time":"2026-01-09T14:41:57+01:00","caller":"/build/pkg/readers/pn532/tags.go:86","message":"failed to read NDEF data from tag"} {"level":"info","time":"2026-01-09T14:41:57+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1da9d36e0f1080"} {"level":"debug","time":"2026-01-09T14:41:57+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x400016eb60 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:41:57+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 14:41:57.695239514 +0100 CET m=+182.674004306 NTAG 1da9d36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T14:41:57+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T14:41:57+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 14:41:57.695239514 +0100 CET m=+182.674004306 NTAG 1da9d36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:41:57+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 14:41:57.695239514 +0100 CET m=+182.674004306 NTAG 1da9d36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","error":"script is empty","time":"2026-01-09T14:41:57+01:00","caller":"/build/pkg/service/queues.go:307","message":"failed to parse script for playtime check"} {"level":"debug","time":"2026-01-09T14:41:57+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"error","error":"failed to parse script: script is empty","time":"2026-01-09T14:41:57+01:00","caller":"/build/pkg/service/queues.go:353","message":"error launching token"} {"level":"info","time":"2026-01-09T14:41:58+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T14:41:58+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:41:58+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T14:41:58+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"debug","time":"2026-01-09T14:41:58+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"info","time":"2026-01-09T14:42:01+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1da9d36e0f1080)"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:42:01+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:42:01+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:42:01+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1da9d36e0f1080","manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:42:01+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1da9d36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:42:01+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:42:01+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","error":"failed to read NDEF from NTAG: invalid NDEF message: invalid TLV structure: NDEF length exceeds data size","uid":"1da9d36e0f1080","time":"2026-01-09T14:42:01+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"error","error":"failed to read NDEF from NTAG: invalid NDEF message: invalid TLV structure: NDEF length exceeds data size","operation":"read NDEF","time":"2026-01-09T14:42:01+01:00","caller":"/build/pkg/readers/pn532/pn532.go:210","message":"PN532 error"} {"level":"warn","error":"failed to read NDEF from NTAG: invalid NDEF message: invalid TLV structure: NDEF length exceeds data size","uid":"1da9d36e0f1080","tagType":"NTAG","time":"2026-01-09T14:42:01+01:00","caller":"/build/pkg/readers/pn532/tags.go:86","message":"failed to read NDEF data from tag"} {"level":"info","time":"2026-01-09T14:42:01+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1da9d36e0f1080"} {"level":"debug","time":"2026-01-09T14:42:01+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x4000175110 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:42:01+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 14:42:01.218991179 +0100 CET m=+186.197755971 NTAG 1da9d36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T14:42:01+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T14:42:01+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 14:42:01.218991179 +0100 CET m=+186.197755971 NTAG 1da9d36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:42:01+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 14:42:01.218991179 +0100 CET m=+186.197755971 NTAG 1da9d36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","error":"script is empty","time":"2026-01-09T14:42:01+01:00","caller":"/build/pkg/service/queues.go:307","message":"failed to parse script for playtime check"} {"level":"debug","time":"2026-01-09T14:42:01+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"error","error":"failed to parse script: script is empty","time":"2026-01-09T14:42:01+01:00","caller":"/build/pkg/service/queues.go:353","message":"error launching token"} {"level":"debug","time":"2026-01-09T14:42:02+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"info","time":"2026-01-09T14:42:02+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T14:42:02+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:42:02+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T14:42:02+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"info","time":"2026-01-09T14:42:03+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1da9d36e0f1080)"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:42:03+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:42:03+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:42:03+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1da9d36e0f1080","manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:42:03+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1da9d36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:42:03+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:42:03+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:42:03+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"debug","uid":"1da9d36e0f1080","recordCount":1,"recordType":"text","hasText":true,"hasURI":false,"payloadLen":23,"time":"2026-01-09T14:42:03+01:00","caller":"/build/pkg/readers/pn532/tags.go:107","message":"NDEF: processing records"} {"level":"info","time":"2026-01-09T14:42:03+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1da9d36e0f1080"} {"level":"info","time":"2026-01-09T14:42:03+01:00","caller":"/build/pkg/readers/pn532/pn532.go:440","message":"NDEF text: @NES/Exciting Basket"} {"level":"debug","time":"2026-01-09T14:42:03+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x4000174e70 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:42:03+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 14:42:03.580386803 +0100 CET m=+188.559151595 NTAG 1da9d36e0f1080 @NES/Exciting Basket pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T14:42:03+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T14:42:03+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 14:42:03.580386803 +0100 CET m=+188.559151595 NTAG 1da9d36e0f1080 @NES/Exciting Basket pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:42:03+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 14:42:03.580386803 +0100 CET m=+188.559151595 NTAG 1da9d36e0f1080 @NES/Exciting Basket pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:42:03+01:00","caller":"/build/pkg/service/queues.go:72","message":"running script (1 cmds): @NES/Exciting Basket"} {"level":"info","time":"2026-01-09T14:42:03+01:00","caller":"/build/pkg/zapscript/commands.go:355","message":"running command: {{map[]} launch.title [NES/Exciting Basket]}"} {"level":"debug","time":"2026-01-09T14:42:03+01:00","caller":"/build/pkg/zapscript/titles.go:101","message":"using 1 launcher(s) for file type prioritization"} {"level":"info","time":"2026-01-09T14:42:03+01:00","caller":"/build/pkg/zapscript/titles.go:146","message":"searching for slug 'excitingbasket' in system 'NES'"} {"level":"debug","system_id":"NES","slug":"excitingbasket","media_dbid":9,"strategy":"strategy_exact_match","time":"2026-01-09T14:42:03+01:00","caller":"/build/pkg/database/mediadb/slug_cache.go:109","message":"slug resolution cache hit"} {"level":"info","time":"2026-01-09T14:42:03+01:00","caller":"/build/pkg/zapscript/titles.go:154","message":"slug resolution cache hit (strategy: strategy_exact_match)"} {"level":"info","time":"2026-01-09T14:42:03+01:00","caller":"/build/pkg/zapscript/titles.go:161","message":"resolved from cache: Exciting Basket (/userdata/roms/nes/Exciting Basket.nes)"} {"level":"info","time":"2026-01-09T14:42:03+01:00","caller":"/build/pkg/platforms/batocera/platform.go:467","message":"launch media: /userdata/roms/nes/Exciting Basket.nes"} {"level":"info","time":"2026-01-09T14:42:03+01:00","caller":"/build/pkg/platforms/batocera/platform.go:488","message":"exiting current media"} {"level":"info","time":"2026-01-09T14:42:03+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T14:42:03+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"debug","time":"2026-01-09T14:42:04+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #2"} {"level":"debug","time":"2026-01-09T14:42:04+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"debug","time":"2026-01-09T14:42:05+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #3"} {"level":"info","time":"2026-01-09T14:42:05+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T14:42:05+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:42:05+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T14:42:05+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"debug","time":"2026-01-09T14:42:06+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #4"} {"level":"debug","time":"2026-01-09T14:42:07+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #5"} {"level":"info","time":"2026-01-09T14:42:08+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"debug","time":"2026-01-09T14:42:08+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.stopped"} {"level":"debug","dbid":36,"playTime":56,"time":"2026-01-09T14:42:08+01:00","caller":"/build/pkg/service/service.go:513","message":"closed media history entry"} {"level":"info","time":"2026-01-09T14:42:10+01:00","caller":"/build/pkg/platforms/batocera/platform.go:504","message":"launch media: using launcher NES for: /userdata/roms/nes/Exciting Basket.nes"} {"level":"debug","time":"2026-01-09T14:42:10+01:00","caller":"/build/pkg/platforms/launch.go:70","message":"launching with: &{0x285a570 0x28581a0 NES NES [nes] [] [.nes .unif .unf .zip .7z] 0 false false}"} {"level":"info","time":"2026-01-09T14:42:10+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T14:42:10+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"info","time":"2026-01-09T14:42:11+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"info","time":"2026-01-09T14:42:11+01:00","caller":"/build/pkg/platforms/launch.go:174","message":"DoLaunch setting ActiveMedia: SystemID='NES', SystemName='NES', Path='/userdata/roms/nes/Exciting Basket.nes', Name='Exciting Basket', LauncherID='NES'"} {"level":"debug","time":"2026-01-09T14:42:11+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.started"} {"level":"debug","dbid":37,"time":"2026-01-09T14:42:11+01:00","caller":"/build/pkg/service/service.go:480","message":"created media history entry"} {"level":"debug","token":{"ScanTime":"2026-01-09T14:42:03.580386803+01:00","Type":"NTAG","UID":"1da9d36e0f1080","Text":"@NES/Exciting Basket","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-09T14:42:13+01:00","caller":"/build/pkg/zapscript/commands.go:367","message":"cmd launch: clearing current playlist"} {"level":"debug","token":{"ScanTime":"2026-01-09T14:42:03.580386803+01:00","Type":"NTAG","UID":"1da9d36e0f1080","Text":"@NES/Exciting Basket","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-09T14:42:13+01:00","caller":"/build/pkg/service/queues.go:118","message":"media changed, updating token"} {"level":"info","time":"2026-01-09T14:42:13+01:00","caller":"/build/pkg/service/queues.go:119","message":"current media launched set to: 1da9d36e0f1080"} {"level":"debug","time":"2026-01-09T14:42:13+01:00","caller":"/build/pkg/service/readers.go:381","message":"new software token: &{0x40003d0480 0x4000147040 0x400016dc70 map[pn532_uart:/dev/ttyUSB0:0x400036c200] 0x211f8b0 0x4000164540 0x269d7e0 0x40000a5900 0x40002c8930 0x40000ea1e0 5c139eb8-c3e5-4e07-95f6-a2be0fb13797 {{14001796016728702963 188559151595 0x3a15a60} NTAG 1da9d36e0f1080 @NES/Exciting Basket pn532uart:/dev/ttyUSB0 false false} {{0 0 } false false} {{{{} {0 0}} 0 0 {{} 0} {{} 0}}} false true}"} {"level":"info","time":"2026-01-09T14:42:14+01:00","caller":"/build/pkg/platforms/batocera/tracker.go:348","message":"detected game launched externally: Exciting Basket"} {"level":"info","time":"2026-01-09T14:42:21+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1daad36e0f1080)"} {"level":"debug","uid":"1daad36e0f1080","time":"2026-01-09T14:42:21+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1daad36e0f1080","time":"2026-01-09T14:42:21+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1daad36e0f1080","time":"2026-01-09T14:42:21+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1daad36e0f1080","manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:42:21+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1daad36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:42:21+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1daad36e0f1080","time":"2026-01-09T14:42:21+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","uid":"1daad36e0f1080","time":"2026-01-09T14:42:22+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"debug","uid":"1daad36e0f1080","recordCount":1,"recordType":"text","hasText":true,"hasURI":false,"payloadLen":52,"time":"2026-01-09T14:42:22+01:00","caller":"/build/pkg/readers/pn532/tags.go:107","message":"NDEF: processing records"} {"level":"info","time":"2026-01-09T14:42:22+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1daad36e0f1080"} {"level":"info","time":"2026-01-09T14:42:22+01:00","caller":"/build/pkg/readers/pn532/pn532.go:440","message":"NDEF text: NES/Kunio-kun no Nekketsu Soccer League (AR) .nes"} {"level":"debug","time":"2026-01-09T14:42:22+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x40001658f0 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:42:22+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 14:42:22.242852004 +0100 CET m=+207.221616797 NTAG 1daad36e0f1080 NES/Kunio-kun no Nekketsu Soccer League (AR) .nes pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T14:42:22+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T14:42:22+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 14:42:22.242852004 +0100 CET m=+207.221616797 NTAG 1daad36e0f1080 NES/Kunio-kun no Nekketsu Soccer League (AR) .nes pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:42:22+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 14:42:22.242852004 +0100 CET m=+207.221616797 NTAG 1daad36e0f1080 NES/Kunio-kun no Nekketsu Soccer League (AR) .nes pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:42:22+01:00","caller":"/build/pkg/service/queues.go:72","message":"running script (1 cmds): NES/Kunio-kun no Nekketsu Soccer League (AR) .nes"} {"level":"info","time":"2026-01-09T14:42:22+01:00","caller":"/build/pkg/zapscript/commands.go:355","message":"running command: {{map[]} launch [NES/Kunio-kun no Nekketsu Soccer League (AR) .nes]}"} {"level":"debug","error":"file not found: NES/Kunio-kun no Nekketsu Soccer League (AR) .nes","time":"2026-01-09T14:42:22+01:00","caller":"/build/pkg/zapscript/launch.go:386","message":"error finding file: NES/Kunio-kun no Nekketsu Soccer League (AR) .nes"} {"level":"info","time":"2026-01-09T14:42:22+01:00","caller":"/build/pkg/zapscript/launch.go:410","message":"launching system: NES, path: Kunio-kun no Nekketsu Soccer League (AR) .nes"} {"level":"debug","time":"2026-01-09T14:42:22+01:00","caller":"/build/pkg/zapscript/launch.go:440","message":"checking system path: nes/Kunio-kun no Nekketsu Soccer League (AR) .nes"} {"level":"debug","time":"2026-01-09T14:42:22+01:00","caller":"/build/pkg/zapscript/commands.go:191","message":"found file: /userdata/roms/nes/Kunio-kun no Nekketsu Soccer League (AR) .nes"} {"level":"debug","time":"2026-01-09T14:42:22+01:00","caller":"/build/pkg/zapscript/launch.go:444","message":"launching found system path: /userdata/roms/nes/Kunio-kun no Nekketsu Soccer League (AR) .nes"} {"level":"info","time":"2026-01-09T14:42:22+01:00","caller":"/build/pkg/platforms/batocera/platform.go:467","message":"launch media: /userdata/roms/nes/Kunio-kun no Nekketsu Soccer League (AR) .nes"} {"level":"info","time":"2026-01-09T14:42:22+01:00","caller":"/build/pkg/platforms/batocera/platform.go:488","message":"exiting current media"} {"level":"info","time":"2026-01-09T14:42:22+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T14:42:22+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"debug","time":"2026-01-09T14:42:23+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #2"} {"level":"debug","time":"2026-01-09T14:42:23+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"info","time":"2026-01-09T14:42:23+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T14:42:23+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:42:23+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T14:42:23+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"debug","time":"2026-01-09T14:42:24+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #3"} {"level":"debug","time":"2026-01-09T14:42:25+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #4"} {"level":"debug","time":"2026-01-09T14:42:26+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #5"} {"level":"info","time":"2026-01-09T14:42:27+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"debug","time":"2026-01-09T14:42:27+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.stopped"} {"level":"debug","dbid":37,"playTime":16,"time":"2026-01-09T14:42:27+01:00","caller":"/build/pkg/service/service.go:513","message":"closed media history entry"} {"level":"info","time":"2026-01-09T14:42:29+01:00","caller":"/build/pkg/platforms/batocera/platform.go:504","message":"launch media: using launcher NES for: /userdata/roms/nes/Kunio-kun no Nekketsu Soccer League (AR) .nes"} {"level":"debug","time":"2026-01-09T14:42:29+01:00","caller":"/build/pkg/platforms/launch.go:70","message":"launching with: &{0x285a570 0x28581a0 NES NES [nes] [] [.nes .unif .unf .zip .7z] 0 false false}"} {"level":"info","time":"2026-01-09T14:42:29+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T14:42:29+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"info","time":"2026-01-09T14:42:29+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"info","time":"2026-01-09T14:42:29+01:00","caller":"/build/pkg/platforms/launch.go:174","message":"DoLaunch setting ActiveMedia: SystemID='NES', SystemName='NES', Path='/userdata/roms/nes/Kunio-kun no Nekketsu Soccer League (AR) .nes', Name='Kunio-kun no Nekketsu Soccer League', LauncherID='NES'"} {"level":"debug","time":"2026-01-09T14:42:29+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.started"} {"level":"debug","dbid":38,"time":"2026-01-09T14:42:29+01:00","caller":"/build/pkg/service/service.go:480","message":"created media history entry"} {"level":"debug","token":{"ScanTime":"2026-01-09T14:42:22.242852004+01:00","Type":"NTAG","UID":"1daad36e0f1080","Text":"NES/Kunio-kun no Nekketsu Soccer League (AR) .nes","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-09T14:42:31+01:00","caller":"/build/pkg/zapscript/commands.go:367","message":"cmd launch: clearing current playlist"} {"level":"debug","token":{"ScanTime":"2026-01-09T14:42:22.242852004+01:00","Type":"NTAG","UID":"1daad36e0f1080","Text":"NES/Kunio-kun no Nekketsu Soccer League (AR) .nes","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-09T14:42:31+01:00","caller":"/build/pkg/service/queues.go:118","message":"media changed, updating token"} {"level":"info","time":"2026-01-09T14:42:31+01:00","caller":"/build/pkg/service/queues.go:119","message":"current media launched set to: 1daad36e0f1080"} {"level":"debug","time":"2026-01-09T14:42:31+01:00","caller":"/build/pkg/service/readers.go:381","message":"new software token: &{0x40003d0480 0x4000147040 0x400016eb60 map[pn532_uart:/dev/ttyUSB0:0x400036c200] 0x211f8b0 0x400016f030 0x269d7e0 0x40000a5900 0x40002c8930 0x40000ea1e0 5c139eb8-c3e5-4e07-95f6-a2be0fb13797 {{14001796036792262820 207221616797 0x3a15a60} NTAG 1daad36e0f1080 NES/Kunio-kun no Nekketsu Soccer League (AR) .nes pn532uart:/dev/ttyUSB0 false false} {{0 0 } false false} {{{{} {0 0}} 0 0 {{} 0} {{} 0}}} false true}"} {"level":"info","time":"2026-01-09T14:42:32+01:00","caller":"/build/pkg/platforms/batocera/tracker.go:348","message":"detected game launched externally: Kunio-kun no Nekketsu Soccer League (AR) "} {"level":"debug","dbid":38,"playTime":25,"time":"2026-01-09T14:42:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"info","time":"2026-01-09T14:43:25+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1da6d36e0f1080)"} {"level":"debug","uid":"1da6d36e0f1080","time":"2026-01-09T14:43:25+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1da6d36e0f1080","time":"2026-01-09T14:43:25+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1da6d36e0f1080","time":"2026-01-09T14:43:25+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1da6d36e0f1080","manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:43:25+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1da6d36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:43:25+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1da6d36e0f1080","time":"2026-01-09T14:43:25+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","uid":"1da6d36e0f1080","time":"2026-01-09T14:43:26+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"debug","uid":"1da6d36e0f1080","recordCount":1,"recordType":"text","hasText":true,"hasURI":false,"payloadLen":25,"time":"2026-01-09T14:43:26+01:00","caller":"/build/pkg/readers/pn532/tags.go:107","message":"NDEF: processing records"} {"level":"info","time":"2026-01-09T14:43:26+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1da6d36e0f1080"} {"level":"info","time":"2026-01-09T14:43:26+01:00","caller":"/build/pkg/readers/pn532/pn532.go:440","message":"NDEF text: @NES/Captain Tsubasa 2"} {"level":"debug","time":"2026-01-09T14:43:26+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x40001722a0 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:43:26+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 14:43:26.228420209 +0100 CET m=+271.207185001 NTAG 1da6d36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T14:43:26+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T14:43:26+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 14:43:26.228420209 +0100 CET m=+271.207185001 NTAG 1da6d36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:43:26+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 14:43:26.228420209 +0100 CET m=+271.207185001 NTAG 1da6d36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:43:26+01:00","caller":"/build/pkg/service/mappings.go:162","message":"launching with db/cfg id match override"} {"level":"info","time":"2026-01-09T14:43:26+01:00","caller":"/build/pkg/service/mappings.go:162","message":"launching with db/cfg id match override"} {"level":"info","time":"2026-01-09T14:43:26+01:00","caller":"/build/pkg/service/queues.go:62","message":"found mapping: @MasterSystem/Wonder Boy in Monster Land"} {"level":"info","time":"2026-01-09T14:43:26+01:00","caller":"/build/pkg/service/queues.go:72","message":"running script (1 cmds): @MasterSystem/Wonder Boy in Monster Land"} {"level":"info","time":"2026-01-09T14:43:26+01:00","caller":"/build/pkg/zapscript/commands.go:355","message":"running command: {{map[]} launch.title [MasterSystem/Wonder Boy in Monster Land]}"} {"level":"debug","time":"2026-01-09T14:43:26+01:00","caller":"/build/pkg/zapscript/titles.go:101","message":"using 1 launcher(s) for file type prioritization"} {"level":"info","time":"2026-01-09T14:43:26+01:00","caller":"/build/pkg/zapscript/titles.go:146","message":"searching for slug 'wonderboyinmonsterland' in system 'MasterSystem'"} {"level":"debug","system_id":"MasterSystem","slug":"wonderboyinmonsterland","media_dbid":6,"strategy":"strategy_exact_match","time":"2026-01-09T14:43:26+01:00","caller":"/build/pkg/database/mediadb/slug_cache.go:109","message":"slug resolution cache hit"} {"level":"info","time":"2026-01-09T14:43:26+01:00","caller":"/build/pkg/zapscript/titles.go:154","message":"slug resolution cache hit (strategy: strategy_exact_match)"} {"level":"info","time":"2026-01-09T14:43:26+01:00","caller":"/build/pkg/zapscript/titles.go:161","message":"resolved from cache: Wonder Boy in Monster Land (/userdata/roms/mastersystem/Wonder Boy in Monster Land (UE) (V1.1) [!].sms)"} {"level":"info","time":"2026-01-09T14:43:26+01:00","caller":"/build/pkg/platforms/batocera/platform.go:467","message":"launch media: /userdata/roms/mastersystem/Wonder Boy in Monster Land (UE) (V1.1) [!].sms"} {"level":"info","time":"2026-01-09T14:43:26+01:00","caller":"/build/pkg/platforms/batocera/platform.go:488","message":"exiting current media"} {"level":"info","time":"2026-01-09T14:43:26+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T14:43:26+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"debug","time":"2026-01-09T14:43:27+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #2"} {"level":"debug","time":"2026-01-09T14:43:27+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"debug","time":"2026-01-09T14:43:28+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #3"} {"level":"debug","time":"2026-01-09T14:43:29+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #4"} {"level":"debug","time":"2026-01-09T14:43:30+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #5"} {"level":"info","time":"2026-01-09T14:43:30+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T14:43:30+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:43:30+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T14:43:30+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"info","time":"2026-01-09T14:43:31+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"debug","time":"2026-01-09T14:43:31+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.stopped"} {"level":"debug","dbid":38,"playTime":61,"time":"2026-01-09T14:43:31+01:00","caller":"/build/pkg/service/service.go:513","message":"closed media history entry"} {"level":"info","time":"2026-01-09T14:43:33+01:00","caller":"/build/pkg/platforms/batocera/platform.go:504","message":"launch media: using launcher MasterSystem for: /userdata/roms/mastersystem/Wonder Boy in Monster Land (UE) (V1.1) [!].sms"} {"level":"debug","time":"2026-01-09T14:43:33+01:00","caller":"/build/pkg/platforms/launch.go:70","message":"launching with: &{0x285a570 0x28581a0 MasterSystem MasterSystem [mastersystem] [] [.bin .sms .zip .7z] 0 false false}"} {"level":"info","time":"2026-01-09T14:43:33+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T14:43:33+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"info","time":"2026-01-09T14:43:33+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"info","time":"2026-01-09T14:43:33+01:00","caller":"/build/pkg/platforms/launch.go:174","message":"DoLaunch setting ActiveMedia: SystemID='MasterSystem', SystemName='Master System', Path='/userdata/roms/mastersystem/Wonder Boy in Monster Land (UE) (V1.1) [!].sms', Name='Wonder Boy in Monster Land', LauncherID='MasterSystem'"} {"level":"debug","time":"2026-01-09T14:43:33+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.started"} {"level":"debug","dbid":39,"time":"2026-01-09T14:43:33+01:00","caller":"/build/pkg/service/service.go:480","message":"created media history entry"} {"level":"debug","token":{"ScanTime":"2026-01-09T14:43:26.228420209+01:00","Type":"NTAG","UID":"1da6d36e0f1080","Text":"@MasterSystem/Wonder Boy in Monster Land","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-09T14:43:35+01:00","caller":"/build/pkg/zapscript/commands.go:367","message":"cmd launch: clearing current playlist"} {"level":"debug","token":{"ScanTime":"2026-01-09T14:43:26.228420209+01:00","Type":"NTAG","UID":"1da6d36e0f1080","Text":"@MasterSystem/Wonder Boy in Monster Land","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-09T14:43:35+01:00","caller":"/build/pkg/service/queues.go:118","message":"media changed, updating token"} {"level":"info","time":"2026-01-09T14:43:35+01:00","caller":"/build/pkg/service/queues.go:119","message":"current media launched set to: 1da6d36e0f1080"} {"level":"debug","time":"2026-01-09T14:43:35+01:00","caller":"/build/pkg/service/readers.go:381","message":"new software token: &{0x40003d0480 0x4000147040 0x4000287b90 map[pn532_uart:/dev/ttyUSB0:0x400036c200] 0x211f8b0 0x4000287110 0x269d7e0 0x40000a5900 0x40002c8930 0x40000ea1e0 5c139eb8-c3e5-4e07-95f6-a2be0fb13797 {{14001796105497307761 271207185001 0x3a15a60} NTAG 1da6d36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false} {{0 0 } false false} {{{{} {0 0}} 0 0 {{} 0} {{} 0}}} false true}"} {"level":"info","time":"2026-01-09T14:43:36+01:00","caller":"/build/pkg/platforms/batocera/tracker.go:348","message":"detected game launched externally: Wonder Boy in Monster Land (UE) (V1.1) [!]"} {"level":"info","time":"2026-01-09T14:43:49+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1da9d36e0f1080)"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:43:49+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:43:49+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:43:49+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1da9d36e0f1080","manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:43:49+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1da9d36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:43:49+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:43:49+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:43:50+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"debug","uid":"1da9d36e0f1080","recordCount":1,"recordType":"text","hasText":true,"hasURI":false,"payloadLen":23,"time":"2026-01-09T14:43:50+01:00","caller":"/build/pkg/readers/pn532/tags.go:107","message":"NDEF: processing records"} {"level":"info","time":"2026-01-09T14:43:50+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1da9d36e0f1080"} {"level":"info","time":"2026-01-09T14:43:50+01:00","caller":"/build/pkg/readers/pn532/pn532.go:440","message":"NDEF text: @NES/Exciting Basket"} {"level":"debug","time":"2026-01-09T14:43:50+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x40001d19d0 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:43:50+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 14:43:50.111362544 +0100 CET m=+295.090127336 NTAG 1da9d36e0f1080 @NES/Exciting Basket pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T14:43:50+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T14:43:50+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 14:43:50.111362544 +0100 CET m=+295.090127336 NTAG 1da9d36e0f1080 @NES/Exciting Basket pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:43:50+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 14:43:50.111362544 +0100 CET m=+295.090127336 NTAG 1da9d36e0f1080 @NES/Exciting Basket pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:43:50+01:00","caller":"/build/pkg/service/queues.go:72","message":"running script (1 cmds): @NES/Exciting Basket"} {"level":"info","time":"2026-01-09T14:43:50+01:00","caller":"/build/pkg/zapscript/commands.go:355","message":"running command: {{map[]} launch.title [NES/Exciting Basket]}"} {"level":"debug","time":"2026-01-09T14:43:50+01:00","caller":"/build/pkg/zapscript/titles.go:101","message":"using 1 launcher(s) for file type prioritization"} {"level":"info","time":"2026-01-09T14:43:50+01:00","caller":"/build/pkg/zapscript/titles.go:146","message":"searching for slug 'excitingbasket' in system 'NES'"} {"level":"debug","system_id":"NES","slug":"excitingbasket","media_dbid":9,"strategy":"strategy_exact_match","time":"2026-01-09T14:43:50+01:00","caller":"/build/pkg/database/mediadb/slug_cache.go:109","message":"slug resolution cache hit"} {"level":"info","time":"2026-01-09T14:43:50+01:00","caller":"/build/pkg/zapscript/titles.go:154","message":"slug resolution cache hit (strategy: strategy_exact_match)"} {"level":"info","time":"2026-01-09T14:43:50+01:00","caller":"/build/pkg/zapscript/titles.go:161","message":"resolved from cache: Exciting Basket (/userdata/roms/nes/Exciting Basket.nes)"} {"level":"info","time":"2026-01-09T14:43:50+01:00","caller":"/build/pkg/platforms/batocera/platform.go:467","message":"launch media: /userdata/roms/nes/Exciting Basket.nes"} {"level":"info","time":"2026-01-09T14:43:50+01:00","caller":"/build/pkg/platforms/batocera/platform.go:488","message":"exiting current media"} {"level":"info","time":"2026-01-09T14:43:50+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T14:43:50+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"debug","time":"2026-01-09T14:43:51+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #2"} {"level":"debug","time":"2026-01-09T14:43:51+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"debug","time":"2026-01-09T14:43:52+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #3"} {"level":"debug","time":"2026-01-09T14:43:53+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #4"} {"level":"debug","time":"2026-01-09T14:43:54+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #5"} {"level":"info","time":"2026-01-09T14:43:55+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"debug","time":"2026-01-09T14:43:55+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.stopped"} {"level":"debug","dbid":39,"playTime":21,"time":"2026-01-09T14:43:55+01:00","caller":"/build/pkg/service/service.go:513","message":"closed media history entry"} {"level":"info","time":"2026-01-09T14:43:55+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T14:43:55+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:43:55+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T14:43:55+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"info","time":"2026-01-09T14:43:57+01:00","caller":"/build/pkg/platforms/batocera/platform.go:504","message":"launch media: using launcher NES for: /userdata/roms/nes/Exciting Basket.nes"} {"level":"debug","time":"2026-01-09T14:43:57+01:00","caller":"/build/pkg/platforms/launch.go:70","message":"launching with: &{0x285a570 0x28581a0 NES NES [nes] [] [.nes .unif .unf .zip .7z] 0 false false}"} {"level":"info","time":"2026-01-09T14:43:57+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T14:43:57+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"info","time":"2026-01-09T14:43:57+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"info","time":"2026-01-09T14:43:57+01:00","caller":"/build/pkg/platforms/launch.go:174","message":"DoLaunch setting ActiveMedia: SystemID='NES', SystemName='NES', Path='/userdata/roms/nes/Exciting Basket.nes', Name='Exciting Basket', LauncherID='NES'"} {"level":"debug","time":"2026-01-09T14:43:57+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.started"} {"level":"debug","dbid":40,"time":"2026-01-09T14:43:57+01:00","caller":"/build/pkg/service/service.go:480","message":"created media history entry"} {"level":"debug","token":{"ScanTime":"2026-01-09T14:43:50.111362544+01:00","Type":"NTAG","UID":"1da9d36e0f1080","Text":"@NES/Exciting Basket","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-09T14:43:59+01:00","caller":"/build/pkg/zapscript/commands.go:367","message":"cmd launch: clearing current playlist"} {"level":"debug","token":{"ScanTime":"2026-01-09T14:43:50.111362544+01:00","Type":"NTAG","UID":"1da9d36e0f1080","Text":"@NES/Exciting Basket","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-09T14:43:59+01:00","caller":"/build/pkg/service/queues.go:118","message":"media changed, updating token"} {"level":"info","time":"2026-01-09T14:43:59+01:00","caller":"/build/pkg/service/queues.go:119","message":"current media launched set to: 1da9d36e0f1080"} {"level":"debug","time":"2026-01-09T14:43:59+01:00","caller":"/build/pkg/service/readers.go:381","message":"new software token: &{0x40003d0480 0x4000147040 0x400015ae00 map[pn532_uart:/dev/ttyUSB0:0x400036c200] 0x211f8b0 0x400033a620 0x269d7e0 0x40000a5900 0x40002c8930 0x40000ea1e0 5c139eb8-c3e5-4e07-95f6-a2be0fb13797 {{14001796131150053872 295090127336 0x3a15a60} NTAG 1da9d36e0f1080 @NES/Exciting Basket pn532uart:/dev/ttyUSB0 false false} {{0 0 } false false} {{{{} {0 0}} 0 0 {{} 0} {{} 0}}} false true}"} {"level":"info","time":"2026-01-09T14:44:00+01:00","caller":"/build/pkg/platforms/batocera/tracker.go:348","message":"detected game launched externally: Exciting Basket"} {"level":"info","time":"2026-01-09T14:44:02+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1da9d36e0f1080)"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:44:02+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:44:02+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:44:02+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1da9d36e0f1080","manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:44:02+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1da9d36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:44:02+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:44:02+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","error":"failed to read NDEF from NTAG: invalid NDEF message: invalid TLV structure: NDEF length exceeds data size","uid":"1da9d36e0f1080","time":"2026-01-09T14:44:02+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"error","error":"failed to read NDEF from NTAG: invalid NDEF message: invalid TLV structure: NDEF length exceeds data size","operation":"read NDEF","time":"2026-01-09T14:44:02+01:00","caller":"/build/pkg/readers/pn532/pn532.go:210","message":"PN532 error"} {"level":"warn","error":"failed to read NDEF from NTAG: invalid NDEF message: invalid TLV structure: NDEF length exceeds data size","uid":"1da9d36e0f1080","tagType":"NTAG","time":"2026-01-09T14:44:02+01:00","caller":"/build/pkg/readers/pn532/tags.go:86","message":"failed to read NDEF data from tag"} {"level":"info","time":"2026-01-09T14:44:02+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1da9d36e0f1080"} {"level":"debug","time":"2026-01-09T14:44:02+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x4000165b20 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:44:02+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 14:44:02.951361081 +0100 CET m=+307.930125873 NTAG 1da9d36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T14:44:02+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T14:44:02+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 14:44:02.951361081 +0100 CET m=+307.930125873 NTAG 1da9d36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:44:02+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 14:44:02.951361081 +0100 CET m=+307.930125873 NTAG 1da9d36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","error":"script is empty","time":"2026-01-09T14:44:02+01:00","caller":"/build/pkg/service/queues.go:307","message":"failed to parse script for playtime check"} {"level":"debug","time":"2026-01-09T14:44:02+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"error","error":"failed to parse script: script is empty","time":"2026-01-09T14:44:02+01:00","caller":"/build/pkg/service/queues.go:353","message":"error launching token"} {"level":"info","time":"2026-01-09T14:44:03+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T14:44:03+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:44:03+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T14:44:03+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"debug","time":"2026-01-09T14:44:03+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"info","time":"2026-01-09T14:44:07+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1da9d36e0f1080)"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:44:07+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:44:07+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:44:07+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1da9d36e0f1080","manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:44:07+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1da9d36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:44:07+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:44:07+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","error":"failed to read NDEF from NTAG: invalid NDEF message: invalid TLV structure: NDEF length exceeds data size","uid":"1da9d36e0f1080","time":"2026-01-09T14:44:08+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"error","error":"failed to read NDEF from NTAG: invalid NDEF message: invalid TLV structure: NDEF length exceeds data size","operation":"read NDEF","time":"2026-01-09T14:44:08+01:00","caller":"/build/pkg/readers/pn532/pn532.go:210","message":"PN532 error"} {"level":"warn","error":"failed to read NDEF from NTAG: invalid NDEF message: invalid TLV structure: NDEF length exceeds data size","uid":"1da9d36e0f1080","tagType":"NTAG","time":"2026-01-09T14:44:08+01:00","caller":"/build/pkg/readers/pn532/tags.go:86","message":"failed to read NDEF data from tag"} {"level":"info","time":"2026-01-09T14:44:08+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1da9d36e0f1080"} {"level":"debug","time":"2026-01-09T14:44:08+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x4000286a10 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:44:08+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 14:44:08.048627901 +0100 CET m=+313.027392694 NTAG 1da9d36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T14:44:08+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T14:44:08+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 14:44:08.048627901 +0100 CET m=+313.027392694 NTAG 1da9d36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:44:08+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 14:44:08.048627901 +0100 CET m=+313.027392694 NTAG 1da9d36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","error":"script is empty","time":"2026-01-09T14:44:08+01:00","caller":"/build/pkg/service/queues.go:307","message":"failed to parse script for playtime check"} {"level":"debug","time":"2026-01-09T14:44:08+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"error","error":"failed to parse script: script is empty","time":"2026-01-09T14:44:08+01:00","caller":"/build/pkg/service/queues.go:353","message":"error launching token"} {"level":"info","time":"2026-01-09T14:44:08+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T14:44:08+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:44:08+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T14:44:08+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"debug","time":"2026-01-09T14:44:08+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"info","time":"2026-01-09T14:44:17+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T14:44:17+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T14:44:17+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T14:44:17+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1dabd36e0f1080","manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:44:17+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1dabd36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:44:17+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T14:44:17+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T14:44:18+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"debug","uid":"1dabd36e0f1080","recordCount":1,"recordType":"text","hasText":true,"hasURI":false,"payloadLen":25,"time":"2026-01-09T14:44:18+01:00","caller":"/build/pkg/readers/pn532/tags.go:107","message":"NDEF: processing records"} {"level":"info","time":"2026-01-09T14:44:18+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"info","time":"2026-01-09T14:44:18+01:00","caller":"/build/pkg/readers/pn532/pn532.go:440","message":"NDEF text: @NES/Captain Tsubasa 2"} {"level":"debug","time":"2026-01-09T14:44:18+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x40002878f0 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:44:18+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 14:44:18.212951648 +0100 CET m=+323.191716440 NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T14:44:18+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T14:44:18+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 14:44:18.212951648 +0100 CET m=+323.191716440 NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:44:18+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 14:44:18.212951648 +0100 CET m=+323.191716440 NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T14:44:18+01:00","caller":"/build/pkg/service/queues.go:72","message":"running script (1 cmds): @NES/Captain Tsubasa 2"} {"level":"info","time":"2026-01-09T14:44:18+01:00","caller":"/build/pkg/zapscript/commands.go:355","message":"running command: {{map[]} launch.title [NES/Captain Tsubasa 2]}"} {"level":"debug","time":"2026-01-09T14:44:18+01:00","caller":"/build/pkg/zapscript/titles.go:101","message":"using 1 launcher(s) for file type prioritization"} {"level":"info","time":"2026-01-09T14:44:18+01:00","caller":"/build/pkg/zapscript/titles.go:146","message":"searching for slug 'captaintsubasa2' in system 'NES'"} {"level":"debug","system_id":"NES","slug":"captaintsubasa2","media_dbid":8,"strategy":"strategy_exact_match","time":"2026-01-09T14:44:18+01:00","caller":"/build/pkg/database/mediadb/slug_cache.go:109","message":"slug resolution cache hit"} {"level":"info","time":"2026-01-09T14:44:18+01:00","caller":"/build/pkg/zapscript/titles.go:154","message":"slug resolution cache hit (strategy: strategy_exact_match)"} {"level":"info","time":"2026-01-09T14:44:18+01:00","caller":"/build/pkg/zapscript/titles.go:161","message":"resolved from cache: Captain Tsubasa 2 (/userdata/roms/nes/Captain Tsubasa 2 (AR).nes)"} {"level":"info","time":"2026-01-09T14:44:18+01:00","caller":"/build/pkg/platforms/batocera/platform.go:467","message":"launch media: /userdata/roms/nes/Captain Tsubasa 2 (AR).nes"} {"level":"info","time":"2026-01-09T14:44:18+01:00","caller":"/build/pkg/platforms/batocera/platform.go:488","message":"exiting current media"} {"level":"info","time":"2026-01-09T14:44:18+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T14:44:18+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"info","time":"2026-01-09T14:44:18+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T14:44:18+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T14:44:18+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T14:44:18+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"debug","time":"2026-01-09T14:44:19+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #2"} {"level":"debug","time":"2026-01-09T14:44:19+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"debug","time":"2026-01-09T14:44:20+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #3"} {"level":"debug","time":"2026-01-09T14:44:21+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #4"} {"level":"debug","time":"2026-01-09T14:44:22+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #5"} {"level":"info","time":"2026-01-09T14:44:23+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"debug","time":"2026-01-09T14:44:23+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.stopped"} {"level":"debug","dbid":40,"playTime":25,"time":"2026-01-09T14:44:23+01:00","caller":"/build/pkg/service/service.go:513","message":"closed media history entry"} {"level":"info","time":"2026-01-09T14:44:25+01:00","caller":"/build/pkg/platforms/batocera/platform.go:504","message":"launch media: using launcher NES for: /userdata/roms/nes/Captain Tsubasa 2 (AR).nes"} {"level":"debug","time":"2026-01-09T14:44:25+01:00","caller":"/build/pkg/platforms/launch.go:70","message":"launching with: &{0x285a570 0x28581a0 NES NES [nes] [] [.nes .unif .unf .zip .7z] 0 false false}"} {"level":"info","time":"2026-01-09T14:44:25+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T14:44:25+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"info","time":"2026-01-09T14:44:25+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"info","time":"2026-01-09T14:44:25+01:00","caller":"/build/pkg/platforms/launch.go:174","message":"DoLaunch setting ActiveMedia: SystemID='NES', SystemName='NES', Path='/userdata/roms/nes/Captain Tsubasa 2 (AR).nes', Name='Captain Tsubasa 2', LauncherID='NES'"} {"level":"debug","time":"2026-01-09T14:44:25+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.started"} {"level":"debug","dbid":41,"time":"2026-01-09T14:44:25+01:00","caller":"/build/pkg/service/service.go:480","message":"created media history entry"} {"level":"debug","token":{"ScanTime":"2026-01-09T14:44:18.212951648+01:00","Type":"NTAG","UID":"1dabd36e0f1080","Text":"@NES/Captain Tsubasa 2","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-09T14:44:27+01:00","caller":"/build/pkg/zapscript/commands.go:367","message":"cmd launch: clearing current playlist"} {"level":"debug","token":{"ScanTime":"2026-01-09T14:44:18.212951648+01:00","Type":"NTAG","UID":"1dabd36e0f1080","Text":"@NES/Captain Tsubasa 2","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-09T14:44:27+01:00","caller":"/build/pkg/service/queues.go:118","message":"media changed, updating token"} {"level":"info","time":"2026-01-09T14:44:27+01:00","caller":"/build/pkg/service/queues.go:119","message":"current media launched set to: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-09T14:44:27+01:00","caller":"/build/pkg/service/readers.go:381","message":"new software token: &{0x40003d0480 0x4000147040 0x4000422230 map[pn532_uart:/dev/ttyUSB0:0x400036c200] 0x211f8b0 0x4000162540 0x269d7e0 0x40000a5900 0x40002c8930 0x40000ea1e0 5c139eb8-c3e5-4e07-95f6-a2be0fb13797 {{14001796161316414048 323191716440 0x3a15a60} NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false} {{0 0 } false false} {{{{} {0 0}} 0 0 {{} 0} {{} 0}}} false true}"} {"level":"info","time":"2026-01-09T14:44:28+01:00","caller":"/build/pkg/platforms/batocera/tracker.go:348","message":"detected game launched externally: Captain Tsubasa 2 (AR)"} {"level":"debug","dbid":41,"playTime":29,"time":"2026-01-09T14:44:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":41,"playTime":89,"time":"2026-01-09T14:45:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","time":"2026-01-09T14:46:12+01:00","caller":"/build/pkg/readers/pn532/pn532.go:318","message":"opening PN532 device: pn532uart:/dev/ttyUSB1"} {"level":"info","time":"2026-01-09T14:46:12+01:00","caller":"/build/pkg/readers/pn532/pn532.go:403","message":"PN532 reader opened: pn532uart:/dev/ttyUSB1"} {"level":"debug","time":"2026-01-09T14:46:12+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: readers.added"} {"level":"info","time":"2026-01-09T14:46:12+01:00","caller":"/build/pkg/service/autodetect.go:183","message":"successfully connected auto-detected reader: pn532_uart:/dev/ttyUSB1"} {"level":"debug","new_devices_detected":["pn532_uart:/dev/ttyUSB1"],"time":"2026-01-09T14:46:20+01:00","caller":"/build/pkg/service/autodetect.go:146","message":"auto-detect found new devices available for connection"} {"level":"info","time":"2026-01-09T14:46:20+01:00","caller":"/build/pkg/service/readers.go:325","message":"reader count changed: 2 connected"} {"level":"info","time":"2026-01-09T14:46:30+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1da6d36e0f1080)"} {"level":"debug","uid":"1da6d36e0f1080","time":"2026-01-09T14:46:30+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1da6d36e0f1080","time":"2026-01-09T14:46:30+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1da6d36e0f1080","time":"2026-01-09T14:46:30+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1da6d36e0f1080","manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:46:30+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1da6d36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:46:30+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1da6d36e0f1080","time":"2026-01-09T14:46:30+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","uid":"1da6d36e0f1080","time":"2026-01-09T14:46:31+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"debug","uid":"1da6d36e0f1080","recordCount":1,"recordType":"text","hasText":true,"hasURI":false,"payloadLen":25,"time":"2026-01-09T14:46:31+01:00","caller":"/build/pkg/readers/pn532/tags.go:107","message":"NDEF: processing records"} {"level":"info","time":"2026-01-09T14:46:31+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1da6d36e0f1080"} {"level":"info","time":"2026-01-09T14:46:31+01:00","caller":"/build/pkg/readers/pn532/pn532.go:440","message":"NDEF text: @NES/Captain Tsubasa 2"} {"level":"debug","time":"2026-01-09T14:46:31+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x400033bd50 pn532uart:/dev/ttyUSB1 false}"} {"level":"info","time":"2026-01-09T14:46:31+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 14:46:31.213374978 +0100 CET m=+456.192139770 NTAG 1da6d36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB1 false false}"} {"level":"debug","time":"2026-01-09T14:46:31+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T14:46:31+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 14:46:31.213374978 +0100 CET m=+456.192139770 NTAG 1da6d36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB1 false false}"} {"level":"info","time":"2026-01-09T14:46:31+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 14:46:31.213374978 +0100 CET m=+456.192139770 NTAG 1da6d36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB1 false false}"} {"level":"info","time":"2026-01-09T14:46:31+01:00","caller":"/build/pkg/service/mappings.go:162","message":"launching with db/cfg id match override"} {"level":"info","time":"2026-01-09T14:46:31+01:00","caller":"/build/pkg/service/mappings.go:162","message":"launching with db/cfg id match override"} {"level":"info","time":"2026-01-09T14:46:31+01:00","caller":"/build/pkg/service/queues.go:62","message":"found mapping: @MasterSystem/Wonder Boy in Monster Land"} {"level":"info","time":"2026-01-09T14:46:31+01:00","caller":"/build/pkg/service/queues.go:72","message":"running script (1 cmds): @MasterSystem/Wonder Boy in Monster Land"} {"level":"info","time":"2026-01-09T14:46:31+01:00","caller":"/build/pkg/zapscript/commands.go:355","message":"running command: {{map[]} launch.title [MasterSystem/Wonder Boy in Monster Land]}"} {"level":"debug","time":"2026-01-09T14:46:31+01:00","caller":"/build/pkg/zapscript/titles.go:101","message":"using 1 launcher(s) for file type prioritization"} {"level":"info","time":"2026-01-09T14:46:31+01:00","caller":"/build/pkg/zapscript/titles.go:146","message":"searching for slug 'wonderboyinmonsterland' in system 'MasterSystem'"} {"level":"debug","system_id":"MasterSystem","slug":"wonderboyinmonsterland","media_dbid":6,"strategy":"strategy_exact_match","time":"2026-01-09T14:46:31+01:00","caller":"/build/pkg/database/mediadb/slug_cache.go:109","message":"slug resolution cache hit"} {"level":"info","time":"2026-01-09T14:46:31+01:00","caller":"/build/pkg/zapscript/titles.go:154","message":"slug resolution cache hit (strategy: strategy_exact_match)"} {"level":"info","time":"2026-01-09T14:46:31+01:00","caller":"/build/pkg/zapscript/titles.go:161","message":"resolved from cache: Wonder Boy in Monster Land (/userdata/roms/mastersystem/Wonder Boy in Monster Land (UE) (V1.1) [!].sms)"} {"level":"info","time":"2026-01-09T14:46:31+01:00","caller":"/build/pkg/platforms/batocera/platform.go:467","message":"launch media: /userdata/roms/mastersystem/Wonder Boy in Monster Land (UE) (V1.1) [!].sms"} {"level":"info","time":"2026-01-09T14:46:31+01:00","caller":"/build/pkg/platforms/batocera/platform.go:488","message":"exiting current media"} {"level":"info","time":"2026-01-09T14:46:31+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T14:46:31+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"debug","time":"2026-01-09T14:46:32+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #2"} {"level":"debug","time":"2026-01-09T14:46:32+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"debug","time":"2026-01-09T14:46:33+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #3"} {"level":"info","time":"2026-01-09T14:46:33+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T14:46:33+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB1 false}"} {"level":"info","time":"2026-01-09T14:46:33+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T14:46:33+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"debug","time":"2026-01-09T14:46:34+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #4"} {"level":"debug","time":"2026-01-09T14:46:35+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #5"} {"level":"info","time":"2026-01-09T14:46:36+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"debug","time":"2026-01-09T14:46:36+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.stopped"} {"level":"debug","dbid":41,"playTime":130,"time":"2026-01-09T14:46:36+01:00","caller":"/build/pkg/service/service.go:513","message":"closed media history entry"} {"level":"info","time":"2026-01-09T14:46:38+01:00","caller":"/build/pkg/platforms/batocera/platform.go:504","message":"launch media: using launcher MasterSystem for: /userdata/roms/mastersystem/Wonder Boy in Monster Land (UE) (V1.1) [!].sms"} {"level":"debug","time":"2026-01-09T14:46:38+01:00","caller":"/build/pkg/platforms/launch.go:70","message":"launching with: &{0x285a570 0x28581a0 MasterSystem MasterSystem [mastersystem] [] [.bin .sms .zip .7z] 0 false false}"} {"level":"info","time":"2026-01-09T14:46:38+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T14:46:38+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"info","time":"2026-01-09T14:46:38+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"info","time":"2026-01-09T14:46:38+01:00","caller":"/build/pkg/platforms/launch.go:174","message":"DoLaunch setting ActiveMedia: SystemID='MasterSystem', SystemName='Master System', Path='/userdata/roms/mastersystem/Wonder Boy in Monster Land (UE) (V1.1) [!].sms', Name='Wonder Boy in Monster Land', LauncherID='MasterSystem'"} {"level":"debug","time":"2026-01-09T14:46:38+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.started"} {"level":"debug","dbid":42,"time":"2026-01-09T14:46:38+01:00","caller":"/build/pkg/service/service.go:480","message":"created media history entry"} {"level":"debug","token":{"ScanTime":"2026-01-09T14:46:31.213374978+01:00","Type":"NTAG","UID":"1da6d36e0f1080","Text":"@MasterSystem/Wonder Boy in Monster Land","Data":"","Source":"pn532uart:/dev/ttyUSB1","FromAPI":false,"Unsafe":false},"time":"2026-01-09T14:46:40+01:00","caller":"/build/pkg/zapscript/commands.go:367","message":"cmd launch: clearing current playlist"} {"level":"debug","token":{"ScanTime":"2026-01-09T14:46:31.213374978+01:00","Type":"NTAG","UID":"1da6d36e0f1080","Text":"@MasterSystem/Wonder Boy in Monster Land","Data":"","Source":"pn532uart:/dev/ttyUSB1","FromAPI":false,"Unsafe":false},"time":"2026-01-09T14:46:40+01:00","caller":"/build/pkg/service/queues.go:118","message":"media changed, updating token"} {"level":"info","time":"2026-01-09T14:46:40+01:00","caller":"/build/pkg/service/queues.go:119","message":"current media launched set to: 1da6d36e0f1080"} {"level":"debug","time":"2026-01-09T14:46:40+01:00","caller":"/build/pkg/service/readers.go:381","message":"new software token: &{0x40003d0480 0x4000147040 0x4000423960 map[pn532_uart:/dev/ttyUSB0:0x400036c200 pn532_uart:/dev/ttyUSB1:0x4000446b00] 0x211f8b0 0x4000175a40 0x269d7e0 0x40000a5900 0x40002c8930 0x40000ea1e0 5c139eb8-c3e5-4e07-95f6-a2be0fb13797 {{14001796304124499970 456192139770 0x3a15a60} NTAG 1da6d36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB1 false false} {{0 0 } false false} {{{{} {0 0}} 0 0 {{} 0} {{} 0}}} false true}"} {"level":"info","time":"2026-01-09T14:46:42+01:00","caller":"/build/pkg/platforms/batocera/tracker.go:348","message":"detected game launched externally: Wonder Boy in Monster Land (UE) (V1.1) [!]"} {"level":"info","time":"2026-01-09T14:46:54+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1da9d36e0f1080)"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:46:54+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:46:54+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:46:54+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1da9d36e0f1080","manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:46:54+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1da9d36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:46:54+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:46:54+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","uid":"1da9d36e0f1080","time":"2026-01-09T14:46:55+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"debug","uid":"1da9d36e0f1080","recordCount":1,"recordType":"text","hasText":true,"hasURI":false,"payloadLen":23,"time":"2026-01-09T14:46:55+01:00","caller":"/build/pkg/readers/pn532/tags.go:107","message":"NDEF: processing records"} {"level":"info","time":"2026-01-09T14:46:55+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1da9d36e0f1080"} {"level":"info","time":"2026-01-09T14:46:55+01:00","caller":"/build/pkg/readers/pn532/pn532.go:440","message":"NDEF text: @NES/Exciting Basket"} {"level":"debug","time":"2026-01-09T14:46:55+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x400016e540 pn532uart:/dev/ttyUSB1 false}"} {"level":"info","time":"2026-01-09T14:46:55+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 14:46:55.181624154 +0100 CET m=+480.160388946 NTAG 1da9d36e0f1080 @NES/Exciting Basket pn532uart:/dev/ttyUSB1 false false}"} {"level":"debug","time":"2026-01-09T14:46:55+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T14:46:55+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 14:46:55.181624154 +0100 CET m=+480.160388946 NTAG 1da9d36e0f1080 @NES/Exciting Basket pn532uart:/dev/ttyUSB1 false false}"} {"level":"info","time":"2026-01-09T14:46:55+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 14:46:55.181624154 +0100 CET m=+480.160388946 NTAG 1da9d36e0f1080 @NES/Exciting Basket pn532uart:/dev/ttyUSB1 false false}"} {"level":"info","time":"2026-01-09T14:46:55+01:00","caller":"/build/pkg/service/queues.go:72","message":"running script (1 cmds): @NES/Exciting Basket"} {"level":"info","time":"2026-01-09T14:46:55+01:00","caller":"/build/pkg/zapscript/commands.go:355","message":"running command: {{map[]} launch.title [NES/Exciting Basket]}"} {"level":"debug","time":"2026-01-09T14:46:55+01:00","caller":"/build/pkg/zapscript/titles.go:101","message":"using 1 launcher(s) for file type prioritization"} {"level":"info","time":"2026-01-09T14:46:55+01:00","caller":"/build/pkg/zapscript/titles.go:146","message":"searching for slug 'excitingbasket' in system 'NES'"} {"level":"debug","system_id":"NES","slug":"excitingbasket","media_dbid":9,"strategy":"strategy_exact_match","time":"2026-01-09T14:46:55+01:00","caller":"/build/pkg/database/mediadb/slug_cache.go:109","message":"slug resolution cache hit"} {"level":"info","time":"2026-01-09T14:46:55+01:00","caller":"/build/pkg/zapscript/titles.go:154","message":"slug resolution cache hit (strategy: strategy_exact_match)"} {"level":"info","time":"2026-01-09T14:46:55+01:00","caller":"/build/pkg/zapscript/titles.go:161","message":"resolved from cache: Exciting Basket (/userdata/roms/nes/Exciting Basket.nes)"} {"level":"info","time":"2026-01-09T14:46:55+01:00","caller":"/build/pkg/platforms/batocera/platform.go:467","message":"launch media: /userdata/roms/nes/Exciting Basket.nes"} {"level":"info","time":"2026-01-09T14:46:55+01:00","caller":"/build/pkg/platforms/batocera/platform.go:488","message":"exiting current media"} {"level":"info","time":"2026-01-09T14:46:55+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T14:46:55+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"debug","dbid":42,"playTime":16,"time":"2026-01-09T14:46:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","time":"2026-01-09T14:46:56+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #2"} {"level":"debug","time":"2026-01-09T14:46:56+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"info","time":"2026-01-09T14:46:57+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T14:46:57+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB1 false}"} {"level":"info","time":"2026-01-09T14:46:57+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T14:46:57+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"debug","time":"2026-01-09T14:46:57+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #3"} {"level":"debug","time":"2026-01-09T14:46:58+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #4"} {"level":"debug","time":"2026-01-09T14:46:59+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #5"} {"level":"info","time":"2026-01-09T14:47:00+01:00","caller":"/build/pkg/platforms/batocera/tracker.go:310","message":"detected game closed externally"} {"level":"debug","time":"2026-01-09T14:47:00+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.stopped"} {"level":"debug","dbid":42,"playTime":21,"time":"2026-01-09T14:47:00+01:00","caller":"/build/pkg/service/service.go:513","message":"closed media history entry"} {"level":"info","time":"2026-01-09T14:47:00+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"info","time":"2026-01-09T14:47:02+01:00","caller":"/build/pkg/platforms/batocera/platform.go:504","message":"launch media: using launcher NES for: /userdata/roms/nes/Exciting Basket.nes"} {"level":"debug","time":"2026-01-09T14:47:02+01:00","caller":"/build/pkg/platforms/launch.go:70","message":"launching with: &{0x285a570 0x28581a0 NES NES [nes] [] [.nes .unif .unf .zip .7z] 0 false false}"} {"level":"info","time":"2026-01-09T14:47:02+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T14:47:02+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"info","time":"2026-01-09T14:47:02+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"info","time":"2026-01-09T14:47:02+01:00","caller":"/build/pkg/platforms/launch.go:174","message":"DoLaunch setting ActiveMedia: SystemID='NES', SystemName='NES', Path='/userdata/roms/nes/Exciting Basket.nes', Name='Exciting Basket', LauncherID='NES'"} {"level":"debug","time":"2026-01-09T14:47:02+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.started"} {"level":"debug","dbid":43,"time":"2026-01-09T14:47:02+01:00","caller":"/build/pkg/service/service.go:480","message":"created media history entry"} {"level":"debug","token":{"ScanTime":"2026-01-09T14:46:55.181624154+01:00","Type":"NTAG","UID":"1da9d36e0f1080","Text":"@NES/Exciting Basket","Data":"","Source":"pn532uart:/dev/ttyUSB1","FromAPI":false,"Unsafe":false},"time":"2026-01-09T14:47:04+01:00","caller":"/build/pkg/zapscript/commands.go:367","message":"cmd launch: clearing current playlist"} {"level":"debug","token":{"ScanTime":"2026-01-09T14:46:55.181624154+01:00","Type":"NTAG","UID":"1da9d36e0f1080","Text":"@NES/Exciting Basket","Data":"","Source":"pn532uart:/dev/ttyUSB1","FromAPI":false,"Unsafe":false},"time":"2026-01-09T14:47:04+01:00","caller":"/build/pkg/service/queues.go:118","message":"media changed, updating token"} {"level":"info","time":"2026-01-09T14:47:04+01:00","caller":"/build/pkg/service/queues.go:119","message":"current media launched set to: 1da9d36e0f1080"} {"level":"debug","time":"2026-01-09T14:47:04+01:00","caller":"/build/pkg/service/readers.go:381","message":"new software token: &{0x40003d0480 0x4000147040 0x40002bb5e0 map[pn532_uart:/dev/ttyUSB0:0x400036c200 pn532_uart:/dev/ttyUSB1:0x4000446b00] 0x211f8b0 0x4000172e70 0x269d7e0 0x40000a5900 0x40002c8930 0x40000ea1e0 5c139eb8-c3e5-4e07-95f6-a2be0fb13797 {{14001796329862552922 480160388946 0x3a15a60} NTAG 1da9d36e0f1080 @NES/Exciting Basket pn532uart:/dev/ttyUSB1 false false} {{0 0 } false false} {{{{} {0 0}} 0 0 {{} 0} {{} 0}}} false true}"} {"level":"info","time":"2026-01-09T14:47:06+01:00","caller":"/build/pkg/platforms/batocera/tracker.go:348","message":"detected game launched externally: Exciting Basket"} {"level":"info","time":"2026-01-09T14:47:33+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1daad36e0f1080)"} {"level":"debug","uid":"1daad36e0f1080","time":"2026-01-09T14:47:33+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1daad36e0f1080","time":"2026-01-09T14:47:33+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1daad36e0f1080","time":"2026-01-09T14:47:33+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1daad36e0f1080","manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:47:33+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1daad36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:47:33+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1daad36e0f1080","time":"2026-01-09T14:47:33+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","error":"failed to read NDEF from NTAG: tag read failed (NDEF header): InDataExchange error 0x01 (timeout) [sent 2 bytes, target 1]","uid":"1daad36e0f1080","time":"2026-01-09T14:47:33+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"error","error":"failed to read NDEF from NTAG: tag read failed (NDEF header): InDataExchange error 0x01 (timeout) [sent 2 bytes, target 1]","operation":"read NDEF","time":"2026-01-09T14:47:33+01:00","caller":"/build/pkg/readers/pn532/pn532.go:210","message":"PN532 error"} {"level":"warn","error":"failed to read NDEF from NTAG: tag read failed (NDEF header): InDataExchange error 0x01 (timeout) [sent 2 bytes, target 1]","uid":"1daad36e0f1080","tagType":"NTAG","time":"2026-01-09T14:47:33+01:00","caller":"/build/pkg/readers/pn532/tags.go:86","message":"failed to read NDEF data from tag"} {"level":"info","time":"2026-01-09T14:47:33+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1daad36e0f1080"} {"level":"debug","time":"2026-01-09T14:47:33+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x4000422690 pn532uart:/dev/ttyUSB1 false}"} {"level":"info","time":"2026-01-09T14:47:33+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 14:47:33.882381625 +0100 CET m=+518.861146418 NTAG 1daad36e0f1080 pn532uart:/dev/ttyUSB1 false false}"} {"level":"debug","time":"2026-01-09T14:47:33+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T14:47:33+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 14:47:33.882381625 +0100 CET m=+518.861146418 NTAG 1daad36e0f1080 pn532uart:/dev/ttyUSB1 false false}"} {"level":"info","time":"2026-01-09T14:47:33+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 14:47:33.882381625 +0100 CET m=+518.861146418 NTAG 1daad36e0f1080 pn532uart:/dev/ttyUSB1 false false}"} {"level":"debug","error":"script is empty","time":"2026-01-09T14:47:33+01:00","caller":"/build/pkg/service/queues.go:307","message":"failed to parse script for playtime check"} {"level":"debug","time":"2026-01-09T14:47:33+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"error","error":"failed to parse script: script is empty","time":"2026-01-09T14:47:33+01:00","caller":"/build/pkg/service/queues.go:353","message":"error launching token"} {"level":"info","time":"2026-01-09T14:47:34+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T14:47:34+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB1 false}"} {"level":"info","time":"2026-01-09T14:47:34+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T14:47:34+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"debug","time":"2026-01-09T14:47:34+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"info","time":"2026-01-09T14:47:43+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1daad36e0f1080)"} {"level":"debug","uid":"1daad36e0f1080","time":"2026-01-09T14:47:43+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1daad36e0f1080","time":"2026-01-09T14:47:43+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1daad36e0f1080","time":"2026-01-09T14:47:43+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1daad36e0f1080","manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:47:43+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1daad36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2026-01-09T14:47:43+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1daad36e0f1080","time":"2026-01-09T14:47:43+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","uid":"1daad36e0f1080","time":"2026-01-09T14:47:44+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"debug","uid":"1daad36e0f1080","recordCount":1,"recordType":"text","hasText":true,"hasURI":false,"payloadLen":52,"time":"2026-01-09T14:47:44+01:00","caller":"/build/pkg/readers/pn532/tags.go:107","message":"NDEF: processing records"} {"level":"info","time":"2026-01-09T14:47:44+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1daad36e0f1080"} {"level":"info","time":"2026-01-09T14:47:44+01:00","caller":"/build/pkg/readers/pn532/pn532.go:440","message":"NDEF text: NES/Kunio-kun no Nekketsu Soccer League (AR) .nes"} {"level":"debug","time":"2026-01-09T14:47:44+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x4000422930 pn532uart:/dev/ttyUSB1 false}"} {"level":"info","time":"2026-01-09T14:47:44+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 14:47:44.380855562 +0100 CET m=+529.359620355 NTAG 1daad36e0f1080 NES/Kunio-kun no Nekketsu Soccer League (AR) .nes pn532uart:/dev/ttyUSB1 false false}"} {"level":"debug","time":"2026-01-09T14:47:44+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T14:47:44+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 14:47:44.380855562 +0100 CET m=+529.359620355 NTAG 1daad36e0f1080 NES/Kunio-kun no Nekketsu Soccer League (AR) .nes pn532uart:/dev/ttyUSB1 false false}"} {"level":"info","time":"2026-01-09T14:47:44+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 14:47:44.380855562 +0100 CET m=+529.359620355 NTAG 1daad36e0f1080 NES/Kunio-kun no Nekketsu Soccer League (AR) .nes pn532uart:/dev/ttyUSB1 false false}"} {"level":"info","time":"2026-01-09T14:47:44+01:00","caller":"/build/pkg/service/queues.go:72","message":"running script (1 cmds): NES/Kunio-kun no Nekketsu Soccer League (AR) .nes"} {"level":"info","time":"2026-01-09T14:47:44+01:00","caller":"/build/pkg/zapscript/commands.go:355","message":"running command: {{map[]} launch [NES/Kunio-kun no Nekketsu Soccer League (AR) .nes]}"} {"level":"debug","error":"file not found: NES/Kunio-kun no Nekketsu Soccer League (AR) .nes","time":"2026-01-09T14:47:44+01:00","caller":"/build/pkg/zapscript/launch.go:386","message":"error finding file: NES/Kunio-kun no Nekketsu Soccer League (AR) .nes"} {"level":"info","time":"2026-01-09T14:47:44+01:00","caller":"/build/pkg/zapscript/launch.go:410","message":"launching system: NES, path: Kunio-kun no Nekketsu Soccer League (AR) .nes"} {"level":"debug","time":"2026-01-09T14:47:44+01:00","caller":"/build/pkg/zapscript/launch.go:440","message":"checking system path: nes/Kunio-kun no Nekketsu Soccer League (AR) .nes"} {"level":"debug","time":"2026-01-09T14:47:44+01:00","caller":"/build/pkg/zapscript/commands.go:191","message":"found file: /userdata/roms/nes/Kunio-kun no Nekketsu Soccer League (AR) .nes"} {"level":"debug","time":"2026-01-09T14:47:44+01:00","caller":"/build/pkg/zapscript/launch.go:444","message":"launching found system path: /userdata/roms/nes/Kunio-kun no Nekketsu Soccer League (AR) .nes"} {"level":"info","time":"2026-01-09T14:47:44+01:00","caller":"/build/pkg/platforms/batocera/platform.go:467","message":"launch media: /userdata/roms/nes/Kunio-kun no Nekketsu Soccer League (AR) .nes"} {"level":"info","time":"2026-01-09T14:47:44+01:00","caller":"/build/pkg/platforms/batocera/platform.go:488","message":"exiting current media"} {"level":"info","time":"2026-01-09T14:47:44+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T14:47:44+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"debug","time":"2026-01-09T14:47:45+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #2"} {"level":"debug","time":"2026-01-09T14:47:45+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"debug","time":"2026-01-09T14:47:46+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #3"} {"level":"debug","time":"2026-01-09T14:47:47+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #4"} {"level":"debug","time":"2026-01-09T14:47:48+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #5"} {"level":"info","time":"2026-01-09T14:47:49+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"debug","time":"2026-01-09T14:47:49+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.stopped"} {"level":"debug","dbid":43,"playTime":46,"time":"2026-01-09T14:47:49+01:00","caller":"/build/pkg/service/service.go:513","message":"closed media history entry"} {"level":"debug","time":"2025-12-31T21:54:56+01:00","caller":"/build/pkg/config/config.go:119","message":"env config path: "} {"level":"debug","time":"2025-12-31T21:54:56+01:00","caller":"/build/internal/telemetry/telemetry.go:78","message":"error reporting disabled"} {"level":"debug","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/config/config.go:119","message":"env config path: /userdata/system/.config/zaparoo/config.toml"} {"level":"debug","time":"2025-12-31T21:54:57+01:00","caller":"/build/internal/telemetry/telemetry.go:78","message":"error reporting disabled"} {"level":"info","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/helpers/service.go:170","message":"starting service"} {"level":"info","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/service/service.go:193","message":"version: 2.8.0"} {"level":"info","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/service/service.go:197","message":"boot session UUID: 2d741186-f1d6-4bc7-b51a-76b9b9895486"} {"level":"info","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/service/service.go:67","message":"creating platform directories"} {"level":"info","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/service/service.go:217","message":"running platform pre start"} {"level":"debug","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/platforms/shared/linuxinput.go:70","message":"input devices initialized successfully"} {"level":"info","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/service/service.go:224","message":"opening databases"} {"level":"debug","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/service/service.go:93","message":"opening media database"} {"level":"debug","path":"/userdata/system/.local/share/zaparoo/media.db","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/database/mediadb/mediadb.go:159","message":"checking if media database file exists"} {"level":"debug","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/database/mediadb/mediadb.go:171","message":"opening media database connection"} {"level":"debug","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/database/mediadb/mediadb.go:186","message":"running media database PRAGMA optimize"} {"level":"debug","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/database/mediadb/mediadb.go:193","message":"running media database WAL checkpoint"} {"level":"debug","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/service/service.go:99","message":"running media database migrations"} {"level":"debug","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/database/migrations.go:50","message":"waiting for migration mutex"} {"level":"debug","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/database/migrations.go:52","message":"migration mutex acquired"} {"level":"debug","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/database/migrations.go:58","message":"setting up goose logger"} {"level":"debug","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/database/migrations.go:62","message":"setting goose base filesystem"} {"level":"debug","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/database/migrations.go:65","message":"setting goose dialect to sqlite"} {"level":"debug","migration_dir":"migrations","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/database/migrations.go:70","message":"running goose up migrations"} {"level":"info","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/database/migrations.go:39","message":"goose: no migrations to run. current version: 20251001185734"} {"level":"debug","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/database/migrations.go:55","message":"migration mutex released"} {"level":"debug","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/service/service.go:107","message":"opening user database"} {"level":"debug","path":"/userdata/system/.local/share/zaparoo/user.db","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/database/userdb/userdb.go:58","message":"checking if database file exists"} {"level":"debug","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/database/userdb/userdb.go:70","message":"opening user database connection"} {"level":"debug","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/service/service.go:113","message":"running user database migrations"} {"level":"debug","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/database/migrations.go:50","message":"waiting for migration mutex"} {"level":"debug","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/database/migrations.go:52","message":"migration mutex acquired"} {"level":"debug","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/database/migrations.go:58","message":"setting up goose logger"} {"level":"debug","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/database/migrations.go:62","message":"setting goose base filesystem"} {"level":"debug","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/database/migrations.go:65","message":"setting goose dialect to sqlite"} {"level":"debug","migration_dir":"migrations","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/database/migrations.go:70","message":"running goose up migrations"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:39","message":"goose: no migrations to run. current version: 20251218223408"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:55","message":"migration mutex released"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:122","message":"checking for boltdb migration"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:136","message":"cleaning up scan history older than 30 days"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:144","message":"no old scan history entries to clean up"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:151","message":"closing hanging media history entries"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/userdb/media_history.go:329","message":"closed 1 hanging media history entries"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:159","message":"cleaning up media history older than 365 days"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:167","message":"no old media history entries to clean up"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:177","message":"pruning expired non-supporting zaplink hosts"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:185","message":"no expired zaplink hosts to prune"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:238","message":"initializing inbox service"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:242","message":"initializing playtime limits"} {"level":"debug","subscriber_id":0,"buffer_size":10,"time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/broker/broker.go:119","message":"new subscriber registered"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:258","message":"loading mapping files"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/playtime/limits.go:218","message":"playtime: notification handler started"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/config/configmappings.go:76","message":"found 0 mapping files"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/config/configmappings.go:104","message":"loaded 0 mapping files, 0 mappings"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:264","message":"loading custom launchers"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/config/configlaunchers.go:138","message":"found 0 custom launcher files"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/config/configlaunchers.go:166","message":"loaded 0 files, 0 custom launchers"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:270","message":"initializing launcher cache"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:273","message":"checking for interrupted media indexing"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:276","message":"checking for interrupted media optimization"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:279","message":"starting mDNS discovery service"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:643","message":"indexing status is 'completed', no auto-resume needed"} {"level":"info","instance":"BATOCERA","port":7497,"type":"_zaparoo._tcp","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/discovery/discovery.go:91","message":"mDNS service advertising started"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:285","message":"starting API service"} {"level":"debug","subscriber_id":1,"buffer_size":100,"time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/broker/broker.go:119","message":"new subscriber registered"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:289","message":"starting publishers"} {"level":"debug","subscriber_id":2,"buffer_size":100,"time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/broker/broker.go:119","message":"new subscriber registered"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:294","message":"starting media history listener"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/api/server.go:835","message":"adding local IP to allowed origins: 172.16.24.155"} {"level":"debug","hostname":"BATOCERA.local","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/api/server.go:850","message":"added mDNS hostname to allowed origins"} {"level":"debug","hostname":"BATOCERA","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/api/server.go:861","message":"added OS hostname to allowed origins"} {"level":"debug","subscriber_id":3,"buffer_size":100,"time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/broker/broker.go:119","message":"new subscriber registered"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:302","message":"starting media history PlayTime updater"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:306","message":"starting clock reliability monitor"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/api/server.go:864","message":"dynamicAllowedOrigins: [capacitor://localhost ionic://localhost https://localhost http://localhost http://localhost:7497 https://localhost:7497 http://127.0.0.1:7497 https://127.0.0.1:7497 http://172.16.24.155:7497 https://172.16.24.155:7497 http://BATOCERA.local https://BATOCERA.local http://BATOCERA.local:7497 https://BATOCERA.local:7497 http://BATOCERA https://BATOCERA http://BATOCERA:7497 https://BATOCERA:7497]"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:314","message":"starting reader manager"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:317","message":"starting input token queue manager"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/api/server.go:1003","message":"HTTP server goroutine launched, waiting for server to be ready"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:320","message":"running platform post start"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/api/server.go:977","message":"starting HTTP server on :7497"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/api/server.go:978","message":"HTTP server goroutine started, attempting to bind"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/readers.go:294","message":"reader manager started, auto-detect=true"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/api/server.go:990","message":"HTTP server bound to port, ready to accept connections"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/api/server.go:1008","message":"HTTP server is ready to accept connections"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:703","message":"optimization status is 'completed', no auto-resume needed"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/helpers/service.go:301","message":"service process started with PID 2222"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/platforms/batocera/platform.go:194","message":"background game tracker started"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:326","message":"platform post start completed, service fully initialized"} {"level":"info","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/service/readers.go:330","message":"no readers connected after 1 attempts, auto-detect=true"} {"level":"debug","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/readers/pn532/pn532.go:318","message":"opening PN532 device: pn532uart:/dev/ttyUSB0"} {"level":"info","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/readers/pn532/pn532.go:403","message":"PN532 reader opened: pn532uart:/dev/ttyUSB0"} {"level":"debug","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: readers.added"} {"level":"info","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/service/autodetect.go:183","message":"successfully connected auto-detected reader: pn532_uart:/dev/ttyUSB0"} {"level":"info","time":"2026-01-09T20:16:57+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:16:57+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:16:57+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:16:57+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1dabd36e0f1080","manufacturer":"Fudan Microelectronics","time":"2026-01-09T20:16:57+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1dabd36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2026-01-09T20:16:57+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:16:57+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:16:57+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"debug","uid":"1dabd36e0f1080","recordCount":1,"recordType":"text","hasText":true,"hasURI":false,"payloadLen":25,"time":"2026-01-09T20:16:57+01:00","caller":"/build/pkg/readers/pn532/tags.go:107","message":"NDEF: processing records"} {"level":"info","time":"2026-01-09T20:16:57+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"info","time":"2026-01-09T20:16:57+01:00","caller":"/build/pkg/readers/pn532/pn532.go:440","message":"NDEF text: @NES/Captain Tsubasa 2"} {"level":"debug","time":"2026-01-09T20:16:57+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x4000404930 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T20:16:57+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 20:16:57.825626114 +0100 CET m=+1.898141614 NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T20:16:57+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T20:16:57+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 20:16:57.825626114 +0100 CET m=+1.898141614 NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T20:16:57+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 20:16:57.825626114 +0100 CET m=+1.898141614 NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T20:16:57+01:00","caller":"/build/pkg/service/queues.go:72","message":"running script (1 cmds): @NES/Captain Tsubasa 2"} {"level":"info","time":"2026-01-09T20:16:57+01:00","caller":"/build/pkg/zapscript/commands.go:355","message":"running command: {{map[]} launch.title [NES/Captain Tsubasa 2]}"} {"level":"debug","time":"2026-01-09T20:16:57+01:00","caller":"/build/pkg/zapscript/titles.go:101","message":"using 1 launcher(s) for file type prioritization"} {"level":"info","time":"2026-01-09T20:16:57+01:00","caller":"/build/pkg/zapscript/titles.go:146","message":"searching for slug 'captaintsubasa2' in system 'NES'"} {"level":"debug","system_id":"NES","slug":"captaintsubasa2","media_dbid":8,"strategy":"strategy_exact_match","time":"2026-01-09T20:16:57+01:00","caller":"/build/pkg/database/mediadb/slug_cache.go:109","message":"slug resolution cache hit"} {"level":"info","time":"2026-01-09T20:16:57+01:00","caller":"/build/pkg/zapscript/titles.go:154","message":"slug resolution cache hit (strategy: strategy_exact_match)"} {"level":"info","time":"2026-01-09T20:16:57+01:00","caller":"/build/pkg/zapscript/titles.go:161","message":"resolved from cache: Captain Tsubasa 2 (/userdata/roms/nes/Captain Tsubasa 2 (AR).nes)"} {"level":"info","time":"2026-01-09T20:16:57+01:00","caller":"/build/pkg/platforms/batocera/platform.go:467","message":"launch media: /userdata/roms/nes/Captain Tsubasa 2 (AR).nes"} {"level":"info","time":"2026-01-09T20:16:57+01:00","caller":"/build/pkg/platforms/batocera/platform.go:504","message":"launch media: using launcher NES for: /userdata/roms/nes/Captain Tsubasa 2 (AR).nes"} {"level":"debug","time":"2026-01-09T20:16:57+01:00","caller":"/build/pkg/platforms/launch.go:70","message":"launching with: &{0x285a570 0x28581a0 NES NES [nes] [] [.nes .unif .unf .zip .7z] 0 false false}"} {"level":"info","time":"2026-01-09T20:16:57+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T20:16:57+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"info","time":"2026-01-09T20:16:58+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"info","time":"2026-01-09T20:16:58+01:00","caller":"/build/pkg/platforms/launch.go:174","message":"DoLaunch setting ActiveMedia: SystemID='NES', SystemName='NES', Path='/userdata/roms/nes/Captain Tsubasa 2 (AR).nes', Name='Captain Tsubasa 2', LauncherID='NES'"} {"level":"debug","time":"2026-01-09T20:16:58+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.started"} {"level":"debug","dbid":45,"time":"2026-01-09T20:16:58+01:00","caller":"/build/pkg/service/service.go:480","message":"created media history entry"} {"level":"debug","time":"2026-01-09T20:16:58+01:00","caller":"/build/pkg/zapscript/zaplinks.go:348","message":"no supported zaplink hosts to pre-warm"} {"level":"debug","time":"2026-01-09T20:16:59+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"debug","token":{"ScanTime":"2026-01-09T20:16:57.825626114+01:00","Type":"NTAG","UID":"1dabd36e0f1080","Text":"@NES/Captain Tsubasa 2","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-09T20:17:00+01:00","caller":"/build/pkg/zapscript/commands.go:367","message":"cmd launch: clearing current playlist"} {"level":"debug","token":{"ScanTime":"2026-01-09T20:16:57.825626114+01:00","Type":"NTAG","UID":"1dabd36e0f1080","Text":"@NES/Captain Tsubasa 2","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-09T20:17:00+01:00","caller":"/build/pkg/service/queues.go:118","message":"media changed, updating token"} {"level":"info","time":"2026-01-09T20:17:00+01:00","caller":"/build/pkg/service/queues.go:119","message":"current media launched set to: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-09T20:17:00+01:00","caller":"/build/pkg/service/readers.go:381","message":"new software token: &{0x4000304600 0x400037b900 map[pn532_uart:/dev/ttyUSB0:0x40001e0100] 0x211f8b0 0x4000405490 0x269d7e0 0x40003c6480 0x40003bd420 0x4000170390 2d741186-f1d6-4bc7-b51a-76b9b9895486 {{14001817592742153730 1898141614 0x3a15a60} NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false} {{14001817592742153730 1898141614 0x3a15a60} NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false} {{{{} {0 0}} 0 0 {{} 0} {{} 0}}} false true}"} {"level":"info","time":"2026-01-09T20:17:00+01:00","caller":"/build/pkg/platforms/batocera/tracker.go:348","message":"detected game launched externally: Captain Tsubasa 2 (AR)"} {"level":"debug","new_devices_detected":["pn532_uart:/dev/ttyUSB0"],"time":"2026-01-09T20:17:05+01:00","caller":"/build/pkg/service/autodetect.go:146","message":"auto-detect found new devices available for connection"} {"level":"info","time":"2026-01-09T20:17:05+01:00","caller":"/build/pkg/service/readers.go:325","message":"reader count changed: 1 connected"} {"level":"info","time":"2026-01-09T20:17:54+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T20:17:54+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T20:17:54+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T20:17:54+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"info","time":"2026-01-09T20:17:55+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:17:55+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:17:55+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","dbid":45,"playTime":58,"time":"2026-01-09T20:17:56+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"error","error":"unsupported tag type","operation":"init tag for NDEF","time":"2026-01-09T20:17:57+01:00","caller":"/build/pkg/readers/pn532/pn532.go:210","message":"PN532 error"} {"level":"warn","error":"unsupported tag type","uid":"1dabd36e0f1080","tagType":"NTAG","time":"2026-01-09T20:17:57+01:00","caller":"/build/pkg/readers/pn532/tags.go:71","message":"failed to initialize tag for NDEF reading"} {"level":"info","time":"2026-01-09T20:17:57+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-09T20:17:57+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x4000405180 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T20:17:57+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 20:17:57.052201821 +0100 CET m=+61.124717269 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T20:17:57+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T20:17:57+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 20:17:57.052201821 +0100 CET m=+61.124717269 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T20:17:57+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 20:17:57.052201821 +0100 CET m=+61.124717269 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","error":"script is empty","time":"2026-01-09T20:17:57+01:00","caller":"/build/pkg/service/queues.go:307","message":"failed to parse script for playtime check"} {"level":"debug","time":"2026-01-09T20:17:57+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"error","error":"failed to parse script: script is empty","time":"2026-01-09T20:17:57+01:00","caller":"/build/pkg/service/queues.go:353","message":"error launching token"} {"level":"debug","time":"2026-01-09T20:17:57+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"info","time":"2026-01-09T20:18:00+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T20:18:00+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T20:18:00+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T20:18:00+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"info","time":"2026-01-09T20:18:00+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:18:00+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:18:00+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"error","error":"unsupported tag type","operation":"init tag for NDEF","time":"2026-01-09T20:18:02+01:00","caller":"/build/pkg/readers/pn532/pn532.go:210","message":"PN532 error"} {"level":"warn","error":"unsupported tag type","uid":"1dabd36e0f1080","tagType":"NTAG","time":"2026-01-09T20:18:02+01:00","caller":"/build/pkg/readers/pn532/tags.go:71","message":"failed to initialize tag for NDEF reading"} {"level":"info","time":"2026-01-09T20:18:02+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-09T20:18:02+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x4000404af0 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T20:18:02+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 20:18:02.947658902 +0100 CET m=+67.020174402 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T20:18:02+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T20:18:02+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 20:18:02.947658902 +0100 CET m=+67.020174402 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T20:18:02+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 20:18:02.947658902 +0100 CET m=+67.020174402 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","error":"script is empty","time":"2026-01-09T20:18:02+01:00","caller":"/build/pkg/service/queues.go:307","message":"failed to parse script for playtime check"} {"level":"debug","time":"2026-01-09T20:18:02+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"error","error":"failed to parse script: script is empty","time":"2026-01-09T20:18:02+01:00","caller":"/build/pkg/service/queues.go:353","message":"error launching token"} {"level":"debug","time":"2026-01-09T20:18:03+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"info","time":"2026-01-09T20:18:30+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T20:18:30+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T20:18:30+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T20:18:30+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"info","time":"2026-01-09T20:18:30+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:18:30+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:18:30+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"error","error":"unsupported tag type","operation":"init tag for NDEF","time":"2026-01-09T20:18:32+01:00","caller":"/build/pkg/readers/pn532/pn532.go:210","message":"PN532 error"} {"level":"warn","error":"unsupported tag type","uid":"1dabd36e0f1080","tagType":"NTAG","time":"2026-01-09T20:18:32+01:00","caller":"/build/pkg/readers/pn532/tags.go:71","message":"failed to initialize tag for NDEF reading"} {"level":"info","time":"2026-01-09T20:18:32+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-09T20:18:32+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x40002a0460 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T20:18:32+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 20:18:32.779854411 +0100 CET m=+96.852369911 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T20:18:32+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T20:18:32+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 20:18:32.779854411 +0100 CET m=+96.852369911 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T20:18:32+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 20:18:32.779854411 +0100 CET m=+96.852369911 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","error":"script is empty","time":"2026-01-09T20:18:32+01:00","caller":"/build/pkg/service/queues.go:307","message":"failed to parse script for playtime check"} {"level":"debug","time":"2026-01-09T20:18:32+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"error","error":"failed to parse script: script is empty","time":"2026-01-09T20:18:32+01:00","caller":"/build/pkg/service/queues.go:353","message":"error launching token"} {"level":"info","time":"2026-01-09T20:18:33+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T20:18:33+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T20:18:33+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T20:18:33+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"debug","time":"2026-01-09T20:18:33+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"info","time":"2026-01-09T20:18:33+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:18:33+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:18:33+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"error","error":"unsupported tag type","operation":"init tag for NDEF","time":"2026-01-09T20:18:35+01:00","caller":"/build/pkg/readers/pn532/pn532.go:210","message":"PN532 error"} {"level":"warn","error":"unsupported tag type","uid":"1dabd36e0f1080","tagType":"NTAG","time":"2026-01-09T20:18:35+01:00","caller":"/build/pkg/readers/pn532/tags.go:71","message":"failed to initialize tag for NDEF reading"} {"level":"info","time":"2026-01-09T20:18:35+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-09T20:18:35+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x40002a4000 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T20:18:35+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 20:18:35.782167431 +0100 CET m=+99.854682931 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T20:18:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T20:18:35+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 20:18:35.782167431 +0100 CET m=+99.854682931 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T20:18:35+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 20:18:35.782167431 +0100 CET m=+99.854682931 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","error":"script is empty","time":"2026-01-09T20:18:35+01:00","caller":"/build/pkg/service/queues.go:307","message":"failed to parse script for playtime check"} {"level":"debug","time":"2026-01-09T20:18:35+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"error","error":"failed to parse script: script is empty","time":"2026-01-09T20:18:35+01:00","caller":"/build/pkg/service/queues.go:353","message":"error launching token"} {"level":"debug","time":"2026-01-09T20:18:36+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"info","time":"2026-01-09T20:18:50+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T20:18:50+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T20:18:50+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T20:18:50+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"info","time":"2026-01-09T20:18:50+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:18:50+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:18:50+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"error","error":"unsupported tag type","operation":"init tag for NDEF","time":"2026-01-09T20:18:52+01:00","caller":"/build/pkg/readers/pn532/pn532.go:210","message":"PN532 error"} {"level":"warn","error":"unsupported tag type","uid":"1dabd36e0f1080","tagType":"NTAG","time":"2026-01-09T20:18:52+01:00","caller":"/build/pkg/readers/pn532/tags.go:71","message":"failed to initialize tag for NDEF reading"} {"level":"info","time":"2026-01-09T20:18:52+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-09T20:18:52+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x4000295ea0 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T20:18:52+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 20:18:52.600014716 +0100 CET m=+116.672530164 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T20:18:52+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T20:18:52+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 20:18:52.600014716 +0100 CET m=+116.672530164 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T20:18:52+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 20:18:52.600014716 +0100 CET m=+116.672530164 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","error":"script is empty","time":"2026-01-09T20:18:52+01:00","caller":"/build/pkg/service/queues.go:307","message":"failed to parse script for playtime check"} {"level":"debug","time":"2026-01-09T20:18:52+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"error","error":"failed to parse script: script is empty","time":"2026-01-09T20:18:52+01:00","caller":"/build/pkg/service/queues.go:353","message":"error launching token"} {"level":"debug","time":"2026-01-09T20:18:53+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"info","time":"2026-01-09T20:18:56+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T20:18:56+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T20:18:56+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T20:18:56+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"info","time":"2026-01-09T20:18:56+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:18:56+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:18:56+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","dbid":45,"playTime":118,"time":"2026-01-09T20:18:56+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"error","error":"unsupported tag type","operation":"init tag for NDEF","time":"2026-01-09T20:18:58+01:00","caller":"/build/pkg/readers/pn532/pn532.go:210","message":"PN532 error"} {"level":"warn","error":"unsupported tag type","uid":"1dabd36e0f1080","tagType":"NTAG","time":"2026-01-09T20:18:58+01:00","caller":"/build/pkg/readers/pn532/tags.go:71","message":"failed to initialize tag for NDEF reading"} {"level":"info","time":"2026-01-09T20:18:58+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-09T20:18:58+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x400049ba40 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T20:18:58+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 20:18:58.201431849 +0100 CET m=+122.273972193 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T20:18:58+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T20:18:58+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 20:18:58.201431849 +0100 CET m=+122.273972193 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T20:18:58+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 20:18:58.201431849 +0100 CET m=+122.273972193 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","error":"script is empty","time":"2026-01-09T20:18:58+01:00","caller":"/build/pkg/service/queues.go:307","message":"failed to parse script for playtime check"} {"level":"debug","time":"2026-01-09T20:18:58+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"error","error":"failed to parse script: script is empty","time":"2026-01-09T20:18:58+01:00","caller":"/build/pkg/service/queues.go:353","message":"error launching token"} {"level":"debug","time":"2026-01-09T20:18:59+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"info","time":"2026-01-09T20:19:16+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T20:19:16+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T20:19:16+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T20:19:16+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"info","time":"2026-01-09T20:19:16+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:19:16+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:19:16+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"error","error":"unsupported tag type","operation":"init tag for NDEF","time":"2026-01-09T20:19:19+01:00","caller":"/build/pkg/readers/pn532/pn532.go:210","message":"PN532 error"} {"level":"warn","error":"unsupported tag type","uid":"1dabd36e0f1080","tagType":"NTAG","time":"2026-01-09T20:19:19+01:00","caller":"/build/pkg/readers/pn532/tags.go:71","message":"failed to initialize tag for NDEF reading"} {"level":"info","time":"2026-01-09T20:19:19+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-09T20:19:19+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x40003bd880 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T20:19:19+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 20:19:19.000195956 +0100 CET m=+143.072711456 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T20:19:19+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T20:19:19+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 20:19:19.000195956 +0100 CET m=+143.072711456 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T20:19:19+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 20:19:19.000195956 +0100 CET m=+143.072711456 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","error":"script is empty","time":"2026-01-09T20:19:19+01:00","caller":"/build/pkg/service/queues.go:307","message":"failed to parse script for playtime check"} {"level":"debug","time":"2026-01-09T20:19:19+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"error","error":"failed to parse script: script is empty","time":"2026-01-09T20:19:19+01:00","caller":"/build/pkg/service/queues.go:353","message":"error launching token"} {"level":"debug","time":"2026-01-09T20:19:19+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"info","time":"2026-01-09T20:19:28+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T20:19:28+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T20:19:28+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T20:19:28+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"info","time":"2026-01-09T20:19:28+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:19:28+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:19:28+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"error","error":"unsupported tag type","operation":"init tag for NDEF","time":"2026-01-09T20:19:30+01:00","caller":"/build/pkg/readers/pn532/pn532.go:210","message":"PN532 error"} {"level":"warn","error":"unsupported tag type","uid":"1dabd36e0f1080","tagType":"NTAG","time":"2026-01-09T20:19:30+01:00","caller":"/build/pkg/readers/pn532/tags.go:71","message":"failed to initialize tag for NDEF reading"} {"level":"info","time":"2026-01-09T20:19:30+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-09T20:19:30+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x40001f3030 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T20:19:30+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 20:19:30.565347045 +0100 CET m=+154.637862493 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T20:19:30+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T20:19:30+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 20:19:30.565347045 +0100 CET m=+154.637862493 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T20:19:30+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 20:19:30.565347045 +0100 CET m=+154.637862493 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","error":"script is empty","time":"2026-01-09T20:19:30+01:00","caller":"/build/pkg/service/queues.go:307","message":"failed to parse script for playtime check"} {"level":"debug","time":"2026-01-09T20:19:30+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"error","error":"failed to parse script: script is empty","time":"2026-01-09T20:19:30+01:00","caller":"/build/pkg/service/queues.go:353","message":"error launching token"} {"level":"debug","time":"2026-01-09T20:19:31+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"info","time":"2026-01-09T20:19:32+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T20:19:32+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T20:19:32+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T20:19:32+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"info","time":"2026-01-09T20:19:32+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:19:32+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:19:32+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"error","error":"unsupported tag type","operation":"init tag for NDEF","time":"2026-01-09T20:19:34+01:00","caller":"/build/pkg/readers/pn532/pn532.go:210","message":"PN532 error"} {"level":"warn","error":"unsupported tag type","uid":"1dabd36e0f1080","tagType":"NTAG","time":"2026-01-09T20:19:34+01:00","caller":"/build/pkg/readers/pn532/tags.go:71","message":"failed to initialize tag for NDEF reading"} {"level":"info","time":"2026-01-09T20:19:34+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-09T20:19:34+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x400049be30 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T20:19:34+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 20:19:34.324037513 +0100 CET m=+158.396553013 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T20:19:34+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T20:19:34+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 20:19:34.324037513 +0100 CET m=+158.396553013 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T20:19:34+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 20:19:34.324037513 +0100 CET m=+158.396553013 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","error":"script is empty","time":"2026-01-09T20:19:34+01:00","caller":"/build/pkg/service/queues.go:307","message":"failed to parse script for playtime check"} {"level":"debug","time":"2026-01-09T20:19:34+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"error","error":"failed to parse script: script is empty","time":"2026-01-09T20:19:34+01:00","caller":"/build/pkg/service/queues.go:353","message":"error launching token"} {"level":"debug","time":"2026-01-09T20:19:35+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"info","time":"2026-01-09T20:19:36+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T20:19:36+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T20:19:36+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T20:19:36+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"info","time":"2026-01-09T20:19:36+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:19:36+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:19:36+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"error","error":"unsupported tag type","operation":"init tag for NDEF","time":"2026-01-09T20:19:39+01:00","caller":"/build/pkg/readers/pn532/pn532.go:210","message":"PN532 error"} {"level":"warn","error":"unsupported tag type","uid":"1dabd36e0f1080","tagType":"NTAG","time":"2026-01-09T20:19:39+01:00","caller":"/build/pkg/readers/pn532/tags.go:71","message":"failed to initialize tag for NDEF reading"} {"level":"info","time":"2026-01-09T20:19:39+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-09T20:19:39+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x4000294460 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T20:19:39+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 20:19:39.059606521 +0100 CET m=+163.132122021 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T20:19:39+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T20:19:39+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 20:19:39.059606521 +0100 CET m=+163.132122021 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T20:19:39+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 20:19:39.059606521 +0100 CET m=+163.132122021 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","error":"script is empty","time":"2026-01-09T20:19:39+01:00","caller":"/build/pkg/service/queues.go:307","message":"failed to parse script for playtime check"} {"level":"debug","time":"2026-01-09T20:19:39+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"error","error":"failed to parse script: script is empty","time":"2026-01-09T20:19:39+01:00","caller":"/build/pkg/service/queues.go:353","message":"error launching token"} {"level":"debug","time":"2026-01-09T20:19:39+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"info","time":"2026-01-09T20:19:41+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T20:19:41+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T20:19:41+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T20:19:41+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"info","time":"2026-01-09T20:19:41+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:19:41+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:19:41+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"error","error":"unsupported tag type","operation":"init tag for NDEF","time":"2026-01-09T20:19:43+01:00","caller":"/build/pkg/readers/pn532/pn532.go:210","message":"PN532 error"} {"level":"warn","error":"unsupported tag type","uid":"1dabd36e0f1080","tagType":"NTAG","time":"2026-01-09T20:19:43+01:00","caller":"/build/pkg/readers/pn532/tags.go:71","message":"failed to initialize tag for NDEF reading"} {"level":"info","time":"2026-01-09T20:19:43+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-09T20:19:43+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x40002a9500 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T20:19:43+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 20:19:43.603556363 +0100 CET m=+167.676071863 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T20:19:43+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T20:19:43+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 20:19:43.603556363 +0100 CET m=+167.676071863 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T20:19:43+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 20:19:43.603556363 +0100 CET m=+167.676071863 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","error":"script is empty","time":"2026-01-09T20:19:43+01:00","caller":"/build/pkg/service/queues.go:307","message":"failed to parse script for playtime check"} {"level":"debug","time":"2026-01-09T20:19:43+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"error","error":"failed to parse script: script is empty","time":"2026-01-09T20:19:43+01:00","caller":"/build/pkg/service/queues.go:353","message":"error launching token"} {"level":"debug","time":"2026-01-09T20:19:44+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"info","time":"2026-01-09T20:19:46+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T20:19:46+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T20:19:46+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T20:19:46+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"info","time":"2026-01-09T20:19:50+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:19:50+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:19:50+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:19:50+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1dabd36e0f1080","manufacturer":"Fudan Microelectronics","time":"2026-01-09T20:19:50+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1dabd36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2026-01-09T20:19:50+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:19:50+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:19:51+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"debug","uid":"1dabd36e0f1080","recordCount":1,"recordType":"text","hasText":true,"hasURI":false,"payloadLen":25,"time":"2026-01-09T20:19:51+01:00","caller":"/build/pkg/readers/pn532/tags.go:107","message":"NDEF: processing records"} {"level":"info","time":"2026-01-09T20:19:51+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"info","time":"2026-01-09T20:19:51+01:00","caller":"/build/pkg/readers/pn532/pn532.go:440","message":"NDEF text: @NES/Captain Tsubasa 2"} {"level":"debug","time":"2026-01-09T20:19:51+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x4000296af0 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T20:19:51+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 20:19:51.041718079 +0100 CET m=+175.114233579 NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T20:19:51+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T20:19:51+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 20:19:51.041718079 +0100 CET m=+175.114233579 NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T20:19:51+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 20:19:51.041718079 +0100 CET m=+175.114233579 NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T20:19:51+01:00","caller":"/build/pkg/service/queues.go:72","message":"running script (1 cmds): @NES/Captain Tsubasa 2"} {"level":"info","time":"2026-01-09T20:19:51+01:00","caller":"/build/pkg/zapscript/commands.go:355","message":"running command: {{map[]} launch.title [NES/Captain Tsubasa 2]}"} {"level":"debug","time":"2026-01-09T20:19:51+01:00","caller":"/build/pkg/zapscript/titles.go:101","message":"using 1 launcher(s) for file type prioritization"} {"level":"info","time":"2026-01-09T20:19:51+01:00","caller":"/build/pkg/zapscript/titles.go:146","message":"searching for slug 'captaintsubasa2' in system 'NES'"} {"level":"debug","system_id":"NES","slug":"captaintsubasa2","media_dbid":8,"strategy":"strategy_exact_match","time":"2026-01-09T20:19:51+01:00","caller":"/build/pkg/database/mediadb/slug_cache.go:109","message":"slug resolution cache hit"} {"level":"info","time":"2026-01-09T20:19:51+01:00","caller":"/build/pkg/zapscript/titles.go:154","message":"slug resolution cache hit (strategy: strategy_exact_match)"} {"level":"info","time":"2026-01-09T20:19:51+01:00","caller":"/build/pkg/zapscript/titles.go:161","message":"resolved from cache: Captain Tsubasa 2 (/userdata/roms/nes/Captain Tsubasa 2 (AR).nes)"} {"level":"info","time":"2026-01-09T20:19:51+01:00","caller":"/build/pkg/platforms/batocera/platform.go:467","message":"launch media: /userdata/roms/nes/Captain Tsubasa 2 (AR).nes"} {"level":"info","time":"2026-01-09T20:19:51+01:00","caller":"/build/pkg/platforms/batocera/platform.go:488","message":"exiting current media"} {"level":"info","time":"2026-01-09T20:19:51+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T20:19:51+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"debug","time":"2026-01-09T20:19:52+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #2"} {"level":"debug","time":"2026-01-09T20:19:52+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"debug","time":"2026-01-09T20:19:53+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #3"} {"level":"debug","time":"2026-01-09T20:19:54+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #4"} {"level":"debug","time":"2026-01-09T20:19:55+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #5"} {"level":"info","time":"2026-01-09T20:19:56+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"debug","time":"2026-01-09T20:19:56+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.stopped"} {"level":"debug","dbid":45,"playTime":178,"time":"2026-01-09T20:19:56+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":45,"playTime":178,"time":"2026-01-09T20:19:56+01:00","caller":"/build/pkg/service/service.go:513","message":"closed media history entry"} {"level":"info","time":"2026-01-09T20:19:58+01:00","caller":"/build/pkg/platforms/batocera/platform.go:504","message":"launch media: using launcher NES for: /userdata/roms/nes/Captain Tsubasa 2 (AR).nes"} {"level":"debug","time":"2026-01-09T20:19:58+01:00","caller":"/build/pkg/platforms/launch.go:70","message":"launching with: &{0x285a570 0x28581a0 NES NES [nes] [] [.nes .unif .unf .zip .7z] 0 false false}"} {"level":"info","time":"2026-01-09T20:19:58+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T20:19:58+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"info","time":"2026-01-09T20:19:58+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"info","time":"2026-01-09T20:19:58+01:00","caller":"/build/pkg/platforms/launch.go:174","message":"DoLaunch setting ActiveMedia: SystemID='NES', SystemName='NES', Path='/userdata/roms/nes/Captain Tsubasa 2 (AR).nes', Name='Captain Tsubasa 2', LauncherID='NES'"} {"level":"debug","time":"2026-01-09T20:19:58+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.started"} {"level":"debug","dbid":46,"time":"2026-01-09T20:19:58+01:00","caller":"/build/pkg/service/service.go:480","message":"created media history entry"} {"level":"info","time":"2026-01-09T20:20:00+01:00","caller":"/build/pkg/platforms/batocera/tracker.go:348","message":"detected game launched externally: Captain Tsubasa 2 (AR)"} {"level":"debug","token":{"ScanTime":"2026-01-09T20:19:51.041718079+01:00","Type":"NTAG","UID":"1dabd36e0f1080","Text":"@NES/Captain Tsubasa 2","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-09T20:20:00+01:00","caller":"/build/pkg/zapscript/commands.go:367","message":"cmd launch: clearing current playlist"} {"level":"debug","token":{"ScanTime":"2026-01-09T20:19:51.041718079+01:00","Type":"NTAG","UID":"1dabd36e0f1080","Text":"@NES/Captain Tsubasa 2","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-09T20:20:00+01:00","caller":"/build/pkg/service/queues.go:118","message":"media changed, updating token"} {"level":"info","time":"2026-01-09T20:20:00+01:00","caller":"/build/pkg/service/queues.go:119","message":"current media launched set to: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-09T20:20:00+01:00","caller":"/build/pkg/service/readers.go:381","message":"new software token: &{0x4000304600 0x400037b900 0x40000f5500 map[pn532_uart:/dev/ttyUSB0:0x40001e0100] 0x211f8b0 0x4000294700 0x269d7e0 0x40003c6480 0x40003bd420 0x4000170390 2d741186-f1d6-4bc7-b51a-76b9b9895486 {{14001817778789323071 175114233579 0x3a15a60} NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false} {{14001817778789323071 175114233579 0x3a15a60} NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false} {{{{} {0 0}} 0 0 {{} 0} {{} 0}}} false true}"} {"level":"info","time":"2026-01-09T20:20:02+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T20:20:02+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T20:20:02+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T20:20:02+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"info","time":"2026-01-09T20:20:02+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:20:02+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:20:02+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:20:02+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1dabd36e0f1080","manufacturer":"Fudan Microelectronics","time":"2026-01-09T20:20:02+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1dabd36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2026-01-09T20:20:02+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:20:02+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:20:03+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"debug","uid":"1dabd36e0f1080","recordCount":1,"recordType":"text","hasText":true,"hasURI":false,"payloadLen":25,"time":"2026-01-09T20:20:03+01:00","caller":"/build/pkg/readers/pn532/tags.go:107","message":"NDEF: processing records"} {"level":"info","time":"2026-01-09T20:20:03+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"info","time":"2026-01-09T20:20:03+01:00","caller":"/build/pkg/readers/pn532/pn532.go:440","message":"NDEF text: @NES/Captain Tsubasa 2"} {"level":"debug","time":"2026-01-09T20:20:03+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x4000295ea0 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T20:20:03+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 20:20:03.258345418 +0100 CET m=+187.330860918 NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T20:20:03+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T20:20:03+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 20:20:03.258345418 +0100 CET m=+187.330860918 NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T20:20:03+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 20:20:03.258345418 +0100 CET m=+187.330860918 NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T20:20:03+01:00","caller":"/build/pkg/service/queues.go:72","message":"running script (1 cmds): @NES/Captain Tsubasa 2"} {"level":"info","time":"2026-01-09T20:20:03+01:00","caller":"/build/pkg/zapscript/commands.go:355","message":"running command: {{map[]} launch.title [NES/Captain Tsubasa 2]}"} {"level":"debug","time":"2026-01-09T20:20:03+01:00","caller":"/build/pkg/zapscript/titles.go:101","message":"using 1 launcher(s) for file type prioritization"} {"level":"info","time":"2026-01-09T20:20:03+01:00","caller":"/build/pkg/zapscript/titles.go:146","message":"searching for slug 'captaintsubasa2' in system 'NES'"} {"level":"debug","system_id":"NES","slug":"captaintsubasa2","media_dbid":8,"strategy":"strategy_exact_match","time":"2026-01-09T20:20:03+01:00","caller":"/build/pkg/database/mediadb/slug_cache.go:109","message":"slug resolution cache hit"} {"level":"info","time":"2026-01-09T20:20:03+01:00","caller":"/build/pkg/zapscript/titles.go:154","message":"slug resolution cache hit (strategy: strategy_exact_match)"} {"level":"info","time":"2026-01-09T20:20:03+01:00","caller":"/build/pkg/zapscript/titles.go:161","message":"resolved from cache: Captain Tsubasa 2 (/userdata/roms/nes/Captain Tsubasa 2 (AR).nes)"} {"level":"info","time":"2026-01-09T20:20:03+01:00","caller":"/build/pkg/platforms/batocera/platform.go:467","message":"launch media: /userdata/roms/nes/Captain Tsubasa 2 (AR).nes"} {"level":"info","time":"2026-01-09T20:20:03+01:00","caller":"/build/pkg/platforms/batocera/platform.go:488","message":"exiting current media"} {"level":"info","time":"2026-01-09T20:20:03+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T20:20:03+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"debug","time":"2026-01-09T20:20:04+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #2"} {"level":"debug","time":"2026-01-09T20:20:04+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"debug","time":"2026-01-09T20:20:05+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #3"} {"level":"debug","time":"2026-01-09T20:20:06+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #4"} {"level":"debug","time":"2026-01-09T20:20:07+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #5"} {"level":"debug","time":"2026-01-09T20:20:08+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #6"} {"level":"debug","time":"2026-01-09T20:20:09+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #7"} {"level":"info","time":"2026-01-09T20:20:10+01:00","caller":"/build/pkg/platforms/batocera/tracker.go:310","message":"detected game closed externally"} {"level":"debug","time":"2026-01-09T20:20:10+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.stopped"} {"level":"debug","dbid":46,"playTime":11,"time":"2026-01-09T20:20:10+01:00","caller":"/build/pkg/service/service.go:513","message":"closed media history entry"} {"level":"info","time":"2026-01-09T20:20:10+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"info","time":"2026-01-09T20:20:12+01:00","caller":"/build/pkg/platforms/batocera/platform.go:504","message":"launch media: using launcher NES for: /userdata/roms/nes/Captain Tsubasa 2 (AR).nes"} {"level":"debug","time":"2026-01-09T20:20:12+01:00","caller":"/build/pkg/platforms/launch.go:70","message":"launching with: &{0x285a570 0x28581a0 NES NES [nes] [] [.nes .unif .unf .zip .7z] 0 false false}"} {"level":"info","time":"2026-01-09T20:20:12+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-09T20:20:12+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"info","time":"2026-01-09T20:20:12+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"info","time":"2026-01-09T20:20:12+01:00","caller":"/build/pkg/platforms/launch.go:174","message":"DoLaunch setting ActiveMedia: SystemID='NES', SystemName='NES', Path='/userdata/roms/nes/Captain Tsubasa 2 (AR).nes', Name='Captain Tsubasa 2', LauncherID='NES'"} {"level":"debug","time":"2026-01-09T20:20:12+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.started"} {"level":"debug","dbid":47,"time":"2026-01-09T20:20:12+01:00","caller":"/build/pkg/service/service.go:480","message":"created media history entry"} {"level":"info","time":"2026-01-09T20:20:14+01:00","caller":"/build/pkg/platforms/batocera/tracker.go:348","message":"detected game launched externally: Captain Tsubasa 2 (AR)"} {"level":"debug","token":{"ScanTime":"2026-01-09T20:20:03.258345418+01:00","Type":"NTAG","UID":"1dabd36e0f1080","Text":"@NES/Captain Tsubasa 2","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-09T20:20:14+01:00","caller":"/build/pkg/zapscript/commands.go:367","message":"cmd launch: clearing current playlist"} {"level":"debug","token":{"ScanTime":"2026-01-09T20:20:03.258345418+01:00","Type":"NTAG","UID":"1dabd36e0f1080","Text":"@NES/Captain Tsubasa 2","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-09T20:20:14+01:00","caller":"/build/pkg/service/queues.go:118","message":"media changed, updating token"} {"level":"info","time":"2026-01-09T20:20:14+01:00","caller":"/build/pkg/service/queues.go:119","message":"current media launched set to: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-09T20:20:14+01:00","caller":"/build/pkg/service/readers.go:381","message":"new software token: &{0x4000304600 0x400037b900 0x40002a50a0 map[pn532_uart:/dev/ttyUSB0:0x40001e0100] 0x211f8b0 0x40001fe850 0x269d7e0 0x40003c6480 0x40003bd420 0x4000170390 2d741186-f1d6-4bc7-b51a-76b9b9895486 {{14001817791890852298 187330860918 0x3a15a60} NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false} {{14001817791890852298 187330860918 0x3a15a60} NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false} {{{{} {0 0}} 0 0 {{} 0} {{} 0}}} false true}"} {"level":"debug","time":"2026-01-09T20:20:50+01:00","caller":"/build/pkg/api/server.go:903","message":"websocket origin: http://localhost"} {"level":"debug","time":"2026-01-09T20:20:50+01:00","caller":"/build/pkg/api/server.go:449","message":"websocket origin: http://localhost allowed (explicit match)"} {"level":"debug","request":{"jsonrpc":"2.0","id":"53b98e68-7cff-4bf4-80a7-1d8fe489ba73","method":"media"},"time":"2026-01-09T20:20:50+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T20:20:50+01:00","caller":"/build/pkg/api/methods/media.go:625","message":"received media request"} {"level":"debug","result":{"database":{"totalMedia":18,"exists":true,"indexing":false,"optimizing":false},"active":[{"started":"2026-01-09T20:20:12.96309505+01:00","launcherId":"NES","systemId":"NES","systemName":"NES","mediaPath":"/userdata/roms/nes/Captain Tsubasa 2 (AR).nes","mediaName":"Captain Tsubasa 2"}]},"time":"2026-01-09T20:20:50+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"a0a6f488-34e6-4aee-8c37-3b2d47de6785","method":"tokens"},"time":"2026-01-09T20:20:50+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T20:20:50+01:00","caller":"/build/pkg/api/methods/history.go:31","message":"received tokens request"} {"level":"debug","result":{"last":{"scanTime":"2026-01-09T20:20:03.258345418+01:00","type":"NTAG","uid":"1dabd36e0f1080","text":"@NES/Captain Tsubasa 2","data":""},"active":[{"scanTime":"2026-01-09T20:20:03.258345418+01:00","type":"NTAG","uid":"1dabd36e0f1080","text":"@NES/Captain Tsubasa 2","data":""}]},"time":"2026-01-09T20:20:50+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","dbid":47,"playTime":43,"time":"2026-01-09T20:20:56+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","time":"2026-01-09T20:21:26+01:00","caller":"/build/pkg/api/server.go:903","message":"websocket origin: http://localhost"} {"level":"debug","time":"2026-01-09T20:21:26+01:00","caller":"/build/pkg/api/server.go:449","message":"websocket origin: http://localhost allowed (explicit match)"} {"level":"debug","request":{"jsonrpc":"2.0","id":"2691a49a-083f-4f45-b484-13b0dc118b4b","method":"media"},"time":"2026-01-09T20:21:26+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T20:21:26+01:00","caller":"/build/pkg/api/methods/media.go:625","message":"received media request"} {"level":"debug","result":{"database":{"totalMedia":18,"exists":true,"indexing":false,"optimizing":false},"active":[{"started":"2026-01-09T20:20:12.96309505+01:00","launcherId":"NES","systemId":"NES","systemName":"NES","mediaPath":"/userdata/roms/nes/Captain Tsubasa 2 (AR).nes","mediaName":"Captain Tsubasa 2"}]},"time":"2026-01-09T20:21:26+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"af176e64-c14f-4888-b9df-7448086316df","method":"tokens"},"time":"2026-01-09T20:21:26+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T20:21:26+01:00","caller":"/build/pkg/api/methods/history.go:31","message":"received tokens request"} {"level":"debug","result":{"last":{"scanTime":"2026-01-09T20:20:03.258345418+01:00","type":"NTAG","uid":"1dabd36e0f1080","text":"@NES/Captain Tsubasa 2","data":""},"active":[{"scanTime":"2026-01-09T20:20:03.258345418+01:00","type":"NTAG","uid":"1dabd36e0f1080","text":"@NES/Captain Tsubasa 2","data":""}]},"time":"2026-01-09T20:21:26+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","dbid":47,"playTime":103,"time":"2026-01-09T20:21:56+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":47,"playTime":163,"time":"2026-01-09T20:22:56+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":47,"playTime":223,"time":"2026-01-09T20:23:56+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":47,"playTime":283,"time":"2026-01-09T20:24:56+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":47,"playTime":343,"time":"2026-01-09T20:25:56+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","time":"2026-01-09T20:26:22+01:00","caller":"/build/pkg/api/server.go:903","message":"websocket origin: http://localhost"} {"level":"debug","time":"2026-01-09T20:26:22+01:00","caller":"/build/pkg/api/server.go:449","message":"websocket origin: http://localhost allowed (explicit match)"} {"level":"debug","request":{"jsonrpc":"2.0","id":"9ba8c3d8-72f8-4aca-a75d-3cca9d33e0ac","method":"media"},"time":"2026-01-09T20:26:22+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T20:26:22+01:00","caller":"/build/pkg/api/methods/media.go:625","message":"received media request"} {"level":"debug","result":{"database":{"totalMedia":18,"exists":true,"indexing":false,"optimizing":false},"active":[{"started":"2026-01-09T20:20:12.96309505+01:00","launcherId":"NES","systemId":"NES","systemName":"NES","mediaPath":"/userdata/roms/nes/Captain Tsubasa 2 (AR).nes","mediaName":"Captain Tsubasa 2"}]},"time":"2026-01-09T20:26:22+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"9fd54c20-1367-42f3-a551-f916afdc3fdd","method":"tokens"},"time":"2026-01-09T20:26:22+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T20:26:22+01:00","caller":"/build/pkg/api/methods/history.go:31","message":"received tokens request"} {"level":"debug","result":{"last":{"scanTime":"2026-01-09T20:20:03.258345418+01:00","type":"NTAG","uid":"1dabd36e0f1080","text":"@NES/Captain Tsubasa 2","data":""},"active":[{"scanTime":"2026-01-09T20:20:03.258345418+01:00","type":"NTAG","uid":"1dabd36e0f1080","text":"@NES/Captain Tsubasa 2","data":""}]},"time":"2026-01-09T20:26:22+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"383cadd8-9976-4aa9-9ef9-624a1018c9ce","method":"version"},"time":"2026-01-09T20:26:23+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T20:26:23+01:00","caller":"/build/pkg/api/methods/utils.go:30","message":"received version request"} {"level":"debug","result":{"version":"2.8.0","platform":"batocera"},"time":"2026-01-09T20:26:23+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"2a6b55d9-192d-41e5-b14f-77eb777e5d79","method":"systems"},"time":"2026-01-09T20:26:23+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T20:26:23+01:00","caller":"/build/pkg/api/methods/systems.go:31","message":"received systems request"} {"level":"debug","result":{"systems":[{"releaseDate":"1989-04-10","manufacturer":"IBM","id":"DOS","name":"PC (DOS)","category":"Computer"},{"releaseDate":"1988-10-29","manufacturer":"Sega","id":"Genesis","name":"Genesis","category":"Console"},{"releaseDate":"1985-10-20","manufacturer":"Sega","id":"MasterSystem","name":"Master System","category":"Console"},{"releaseDate":"1985-10-18","manufacturer":"Nintendo","id":"NES","name":"NES","category":"Console"},{"id":"PC","name":"PC","category":"Computer"},{"releaseDate":"1990-11-21","manufacturer":"Nintendo","id":"SNES","name":"SNES","category":"Console"}]},"time":"2026-01-09T20:26:23+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"35d54d8f-15b8-4a36-b897-ea6e3430efe7","method":"media"},"time":"2026-01-09T20:26:23+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T20:26:23+01:00","caller":"/build/pkg/api/methods/media.go:625","message":"received media request"} {"level":"debug","result":{"database":{"totalMedia":18,"exists":true,"indexing":false,"optimizing":false},"active":[{"started":"2026-01-09T20:20:12.96309505+01:00","launcherId":"NES","systemId":"NES","systemName":"NES","mediaPath":"/userdata/roms/nes/Captain Tsubasa 2 (AR).nes","mediaName":"Captain Tsubasa 2"}]},"time":"2026-01-09T20:26:23+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"bb4d1fb3-0a28-41cc-9ab0-6a15f3944866","method":"settings"},"time":"2026-01-09T20:26:25+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T20:26:25+01:00","caller":"/build/pkg/api/methods/settings.go:36","message":"received settings request"} {"level":"debug","result":{"readersScanMode":"tap","readersScanIgnoreSystems":[],"readersScanExitDelay":0,"runZapScript":true,"debugLogging":true,"audioScanFeedback":true,"readersAutoDetect":true},"time":"2026-01-09T20:26:25+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","method":"settings.logs.download","id":"e957bce3-cace-4241-8959-8a888a6ccb5f","time":"2026-01-09T20:26:26+01:00","caller":"/build/pkg/api/server.go:102","message":"received logs download request"} {"level":"info","time":"2026-01-09T20:26:26+01:00","caller":"/build/pkg/api/methods/logs.go:35","message":"received logs download request"} {"level":"debug","result":{"filename":"core.log","content":"eyJsZXZlbCI6ImRlYnVnIiwiZXJyb3IiOiJmYWlsZWQgdG8gb3BlbiBnYW1lbGlzdCBYTUwgZmlsZSAvdXNlcmRhdGEvcm9tcy9v... [truncated 1054548 more chars]","size":790985},"time":"2026-01-09T20:26:26+01:00","caller":"/build/pkg/api/server.go:116","message":"sending response"} {"level":"debug","dbid":47,"playTime":403,"time":"2026-01-09T20:26:56+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","time":"2026-01-09T20:27:53+01:00","caller":"/build/pkg/api/server.go:903","message":"websocket origin: http://localhost"} {"level":"debug","time":"2026-01-09T20:27:53+01:00","caller":"/build/pkg/api/server.go:449","message":"websocket origin: http://localhost allowed (explicit match)"} {"level":"debug","request":{"jsonrpc":"2.0","id":"18e7cba3-68e5-4e71-80d4-83c72cee4882","method":"settings"},"time":"2026-01-09T20:27:53+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T20:27:53+01:00","caller":"/build/pkg/api/methods/settings.go:36","message":"received settings request"} {"level":"debug","result":{"readersScanMode":"tap","readersScanIgnoreSystems":[],"readersScanExitDelay":0,"runZapScript":true,"debugLogging":true,"audioScanFeedback":true,"readersAutoDetect":true},"time":"2026-01-09T20:27:53+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"45be9cf6-268c-4aa9-9e83-988d552746b1","method":"media"},"time":"2026-01-09T20:27:53+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T20:27:53+01:00","caller":"/build/pkg/api/methods/media.go:625","message":"received media request"} {"level":"debug","result":{"database":{"totalMedia":18,"exists":true,"indexing":false,"optimizing":false},"active":[{"started":"2026-01-09T20:20:12.96309505+01:00","launcherId":"NES","systemId":"NES","systemName":"NES","mediaPath":"/userdata/roms/nes/Captain Tsubasa 2 (AR).nes","mediaName":"Captain Tsubasa 2"}]},"time":"2026-01-09T20:27:53+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"907a5d6c-94cc-48c3-8686-eaac89ad45aa","method":"tokens"},"time":"2026-01-09T20:27:53+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T20:27:53+01:00","caller":"/build/pkg/api/methods/history.go:31","message":"received tokens request"} {"level":"debug","result":{"last":{"scanTime":"2026-01-09T20:20:03.258345418+01:00","type":"NTAG","uid":"1dabd36e0f1080","text":"@NES/Captain Tsubasa 2","data":""},"active":[{"scanTime":"2026-01-09T20:20:03.258345418+01:00","type":"NTAG","uid":"1dabd36e0f1080","text":"@NES/Captain Tsubasa 2","data":""}]},"time":"2026-01-09T20:27:53+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"8cdddca7-8db5-4e55-b9ed-bf725d42b096","method":"version"},"time":"2026-01-09T20:27:53+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T20:27:53+01:00","caller":"/build/pkg/api/methods/utils.go:30","message":"received version request"} {"level":"debug","result":{"version":"2.8.0","platform":"batocera"},"time":"2026-01-09T20:27:53+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"b89a90b3-49f0-435d-a422-a82a8a987b88","method":"systems"},"time":"2026-01-09T20:27:53+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T20:27:53+01:00","caller":"/build/pkg/api/methods/systems.go:31","message":"received systems request"} {"level":"debug","result":{"systems":[{"releaseDate":"1989-04-10","manufacturer":"IBM","id":"DOS","name":"PC (DOS)","category":"Computer"},{"releaseDate":"1988-10-29","manufacturer":"Sega","id":"Genesis","name":"Genesis","category":"Console"},{"releaseDate":"1985-10-20","manufacturer":"Sega","id":"MasterSystem","name":"Master System","category":"Console"},{"releaseDate":"1985-10-18","manufacturer":"Nintendo","id":"NES","name":"NES","category":"Console"},{"id":"PC","name":"PC","category":"Computer"},{"releaseDate":"1990-11-21","manufacturer":"Nintendo","id":"SNES","name":"SNES","category":"Console"}]},"time":"2026-01-09T20:27:53+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"f998fd35-055d-4416-8fa1-d16220a003d0","method":"media"},"time":"2026-01-09T20:27:53+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T20:27:53+01:00","caller":"/build/pkg/api/methods/media.go:625","message":"received media request"} {"level":"debug","result":{"database":{"totalMedia":18,"exists":true,"indexing":false,"optimizing":false},"active":[{"started":"2026-01-09T20:20:12.96309505+01:00","launcherId":"NES","systemId":"NES","systemName":"NES","mediaPath":"/userdata/roms/nes/Captain Tsubasa 2 (AR).nes","mediaName":"Captain Tsubasa 2"}]},"time":"2026-01-09T20:27:53+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","dbid":47,"playTime":463,"time":"2026-01-09T20:27:56+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","time":"2026-01-09T20:28:11+01:00","caller":"/build/pkg/api/server.go:903","message":"websocket origin: http://172.16.24.155:7497"} {"level":"debug","time":"2026-01-09T20:28:11+01:00","caller":"/build/pkg/api/server.go:449","message":"websocket origin: http://172.16.24.155:7497 allowed (explicit match)"} {"level":"debug","request":{"jsonrpc":"2.0","id":"153512d0-37ae-4cfe-bdeb-4a4239b49be2","method":"media"},"time":"2026-01-09T20:28:11+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T20:28:11+01:00","caller":"/build/pkg/api/methods/media.go:625","message":"received media request"} {"level":"debug","result":{"database":{"totalMedia":18,"exists":true,"indexing":false,"optimizing":false},"active":[{"started":"2026-01-09T20:20:12.96309505+01:00","launcherId":"NES","systemId":"NES","systemName":"NES","mediaPath":"/userdata/roms/nes/Captain Tsubasa 2 (AR).nes","mediaName":"Captain Tsubasa 2"}]},"time":"2026-01-09T20:28:11+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"2be26ebb-735a-4509-a181-320b0aca233a","method":"tokens"},"time":"2026-01-09T20:28:11+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T20:28:11+01:00","caller":"/build/pkg/api/methods/history.go:31","message":"received tokens request"} {"level":"debug","result":{"last":{"scanTime":"2026-01-09T20:20:03.258345418+01:00","type":"NTAG","uid":"1dabd36e0f1080","text":"@NES/Captain Tsubasa 2","data":""},"active":[{"scanTime":"2026-01-09T20:20:03.258345418+01:00","type":"NTAG","uid":"1dabd36e0f1080","text":"@NES/Captain Tsubasa 2","data":""}]},"time":"2026-01-09T20:28:11+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"c76f0ca0-4b34-461b-82ac-2c21e263093b","method":"version"},"time":"2026-01-09T20:28:16+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T20:28:16+01:00","caller":"/build/pkg/api/methods/utils.go:30","message":"received version request"} {"level":"debug","result":{"version":"2.8.0","platform":"batocera"},"time":"2026-01-09T20:28:16+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"75fced9b-533c-474b-9a1d-08a6a0f84b1f","method":"systems"},"time":"2026-01-09T20:28:16+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T20:28:16+01:00","caller":"/build/pkg/api/methods/systems.go:31","message":"received systems request"} {"level":"debug","result":{"systems":[{"releaseDate":"1989-04-10","manufacturer":"IBM","id":"DOS","name":"PC (DOS)","category":"Computer"},{"releaseDate":"1988-10-29","manufacturer":"Sega","id":"Genesis","name":"Genesis","category":"Console"},{"releaseDate":"1985-10-20","manufacturer":"Sega","id":"MasterSystem","name":"Master System","category":"Console"},{"releaseDate":"1985-10-18","manufacturer":"Nintendo","id":"NES","name":"NES","category":"Console"},{"id":"PC","name":"PC","category":"Computer"},{"releaseDate":"1990-11-21","manufacturer":"Nintendo","id":"SNES","name":"SNES","category":"Console"}]},"time":"2026-01-09T20:28:16+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"8004aa3b-f013-47d4-9554-86f506ee37c8","method":"media"},"time":"2026-01-09T20:28:16+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T20:28:16+01:00","caller":"/build/pkg/api/methods/media.go:625","message":"received media request"} {"level":"debug","result":{"database":{"totalMedia":18,"exists":true,"indexing":false,"optimizing":false},"active":[{"started":"2026-01-09T20:20:12.96309505+01:00","launcherId":"NES","systemId":"NES","systemName":"NES","mediaPath":"/userdata/roms/nes/Captain Tsubasa 2 (AR).nes","mediaName":"Captain Tsubasa 2"}]},"time":"2026-01-09T20:28:16+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"75d1656a-e417-4988-a8c6-313643300a01","method":"settings"},"time":"2026-01-09T20:28:18+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T20:28:18+01:00","caller":"/build/pkg/api/methods/settings.go:36","message":"received settings request"} {"level":"debug","result":{"readersScanMode":"tap","readersScanIgnoreSystems":[],"readersScanExitDelay":0,"runZapScript":true,"debugLogging":true,"audioScanFeedback":true,"readersAutoDetect":true},"time":"2026-01-09T20:28:18+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","method":"settings.logs.download","id":"7b101fea-560d-4297-8563-a63ca7c13287","time":"2026-01-09T20:28:20+01:00","caller":"/build/pkg/api/server.go:102","message":"received logs download request"} {"level":"info","time":"2026-01-09T20:28:20+01:00","caller":"/build/pkg/api/methods/logs.go:35","message":"received logs download request"} {"level":"debug","result":{"filename":"core.log","content":"eyJsZXZlbCI6ImRlYnVnIiwiZXJyb3IiOiJmYWlsZWQgdG8gb3BlbiBnYW1lbGlzdCBYTUwgZmlsZSAvdXNlcmRhdGEvcm9tcy9v... [truncated 1068792 more chars]","size":801669},"time":"2026-01-09T20:28:20+01:00","caller":"/build/pkg/api/server.go:116","message":"sending response"} {"level":"debug","dbid":47,"playTime":523,"time":"2026-01-09T20:28:56+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":47,"playTime":583,"time":"2026-01-09T20:29:56+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","time":"2026-01-09T20:30:32+01:00","caller":"/build/pkg/api/server.go:903","message":"websocket origin: http://172.16.24.155:7497"} {"level":"debug","time":"2026-01-09T20:30:32+01:00","caller":"/build/pkg/api/server.go:449","message":"websocket origin: http://172.16.24.155:7497 allowed (explicit match)"} {"level":"debug","time":"2026-01-09T20:30:32+01:00","caller":"/build/pkg/api/server.go:903","message":"websocket origin: http://172.16.24.155:7497"} {"level":"debug","time":"2026-01-09T20:30:32+01:00","caller":"/build/pkg/api/server.go:449","message":"websocket origin: http://172.16.24.155:7497 allowed (explicit match)"} {"level":"debug","request":{"jsonrpc":"2.0","id":"fe7281fc-de5b-4b05-87d2-5dcd7083190e","method":"settings"},"time":"2026-01-09T20:30:52+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T20:30:52+01:00","caller":"/build/pkg/api/methods/settings.go:36","message":"received settings request"} {"level":"debug","result":{"readersScanMode":"tap","readersScanIgnoreSystems":[],"readersScanExitDelay":0,"runZapScript":true,"debugLogging":true,"audioScanFeedback":true,"readersAutoDetect":true},"time":"2026-01-09T20:30:52+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"6c5d7074-ccd9-477b-9153-bdac5ad92538","method":"version"},"time":"2026-01-09T20:30:52+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T20:30:52+01:00","caller":"/build/pkg/api/methods/utils.go:30","message":"received version request"} {"level":"debug","result":{"version":"2.8.0","platform":"batocera"},"time":"2026-01-09T20:30:52+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"073cb8e3-df21-48c1-9b1b-4a80e429d064","method":"systems"},"time":"2026-01-09T20:30:52+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T20:30:52+01:00","caller":"/build/pkg/api/methods/systems.go:31","message":"received systems request"} {"level":"debug","result":{"systems":[{"releaseDate":"1989-04-10","manufacturer":"IBM","id":"DOS","name":"PC (DOS)","category":"Computer"},{"releaseDate":"1988-10-29","manufacturer":"Sega","id":"Genesis","name":"Genesis","category":"Console"},{"releaseDate":"1985-10-20","manufacturer":"Sega","id":"MasterSystem","name":"Master System","category":"Console"},{"releaseDate":"1985-10-18","manufacturer":"Nintendo","id":"NES","name":"NES","category":"Console"},{"id":"PC","name":"PC","category":"Computer"},{"releaseDate":"1990-11-21","manufacturer":"Nintendo","id":"SNES","name":"SNES","category":"Console"}]},"time":"2026-01-09T20:30:52+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"52c1b96d-a766-412b-856d-6ba8086c8685","method":"media"},"time":"2026-01-09T20:30:52+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-09T20:30:52+01:00","caller":"/build/pkg/api/methods/media.go:625","message":"received media request"} {"level":"debug","result":{"database":{"totalMedia":18,"exists":true,"indexing":false,"optimizing":false},"active":[{"started":"2026-01-09T20:20:12.96309505+01:00","launcherId":"NES","systemId":"NES","systemName":"NES","mediaPath":"/userdata/roms/nes/Captain Tsubasa 2 (AR).nes","mediaName":"Captain Tsubasa 2"}]},"time":"2026-01-09T20:30:52+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","dbid":47,"playTime":643,"time":"2026-01-09T20:30:56+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":47,"playTime":703,"time":"2026-01-09T20:31:56+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"info","time":"2026-01-09T20:32:08+01:00","caller":"/build/pkg/platforms/batocera/tracker.go:310","message":"detected game closed externally"} {"level":"debug","time":"2026-01-09T20:32:08+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.stopped"} {"level":"debug","dbid":47,"playTime":715,"time":"2026-01-09T20:32:08+01:00","caller":"/build/pkg/service/service.go:513","message":"closed media history entry"} {"level":"debug","ip":"172.16.17.23","time":"2026-01-09T20:41:56+01:00","caller":"/build/pkg/api/middleware/ratelimit.go:89","message":"removed stale rate limiter"} {"level":"info","time":"2026-01-09T20:56:35+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T20:56:35+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T20:56:35+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T20:56:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"info","time":"2026-01-09T20:56:35+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:56:35+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T20:56:35+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"error","error":"unsupported tag type","operation":"init tag for NDEF","time":"2026-01-09T20:56:37+01:00","caller":"/build/pkg/readers/pn532/pn532.go:210","message":"PN532 error"} {"level":"warn","error":"unsupported tag type","uid":"1dabd36e0f1080","tagType":"NTAG","time":"2026-01-09T20:56:37+01:00","caller":"/build/pkg/readers/pn532/tags.go:71","message":"failed to initialize tag for NDEF reading"} {"level":"info","time":"2026-01-09T20:56:37+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-09T20:56:37+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x400036a930 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T20:56:37+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 20:56:37.394763578 +0100 CET m=+2381.467279078 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T20:56:37+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T20:56:37+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 20:56:37.394763578 +0100 CET m=+2381.467279078 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T20:56:37+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 20:56:37.394763578 +0100 CET m=+2381.467279078 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","error":"script is empty","time":"2026-01-09T20:56:37+01:00","caller":"/build/pkg/service/queues.go:307","message":"failed to parse script for playtime check"} {"level":"debug","time":"2026-01-09T20:56:37+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"error","error":"failed to parse script: script is empty","time":"2026-01-09T20:56:37+01:00","caller":"/build/pkg/service/queues.go:353","message":"error launching token"} {"level":"debug","time":"2026-01-09T20:56:38+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"info","time":"2026-01-09T21:05:47+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T21:05:47+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T21:05:47+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T21:05:47+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"info","time":"2026-01-09T21:07:02+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T21:07:02+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T21:07:02+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T21:07:02+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1dabd36e0f1080","manufacturer":"Fudan Microelectronics","time":"2026-01-09T21:07:02+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1dabd36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2026-01-09T21:07:02+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-09T21:07:02+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","error":"failed to read NDEF from NTAG: tag read failed (NDEF header): InDataExchange error 0x02 (CRC error) [sent 2 bytes, target 1]","uid":"1dabd36e0f1080","time":"2026-01-09T21:07:02+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"error","error":"failed to read NDEF from NTAG: tag read failed (NDEF header): InDataExchange error 0x02 (CRC error) [sent 2 bytes, target 1]","operation":"read NDEF","time":"2026-01-09T21:07:02+01:00","caller":"/build/pkg/readers/pn532/pn532.go:210","message":"PN532 error"} {"level":"warn","error":"failed to read NDEF from NTAG: tag read failed (NDEF header): InDataExchange error 0x02 (CRC error) [sent 2 bytes, target 1]","uid":"1dabd36e0f1080","tagType":"NTAG","time":"2026-01-09T21:07:02+01:00","caller":"/build/pkg/readers/pn532/tags.go:86","message":"failed to read NDEF data from tag"} {"level":"info","time":"2026-01-09T21:07:02+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-09T21:07:02+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x400029efc0 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T21:07:02+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-09 21:07:02.431879793 +0100 CET m=+3006.504395293 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-09T21:07:02+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-09T21:07:02+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-09 21:07:02.431879793 +0100 CET m=+3006.504395293 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-09T21:07:02+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-09 21:07:02.431879793 +0100 CET m=+3006.504395293 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","error":"script is empty","time":"2026-01-09T21:07:02+01:00","caller":"/build/pkg/service/queues.go:307","message":"failed to parse script for playtime check"} {"level":"debug","time":"2026-01-09T21:07:02+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"error","error":"failed to parse script: script is empty","time":"2026-01-09T21:07:02+01:00","caller":"/build/pkg/service/queues.go:353","message":"error launching token"} {"level":"debug","time":"2026-01-09T21:07:03+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"info","time":"2026-01-09T21:15:47+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-09T21:15:47+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-09T21:15:47+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-09T21:15:47+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"debug","time":"2025-12-31T21:54:56+01:00","caller":"/build/pkg/config/config.go:119","message":"env config path: "} {"level":"debug","time":"2025-12-31T21:54:56+01:00","caller":"/build/internal/telemetry/telemetry.go:78","message":"error reporting disabled"} {"level":"debug","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/config/config.go:119","message":"env config path: /userdata/system/.config/zaparoo/config.toml"} {"level":"debug","time":"2025-12-31T21:54:57+01:00","caller":"/build/internal/telemetry/telemetry.go:78","message":"error reporting disabled"} {"level":"info","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/helpers/service.go:170","message":"starting service"} {"level":"info","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/service/service.go:193","message":"version: 2.8.0"} {"level":"info","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/service/service.go:197","message":"boot session UUID: 838c88a5-2519-4fad-8741-949139f945d7"} {"level":"info","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/service/service.go:67","message":"creating platform directories"} {"level":"info","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/service/service.go:217","message":"running platform pre start"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/platforms/shared/linuxinput.go:70","message":"input devices initialized successfully"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:224","message":"opening databases"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:93","message":"opening media database"} {"level":"debug","path":"/userdata/system/.local/share/zaparoo/media.db","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/mediadb/mediadb.go:159","message":"checking if media database file exists"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/mediadb/mediadb.go:171","message":"opening media database connection"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/mediadb/mediadb.go:186","message":"running media database PRAGMA optimize"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/mediadb/mediadb.go:193","message":"running media database WAL checkpoint"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:99","message":"running media database migrations"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:50","message":"waiting for migration mutex"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:52","message":"migration mutex acquired"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:58","message":"setting up goose logger"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:62","message":"setting goose base filesystem"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:65","message":"setting goose dialect to sqlite"} {"level":"debug","migration_dir":"migrations","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:70","message":"running goose up migrations"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:39","message":"goose: no migrations to run. current version: 20251001185734"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:55","message":"migration mutex released"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:107","message":"opening user database"} {"level":"debug","path":"/userdata/system/.local/share/zaparoo/user.db","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/userdb/userdb.go:58","message":"checking if database file exists"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/userdb/userdb.go:70","message":"opening user database connection"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:113","message":"running user database migrations"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:50","message":"waiting for migration mutex"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:52","message":"migration mutex acquired"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:58","message":"setting up goose logger"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:62","message":"setting goose base filesystem"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:65","message":"setting goose dialect to sqlite"} {"level":"debug","migration_dir":"migrations","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:70","message":"running goose up migrations"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:39","message":"goose: no migrations to run. current version: 20251218223408"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:55","message":"migration mutex released"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:122","message":"checking for boltdb migration"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:136","message":"cleaning up scan history older than 30 days"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:144","message":"no old scan history entries to clean up"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:151","message":"closing hanging media history entries"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:159","message":"cleaning up media history older than 365 days"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:167","message":"no old media history entries to clean up"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:177","message":"pruning expired non-supporting zaplink hosts"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:185","message":"no expired zaplink hosts to prune"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:238","message":"initializing inbox service"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:242","message":"initializing playtime limits"} {"level":"debug","subscriber_id":0,"buffer_size":10,"time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/broker/broker.go:119","message":"new subscriber registered"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:258","message":"loading mapping files"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/playtime/limits.go:218","message":"playtime: notification handler started"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/config/configmappings.go:76","message":"found 0 mapping files"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/config/configmappings.go:104","message":"loaded 0 mapping files, 0 mappings"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:264","message":"loading custom launchers"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/config/configlaunchers.go:138","message":"found 0 custom launcher files"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/config/configlaunchers.go:166","message":"loaded 0 files, 0 custom launchers"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:270","message":"initializing launcher cache"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:273","message":"checking for interrupted media indexing"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:276","message":"checking for interrupted media optimization"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:279","message":"starting mDNS discovery service"} {"level":"info","instance":"BATOCERA","port":7497,"type":"_zaparoo._tcp","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/discovery/discovery.go:91","message":"mDNS service advertising started"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:285","message":"starting API service"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:643","message":"indexing status is 'completed', no auto-resume needed"} {"level":"debug","subscriber_id":1,"buffer_size":100,"time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/broker/broker.go:119","message":"new subscriber registered"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:289","message":"starting publishers"} {"level":"debug","subscriber_id":2,"buffer_size":100,"time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/broker/broker.go:119","message":"new subscriber registered"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/api/server.go:835","message":"adding local IP to allowed origins: 172.16.24.155"} {"level":"debug","hostname":"BATOCERA.local","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/api/server.go:850","message":"added mDNS hostname to allowed origins"} {"level":"debug","hostname":"BATOCERA","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/api/server.go:861","message":"added OS hostname to allowed origins"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:294","message":"starting media history listener"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/api/server.go:864","message":"dynamicAllowedOrigins: [capacitor://localhost ionic://localhost https://localhost http://localhost http://localhost:7497 https://localhost:7497 http://127.0.0.1:7497 https://127.0.0.1:7497 http://172.16.24.155:7497 https://172.16.24.155:7497 http://BATOCERA.local https://BATOCERA.local http://BATOCERA.local:7497 https://BATOCERA.local:7497 http://BATOCERA https://BATOCERA http://BATOCERA:7497 https://BATOCERA:7497]"} {"level":"debug","subscriber_id":3,"buffer_size":100,"time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/broker/broker.go:119","message":"new subscriber registered"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:302","message":"starting media history PlayTime updater"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:306","message":"starting clock reliability monitor"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:314","message":"starting reader manager"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/api/server.go:1003","message":"HTTP server goroutine launched, waiting for server to be ready"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:317","message":"starting input token queue manager"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:320","message":"running platform post start"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/readers.go:294","message":"reader manager started, auto-detect=true"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/api/server.go:977","message":"starting HTTP server on :7497"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/api/server.go:978","message":"HTTP server goroutine started, attempting to bind"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:703","message":"optimization status is 'completed', no auto-resume needed"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/api/server.go:990","message":"HTTP server bound to port, ready to accept connections"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/api/server.go:1008","message":"HTTP server is ready to accept connections"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/platforms/batocera/platform.go:194","message":"background game tracker started"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:326","message":"platform post start completed, service fully initialized"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/helpers/service.go:301","message":"service process started with PID 2241"} {"level":"info","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/service/readers.go:330","message":"no readers connected after 1 attempts, auto-detect=true"} {"level":"debug","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/readers/pn532/pn532.go:318","message":"opening PN532 device: pn532uart:/dev/ttyUSB0"} {"level":"info","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/readers/pn532/pn532.go:403","message":"PN532 reader opened: pn532uart:/dev/ttyUSB0"} {"level":"debug","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: readers.added"} {"level":"info","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/service/autodetect.go:183","message":"successfully connected auto-detected reader: pn532_uart:/dev/ttyUSB0"} {"level":"info","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1dabd36e0f1080","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1dabd36e0f1080","manufacturer":"Fudan Microelectronics","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1dabd36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1dabd36e0f1080","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","error":"failed to read NDEF from NTAG: invalid NDEF message: invalid TLV structure: NDEF length exceeds data size","uid":"1dabd36e0f1080","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"error","error":"failed to read NDEF from NTAG: invalid NDEF message: invalid TLV structure: NDEF length exceeds data size","operation":"read NDEF","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/readers/pn532/pn532.go:210","message":"PN532 error"} {"level":"warn","error":"failed to read NDEF from NTAG: invalid NDEF message: invalid TLV structure: NDEF length exceeds data size","uid":"1dabd36e0f1080","tagType":"NTAG","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/readers/pn532/tags.go:86","message":"failed to read NDEF data from tag"} {"level":"info","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"debug","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x40003f6d20 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2025-12-31 21:54:59.665870726 +0100 CET m=+1.829365834 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2025-12-31 21:54:59.665870726 +0100 CET m=+1.829365834 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2025-12-31 21:54:59.665870726 +0100 CET m=+1.829365834 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","error":"script is empty","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/service/queues.go:307","message":"failed to parse script for playtime check"} {"level":"debug","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"error","error":"failed to parse script: script is empty","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/service/queues.go:353","message":"error launching token"} {"level":"debug","time":"2025-12-31T21:55:00+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"info","time":"2025-12-31T21:55:00+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2025-12-31T21:55:00+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2025-12-31T21:55:00+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2025-12-31T21:55:00+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"info","time":"2025-12-31T21:55:01+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2025-12-31T21:55:01+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2025-12-31T21:55:01+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","time":"2025-12-31T21:55:02+01:00","caller":"/build/pkg/zapscript/zaplinks.go:337","message":"no internet connectivity, skipping zaplink pre-warming"} {"level":"error","error":"unsupported tag type","operation":"init tag for NDEF","time":"2025-12-31T21:55:04+01:00","caller":"/build/pkg/readers/pn532/pn532.go:210","message":"PN532 error"} {"level":"warn","error":"unsupported tag type","uid":"1dabd36e0f1080","tagType":"NTAG","time":"2025-12-31T21:55:04+01:00","caller":"/build/pkg/readers/pn532/tags.go:71","message":"failed to initialize tag for NDEF reading"} {"level":"info","time":"2025-12-31T21:55:04+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"debug","time":"2025-12-31T21:55:04+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x4000269a40 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2025-12-31T21:55:04+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2025-12-31 21:55:04.723356974 +0100 CET m=+6.886852030 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2025-12-31T21:55:04+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2025-12-31T21:55:04+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2025-12-31 21:55:04.723356974 +0100 CET m=+6.886852030 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2025-12-31T21:55:04+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2025-12-31 21:55:04.723356974 +0100 CET m=+6.886852030 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","error":"script is empty","time":"2025-12-31T21:55:04+01:00","caller":"/build/pkg/service/queues.go:307","message":"failed to parse script for playtime check"} {"level":"debug","time":"2025-12-31T21:55:04+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"error","error":"failed to parse script: script is empty","time":"2025-12-31T21:55:04+01:00","caller":"/build/pkg/service/queues.go:353","message":"error launching token"} {"level":"info","time":"2025-12-31T21:55:05+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2025-12-31T21:55:05+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2025-12-31T21:55:05+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2025-12-31T21:55:05+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"debug","time":"2025-12-31T21:55:05+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"debug","new_devices_detected":["pn532_uart:/dev/ttyUSB0"],"time":"2025-12-31T21:55:06+01:00","caller":"/build/pkg/service/autodetect.go:146","message":"auto-detect found new devices available for connection"} {"level":"info","time":"2025-12-31T21:55:06+01:00","caller":"/build/pkg/service/readers.go:325","message":"reader count changed: 1 connected"} {"level":"info","time":"2026-01-17T19:36:11+01:00","caller":"/build/pkg/platforms/batocera/tracker.go:348","message":"detected game launched externally: Captain Tsubasa 2 (AR)"} {"level":"debug","time":"2026-01-17T19:36:11+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.started"} {"level":"debug","dbid":48,"time":"2026-01-17T19:36:11+01:00","caller":"/build/pkg/service/service.go:480","message":"created media history entry"} {"level":"debug","dbid":48,"playTime":43,"time":"2026-01-17T19:36:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":103,"time":"2026-01-17T19:37:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":163,"time":"2026-01-17T19:38:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":223,"time":"2026-01-17T19:39:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":283,"time":"2026-01-17T19:40:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":343,"time":"2026-01-17T19:41:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":403,"time":"2026-01-17T19:42:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":463,"time":"2026-01-17T19:43:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":523,"time":"2026-01-17T19:44:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":583,"time":"2026-01-17T19:45:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":643,"time":"2026-01-17T19:46:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":703,"time":"2026-01-17T19:47:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":763,"time":"2026-01-17T19:48:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":823,"time":"2026-01-17T19:49:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":883,"time":"2026-01-17T19:50:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":943,"time":"2026-01-17T19:51:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":1003,"time":"2026-01-17T19:52:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":1063,"time":"2026-01-17T19:53:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":1123,"time":"2026-01-17T19:54:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":1183,"time":"2026-01-17T19:55:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":1243,"time":"2026-01-17T19:56:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":1303,"time":"2026-01-17T19:57:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":1363,"time":"2026-01-17T19:58:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":1423,"time":"2026-01-17T19:59:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":1483,"time":"2026-01-17T20:00:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":1543,"time":"2026-01-17T20:01:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":1603,"time":"2026-01-17T20:02:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"info","time":"2026-01-17T20:03:20+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-17T20:03:20+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-17T20:03:20+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"error","error":"unsupported tag type","operation":"init tag for NDEF","time":"2026-01-17T20:03:32+01:00","caller":"/build/pkg/readers/pn532/pn532.go:210","message":"PN532 error"} {"level":"warn","error":"unsupported tag type","uid":"1dabd36e0f1080","tagType":"NTAG","time":"2026-01-17T20:03:32+01:00","caller":"/build/pkg/readers/pn532/tags.go:71","message":"failed to initialize tag for NDEF reading"} {"level":"info","time":"2026-01-17T20:03:32+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-17T20:03:32+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x40002ebab0 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-17T20:03:32+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-17 20:03:32.358032641 +0100 CET m=+1777.568031628 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-17T20:03:32+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-17T20:03:32+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-17 20:03:32.358032641 +0100 CET m=+1777.568031628 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-17T20:03:32+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-17 20:03:32.358032641 +0100 CET m=+1777.568031628 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","error":"script is empty","time":"2026-01-17T20:03:32+01:00","caller":"/build/pkg/service/queues.go:307","message":"failed to parse script for playtime check"} {"level":"debug","time":"2026-01-17T20:03:32+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"error","error":"failed to parse script: script is empty","time":"2026-01-17T20:03:32+01:00","caller":"/build/pkg/service/queues.go:353","message":"error launching token"} {"level":"info","time":"2026-01-17T20:03:32+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-17T20:03:32+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-17T20:03:32+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-17T20:03:32+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"debug","time":"2026-01-17T20:03:33+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"debug","dbid":48,"playTime":1663,"time":"2026-01-17T20:03:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":1723,"time":"2026-01-17T20:04:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":1783,"time":"2026-01-17T20:05:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":1843,"time":"2026-01-17T20:06:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":1903,"time":"2026-01-17T20:07:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"info","time":"2026-01-17T20:08:07+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-17T20:08:07+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-17T20:08:07+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"error","error":"unsupported tag type","operation":"init tag for NDEF","time":"2026-01-17T20:08:17+01:00","caller":"/build/pkg/readers/pn532/pn532.go:210","message":"PN532 error"} {"level":"warn","error":"unsupported tag type","uid":"1dabd36e0f1080","tagType":"NTAG","time":"2026-01-17T20:08:17+01:00","caller":"/build/pkg/readers/pn532/tags.go:71","message":"failed to initialize tag for NDEF reading"} {"level":"info","time":"2026-01-17T20:08:17+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-17T20:08:17+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x40002d3570 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-17T20:08:17+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-17 20:08:17.965693002 +0100 CET m=+2063.175691989 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-17T20:08:17+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-17T20:08:17+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-17 20:08:17.965693002 +0100 CET m=+2063.175691989 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-17T20:08:17+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-17 20:08:17.965693002 +0100 CET m=+2063.175691989 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","error":"script is empty","time":"2026-01-17T20:08:17+01:00","caller":"/build/pkg/service/queues.go:307","message":"failed to parse script for playtime check"} {"level":"debug","time":"2026-01-17T20:08:17+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"error","error":"failed to parse script: script is empty","time":"2026-01-17T20:08:17+01:00","caller":"/build/pkg/service/queues.go:353","message":"error launching token"} {"level":"info","time":"2026-01-17T20:08:18+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-17T20:08:18+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-17T20:08:18+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-17T20:08:18+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"debug","time":"2026-01-17T20:08:18+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"info","time":"2026-01-17T20:08:21+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-17T20:08:21+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-17T20:08:21+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"error","error":"unsupported tag type","operation":"init tag for NDEF","time":"2026-01-17T20:08:32+01:00","caller":"/build/pkg/readers/pn532/pn532.go:210","message":"PN532 error"} {"level":"warn","error":"unsupported tag type","uid":"1dabd36e0f1080","tagType":"NTAG","time":"2026-01-17T20:08:32+01:00","caller":"/build/pkg/readers/pn532/tags.go:71","message":"failed to initialize tag for NDEF reading"} {"level":"info","time":"2026-01-17T20:08:32+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-17T20:08:32+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x40000b0a10 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-17T20:08:32+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-17 20:08:32.77340798 +0100 CET m=+2077.983406967 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-17T20:08:32+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-17T20:08:32+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-17 20:08:32.77340798 +0100 CET m=+2077.983406967 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-17T20:08:32+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-17 20:08:32.77340798 +0100 CET m=+2077.983406967 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","error":"script is empty","time":"2026-01-17T20:08:32+01:00","caller":"/build/pkg/service/queues.go:307","message":"failed to parse script for playtime check"} {"level":"debug","time":"2026-01-17T20:08:32+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"error","error":"failed to parse script: script is empty","time":"2026-01-17T20:08:32+01:00","caller":"/build/pkg/service/queues.go:353","message":"error launching token"} {"level":"info","time":"2026-01-17T20:08:33+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-17T20:08:33+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-17T20:08:33+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-17T20:08:33+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"debug","time":"2026-01-17T20:08:33+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"debug","dbid":48,"playTime":1963,"time":"2026-01-17T20:08:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"info","time":"2026-01-17T20:09:11+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: UNKNOWN (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-17T20:09:11+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-17T20:09:11+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"error","error":"unsupported tag type","operation":"init tag for NDEF","time":"2026-01-17T20:09:14+01:00","caller":"/build/pkg/readers/pn532/pn532.go:210","message":"PN532 error"} {"level":"warn","error":"unsupported tag type","uid":"1dabd36e0f1080","tagType":"UNKNOWN","time":"2026-01-17T20:09:14+01:00","caller":"/build/pkg/readers/pn532/tags.go:71","message":"failed to initialize tag for NDEF reading"} {"level":"info","time":"2026-01-17T20:09:14+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected Unknown tag: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-17T20:09:14+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x40002dca10 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-17T20:09:14+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-17 20:09:14.681273825 +0100 CET m=+2119.891272812 Unknown 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-17T20:09:14+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-17T20:09:14+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-17 20:09:14.681273825 +0100 CET m=+2119.891272812 Unknown 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-17T20:09:14+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-17 20:09:14.681273825 +0100 CET m=+2119.891272812 Unknown 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","error":"script is empty","time":"2026-01-17T20:09:14+01:00","caller":"/build/pkg/service/queues.go:307","message":"failed to parse script for playtime check"} {"level":"debug","time":"2026-01-17T20:09:14+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"error","error":"failed to parse script: script is empty","time":"2026-01-17T20:09:14+01:00","caller":"/build/pkg/service/queues.go:353","message":"error launching token"} {"level":"info","time":"2026-01-17T20:09:14+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-17T20:09:14+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-17T20:09:14+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-17T20:09:14+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"debug","time":"2026-01-17T20:09:15+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"info","time":"2026-01-17T20:09:15+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-17T20:09:15+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-17T20:09:15+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"error","error":"unsupported tag type","operation":"init tag for NDEF","time":"2026-01-17T20:09:18+01:00","caller":"/build/pkg/readers/pn532/pn532.go:210","message":"PN532 error"} {"level":"warn","error":"unsupported tag type","uid":"1dabd36e0f1080","tagType":"NTAG","time":"2026-01-17T20:09:18+01:00","caller":"/build/pkg/readers/pn532/tags.go:71","message":"failed to initialize tag for NDEF reading"} {"level":"info","time":"2026-01-17T20:09:18+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-17T20:09:18+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x40000ea150 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-17T20:09:18+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-17 20:09:18.960211943 +0100 CET m=+2124.170210931 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-17T20:09:18+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-17T20:09:18+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-17 20:09:18.960211943 +0100 CET m=+2124.170210931 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-17T20:09:18+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-17 20:09:18.960211943 +0100 CET m=+2124.170210931 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","error":"script is empty","time":"2026-01-17T20:09:18+01:00","caller":"/build/pkg/service/queues.go:307","message":"failed to parse script for playtime check"} {"level":"debug","time":"2026-01-17T20:09:18+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"error","error":"failed to parse script: script is empty","time":"2026-01-17T20:09:18+01:00","caller":"/build/pkg/service/queues.go:353","message":"error launching token"} {"level":"info","time":"2026-01-17T20:09:19+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-17T20:09:19+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-17T20:09:19+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-17T20:09:19+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"debug","time":"2026-01-17T20:09:19+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"info","time":"2026-01-17T20:09:27+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-17T20:09:27+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-17T20:09:27+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"error","error":"unsupported tag type","operation":"init tag for NDEF","time":"2026-01-17T20:09:29+01:00","caller":"/build/pkg/readers/pn532/pn532.go:210","message":"PN532 error"} {"level":"warn","error":"unsupported tag type","uid":"1dabd36e0f1080","tagType":"NTAG","time":"2026-01-17T20:09:29+01:00","caller":"/build/pkg/readers/pn532/tags.go:71","message":"failed to initialize tag for NDEF reading"} {"level":"info","time":"2026-01-17T20:09:29+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-17T20:09:29+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x40002eb8f0 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-17T20:09:29+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-17 20:09:29.833096663 +0100 CET m=+2135.043095650 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-17T20:09:29+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-17T20:09:29+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-17 20:09:29.833096663 +0100 CET m=+2135.043095650 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-17T20:09:29+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-17 20:09:29.833096663 +0100 CET m=+2135.043095650 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","error":"script is empty","time":"2026-01-17T20:09:29+01:00","caller":"/build/pkg/service/queues.go:307","message":"failed to parse script for playtime check"} {"level":"debug","time":"2026-01-17T20:09:29+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"error","error":"failed to parse script: script is empty","time":"2026-01-17T20:09:29+01:00","caller":"/build/pkg/service/queues.go:353","message":"error launching token"} {"level":"info","time":"2026-01-17T20:09:30+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-17T20:09:30+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-17T20:09:30+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-17T20:09:30+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"debug","time":"2026-01-17T20:09:30+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"info","time":"2026-01-17T20:09:35+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-17T20:09:35+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-17T20:09:35+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"error","error":"unsupported tag type","operation":"init tag for NDEF","time":"2026-01-17T20:09:46+01:00","caller":"/build/pkg/readers/pn532/pn532.go:210","message":"PN532 error"} {"level":"warn","error":"unsupported tag type","uid":"1dabd36e0f1080","tagType":"NTAG","time":"2026-01-17T20:09:46+01:00","caller":"/build/pkg/readers/pn532/tags.go:71","message":"failed to initialize tag for NDEF reading"} {"level":"info","time":"2026-01-17T20:09:46+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-17T20:09:46+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x40002e1570 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-17T20:09:46+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-17 20:09:46.485947111 +0100 CET m=+2151.695946150 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-17T20:09:46+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-17T20:09:46+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-17 20:09:46.485947111 +0100 CET m=+2151.695946150 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-17T20:09:46+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-17 20:09:46.485947111 +0100 CET m=+2151.695946150 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","error":"script is empty","time":"2026-01-17T20:09:46+01:00","caller":"/build/pkg/service/queues.go:307","message":"failed to parse script for playtime check"} {"level":"debug","time":"2026-01-17T20:09:46+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"error","error":"failed to parse script: script is empty","time":"2026-01-17T20:09:46+01:00","caller":"/build/pkg/service/queues.go:353","message":"error launching token"} {"level":"info","time":"2026-01-17T20:09:47+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-17T20:09:47+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-17T20:09:47+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-17T20:09:47+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"debug","time":"2026-01-17T20:09:47+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"info","time":"2026-01-17T20:09:47+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-17T20:09:47+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-17T20:09:47+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"error","error":"unsupported tag type","operation":"init tag for NDEF","time":"2026-01-17T20:09:51+01:00","caller":"/build/pkg/readers/pn532/pn532.go:210","message":"PN532 error"} {"level":"warn","error":"unsupported tag type","uid":"1dabd36e0f1080","tagType":"NTAG","time":"2026-01-17T20:09:51+01:00","caller":"/build/pkg/readers/pn532/tags.go:71","message":"failed to initialize tag for NDEF reading"} {"level":"info","time":"2026-01-17T20:09:51+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-17T20:09:51+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x40000990a0 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-17T20:09:51+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-17 20:09:51.903267058 +0100 CET m=+2157.113266045 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-17T20:09:51+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-17T20:09:51+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-17 20:09:51.903267058 +0100 CET m=+2157.113266045 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-17T20:09:51+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-17 20:09:51.903267058 +0100 CET m=+2157.113266045 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","error":"script is empty","time":"2026-01-17T20:09:51+01:00","caller":"/build/pkg/service/queues.go:307","message":"failed to parse script for playtime check"} {"level":"debug","time":"2026-01-17T20:09:51+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"error","error":"failed to parse script: script is empty","time":"2026-01-17T20:09:51+01:00","caller":"/build/pkg/service/queues.go:353","message":"error launching token"} {"level":"debug","time":"2026-01-17T20:09:52+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"info","time":"2026-01-17T20:09:52+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-17T20:09:52+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-17T20:09:52+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-17T20:09:52+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"info","time":"2026-01-17T20:09:53+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-17T20:09:53+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-17T20:09:53+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"error","error":"unsupported tag type","operation":"init tag for NDEF","time":"2026-01-17T20:09:55+01:00","caller":"/build/pkg/readers/pn532/pn532.go:210","message":"PN532 error"} {"level":"warn","error":"unsupported tag type","uid":"1dabd36e0f1080","tagType":"NTAG","time":"2026-01-17T20:09:55+01:00","caller":"/build/pkg/readers/pn532/tags.go:71","message":"failed to initialize tag for NDEF reading"} {"level":"info","time":"2026-01-17T20:09:55+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-17T20:09:55+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x40003f7e30 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-17T20:09:55+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-17 20:09:55.033049346 +0100 CET m=+2160.243048334 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-17T20:09:55+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-17T20:09:55+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-17 20:09:55.033049346 +0100 CET m=+2160.243048334 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-17T20:09:55+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-17 20:09:55.033049346 +0100 CET m=+2160.243048334 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","error":"script is empty","time":"2026-01-17T20:09:55+01:00","caller":"/build/pkg/service/queues.go:307","message":"failed to parse script for playtime check"} {"level":"debug","time":"2026-01-17T20:09:55+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"error","error":"failed to parse script: script is empty","time":"2026-01-17T20:09:55+01:00","caller":"/build/pkg/service/queues.go:353","message":"error launching token"} {"level":"debug","dbid":48,"playTime":2023,"time":"2026-01-17T20:09:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","time":"2026-01-17T20:09:55+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"debug","dbid":48,"playTime":2083,"time":"2026-01-17T20:10:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":2143,"time":"2026-01-17T20:11:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":2203,"time":"2026-01-17T20:12:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":2263,"time":"2026-01-17T20:13:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":2323,"time":"2026-01-17T20:14:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":2383,"time":"2026-01-17T20:15:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":2443,"time":"2026-01-17T20:16:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":2503,"time":"2026-01-17T20:17:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":2563,"time":"2026-01-17T20:18:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":2623,"time":"2026-01-17T20:19:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":2683,"time":"2026-01-17T20:20:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":2743,"time":"2026-01-17T20:21:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":2803,"time":"2026-01-17T20:22:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":2863,"time":"2026-01-17T20:23:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":2923,"time":"2026-01-17T20:24:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":2983,"time":"2026-01-17T20:25:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":3043,"time":"2026-01-17T20:26:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":3103,"time":"2026-01-17T20:27:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":3163,"time":"2026-01-17T20:28:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":3223,"time":"2026-01-17T20:29:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":3283,"time":"2026-01-17T20:30:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":3343,"time":"2026-01-17T20:31:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":3403,"time":"2026-01-17T20:32:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":3463,"time":"2026-01-17T20:33:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":3523,"time":"2026-01-17T20:34:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":3583,"time":"2026-01-17T20:35:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":3643,"time":"2026-01-17T20:36:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":3703,"time":"2026-01-17T20:37:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":3763,"time":"2026-01-17T20:38:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":3823,"time":"2026-01-17T20:39:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":3883,"time":"2026-01-17T20:40:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":3943,"time":"2026-01-17T20:41:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":4003,"time":"2026-01-17T20:42:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":4063,"time":"2026-01-17T20:43:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":4123,"time":"2026-01-17T20:44:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":4183,"time":"2026-01-17T20:45:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":4243,"time":"2026-01-17T20:46:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":4303,"time":"2026-01-17T20:47:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":4363,"time":"2026-01-17T20:48:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":4423,"time":"2026-01-17T20:49:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":4483,"time":"2026-01-17T20:50:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":4543,"time":"2026-01-17T20:51:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":4603,"time":"2026-01-17T20:52:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":4663,"time":"2026-01-17T20:53:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":4723,"time":"2026-01-17T20:54:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":4783,"time":"2026-01-17T20:55:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":4843,"time":"2026-01-17T20:56:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":4903,"time":"2026-01-17T20:57:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":4963,"time":"2026-01-17T20:58:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":5023,"time":"2026-01-17T20:59:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":5083,"time":"2026-01-17T21:00:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":5143,"time":"2026-01-17T21:01:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":5203,"time":"2026-01-17T21:02:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":5263,"time":"2026-01-17T21:03:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":5323,"time":"2026-01-17T21:04:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":5383,"time":"2026-01-17T21:05:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":5443,"time":"2026-01-17T21:06:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"info","time":"2026-01-17T21:07:40+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-17T21:07:40+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-17T21:07:40+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-17T21:07:40+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"info","time":"2026-01-17T21:07:41+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-17T21:07:41+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-17T21:07:41+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-17T21:07:41+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1dabd36e0f1080","manufacturer":"Fudan Microelectronics","time":"2026-01-17T21:07:41+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1dabd36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2026-01-17T21:07:41+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-17T21:07:41+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","error":"failed to read NDEF from NTAG: tag read failed (NDEF header): InDataExchange error 0x02 (CRC error) [sent 2 bytes, target 1]","uid":"1dabd36e0f1080","time":"2026-01-17T21:07:41+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"error","error":"failed to read NDEF from NTAG: tag read failed (NDEF header): InDataExchange error 0x02 (CRC error) [sent 2 bytes, target 1]","operation":"read NDEF","time":"2026-01-17T21:07:41+01:00","caller":"/build/pkg/readers/pn532/pn532.go:210","message":"PN532 error"} {"level":"warn","error":"failed to read NDEF from NTAG: tag read failed (NDEF header): InDataExchange error 0x02 (CRC error) [sent 2 bytes, target 1]","uid":"1dabd36e0f1080","tagType":"NTAG","time":"2026-01-17T21:07:41+01:00","caller":"/build/pkg/readers/pn532/tags.go:86","message":"failed to read NDEF data from tag"} {"level":"info","time":"2026-01-17T21:07:41+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-17T21:07:41+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x40003df0a0 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-17T21:07:41+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-17 21:07:41.273354222 +0100 CET m=+5626.483353209 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-17T21:07:41+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-17T21:07:41+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-17 21:07:41.273354222 +0100 CET m=+5626.483353209 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-17T21:07:41+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-17 21:07:41.273354222 +0100 CET m=+5626.483353209 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","error":"script is empty","time":"2026-01-17T21:07:41+01:00","caller":"/build/pkg/service/queues.go:307","message":"failed to parse script for playtime check"} {"level":"debug","time":"2026-01-17T21:07:41+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"error","error":"failed to parse script: script is empty","time":"2026-01-17T21:07:41+01:00","caller":"/build/pkg/service/queues.go:353","message":"error launching token"} {"level":"debug","time":"2026-01-17T21:07:42+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"debug","dbid":48,"playTime":5503,"time":"2026-01-17T21:07:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":5563,"time":"2026-01-17T21:08:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":5623,"time":"2026-01-17T21:09:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":5683,"time":"2026-01-17T21:10:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":5743,"time":"2026-01-17T21:11:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":5803,"time":"2026-01-17T21:12:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":5863,"time":"2026-01-17T21:13:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":5923,"time":"2026-01-17T21:14:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":5983,"time":"2026-01-17T21:15:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":6043,"time":"2026-01-17T21:16:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":48,"playTime":6103,"time":"2026-01-17T21:17:55+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"info","time":"2026-01-17T21:18:14+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-17T21:18:14+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-17T21:18:14+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-17T21:18:14+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"info","time":"2026-01-17T21:18:14+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-17T21:18:14+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-17T21:18:14+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"error","error":"unsupported tag type","operation":"init tag for NDEF","time":"2026-01-17T21:18:16+01:00","caller":"/build/pkg/readers/pn532/pn532.go:210","message":"PN532 error"} {"level":"warn","error":"unsupported tag type","uid":"1dabd36e0f1080","tagType":"NTAG","time":"2026-01-17T21:18:16+01:00","caller":"/build/pkg/readers/pn532/tags.go:71","message":"failed to initialize tag for NDEF reading"} {"level":"info","time":"2026-01-17T21:18:16+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-17T21:18:16+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x40002e1ea0 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-17T21:18:16+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-17 21:18:16.548260349 +0100 CET m=+6261.758259336 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-17T21:18:16+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-17T21:18:16+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-17 21:18:16.548260349 +0100 CET m=+6261.758259336 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-17T21:18:16+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-17 21:18:16.548260349 +0100 CET m=+6261.758259336 NTAG 1dabd36e0f1080 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","error":"script is empty","time":"2026-01-17T21:18:16+01:00","caller":"/build/pkg/service/queues.go:307","message":"failed to parse script for playtime check"} {"level":"debug","time":"2026-01-17T21:18:16+01:00","caller":"/build/pkg/service/queues.go:338","message":"script contains no media-launching commands, bypassing playtime limit check"} {"level":"error","error":"failed to parse script: script is empty","time":"2026-01-17T21:18:16+01:00","caller":"/build/pkg/service/queues.go:353","message":"error launching token"} {"level":"debug","time":"2026-01-17T21:18:17+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"debug","time":"2025-12-31T21:54:56+01:00","caller":"/build/pkg/config/config.go:119","message":"env config path: "} {"level":"debug","time":"2025-12-31T21:54:56+01:00","caller":"/build/internal/telemetry/telemetry.go:78","message":"error reporting disabled"} {"level":"debug","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/config/config.go:119","message":"env config path: /userdata/system/.config/zaparoo/config.toml"} {"level":"debug","time":"2025-12-31T21:54:57+01:00","caller":"/build/internal/telemetry/telemetry.go:78","message":"error reporting disabled"} {"level":"info","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/helpers/service.go:170","message":"starting service"} {"level":"info","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/service/service.go:193","message":"version: 2.8.0"} {"level":"info","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/service/service.go:197","message":"boot session UUID: fb881b08-38a6-4ab5-8864-565bdd427e3b"} {"level":"info","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/service/service.go:67","message":"creating platform directories"} {"level":"info","time":"2025-12-31T21:54:57+01:00","caller":"/build/pkg/service/service.go:217","message":"running platform pre start"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/platforms/shared/linuxinput.go:70","message":"input devices initialized successfully"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:224","message":"opening databases"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:93","message":"opening media database"} {"level":"debug","path":"/userdata/system/.local/share/zaparoo/media.db","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/mediadb/mediadb.go:159","message":"checking if media database file exists"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/mediadb/mediadb.go:171","message":"opening media database connection"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/mediadb/mediadb.go:186","message":"running media database PRAGMA optimize"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/mediadb/mediadb.go:193","message":"running media database WAL checkpoint"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:99","message":"running media database migrations"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:50","message":"waiting for migration mutex"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:52","message":"migration mutex acquired"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:58","message":"setting up goose logger"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:62","message":"setting goose base filesystem"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:65","message":"setting goose dialect to sqlite"} {"level":"debug","migration_dir":"migrations","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:70","message":"running goose up migrations"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:39","message":"goose: no migrations to run. current version: 20251001185734"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:55","message":"migration mutex released"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:107","message":"opening user database"} {"level":"debug","path":"/userdata/system/.local/share/zaparoo/user.db","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/userdb/userdb.go:58","message":"checking if database file exists"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/userdb/userdb.go:70","message":"opening user database connection"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:113","message":"running user database migrations"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:50","message":"waiting for migration mutex"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:52","message":"migration mutex acquired"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:58","message":"setting up goose logger"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:62","message":"setting goose base filesystem"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:65","message":"setting goose dialect to sqlite"} {"level":"debug","migration_dir":"migrations","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:70","message":"running goose up migrations"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:39","message":"goose: no migrations to run. current version: 20251218223408"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/migrations.go:55","message":"migration mutex released"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:122","message":"checking for boltdb migration"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:136","message":"cleaning up scan history older than 30 days"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:144","message":"no old scan history entries to clean up"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:151","message":"closing hanging media history entries"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/database/userdb/media_history.go:329","message":"closed 1 hanging media history entries"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:159","message":"cleaning up media history older than 365 days"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:167","message":"no old media history entries to clean up"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:177","message":"pruning expired non-supporting zaplink hosts"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:185","message":"no expired zaplink hosts to prune"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:238","message":"initializing inbox service"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:242","message":"initializing playtime limits"} {"level":"debug","subscriber_id":0,"buffer_size":10,"time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/broker/broker.go:119","message":"new subscriber registered"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:258","message":"loading mapping files"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/playtime/limits.go:218","message":"playtime: notification handler started"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/config/configmappings.go:76","message":"found 0 mapping files"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/config/configmappings.go:104","message":"loaded 0 mapping files, 0 mappings"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:264","message":"loading custom launchers"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/config/configlaunchers.go:138","message":"found 0 custom launcher files"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/config/configlaunchers.go:166","message":"loaded 0 files, 0 custom launchers"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:270","message":"initializing launcher cache"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:273","message":"checking for interrupted media indexing"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:276","message":"checking for interrupted media optimization"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:279","message":"starting mDNS discovery service"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:643","message":"indexing status is 'completed', no auto-resume needed"} {"level":"info","instance":"BATOCERA","port":7497,"type":"_zaparoo._tcp","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/discovery/discovery.go:91","message":"mDNS service advertising started"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:285","message":"starting API service"} {"level":"debug","subscriber_id":1,"buffer_size":100,"time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/broker/broker.go:119","message":"new subscriber registered"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:289","message":"starting publishers"} {"level":"debug","subscriber_id":2,"buffer_size":100,"time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/broker/broker.go:119","message":"new subscriber registered"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:294","message":"starting media history listener"} {"level":"debug","subscriber_id":3,"buffer_size":100,"time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/broker/broker.go:119","message":"new subscriber registered"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:302","message":"starting media history PlayTime updater"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:306","message":"starting clock reliability monitor"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:314","message":"starting reader manager"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:317","message":"starting input token queue manager"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:320","message":"running platform post start"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/readers.go:294","message":"reader manager started, auto-detect=true"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/api/server.go:835","message":"adding local IP to allowed origins: 172.16.24.155"} {"level":"debug","hostname":"BATOCERA.local","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/api/server.go:850","message":"added mDNS hostname to allowed origins"} {"level":"debug","hostname":"BATOCERA","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/api/server.go:861","message":"added OS hostname to allowed origins"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/api/server.go:864","message":"dynamicAllowedOrigins: [capacitor://localhost ionic://localhost https://localhost http://localhost http://localhost:7497 https://localhost:7497 http://127.0.0.1:7497 https://127.0.0.1:7497 http://172.16.24.155:7497 https://172.16.24.155:7497 http://BATOCERA.local https://BATOCERA.local http://BATOCERA.local:7497 https://BATOCERA.local:7497 http://BATOCERA https://BATOCERA http://BATOCERA:7497 https://BATOCERA:7497]"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/api/server.go:1003","message":"HTTP server goroutine launched, waiting for server to be ready"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/api/server.go:977","message":"starting HTTP server on :7497"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/api/server.go:978","message":"HTTP server goroutine started, attempting to bind"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/api/server.go:990","message":"HTTP server bound to port, ready to accept connections"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/api/server.go:1008","message":"HTTP server is ready to accept connections"} {"level":"debug","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:703","message":"optimization status is 'completed', no auto-resume needed"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/helpers/service.go:301","message":"service process started with PID 2239"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/platforms/batocera/platform.go:194","message":"background game tracker started"} {"level":"info","time":"2025-12-31T21:54:58+01:00","caller":"/build/pkg/service/service.go:326","message":"platform post start completed, service fully initialized"} {"level":"info","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/service/readers.go:330","message":"no readers connected after 1 attempts, auto-detect=true"} {"level":"debug","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/readers/pn532/pn532.go:318","message":"opening PN532 device: pn532uart:/dev/ttyUSB0"} {"level":"info","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/readers/pn532/pn532.go:403","message":"PN532 reader opened: pn532uart:/dev/ttyUSB0"} {"level":"debug","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: readers.added"} {"level":"info","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/service/autodetect.go:183","message":"successfully connected auto-detected reader: pn532_uart:/dev/ttyUSB0"} {"level":"info","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1dabd36e0f1080","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1dabd36e0f1080","manufacturer":"Fudan Microelectronics","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1dabd36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1dabd36e0f1080","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","uid":"1dabd36e0f1080","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"debug","uid":"1dabd36e0f1080","recordCount":1,"recordType":"text","hasText":true,"hasURI":false,"payloadLen":25,"time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/readers/pn532/tags.go:107","message":"NDEF: processing records"} {"level":"info","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"info","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/readers/pn532/pn532.go:440","message":"NDEF text: @NES/Captain Tsubasa 2"} {"level":"debug","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x40002dcaf0 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2025-12-31 21:54:59.821535674 +0100 CET m=+1.923265209 NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2025-12-31 21:54:59.821535674 +0100 CET m=+1.923265209 NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2025-12-31 21:54:59.821535674 +0100 CET m=+1.923265209 NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/service/queues.go:72","message":"running script (1 cmds): @NES/Captain Tsubasa 2"} {"level":"info","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/zapscript/commands.go:355","message":"running command: {{map[]} launch.title [NES/Captain Tsubasa 2]}"} {"level":"debug","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/zapscript/titles.go:101","message":"using 1 launcher(s) for file type prioritization"} {"level":"info","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/zapscript/titles.go:146","message":"searching for slug 'captaintsubasa2' in system 'NES'"} {"level":"debug","system_id":"NES","slug":"captaintsubasa2","media_dbid":8,"strategy":"strategy_exact_match","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/database/mediadb/slug_cache.go:109","message":"slug resolution cache hit"} {"level":"info","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/zapscript/titles.go:154","message":"slug resolution cache hit (strategy: strategy_exact_match)"} {"level":"info","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/zapscript/titles.go:161","message":"resolved from cache: Captain Tsubasa 2 (/userdata/roms/nes/Captain Tsubasa 2 (AR).nes)"} {"level":"info","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/platforms/batocera/platform.go:467","message":"launch media: /userdata/roms/nes/Captain Tsubasa 2 (AR).nes"} {"level":"info","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/platforms/batocera/platform.go:504","message":"launch media: using launcher NES for: /userdata/roms/nes/Captain Tsubasa 2 (AR).nes"} {"level":"debug","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/platforms/launch.go:70","message":"launching with: &{0x285a570 0x28581a0 NES NES [nes] [] [.nes .unif .unf .zip .7z] 0 false false}"} {"level":"info","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2025-12-31T21:54:59+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"info","time":"2025-12-31T21:55:00+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"info","time":"2025-12-31T21:55:00+01:00","caller":"/build/pkg/platforms/launch.go:174","message":"DoLaunch setting ActiveMedia: SystemID='NES', SystemName='NES', Path='/userdata/roms/nes/Captain Tsubasa 2 (AR).nes', Name='Captain Tsubasa 2', LauncherID='NES'"} {"level":"debug","time":"2025-12-31T21:55:00+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.started"} {"level":"debug","dbid":49,"time":"2025-12-31T21:55:00+01:00","caller":"/build/pkg/service/service.go:480","message":"created media history entry"} {"level":"debug","time":"2026-01-20T19:38:07+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"debug","time":"2026-01-20T19:38:07+01:00","caller":"/build/pkg/zapscript/zaplinks.go:348","message":"no supported zaplink hosts to pre-warm"} {"level":"debug","token":{"ScanTime":"2025-12-31T21:54:59.821535674+01:00","Type":"NTAG","UID":"1dabd36e0f1080","Text":"@NES/Captain Tsubasa 2","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-20T19:38:08+01:00","caller":"/build/pkg/zapscript/commands.go:367","message":"cmd launch: clearing current playlist"} {"level":"debug","token":{"ScanTime":"2025-12-31T21:54:59.821535674+01:00","Type":"NTAG","UID":"1dabd36e0f1080","Text":"@NES/Captain Tsubasa 2","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-20T19:38:08+01:00","caller":"/build/pkg/service/queues.go:118","message":"media changed, updating token"} {"level":"info","time":"2026-01-20T19:38:08+01:00","caller":"/build/pkg/service/queues.go:119","message":"current media launched set to: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-20T19:38:08+01:00","caller":"/build/pkg/service/readers.go:381","message":"new software token: &{0x4000310600 0x40003c5ea0 map[pn532_uart:/dev/ttyUSB0:0x40004f0200] 0x211f8b0 0x400012af50 0x269d7e0 0x40003e2dc0 0x40003fce70 0x40001e89a8 fb881b08-38a6-4ab5-8864-565bdd427e3b {{14000988966845129658 1923265209 0x3a15a60} NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false} {{14000988966845129658 1923265209 0x3a15a60} NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false} {{{{} {0 0}} 0 0 {{} 0} {{} 0}}} false true}"} {"level":"info","time":"2026-01-20T19:38:08+01:00","caller":"/build/pkg/platforms/batocera/tracker.go:348","message":"detected game launched externally: Captain Tsubasa 2 (AR)"} {"level":"debug","new_devices_detected":["pn532_uart:/dev/ttyUSB0"],"time":"2026-01-20T19:38:12+01:00","caller":"/build/pkg/service/autodetect.go:146","message":"auto-detect found new devices available for connection"} {"level":"info","time":"2026-01-20T19:38:12+01:00","caller":"/build/pkg/service/readers.go:325","message":"reader count changed: 1 connected"} {"level":"debug","dbid":49,"playTime":58,"time":"2026-01-20T19:39:04+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":49,"playTime":118,"time":"2026-01-20T19:40:04+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":49,"playTime":178,"time":"2026-01-20T19:41:04+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":49,"playTime":238,"time":"2026-01-20T19:42:04+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":49,"playTime":298,"time":"2026-01-20T19:43:04+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":49,"playTime":358,"time":"2026-01-20T19:44:04+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":49,"playTime":418,"time":"2026-01-20T19:45:04+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":49,"playTime":478,"time":"2026-01-20T19:46:04+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":49,"playTime":538,"time":"2026-01-20T19:47:04+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":49,"playTime":598,"time":"2026-01-20T19:48:04+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":49,"playTime":658,"time":"2026-01-20T19:49:04+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":49,"playTime":718,"time":"2026-01-20T19:50:04+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":49,"playTime":778,"time":"2026-01-20T19:51:04+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":49,"playTime":838,"time":"2026-01-20T19:52:04+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":49,"playTime":898,"time":"2026-01-20T19:53:04+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":49,"playTime":958,"time":"2026-01-20T19:54:04+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"info","time":"2026-01-20T19:54:54+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-20T19:54:54+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-20T19:54:54+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-20T19:54:54+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"info","time":"2026-01-20T19:54:54+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-20T19:54:54+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-20T19:54:54+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-20T19:54:54+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1dabd36e0f1080","manufacturer":"Fudan Microelectronics","time":"2026-01-20T19:54:54+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1dabd36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2026-01-20T19:54:54+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-20T19:54:54+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-20T19:54:54+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"debug","uid":"1dabd36e0f1080","recordCount":1,"recordType":"text","hasText":true,"hasURI":false,"payloadLen":25,"time":"2026-01-20T19:54:54+01:00","caller":"/build/pkg/readers/pn532/tags.go:107","message":"NDEF: processing records"} {"level":"info","time":"2026-01-20T19:54:54+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"info","time":"2026-01-20T19:54:54+01:00","caller":"/build/pkg/readers/pn532/pn532.go:440","message":"NDEF text: @NES/Captain Tsubasa 2"} {"level":"debug","time":"2026-01-20T19:54:54+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x40000de230 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-20T19:54:54+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-20 19:54:54.553072517 +0100 CET m=+1010.736161204 NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-20T19:54:54+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-20T19:54:54+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-20 19:54:54.553072517 +0100 CET m=+1010.736161204 NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-20T19:54:54+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-20 19:54:54.553072517 +0100 CET m=+1010.736161204 NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-20T19:54:54+01:00","caller":"/build/pkg/service/queues.go:72","message":"running script (1 cmds): @NES/Captain Tsubasa 2"} {"level":"info","time":"2026-01-20T19:54:54+01:00","caller":"/build/pkg/zapscript/commands.go:355","message":"running command: {{map[]} launch.title [NES/Captain Tsubasa 2]}"} {"level":"debug","time":"2026-01-20T19:54:54+01:00","caller":"/build/pkg/zapscript/titles.go:101","message":"using 1 launcher(s) for file type prioritization"} {"level":"info","time":"2026-01-20T19:54:54+01:00","caller":"/build/pkg/zapscript/titles.go:146","message":"searching for slug 'captaintsubasa2' in system 'NES'"} {"level":"debug","system_id":"NES","slug":"captaintsubasa2","media_dbid":8,"strategy":"strategy_exact_match","time":"2026-01-20T19:54:54+01:00","caller":"/build/pkg/database/mediadb/slug_cache.go:109","message":"slug resolution cache hit"} {"level":"info","time":"2026-01-20T19:54:54+01:00","caller":"/build/pkg/zapscript/titles.go:154","message":"slug resolution cache hit (strategy: strategy_exact_match)"} {"level":"info","time":"2026-01-20T19:54:54+01:00","caller":"/build/pkg/zapscript/titles.go:161","message":"resolved from cache: Captain Tsubasa 2 (/userdata/roms/nes/Captain Tsubasa 2 (AR).nes)"} {"level":"info","time":"2026-01-20T19:54:54+01:00","caller":"/build/pkg/platforms/batocera/platform.go:467","message":"launch media: /userdata/roms/nes/Captain Tsubasa 2 (AR).nes"} {"level":"info","time":"2026-01-20T19:54:54+01:00","caller":"/build/pkg/platforms/batocera/platform.go:488","message":"exiting current media"} {"level":"info","time":"2026-01-20T19:54:54+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-20T19:54:54+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"debug","time":"2026-01-20T19:54:55+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #2"} {"level":"debug","time":"2026-01-20T19:54:55+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"debug","time":"2026-01-20T19:54:56+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #3"} {"level":"debug","time":"2026-01-20T19:54:57+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #4"} {"level":"debug","time":"2026-01-20T19:54:58+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #5"} {"level":"info","time":"2026-01-20T19:54:59+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"debug","time":"2026-01-20T19:54:59+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.stopped"} {"level":"debug","dbid":49,"playTime":1013,"time":"2026-01-20T19:54:59+01:00","caller":"/build/pkg/service/service.go:513","message":"closed media history entry"} {"level":"info","time":"2026-01-20T19:55:01+01:00","caller":"/build/pkg/platforms/batocera/platform.go:504","message":"launch media: using launcher NES for: /userdata/roms/nes/Captain Tsubasa 2 (AR).nes"} {"level":"debug","time":"2026-01-20T19:55:01+01:00","caller":"/build/pkg/platforms/launch.go:70","message":"launching with: &{0x285a570 0x28581a0 NES NES [nes] [] [.nes .unif .unf .zip .7z] 0 false false}"} {"level":"info","time":"2026-01-20T19:55:01+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-20T19:55:01+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"info","time":"2026-01-20T19:55:02+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"info","time":"2026-01-20T19:55:02+01:00","caller":"/build/pkg/platforms/launch.go:174","message":"DoLaunch setting ActiveMedia: SystemID='NES', SystemName='NES', Path='/userdata/roms/nes/Captain Tsubasa 2 (AR).nes', Name='Captain Tsubasa 2', LauncherID='NES'"} {"level":"debug","time":"2026-01-20T19:55:02+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.started"} {"level":"debug","dbid":50,"time":"2026-01-20T19:55:02+01:00","caller":"/build/pkg/service/service.go:480","message":"created media history entry"} {"level":"debug","token":{"ScanTime":"2026-01-20T19:54:54.553072517+01:00","Type":"NTAG","UID":"1dabd36e0f1080","Text":"@NES/Captain Tsubasa 2","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-20T19:55:04+01:00","caller":"/build/pkg/zapscript/commands.go:367","message":"cmd launch: clearing current playlist"} {"level":"debug","token":{"ScanTime":"2026-01-20T19:54:54.553072517+01:00","Type":"NTAG","UID":"1dabd36e0f1080","Text":"@NES/Captain Tsubasa 2","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-20T19:55:04+01:00","caller":"/build/pkg/service/queues.go:118","message":"media changed, updating token"} {"level":"info","time":"2026-01-20T19:55:04+01:00","caller":"/build/pkg/service/queues.go:119","message":"current media launched set to: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-20T19:55:04+01:00","caller":"/build/pkg/service/readers.go:381","message":"new software token: &{0x4000310600 0x40003c5ea0 0x40002dcc40 map[pn532_uart:/dev/ttyUSB0:0x40004f0200] 0x211f8b0 0x40003129a0 0x269d7e0 0x40003e2dc0 0x40003fce70 0x40001e89a8 fb881b08-38a6-4ab5-8864-565bdd427e3b {{14002836656138696581 1010736161204 0x3a15a60} NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false} {{14002836656138696581 1010736161204 0x3a15a60} NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false} {{{{} {0 0}} 0 0 {{} 0} {{} 0}}} false true}"} {"level":"debug","dbid":50,"playTime":2,"time":"2026-01-20T19:55:04+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"info","time":"2026-01-20T19:55:04+01:00","caller":"/build/pkg/platforms/batocera/tracker.go:348","message":"detected game launched externally: Captain Tsubasa 2 (AR)"} {"level":"debug","dbid":50,"playTime":62,"time":"2026-01-20T19:56:04+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":50,"playTime":122,"time":"2026-01-20T19:57:04+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":50,"playTime":182,"time":"2026-01-20T19:58:04+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":50,"playTime":242,"time":"2026-01-20T19:59:04+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"info","time":"2026-01-20T19:59:09+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-20T19:59:09+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-20T19:59:09+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-20T19:59:09+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"info","time":"2026-01-20T19:59:10+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-20T19:59:10+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-20T19:59:10+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-20T19:59:10+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1dabd36e0f1080","manufacturer":"Fudan Microelectronics","time":"2026-01-20T19:59:10+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1dabd36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2026-01-20T19:59:10+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-20T19:59:10+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-20T19:59:10+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"debug","uid":"1dabd36e0f1080","recordCount":1,"recordType":"text","hasText":true,"hasURI":false,"payloadLen":25,"time":"2026-01-20T19:59:10+01:00","caller":"/build/pkg/readers/pn532/tags.go:107","message":"NDEF: processing records"} {"level":"info","time":"2026-01-20T19:59:10+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"info","time":"2026-01-20T19:59:10+01:00","caller":"/build/pkg/readers/pn532/pn532.go:440","message":"NDEF text: @NES/Captain Tsubasa 2"} {"level":"debug","time":"2026-01-20T19:59:10+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x40000b2fc0 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-20T19:59:10+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-20 19:59:10.552756948 +0100 CET m=+1266.735845635 NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-20T19:59:10+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-20T19:59:10+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-20 19:59:10.552756948 +0100 CET m=+1266.735845635 NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-20T19:59:10+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-20 19:59:10.552756948 +0100 CET m=+1266.735845635 NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-20T19:59:10+01:00","caller":"/build/pkg/service/queues.go:72","message":"running script (1 cmds): @NES/Captain Tsubasa 2"} {"level":"info","time":"2026-01-20T19:59:10+01:00","caller":"/build/pkg/zapscript/commands.go:355","message":"running command: {{map[]} launch.title [NES/Captain Tsubasa 2]}"} {"level":"debug","time":"2026-01-20T19:59:10+01:00","caller":"/build/pkg/zapscript/titles.go:101","message":"using 1 launcher(s) for file type prioritization"} {"level":"info","time":"2026-01-20T19:59:10+01:00","caller":"/build/pkg/zapscript/titles.go:146","message":"searching for slug 'captaintsubasa2' in system 'NES'"} {"level":"debug","system_id":"NES","slug":"captaintsubasa2","media_dbid":8,"strategy":"strategy_exact_match","time":"2026-01-20T19:59:10+01:00","caller":"/build/pkg/database/mediadb/slug_cache.go:109","message":"slug resolution cache hit"} {"level":"info","time":"2026-01-20T19:59:10+01:00","caller":"/build/pkg/zapscript/titles.go:154","message":"slug resolution cache hit (strategy: strategy_exact_match)"} {"level":"info","time":"2026-01-20T19:59:10+01:00","caller":"/build/pkg/zapscript/titles.go:161","message":"resolved from cache: Captain Tsubasa 2 (/userdata/roms/nes/Captain Tsubasa 2 (AR).nes)"} {"level":"info","time":"2026-01-20T19:59:10+01:00","caller":"/build/pkg/platforms/batocera/platform.go:467","message":"launch media: /userdata/roms/nes/Captain Tsubasa 2 (AR).nes"} {"level":"info","time":"2026-01-20T19:59:10+01:00","caller":"/build/pkg/platforms/batocera/platform.go:488","message":"exiting current media"} {"level":"info","time":"2026-01-20T19:59:10+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-20T19:59:10+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"debug","time":"2026-01-20T19:59:11+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #2"} {"level":"debug","time":"2026-01-20T19:59:11+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"debug","time":"2026-01-20T19:59:12+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #3"} {"level":"debug","time":"2026-01-20T19:59:13+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #4"} {"level":"debug","time":"2026-01-20T19:59:14+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #5"} {"level":"info","time":"2026-01-20T19:59:15+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"debug","time":"2026-01-20T19:59:15+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.stopped"} {"level":"debug","dbid":50,"playTime":253,"time":"2026-01-20T19:59:15+01:00","caller":"/build/pkg/service/service.go:513","message":"closed media history entry"} {"level":"info","time":"2026-01-20T19:59:17+01:00","caller":"/build/pkg/platforms/batocera/platform.go:504","message":"launch media: using launcher NES for: /userdata/roms/nes/Captain Tsubasa 2 (AR).nes"} {"level":"debug","time":"2026-01-20T19:59:17+01:00","caller":"/build/pkg/platforms/launch.go:70","message":"launching with: &{0x285a570 0x28581a0 NES NES [nes] [] [.nes .unif .unf .zip .7z] 0 false false}"} {"level":"info","time":"2026-01-20T19:59:17+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-20T19:59:17+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"info","time":"2026-01-20T19:59:18+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"info","time":"2026-01-20T19:59:18+01:00","caller":"/build/pkg/platforms/launch.go:174","message":"DoLaunch setting ActiveMedia: SystemID='NES', SystemName='NES', Path='/userdata/roms/nes/Captain Tsubasa 2 (AR).nes', Name='Captain Tsubasa 2', LauncherID='NES'"} {"level":"debug","time":"2026-01-20T19:59:18+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.started"} {"level":"debug","dbid":51,"time":"2026-01-20T19:59:18+01:00","caller":"/build/pkg/service/service.go:480","message":"created media history entry"} {"level":"debug","token":{"ScanTime":"2026-01-20T19:59:10.552756948+01:00","Type":"NTAG","UID":"1dabd36e0f1080","Text":"@NES/Captain Tsubasa 2","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-20T19:59:20+01:00","caller":"/build/pkg/zapscript/commands.go:367","message":"cmd launch: clearing current playlist"} {"level":"debug","token":{"ScanTime":"2026-01-20T19:59:10.552756948+01:00","Type":"NTAG","UID":"1dabd36e0f1080","Text":"@NES/Captain Tsubasa 2","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-20T19:59:20+01:00","caller":"/build/pkg/service/queues.go:118","message":"media changed, updating token"} {"level":"info","time":"2026-01-20T19:59:20+01:00","caller":"/build/pkg/service/queues.go:119","message":"current media launched set to: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-20T19:59:20+01:00","caller":"/build/pkg/service/readers.go:381","message":"new software token: &{0x4000310600 0x40003c5ea0 0x40000b88c0 map[pn532_uart:/dev/ttyUSB0:0x40004f0200] 0x211f8b0 0x400038a7e0 0x269d7e0 0x40003e2dc0 0x40003fce70 0x40001e89a8 fb881b08-38a6-4ab5-8864-565bdd427e3b {{14002836931016287956 1266735845635 0x3a15a60} NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false} {{14002836931016287956 1266735845635 0x3a15a60} NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false} {{{{} {0 0}} 0 0 {{} 0} {{} 0}}} false true}"} {"level":"info","time":"2026-01-20T19:59:20+01:00","caller":"/build/pkg/platforms/batocera/tracker.go:348","message":"detected game launched externally: Captain Tsubasa 2 (AR)"} {"level":"info","time":"2026-01-20T19:59:35+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-20T19:59:35+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-20T19:59:35+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-20T19:59:35+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"info","time":"2026-01-20T19:59:35+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-20T19:59:35+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-20T19:59:35+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-20T19:59:35+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1dabd36e0f1080","manufacturer":"Fudan Microelectronics","time":"2026-01-20T19:59:35+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1dabd36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2026-01-20T19:59:35+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-20T19:59:35+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-20T19:59:36+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"debug","uid":"1dabd36e0f1080","recordCount":1,"recordType":"text","hasText":true,"hasURI":false,"payloadLen":25,"time":"2026-01-20T19:59:36+01:00","caller":"/build/pkg/readers/pn532/tags.go:107","message":"NDEF: processing records"} {"level":"info","time":"2026-01-20T19:59:36+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"info","time":"2026-01-20T19:59:36+01:00","caller":"/build/pkg/readers/pn532/pn532.go:440","message":"NDEF text: @NES/Captain Tsubasa 2"} {"level":"debug","time":"2026-01-20T19:59:36+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x40003fdf10 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-20T19:59:36+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-20 19:59:36.096682886 +0100 CET m=+1292.279771522 NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-20T19:59:36+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-20T19:59:36+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-20 19:59:36.096682886 +0100 CET m=+1292.279771522 NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-20T19:59:36+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-20 19:59:36.096682886 +0100 CET m=+1292.279771522 NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-20T19:59:36+01:00","caller":"/build/pkg/service/queues.go:72","message":"running script (1 cmds): @NES/Captain Tsubasa 2"} {"level":"info","time":"2026-01-20T19:59:36+01:00","caller":"/build/pkg/zapscript/commands.go:355","message":"running command: {{map[]} launch.title [NES/Captain Tsubasa 2]}"} {"level":"debug","time":"2026-01-20T19:59:36+01:00","caller":"/build/pkg/zapscript/titles.go:101","message":"using 1 launcher(s) for file type prioritization"} {"level":"info","time":"2026-01-20T19:59:36+01:00","caller":"/build/pkg/zapscript/titles.go:146","message":"searching for slug 'captaintsubasa2' in system 'NES'"} {"level":"debug","system_id":"NES","slug":"captaintsubasa2","media_dbid":8,"strategy":"strategy_exact_match","time":"2026-01-20T19:59:36+01:00","caller":"/build/pkg/database/mediadb/slug_cache.go:109","message":"slug resolution cache hit"} {"level":"info","time":"2026-01-20T19:59:36+01:00","caller":"/build/pkg/zapscript/titles.go:154","message":"slug resolution cache hit (strategy: strategy_exact_match)"} {"level":"info","time":"2026-01-20T19:59:36+01:00","caller":"/build/pkg/zapscript/titles.go:161","message":"resolved from cache: Captain Tsubasa 2 (/userdata/roms/nes/Captain Tsubasa 2 (AR).nes)"} {"level":"info","time":"2026-01-20T19:59:36+01:00","caller":"/build/pkg/platforms/batocera/platform.go:467","message":"launch media: /userdata/roms/nes/Captain Tsubasa 2 (AR).nes"} {"level":"info","time":"2026-01-20T19:59:36+01:00","caller":"/build/pkg/platforms/batocera/platform.go:488","message":"exiting current media"} {"level":"info","time":"2026-01-20T19:59:36+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-20T19:59:36+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"debug","time":"2026-01-20T19:59:37+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #2"} {"level":"debug","time":"2026-01-20T19:59:37+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"debug","time":"2026-01-20T19:59:38+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #3"} {"level":"debug","time":"2026-01-20T19:59:39+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #4"} {"level":"debug","time":"2026-01-20T19:59:40+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #5"} {"level":"info","time":"2026-01-20T19:59:41+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"debug","time":"2026-01-20T19:59:41+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.stopped"} {"level":"debug","dbid":51,"playTime":23,"time":"2026-01-20T19:59:41+01:00","caller":"/build/pkg/service/service.go:513","message":"closed media history entry"} {"level":"info","time":"2026-01-20T19:59:43+01:00","caller":"/build/pkg/platforms/batocera/platform.go:504","message":"launch media: using launcher NES for: /userdata/roms/nes/Captain Tsubasa 2 (AR).nes"} {"level":"debug","time":"2026-01-20T19:59:43+01:00","caller":"/build/pkg/platforms/launch.go:70","message":"launching with: &{0x285a570 0x28581a0 NES NES [nes] [] [.nes .unif .unf .zip .7z] 0 false false}"} {"level":"info","time":"2026-01-20T19:59:43+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-20T19:59:43+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"info","time":"2026-01-20T19:59:43+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"info","time":"2026-01-20T19:59:43+01:00","caller":"/build/pkg/platforms/launch.go:174","message":"DoLaunch setting ActiveMedia: SystemID='NES', SystemName='NES', Path='/userdata/roms/nes/Captain Tsubasa 2 (AR).nes', Name='Captain Tsubasa 2', LauncherID='NES'"} {"level":"debug","time":"2026-01-20T19:59:43+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.started"} {"level":"debug","dbid":52,"time":"2026-01-20T19:59:43+01:00","caller":"/build/pkg/service/service.go:480","message":"created media history entry"} {"level":"debug","token":{"ScanTime":"2026-01-20T19:59:36.096682886+01:00","Type":"NTAG","UID":"1dabd36e0f1080","Text":"@NES/Captain Tsubasa 2","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-20T19:59:45+01:00","caller":"/build/pkg/zapscript/commands.go:367","message":"cmd launch: clearing current playlist"} {"level":"debug","token":{"ScanTime":"2026-01-20T19:59:36.096682886+01:00","Type":"NTAG","UID":"1dabd36e0f1080","Text":"@NES/Captain Tsubasa 2","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-20T19:59:45+01:00","caller":"/build/pkg/service/queues.go:118","message":"media changed, updating token"} {"level":"info","time":"2026-01-20T19:59:45+01:00","caller":"/build/pkg/service/queues.go:119","message":"current media launched set to: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-20T19:59:45+01:00","caller":"/build/pkg/service/readers.go:381","message":"new software token: &{0x4000310600 0x40003c5ea0 0x40000901c0 map[pn532_uart:/dev/ttyUSB0:0x40004f0200] 0x211f8b0 0x40000af180 0x269d7e0 0x40003e2dc0 0x40003fce70 0x40001e89a8 fb881b08-38a6-4ab5-8864-565bdd427e3b {{14002836958477501318 1292279771522 0x3a15a60} NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false} {{14002836958477501318 1292279771522 0x3a15a60} NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false} {{{{} {0 0}} 0 0 {{} 0} {{} 0}}} false true}"} {"level":"info","time":"2026-01-20T19:59:46+01:00","caller":"/build/pkg/platforms/batocera/tracker.go:348","message":"detected game launched externally: Captain Tsubasa 2 (AR)"} {"level":"debug","dbid":52,"playTime":20,"time":"2026-01-20T20:00:04+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":52,"playTime":80,"time":"2026-01-20T20:01:04+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":52,"playTime":140,"time":"2026-01-20T20:02:04+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":52,"playTime":200,"time":"2026-01-20T20:03:04+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","dbid":52,"playTime":260,"time":"2026-01-20T20:04:04+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","time":"2026-01-20T20:05:02+01:00","caller":"/build/pkg/api/server.go:903","message":"websocket origin: http://localhost"} {"level":"debug","time":"2026-01-20T20:05:02+01:00","caller":"/build/pkg/api/server.go:449","message":"websocket origin: http://localhost allowed (explicit match)"} {"level":"debug","request":{"jsonrpc":"2.0","id":"d67f41d0-b90f-43e8-b81f-691e92f44072","method":"media"},"time":"2026-01-20T20:05:02+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-20T20:05:02+01:00","caller":"/build/pkg/api/methods/media.go:625","message":"received media request"} {"level":"debug","result":{"database":{"totalMedia":18,"exists":true,"indexing":false,"optimizing":false},"active":[{"started":"2026-01-20T19:59:43.689205543+01:00","launcherId":"NES","systemId":"NES","systemName":"NES","mediaPath":"/userdata/roms/nes/Captain Tsubasa 2 (AR).nes","mediaName":"Captain Tsubasa 2"}]},"time":"2026-01-20T20:05:02+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"0abc7675-bf61-4205-b74c-d8db9ae87ab1","method":"tokens"},"time":"2026-01-20T20:05:02+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-20T20:05:02+01:00","caller":"/build/pkg/api/methods/history.go:31","message":"received tokens request"} {"level":"debug","result":{"last":{"scanTime":"2026-01-20T19:59:36.096682886+01:00","type":"NTAG","uid":"1dabd36e0f1080","text":"@NES/Captain Tsubasa 2","data":""},"active":[{"scanTime":"2026-01-20T19:59:36.096682886+01:00","type":"NTAG","uid":"1dabd36e0f1080","text":"@NES/Captain Tsubasa 2","data":""}]},"time":"2026-01-20T20:05:02+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"cf1b7fb7-3a44-4d75-8419-5327ddc31e75","method":"version"},"time":"2026-01-20T20:05:03+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-20T20:05:03+01:00","caller":"/build/pkg/api/methods/utils.go:30","message":"received version request"} {"level":"debug","result":{"version":"2.8.0","platform":"batocera"},"time":"2026-01-20T20:05:03+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"622ce42d-36f2-4b37-a614-6baf7b855558","method":"systems"},"time":"2026-01-20T20:05:03+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-20T20:05:03+01:00","caller":"/build/pkg/api/methods/systems.go:31","message":"received systems request"} {"level":"debug","result":{"systems":[{"releaseDate":"1989-04-10","manufacturer":"IBM","id":"DOS","name":"PC (DOS)","category":"Computer"},{"releaseDate":"1988-10-29","manufacturer":"Sega","id":"Genesis","name":"Genesis","category":"Console"},{"releaseDate":"1985-10-20","manufacturer":"Sega","id":"MasterSystem","name":"Master System","category":"Console"},{"releaseDate":"1985-10-18","manufacturer":"Nintendo","id":"NES","name":"NES","category":"Console"},{"id":"PC","name":"PC","category":"Computer"},{"releaseDate":"1990-11-21","manufacturer":"Nintendo","id":"SNES","name":"SNES","category":"Console"}]},"time":"2026-01-20T20:05:03+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"25b0e46d-35be-4258-a02a-d35feaedf005","method":"media"},"time":"2026-01-20T20:05:03+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-20T20:05:03+01:00","caller":"/build/pkg/api/methods/media.go:625","message":"received media request"} {"level":"debug","result":{"database":{"totalMedia":18,"exists":true,"indexing":false,"optimizing":false},"active":[{"started":"2026-01-20T19:59:43.689205543+01:00","launcherId":"NES","systemId":"NES","systemName":"NES","mediaPath":"/userdata/roms/nes/Captain Tsubasa 2 (AR).nes","mediaName":"Captain Tsubasa 2"}]},"time":"2026-01-20T20:05:03+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","dbid":52,"playTime":320,"time":"2026-01-20T20:05:04+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","request":{"jsonrpc":"2.0","id":"2b0b0228-d9f5-47d3-9677-924e255628f2","method":"settings"},"time":"2026-01-20T20:05:07+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-20T20:05:07+01:00","caller":"/build/pkg/api/methods/settings.go:36","message":"received settings request"} {"level":"debug","result":{"readersScanMode":"tap","readersScanIgnoreSystems":[],"readersScanExitDelay":0,"runZapScript":true,"debugLogging":true,"audioScanFeedback":true,"readersAutoDetect":true},"time":"2026-01-20T20:05:07+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","method":"settings.logs.download","id":"8e065a21-70db-4c4d-84bd-7ab5c101ea01","time":"2026-01-20T20:05:08+01:00","caller":"/build/pkg/api/server.go:102","message":"received logs download request"} {"level":"info","time":"2026-01-20T20:05:08+01:00","caller":"/build/pkg/api/methods/logs.go:35","message":"received logs download request"} {"level":"debug","result":{"filename":"core.log","content":"eyJsZXZlbCI6ImRlYnVnIiwiZXJyb3IiOiJmYWlsZWQgdG8gb3BlbiBnYW1lbGlzdCBYTUwgZmlsZSAvdXNlcmRhdGEvcm9tcy9v... [truncated 1274900 more chars]","size":956249},"time":"2026-01-20T20:05:08+01:00","caller":"/build/pkg/api/server.go:116","message":"sending response"} {"level":"debug","time":"2026-01-20T20:05:31+01:00","caller":"/build/pkg/api/server.go:903","message":"websocket origin: http://localhost"} {"level":"debug","time":"2026-01-20T20:05:31+01:00","caller":"/build/pkg/api/server.go:449","message":"websocket origin: http://localhost allowed (explicit match)"} {"level":"debug","request":{"jsonrpc":"2.0","id":"9af73485-5119-4c3f-8d5c-c64df7c500c8","method":"media"},"time":"2026-01-20T20:05:31+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-20T20:05:31+01:00","caller":"/build/pkg/api/methods/media.go:625","message":"received media request"} {"level":"debug","result":{"database":{"totalMedia":18,"exists":true,"indexing":false,"optimizing":false},"active":[{"started":"2026-01-20T19:59:43.689205543+01:00","launcherId":"NES","systemId":"NES","systemName":"NES","mediaPath":"/userdata/roms/nes/Captain Tsubasa 2 (AR).nes","mediaName":"Captain Tsubasa 2"}]},"time":"2026-01-20T20:05:31+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"c5c5be87-86b5-44b8-82c4-c3b52899c4ad","method":"tokens"},"time":"2026-01-20T20:05:31+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-20T20:05:31+01:00","caller":"/build/pkg/api/methods/history.go:31","message":"received tokens request"} {"level":"debug","result":{"last":{"scanTime":"2026-01-20T19:59:36.096682886+01:00","type":"NTAG","uid":"1dabd36e0f1080","text":"@NES/Captain Tsubasa 2","data":""},"active":[{"scanTime":"2026-01-20T19:59:36.096682886+01:00","type":"NTAG","uid":"1dabd36e0f1080","text":"@NES/Captain Tsubasa 2","data":""}]},"time":"2026-01-20T20:05:31+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"info","time":"2026-01-20T20:05:44+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-20T20:05:44+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-20T20:05:44+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-20T20:05:44+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"info","time":"2026-01-20T20:05:44+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-20T20:05:44+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-20T20:05:44+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-20T20:05:44+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1dabd36e0f1080","manufacturer":"Fudan Microelectronics","time":"2026-01-20T20:05:44+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1dabd36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2026-01-20T20:05:44+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-20T20:05:44+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-20T20:05:44+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"debug","uid":"1dabd36e0f1080","recordCount":1,"recordType":"text","hasText":true,"hasURI":false,"payloadLen":25,"time":"2026-01-20T20:05:44+01:00","caller":"/build/pkg/readers/pn532/tags.go:107","message":"NDEF: processing records"} {"level":"info","time":"2026-01-20T20:05:44+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"info","time":"2026-01-20T20:05:44+01:00","caller":"/build/pkg/readers/pn532/pn532.go:440","message":"NDEF text: @NES/Captain Tsubasa 2"} {"level":"debug","time":"2026-01-20T20:05:44+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x40000afc70 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-20T20:05:44+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-20 20:05:44.735503129 +0100 CET m=+1660.918591764 NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-20T20:05:44+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-20T20:05:44+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-20 20:05:44.735503129 +0100 CET m=+1660.918591764 NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-20T20:05:44+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-20 20:05:44.735503129 +0100 CET m=+1660.918591764 NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-20T20:05:44+01:00","caller":"/build/pkg/service/queues.go:72","message":"running script (1 cmds): @NES/Captain Tsubasa 2"} {"level":"info","time":"2026-01-20T20:05:44+01:00","caller":"/build/pkg/zapscript/commands.go:355","message":"running command: {{map[]} launch.title [NES/Captain Tsubasa 2]}"} {"level":"debug","time":"2026-01-20T20:05:44+01:00","caller":"/build/pkg/zapscript/titles.go:101","message":"using 1 launcher(s) for file type prioritization"} {"level":"info","time":"2026-01-20T20:05:44+01:00","caller":"/build/pkg/zapscript/titles.go:146","message":"searching for slug 'captaintsubasa2' in system 'NES'"} {"level":"debug","system_id":"NES","slug":"captaintsubasa2","media_dbid":8,"strategy":"strategy_exact_match","time":"2026-01-20T20:05:44+01:00","caller":"/build/pkg/database/mediadb/slug_cache.go:109","message":"slug resolution cache hit"} {"level":"info","time":"2026-01-20T20:05:44+01:00","caller":"/build/pkg/zapscript/titles.go:154","message":"slug resolution cache hit (strategy: strategy_exact_match)"} {"level":"info","time":"2026-01-20T20:05:44+01:00","caller":"/build/pkg/zapscript/titles.go:161","message":"resolved from cache: Captain Tsubasa 2 (/userdata/roms/nes/Captain Tsubasa 2 (AR).nes)"} {"level":"info","time":"2026-01-20T20:05:44+01:00","caller":"/build/pkg/platforms/batocera/platform.go:467","message":"launch media: /userdata/roms/nes/Captain Tsubasa 2 (AR).nes"} {"level":"info","time":"2026-01-20T20:05:44+01:00","caller":"/build/pkg/platforms/batocera/platform.go:488","message":"exiting current media"} {"level":"info","time":"2026-01-20T20:05:44+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-20T20:05:44+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"debug","time":"2026-01-20T20:05:45+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #2"} {"level":"debug","time":"2026-01-20T20:05:45+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"debug","time":"2026-01-20T20:05:46+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #3"} {"level":"debug","time":"2026-01-20T20:05:47+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #4"} {"level":"debug","time":"2026-01-20T20:05:49+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #5"} {"level":"info","time":"2026-01-20T20:05:50+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"debug","time":"2026-01-20T20:05:50+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.stopped"} {"level":"debug","dbid":52,"playTime":366,"time":"2026-01-20T20:05:50+01:00","caller":"/build/pkg/service/service.go:513","message":"closed media history entry"} {"level":"info","time":"2026-01-20T20:05:52+01:00","caller":"/build/pkg/platforms/batocera/platform.go:504","message":"launch media: using launcher NES for: /userdata/roms/nes/Captain Tsubasa 2 (AR).nes"} {"level":"debug","time":"2026-01-20T20:05:52+01:00","caller":"/build/pkg/platforms/launch.go:70","message":"launching with: &{0x285a570 0x28581a0 NES NES [nes] [] [.nes .unif .unf .zip .7z] 0 false false}"} {"level":"info","time":"2026-01-20T20:05:52+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-20T20:05:52+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"info","time":"2026-01-20T20:05:52+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"info","time":"2026-01-20T20:05:52+01:00","caller":"/build/pkg/platforms/launch.go:174","message":"DoLaunch setting ActiveMedia: SystemID='NES', SystemName='NES', Path='/userdata/roms/nes/Captain Tsubasa 2 (AR).nes', Name='Captain Tsubasa 2', LauncherID='NES'"} {"level":"debug","time":"2026-01-20T20:05:52+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.started"} {"level":"debug","dbid":53,"time":"2026-01-20T20:05:52+01:00","caller":"/build/pkg/service/service.go:480","message":"created media history entry"} {"level":"debug","token":{"ScanTime":"2026-01-20T20:05:44.735503129+01:00","Type":"NTAG","UID":"1dabd36e0f1080","Text":"@NES/Captain Tsubasa 2","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-20T20:05:54+01:00","caller":"/build/pkg/zapscript/commands.go:367","message":"cmd launch: clearing current playlist"} {"level":"debug","token":{"ScanTime":"2026-01-20T20:05:44.735503129+01:00","Type":"NTAG","UID":"1dabd36e0f1080","Text":"@NES/Captain Tsubasa 2","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-20T20:05:54+01:00","caller":"/build/pkg/service/queues.go:118","message":"media changed, updating token"} {"level":"info","time":"2026-01-20T20:05:54+01:00","caller":"/build/pkg/service/queues.go:119","message":"current media launched set to: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-20T20:05:54+01:00","caller":"/build/pkg/service/readers.go:381","message":"new software token: &{0x4000310600 0x40003c5ea0 0x40000b9180 map[pn532_uart:/dev/ttyUSB0:0x40004f0200] 0x211f8b0 0x40002dd0a0 0x269d7e0 0x40003e2dc0 0x40003fce70 0x40001e89a8 fb881b08-38a6-4ab5-8864-565bdd427e3b {{14002837354253312793 1660918591764 0x3a15a60} NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false} {{14002837354253312793 1660918591764 0x3a15a60} NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false} {{{{} {0 0}} 0 0 {{} 0} {{} 0}}} false true}"} {"level":"info","time":"2026-01-20T20:05:54+01:00","caller":"/build/pkg/platforms/batocera/tracker.go:348","message":"detected game launched externally: Captain Tsubasa 2 (AR)"} {"level":"debug","method":"settings.logs.download","id":"deaaed49-e3bd-4949-8011-f215729c7b7b","time":"2026-01-20T20:05:57+01:00","caller":"/build/pkg/api/server.go:102","message":"received logs download request"} {"level":"info","time":"2026-01-20T20:05:57+01:00","caller":"/build/pkg/api/methods/logs.go:35","message":"received logs download request"} {"level":"debug","result":{"filename":"core.log","content":"eyJsZXZlbCI6ImRlYnVnIiwiZXJyb3IiOiJmYWlsZWQgdG8gb3BlbiBnYW1lbGlzdCBYTUwgZmlsZSAvdXNlcmRhdGEvcm9tcy9v... [truncated 1291488 more chars]","size":968689},"time":"2026-01-20T20:05:57+01:00","caller":"/build/pkg/api/server.go:116","message":"sending response"} {"level":"debug","method":"settings.logs.download","id":"3da18f8d-0d11-4a80-aedc-f5cc16727756","time":"2026-01-20T20:05:58+01:00","caller":"/build/pkg/api/server.go:102","message":"received logs download request"} {"level":"info","time":"2026-01-20T20:05:58+01:00","caller":"/build/pkg/api/methods/logs.go:35","message":"received logs download request"} {"level":"debug","result":{"filename":"core.log","content":"eyJsZXZlbCI6ImRlYnVnIiwiZXJyb3IiOiJmYWlsZWQgdG8gb3BlbiBnYW1lbGlzdCBYTUwgZmlsZSAvdXNlcmRhdGEvcm9tcy9v... [truncated 1292380 more chars]","size":969359},"time":"2026-01-20T20:05:58+01:00","caller":"/build/pkg/api/server.go:116","message":"sending response"} {"level":"debug","dbid":53,"playTime":11,"time":"2026-01-20T20:06:04+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"info","time":"2026-01-20T20:06:16+01:00","caller":"/build/pkg/readers/pn532/pn532.go:414","message":"tag removed"} {"level":"debug","time":"2026-01-20T20:06:16+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-20T20:06:16+01:00","caller":"/build/pkg/service/readers.go:444","message":"token was removed"} {"level":"debug","time":"2026-01-20T20:06:16+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.removed"} {"level":"info","time":"2026-01-20T20:06:17+01:00","caller":"/build/pkg/readers/pn532/pn532.go:408","message":"new tag detected: NTAG (1dabd36e0f1080)"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-20T20:06:17+01:00","caller":"/build/pkg/readers/pn532/tags.go:49","message":"NDEF: starting readNDEFData"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-20T20:06:17+01:00","caller":"/build/pkg/readers/pn532/tags.go:65","message":"NDEF: starting tagOps.InitFromDetectedTag"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-20T20:06:17+01:00","caller":"/build/pkg/readers/pn532/tags.go:74","message":"NDEF: tagOps.InitFromDetectedTag completed"} {"level":"debug","uid":"1dabd36e0f1080","manufacturer":"Fudan Microelectronics","time":"2026-01-20T20:06:17+01:00","caller":"/build/pkg/readers/pn532/tags.go:270","message":"tag manufacturer identified"} {"level":"info","uid":"1dabd36e0f1080","type":"NTAG","variant":"NTAG213","totalPages":45,"userMemory":144,"manufacturer":"Fudan Microelectronics","time":"2026-01-20T20:06:17+01:00","caller":"/build/pkg/readers/pn532/tags.go:292","message":"NTAG tag details"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-20T20:06:17+01:00","caller":"/build/pkg/readers/pn532/tags.go:78","message":"NDEF: starting tagOps.ReadNDEF"} {"level":"debug","uid":"1dabd36e0f1080","time":"2026-01-20T20:06:17+01:00","caller":"/build/pkg/readers/pn532/tags.go:80","message":"NDEF: tagOps.ReadNDEF completed"} {"level":"debug","uid":"1dabd36e0f1080","recordCount":1,"recordType":"text","hasText":true,"hasURI":false,"payloadLen":25,"time":"2026-01-20T20:06:17+01:00","caller":"/build/pkg/readers/pn532/tags.go:107","message":"NDEF: processing records"} {"level":"info","time":"2026-01-20T20:06:17+01:00","caller":"/build/pkg/readers/pn532/pn532.go:438","message":"detected NTAG tag: 1dabd36e0f1080"} {"level":"info","time":"2026-01-20T20:06:17+01:00","caller":"/build/pkg/readers/pn532/pn532.go:440","message":"NDEF text: @NES/Captain Tsubasa 2"} {"level":"debug","time":"2026-01-20T20:06:17+01:00","caller":"/build/pkg/service/readers.go:370","message":"pre-processing token: { 0x40000b3b90 pn532uart:/dev/ttyUSB0 false}"} {"level":"info","time":"2026-01-20T20:06:17+01:00","caller":"/build/pkg/service/readers.go:399","message":"new token scanned: &{2026-01-20 20:06:17.76461162 +0100 CET m=+1693.947700307 NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"debug","time":"2026-01-20T20:06:17+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: tokens.added"} {"level":"info","time":"2026-01-20T20:06:17+01:00","caller":"/build/pkg/service/readers.go:440","message":"sending token to queue: &{2026-01-20 20:06:17.76461162 +0100 CET m=+1693.947700307 NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-20T20:06:17+01:00","caller":"/build/pkg/service/queues.go:264","message":"processing token: {2026-01-20 20:06:17.76461162 +0100 CET m=+1693.947700307 NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false}"} {"level":"info","time":"2026-01-20T20:06:17+01:00","caller":"/build/pkg/service/queues.go:72","message":"running script (1 cmds): @NES/Captain Tsubasa 2"} {"level":"info","time":"2026-01-20T20:06:17+01:00","caller":"/build/pkg/zapscript/commands.go:355","message":"running command: {{map[]} launch.title [NES/Captain Tsubasa 2]}"} {"level":"debug","time":"2026-01-20T20:06:17+01:00","caller":"/build/pkg/zapscript/titles.go:101","message":"using 1 launcher(s) for file type prioritization"} {"level":"info","time":"2026-01-20T20:06:17+01:00","caller":"/build/pkg/zapscript/titles.go:146","message":"searching for slug 'captaintsubasa2' in system 'NES'"} {"level":"debug","system_id":"NES","slug":"captaintsubasa2","media_dbid":8,"strategy":"strategy_exact_match","time":"2026-01-20T20:06:17+01:00","caller":"/build/pkg/database/mediadb/slug_cache.go:109","message":"slug resolution cache hit"} {"level":"info","time":"2026-01-20T20:06:17+01:00","caller":"/build/pkg/zapscript/titles.go:154","message":"slug resolution cache hit (strategy: strategy_exact_match)"} {"level":"info","time":"2026-01-20T20:06:17+01:00","caller":"/build/pkg/zapscript/titles.go:161","message":"resolved from cache: Captain Tsubasa 2 (/userdata/roms/nes/Captain Tsubasa 2 (AR).nes)"} {"level":"info","time":"2026-01-20T20:06:17+01:00","caller":"/build/pkg/platforms/batocera/platform.go:467","message":"launch media: /userdata/roms/nes/Captain Tsubasa 2 (AR).nes"} {"level":"info","time":"2026-01-20T20:06:17+01:00","caller":"/build/pkg/platforms/batocera/platform.go:488","message":"exiting current media"} {"level":"info","time":"2026-01-20T20:06:17+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-20T20:06:17+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"debug","method":"settings.logs.download","id":"e025cac0-345c-4fbe-a85b-532d9db2e658","time":"2026-01-20T20:06:18+01:00","caller":"/build/pkg/api/server.go:102","message":"received logs download request"} {"level":"info","time":"2026-01-20T20:06:18+01:00","caller":"/build/pkg/api/methods/logs.go:35","message":"received logs download request"} {"level":"debug","result":{"filename":"core.log","content":"eyJsZXZlbCI6ImRlYnVnIiwiZXJyb3IiOiJmYWlsZWQgdG8gb3BlbiBnYW1lbGlzdCBYTUwgZmlsZSAvdXNlcmRhdGEvcm9tcy9v... [truncated 1300984 more chars]","size":975811},"time":"2026-01-20T20:06:18+01:00","caller":"/build/pkg/api/server.go:116","message":"sending response"} {"level":"debug","time":"2026-01-20T20:06:18+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #2"} {"level":"debug","time":"2026-01-20T20:06:19+01:00","caller":"/build/pkg/audio/audio.go:110","message":"completed audio playback"} {"level":"debug","method":"settings.logs.download","id":"f7d38527-0fb1-42da-8cc1-a327b24ca3bf","time":"2026-01-20T20:06:19+01:00","caller":"/build/pkg/api/server.go:102","message":"received logs download request"} {"level":"info","time":"2026-01-20T20:06:19+01:00","caller":"/build/pkg/api/methods/logs.go:35","message":"received logs download request"} {"level":"debug","result":{"filename":"core.log","content":"eyJsZXZlbCI6ImRlYnVnIiwiZXJyb3IiOiJmYWlsZWQgdG8gb3BlbiBnYW1lbGlzdCBYTUwgZmlsZSAvdXNlcmRhdGEvcm9tcy9v... [truncated 1302256 more chars]","size":976766},"time":"2026-01-20T20:06:19+01:00","caller":"/build/pkg/api/server.go:116","message":"sending response"} {"level":"debug","time":"2026-01-20T20:06:19+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #3"} {"level":"debug","method":"settings.logs.download","id":"19dfd645-ffd0-45a9-82a5-5b37327f644b","time":"2026-01-20T20:06:20+01:00","caller":"/build/pkg/api/server.go:102","message":"received logs download request"} {"level":"info","time":"2026-01-20T20:06:20+01:00","caller":"/build/pkg/api/methods/logs.go:35","message":"received logs download request"} {"level":"debug","result":{"filename":"core.log","content":"eyJsZXZlbCI6ImRlYnVnIiwiZXJyb3IiOiJmYWlsZWQgdG8gb3BlbiBnYW1lbGlzdCBYTUwgZmlsZSAvdXNlcmRhdGEvcm9tcy9v... [truncated 1303356 more chars]","size":977590},"time":"2026-01-20T20:06:20+01:00","caller":"/build/pkg/api/server.go:116","message":"sending response"} {"level":"debug","time":"2026-01-20T20:06:20+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #4"} {"level":"debug","method":"settings.logs.download","id":"0401bd2b-970d-4ca7-bbff-f41990e4f736","time":"2026-01-20T20:06:21+01:00","caller":"/build/pkg/api/server.go:102","message":"received logs download request"} {"level":"info","time":"2026-01-20T20:06:21+01:00","caller":"/build/pkg/api/methods/logs.go:35","message":"received logs download request"} {"level":"debug","result":{"filename":"core.log","content":"eyJsZXZlbCI6ImRlYnVnIiwiZXJyb3IiOiJmYWlsZWQgdG8gb3BlbiBnYW1lbGlzdCBYTUwgZmlsZSAvdXNlcmRhdGEvcm9tcy9v... [truncated 1304452 more chars]","size":978414},"time":"2026-01-20T20:06:21+01:00","caller":"/build/pkg/api/server.go:116","message":"sending response"} {"level":"debug","time":"2026-01-20T20:06:22+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #5"} {"level":"debug","method":"settings.logs.download","id":"5f262a94-f059-4e54-bf33-79828acece35","time":"2026-01-20T20:06:22+01:00","caller":"/build/pkg/api/server.go:102","message":"received logs download request"} {"level":"info","time":"2026-01-20T20:06:22+01:00","caller":"/build/pkg/api/methods/logs.go:35","message":"received logs download request"} {"level":"debug","result":{"filename":"core.log","content":"eyJsZXZlbCI6ImRlYnVnIiwiZXJyb3IiOiJmYWlsZWQgdG8gb3BlbiBnYW1lbGlzdCBYTUwgZmlsZSAvdXNlcmRhdGEvcm9tcy9v... [truncated 1305552 more chars]","size":979238},"time":"2026-01-20T20:06:22+01:00","caller":"/build/pkg/api/server.go:116","message":"sending response"} {"level":"debug","method":"settings.logs.download","id":"0c8ae743-854a-4103-8f9a-9312d8dcd6ec","time":"2026-01-20T20:06:22+01:00","caller":"/build/pkg/api/server.go:102","message":"received logs download request"} {"level":"info","time":"2026-01-20T20:06:22+01:00","caller":"/build/pkg/api/methods/logs.go:35","message":"received logs download request"} {"level":"debug","result":{"filename":"core.log","content":"eyJsZXZlbCI6ImRlYnVnIiwiZXJyb3IiOiJmYWlsZWQgdG8gb3BlbiBnYW1lbGlzdCBYTUwgZmlsZSAvdXNlcmRhdGEvcm9tcy9v... [truncated 1306444 more chars]","size":979908},"time":"2026-01-20T20:06:22+01:00","caller":"/build/pkg/api/server.go:116","message":"sending response"} {"level":"debug","method":"settings.logs.download","id":"0ad0dcc6-b7ce-47eb-bfa9-1de9269686fe","time":"2026-01-20T20:06:22+01:00","caller":"/build/pkg/api/server.go:102","message":"received logs download request"} {"level":"info","time":"2026-01-20T20:06:22+01:00","caller":"/build/pkg/api/methods/logs.go:35","message":"received logs download request"} {"level":"debug","result":{"filename":"core.log","content":"eyJsZXZlbCI6ImRlYnVnIiwiZXJyb3IiOiJmYWlsZWQgdG8gb3BlbiBnYW1lbGlzdCBYTUwgZmlsZSAvdXNlcmRhdGEvcm9tcy9v... [truncated 1307340 more chars]","size":980578},"time":"2026-01-20T20:06:22+01:00","caller":"/build/pkg/api/server.go:116","message":"sending response"} {"level":"debug","method":"settings.logs.download","id":"23daa7cc-e85f-441d-813a-57cddab674db","time":"2026-01-20T20:06:22+01:00","caller":"/build/pkg/api/server.go:102","message":"received logs download request"} {"level":"info","time":"2026-01-20T20:06:22+01:00","caller":"/build/pkg/api/methods/logs.go:35","message":"received logs download request"} {"level":"debug","result":{"filename":"core.log","content":"eyJsZXZlbCI6ImRlYnVnIiwiZXJyb3IiOiJmYWlsZWQgdG8gb3BlbiBnYW1lbGlzdCBYTUwgZmlsZSAvdXNlcmRhdGEvcm9tcy9v... [truncated 1308232 more chars]","size":981248},"time":"2026-01-20T20:06:22+01:00","caller":"/build/pkg/api/server.go:116","message":"sending response"} {"level":"debug","time":"2026-01-20T20:06:23+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #6"} {"level":"debug","method":"settings.logs.download","id":"de1f22af-bc77-4e10-a411-990fd623d290","time":"2026-01-20T20:06:23+01:00","caller":"/build/pkg/api/server.go:102","message":"received logs download request"} {"level":"info","time":"2026-01-20T20:06:23+01:00","caller":"/build/pkg/api/methods/logs.go:35","message":"received logs download request"} {"level":"debug","result":{"filename":"core.log","content":"eyJsZXZlbCI6ImRlYnVnIiwiZXJyb3IiOiJmYWlsZWQgdG8gb3BlbiBnYW1lbGlzdCBYTUwgZmlsZSAvdXNlcmRhdGEvcm9tcy9v... [truncated 1309332 more chars]","size":982072},"time":"2026-01-20T20:06:23+01:00","caller":"/build/pkg/api/server.go:116","message":"sending response"} {"level":"debug","method":"settings.logs.download","id":"b2f02780-b5d4-45e7-bc6e-505bf33ab5d8","time":"2026-01-20T20:06:23+01:00","caller":"/build/pkg/api/server.go:102","message":"received logs download request"} {"level":"info","time":"2026-01-20T20:06:23+01:00","caller":"/build/pkg/api/methods/logs.go:35","message":"received logs download request"} {"level":"debug","result":{"filename":"core.log","content":"eyJsZXZlbCI6ImRlYnVnIiwiZXJyb3IiOiJmYWlsZWQgdG8gb3BlbiBnYW1lbGlzdCBYTUwgZmlsZSAvdXNlcmRhdGEvcm9tcy9v... [truncated 1310224 more chars]","size":982742},"time":"2026-01-20T20:06:23+01:00","caller":"/build/pkg/api/server.go:116","message":"sending response"} {"level":"debug","method":"settings.logs.download","id":"b4c97685-983f-4b95-bc14-c6a6455ddf68","time":"2026-01-20T20:06:23+01:00","caller":"/build/pkg/api/server.go:102","message":"received logs download request"} {"level":"info","time":"2026-01-20T20:06:23+01:00","caller":"/build/pkg/api/methods/logs.go:35","message":"received logs download request"} {"level":"info","time":"2026-01-20T20:06:23+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"debug","time":"2026-01-20T20:06:23+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.stopped"} {"level":"debug","dbid":53,"playTime":31,"time":"2026-01-20T20:06:23+01:00","caller":"/build/pkg/service/service.go:513","message":"closed media history entry"} {"level":"debug","result":{"filename":"core.log","content":"eyJsZXZlbCI6ImRlYnVnIiwiZXJyb3IiOiJmYWlsZWQgdG8gb3BlbiBnYW1lbGlzdCBYTUwgZmlsZSAvdXNlcmRhdGEvcm9tcy9v... [truncated 1311116 more chars]","size":983412},"time":"2026-01-20T20:06:23+01:00","caller":"/build/pkg/api/server.go:116","message":"sending response"} {"level":"debug","method":"settings.logs.download","id":"15ce262d-2087-483f-acd5-aae72967777d","time":"2026-01-20T20:06:23+01:00","caller":"/build/pkg/api/server.go:102","message":"received logs download request"} {"level":"info","time":"2026-01-20T20:06:23+01:00","caller":"/build/pkg/api/methods/logs.go:35","message":"received logs download request"} {"level":"debug","result":{"filename":"core.log","content":"eyJsZXZlbCI6ImRlYnVnIiwiZXJyb3IiOiJmYWlsZWQgdG8gb3BlbiBnYW1lbGlzdCBYTUwgZmlsZSAvdXNlcmRhdGEvcm9tcy9v... [truncated 1312628 more chars]","size":984546},"time":"2026-01-20T20:06:23+01:00","caller":"/build/pkg/api/server.go:116","message":"sending response"} {"level":"debug","method":"settings.logs.download","id":"4c34bc05-5231-4376-bf08-917044fc21bc","time":"2026-01-20T20:06:23+01:00","caller":"/build/pkg/api/server.go:102","message":"received logs download request"} {"level":"info","time":"2026-01-20T20:06:23+01:00","caller":"/build/pkg/api/methods/logs.go:35","message":"received logs download request"} {"level":"debug","result":{"filename":"core.log","content":"eyJsZXZlbCI6ImRlYnVnIiwiZXJyb3IiOiJmYWlsZWQgdG8gb3BlbiBnYW1lbGlzdCBYTUwgZmlsZSAvdXNlcmRhdGEvcm9tcy9v... [truncated 1313524 more chars]","size":985216},"time":"2026-01-20T20:06:23+01:00","caller":"/build/pkg/api/server.go:116","message":"sending response"} {"level":"debug","method":"settings.logs.download","id":"7b76ae9f-2d07-4e89-98fc-191da919efe7","time":"2026-01-20T20:06:24+01:00","caller":"/build/pkg/api/server.go:102","message":"received logs download request"} {"level":"info","time":"2026-01-20T20:06:24+01:00","caller":"/build/pkg/api/methods/logs.go:35","message":"received logs download request"} {"level":"debug","result":{"filename":"core.log","content":"eyJsZXZlbCI6ImRlYnVnIiwiZXJyb3IiOiJmYWlsZWQgdG8gb3BlbiBnYW1lbGlzdCBYTUwgZmlsZSAvdXNlcmRhdGEvcm9tcy9v... [truncated 1314416 more chars]","size":985886},"time":"2026-01-20T20:06:24+01:00","caller":"/build/pkg/api/server.go:116","message":"sending response"} {"level":"debug","method":"settings.logs.download","id":"b89251eb-8604-41c3-a52b-c03df525d8b0","time":"2026-01-20T20:06:24+01:00","caller":"/build/pkg/api/server.go:102","message":"received logs download request"} {"level":"info","time":"2026-01-20T20:06:24+01:00","caller":"/build/pkg/api/methods/logs.go:35","message":"received logs download request"} {"level":"debug","result":{"filename":"core.log","content":"eyJsZXZlbCI6ImRlYnVnIiwiZXJyb3IiOiJmYWlsZWQgdG8gb3BlbiBnYW1lbGlzdCBYTUwgZmlsZSAvdXNlcmRhdGEvcm9tcy9v... [truncated 1315308 more chars]","size":986556},"time":"2026-01-20T20:06:24+01:00","caller":"/build/pkg/api/server.go:116","message":"sending response"} {"level":"info","time":"2026-01-20T20:06:25+01:00","caller":"/build/pkg/platforms/batocera/platform.go:504","message":"launch media: using launcher NES for: /userdata/roms/nes/Captain Tsubasa 2 (AR).nes"} {"level":"debug","time":"2026-01-20T20:06:25+01:00","caller":"/build/pkg/platforms/launch.go:70","message":"launching with: &{0x285a570 0x28581a0 NES NES [nes] [] [.nes .unif .unf .zip .7z] 0 false false}"} {"level":"info","time":"2026-01-20T20:06:25+01:00","caller":"/build/pkg/platforms/batocera/platform.go:238","message":"stopping active launcher"} {"level":"debug","time":"2026-01-20T20:06:25+01:00","caller":"/build/pkg/platforms/batocera/platform.go:257","message":"trying to kill launcher: try #1"} {"level":"info","time":"2026-01-20T20:06:25+01:00","caller":"/build/pkg/platforms/batocera/platform.go:279","message":"stopped active launcher"} {"level":"info","time":"2026-01-20T20:06:25+01:00","caller":"/build/pkg/platforms/launch.go:174","message":"DoLaunch setting ActiveMedia: SystemID='NES', SystemName='NES', Path='/userdata/roms/nes/Captain Tsubasa 2 (AR).nes', Name='Captain Tsubasa 2', LauncherID='NES'"} {"level":"debug","time":"2026-01-20T20:06:25+01:00","caller":"/build/pkg/api/notifications/notifications.go:63","message":"notification sent: media.started"} {"level":"debug","dbid":54,"time":"2026-01-20T20:06:25+01:00","caller":"/build/pkg/service/service.go:480","message":"created media history entry"} {"level":"debug","token":{"ScanTime":"2026-01-20T20:06:17.76461162+01:00","Type":"NTAG","UID":"1dabd36e0f1080","Text":"@NES/Captain Tsubasa 2","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-20T20:06:27+01:00","caller":"/build/pkg/zapscript/commands.go:367","message":"cmd launch: clearing current playlist"} {"level":"debug","token":{"ScanTime":"2026-01-20T20:06:17.76461162+01:00","Type":"NTAG","UID":"1dabd36e0f1080","Text":"@NES/Captain Tsubasa 2","Data":"","Source":"pn532uart:/dev/ttyUSB0","FromAPI":false,"Unsafe":false},"time":"2026-01-20T20:06:27+01:00","caller":"/build/pkg/service/queues.go:118","message":"media changed, updating token"} {"level":"info","time":"2026-01-20T20:06:27+01:00","caller":"/build/pkg/service/queues.go:119","message":"current media launched set to: 1dabd36e0f1080"} {"level":"debug","time":"2026-01-20T20:06:27+01:00","caller":"/build/pkg/service/readers.go:381","message":"new software token: &{0x4000310600 0x40003c5ea0 0x4000266d90 map[pn532_uart:/dev/ttyUSB0:0x40004f0200] 0x211f8b0 0x40003138f0 0x269d7e0 0x40003e2dc0 0x40003fce70 0x40001e89a8 fb881b08-38a6-4ab5-8864-565bdd427e3b {{14002837389715901476 1693947700307 0x3a15a60} NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false} {{14002837389715901476 1693947700307 0x3a15a60} NTAG 1dabd36e0f1080 @NES/Captain Tsubasa 2 pn532uart:/dev/ttyUSB0 false false} {{{{} {0 0}} 0 0 {{} 0} {{} 0}}} false true}"} {"level":"info","time":"2026-01-20T20:06:28+01:00","caller":"/build/pkg/platforms/batocera/tracker.go:348","message":"detected game launched externally: Captain Tsubasa 2 (AR)"} {"level":"debug","dbid":54,"playTime":38,"time":"2026-01-20T20:07:04+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","time":"2026-01-20T20:07:38+01:00","caller":"/build/pkg/api/server.go:903","message":"websocket origin: http://localhost"} {"level":"debug","time":"2026-01-20T20:07:38+01:00","caller":"/build/pkg/api/server.go:449","message":"websocket origin: http://localhost allowed (explicit match)"} {"level":"debug","request":{"jsonrpc":"2.0","id":"75b4f748-256c-4e2b-8cb6-caed599dbb2a","method":"media"},"time":"2026-01-20T20:07:38+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-20T20:07:38+01:00","caller":"/build/pkg/api/methods/media.go:625","message":"received media request"} {"level":"debug","result":{"database":{"totalMedia":18,"exists":true,"indexing":false,"optimizing":false},"active":[{"started":"2026-01-20T20:06:25.851573778+01:00","launcherId":"NES","systemId":"NES","systemName":"NES","mediaPath":"/userdata/roms/nes/Captain Tsubasa 2 (AR).nes","mediaName":"Captain Tsubasa 2"}]},"time":"2026-01-20T20:07:38+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"db5e181c-b56f-43a0-8004-3bd913ebf92a","method":"tokens"},"time":"2026-01-20T20:07:38+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-20T20:07:38+01:00","caller":"/build/pkg/api/methods/history.go:31","message":"received tokens request"} {"level":"debug","result":{"last":{"scanTime":"2026-01-20T20:06:17.76461162+01:00","type":"NTAG","uid":"1dabd36e0f1080","text":"@NES/Captain Tsubasa 2","data":""},"active":[{"scanTime":"2026-01-20T20:06:17.76461162+01:00","type":"NTAG","uid":"1dabd36e0f1080","text":"@NES/Captain Tsubasa 2","data":""}]},"time":"2026-01-20T20:07:38+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"70ab95fd-6b6b-435f-aef0-16d3bc0f38fa","method":"version"},"time":"2026-01-20T20:07:40+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-20T20:07:40+01:00","caller":"/build/pkg/api/methods/utils.go:30","message":"received version request"} {"level":"debug","result":{"version":"2.8.0","platform":"batocera"},"time":"2026-01-20T20:07:40+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"e977763a-269e-420f-a9c1-da02ee84fa21","method":"systems"},"time":"2026-01-20T20:07:40+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-20T20:07:40+01:00","caller":"/build/pkg/api/methods/systems.go:31","message":"received systems request"} {"level":"debug","result":{"systems":[{"releaseDate":"1989-04-10","manufacturer":"IBM","id":"DOS","name":"PC (DOS)","category":"Computer"},{"releaseDate":"1988-10-29","manufacturer":"Sega","id":"Genesis","name":"Genesis","category":"Console"},{"releaseDate":"1985-10-20","manufacturer":"Sega","id":"MasterSystem","name":"Master System","category":"Console"},{"releaseDate":"1985-10-18","manufacturer":"Nintendo","id":"NES","name":"NES","category":"Console"},{"id":"PC","name":"PC","category":"Computer"},{"releaseDate":"1990-11-21","manufacturer":"Nintendo","id":"SNES","name":"SNES","category":"Console"}]},"time":"2026-01-20T20:07:40+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"8dd44d7c-4432-4603-81d0-a74f8930af64","method":"media"},"time":"2026-01-20T20:07:40+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-20T20:07:40+01:00","caller":"/build/pkg/api/methods/media.go:625","message":"received media request"} {"level":"debug","result":{"database":{"totalMedia":18,"exists":true,"indexing":false,"optimizing":false},"active":[{"started":"2026-01-20T20:06:25.851573778+01:00","launcherId":"NES","systemId":"NES","systemName":"NES","mediaPath":"/userdata/roms/nes/Captain Tsubasa 2 (AR).nes","mediaName":"Captain Tsubasa 2"}]},"time":"2026-01-20T20:07:40+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","dbid":54,"playTime":98,"time":"2026-01-20T20:08:04+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"error","error":"open settings/: invalid argument","path":"/settings/","time":"2026-01-20T20:08:52+01:00","caller":"/build/pkg/api/server.go:339","message":"error opening file"} {"level":"debug","time":"2026-01-20T20:09:00+01:00","caller":"/build/pkg/api/server.go:903","message":"websocket origin: http://172.16.24.155:7497"} {"level":"debug","time":"2026-01-20T20:09:00+01:00","caller":"/build/pkg/api/server.go:449","message":"websocket origin: http://172.16.24.155:7497 allowed (explicit match)"} {"level":"debug","request":{"jsonrpc":"2.0","id":"f112a4d8-9939-4363-a751-0418a523d078","method":"media"},"time":"2026-01-20T20:09:01+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-20T20:09:01+01:00","caller":"/build/pkg/api/methods/media.go:625","message":"received media request"} {"level":"debug","result":{"database":{"totalMedia":18,"exists":true,"indexing":false,"optimizing":false},"active":[{"started":"2026-01-20T20:06:25.851573778+01:00","launcherId":"NES","systemId":"NES","systemName":"NES","mediaPath":"/userdata/roms/nes/Captain Tsubasa 2 (AR).nes","mediaName":"Captain Tsubasa 2"}]},"time":"2026-01-20T20:09:01+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"86d34cb3-f7d3-4d00-b691-6400ed98d31b","method":"tokens"},"time":"2026-01-20T20:09:01+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-20T20:09:01+01:00","caller":"/build/pkg/api/methods/history.go:31","message":"received tokens request"} {"level":"debug","result":{"last":{"scanTime":"2026-01-20T20:06:17.76461162+01:00","type":"NTAG","uid":"1dabd36e0f1080","text":"@NES/Captain Tsubasa 2","data":""},"active":[{"scanTime":"2026-01-20T20:06:17.76461162+01:00","type":"NTAG","uid":"1dabd36e0f1080","text":"@NES/Captain Tsubasa 2","data":""}]},"time":"2026-01-20T20:09:01+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"f2d7fa65-19d1-4b6d-94b9-9c08b7583204","method":"version"},"time":"2026-01-20T20:09:02+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-20T20:09:02+01:00","caller":"/build/pkg/api/methods/utils.go:30","message":"received version request"} {"level":"debug","result":{"version":"2.8.0","platform":"batocera"},"time":"2026-01-20T20:09:02+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"76570b14-2eb2-4a8f-a2e2-7cf828ea2158","method":"systems"},"time":"2026-01-20T20:09:02+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-20T20:09:02+01:00","caller":"/build/pkg/api/methods/systems.go:31","message":"received systems request"} {"level":"debug","result":{"systems":[{"releaseDate":"1989-04-10","manufacturer":"IBM","id":"DOS","name":"PC (DOS)","category":"Computer"},{"releaseDate":"1988-10-29","manufacturer":"Sega","id":"Genesis","name":"Genesis","category":"Console"},{"releaseDate":"1985-10-20","manufacturer":"Sega","id":"MasterSystem","name":"Master System","category":"Console"},{"releaseDate":"1985-10-18","manufacturer":"Nintendo","id":"NES","name":"NES","category":"Console"},{"id":"PC","name":"PC","category":"Computer"},{"releaseDate":"1990-11-21","manufacturer":"Nintendo","id":"SNES","name":"SNES","category":"Console"}]},"time":"2026-01-20T20:09:02+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","request":{"jsonrpc":"2.0","id":"dd398de7-7a9b-468a-9687-d749fa9712b6","method":"media"},"time":"2026-01-20T20:09:02+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-20T20:09:02+01:00","caller":"/build/pkg/api/methods/media.go:625","message":"received media request"} {"level":"debug","result":{"database":{"totalMedia":18,"exists":true,"indexing":false,"optimizing":false},"active":[{"started":"2026-01-20T20:06:25.851573778+01:00","launcherId":"NES","systemId":"NES","systemName":"NES","mediaPath":"/userdata/roms/nes/Captain Tsubasa 2 (AR).nes","mediaName":"Captain Tsubasa 2"}]},"time":"2026-01-20T20:09:02+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","dbid":54,"playTime":158,"time":"2026-01-20T20:09:04+01:00","caller":"/build/pkg/service/service.go:555","message":"updated media history play time"} {"level":"debug","request":{"jsonrpc":"2.0","id":"101a053d-418e-468d-b696-a590be827ed5","method":"settings"},"time":"2026-01-20T20:09:05+01:00","caller":"/build/pkg/api/server.go:104","message":"received request"} {"level":"info","time":"2026-01-20T20:09:05+01:00","caller":"/build/pkg/api/methods/settings.go:36","message":"received settings request"} {"level":"debug","result":{"readersScanMode":"tap","readersScanIgnoreSystems":[],"readersScanExitDelay":0,"runZapScript":true,"debugLogging":true,"audioScanFeedback":true,"readersAutoDetect":true},"time":"2026-01-20T20:09:05+01:00","caller":"/build/pkg/api/server.go:118","message":"sending response"} {"level":"debug","method":"settings.logs.download","id":"9755ea72-1c15-4150-bceb-f6a5f20e33cc","time":"2026-01-20T20:09:11+01:00","caller":"/build/pkg/api/server.go:102","message":"received logs download request"} {"level":"info","time":"2026-01-20T20:09:11+01:00","caller":"/build/pkg/api/methods/logs.go:35","message":"received logs download request"}