fix: use actual machine model in availability broadcast

The Kind 30078 availability event was using 'atm' as the model
placeholder. Now reads the actual model from runtime config
(batm3, douro, sintra, etc.) so monitoring dashboards can
distinguish between different ATM types.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Patrick Mulligan 2026-03-30 11:24:45 -04:00
commit 018ef3c60a

View file

@ -260,6 +260,7 @@ export const useAtmStore = defineStore('atm', () => {
const allowMockFallback = ref(true) // default true for browser dev const allowMockFallback = ref(true) // default true for browser dev
const initError = ref<string | null>(null) // fatal error → maintenance screen const initError = ref<string | null>(null) // fatal error → maintenance screen
const fiatCode = ref('USD') const fiatCode = ref('USD')
const machineModel = ref('atm')
const useLiveServices = ref(false) const useLiveServices = ref(false)
const connectionStatus = ref<'disconnected' | 'connecting' | 'connected' | 'error'>( const connectionStatus = ref<'disconnected' | 'connecting' | 'connected' | 'error'>(
'disconnected' 'disconnected'
@ -564,7 +565,7 @@ export const useAtmStore = defineStore('atm', () => {
initialize(servicesWithInventory) initialize(servicesWithInventory)
// Start broadcasting availability (Kind 30078) with 5-minute heartbeat // Start broadcasting availability (Kind 30078) with 5-minute heartbeat
startAvailabilityBroadcast(services.nostrClient, services.identity, 'atm') startAvailabilityBroadcast(services.nostrClient, services.identity, machineModel.value)
} catch (error) { } catch (error) {
console.error('[ATM] Failed to connect to Lightning.Pub:', error) console.error('[ATM] Failed to connect to Lightning.Pub:', error)
connectionStatus.value = 'error' connectionStatus.value = 'error'
@ -856,7 +857,7 @@ export const useAtmStore = defineStore('atm', () => {
}) })
// Start broadcasting availability (Kind 30078) // Start broadcasting availability (Kind 30078)
startAvailabilityBroadcast(lightning.nostrClient, lightning.identity, 'atm') startAvailabilityBroadcast(lightning.nostrClient, lightning.identity, machineModel.value)
console.log('[ATM] Fully initialized with HAL + Lightning') console.log('[ATM] Fully initialized with HAL + Lightning')
} catch (error) { } catch (error) {
@ -896,6 +897,7 @@ export const useAtmStore = defineStore('atm', () => {
debugMode.value = false debugMode.value = false
} }
const model = (runtimeConfig.machineModel || 'sintra') as MachineModel const model = (runtimeConfig.machineModel || 'sintra') as MachineModel
machineModel.value = model
const runtimeFiatCode = runtimeConfig.fiatCode || 'USD' const runtimeFiatCode = runtimeConfig.fiatCode || 'USD'
fiatCode.value = runtimeFiatCode fiatCode.value = runtimeFiatCode
@ -1111,7 +1113,7 @@ export const useAtmStore = defineStore('atm', () => {
// Real hardware connected — disable mock bill simulator // Real hardware connected — disable mock bill simulator
debugMode.value = false debugMode.value = false
// Start broadcasting availability (Kind 30078) // Start broadcasting availability (Kind 30078)
startAvailabilityBroadcast(lightning.nostrClient, lightning.identity, 'atm') startAvailabilityBroadcast(lightning.nostrClient, lightning.identity, machineModel.value)
console.log('[ATM] Fully initialized with HAL (IPC) + Lightning') console.log('[ATM] Fully initialized with HAL (IPC) + Lightning')
} catch (error) { } catch (error) {