v0.314.0: a restore puts the setup gate back as it was (R-1057); a test build moves with the floor (R-1053); Prowlarr links itself (R-1058); the box claims Plex by address (R-1060)
gates / gates (push) Successful in 47s
gates / gates (push) Successful in 47s
MinAgent 0.155.0 (unchanged). Tests red-proved by mutation (A: 10, B: 7, C: 1, C2: 2). Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
@@ -1690,13 +1690,23 @@ func (m *Manager) composeExecCustomEnv(dir string, env []string, args ...string)
|
||||
// R-1024: a media app that came up (installed, started, restarted) gets the drives wired in (idempotent; the web
|
||||
// side debounces). Never for a stack without the marker.
|
||||
if len(args) > 0 && args[0] == "up" && m.onMediaUp != nil {
|
||||
if meta := LoadMetadata(dir); meta.MediaLibrary != nil {
|
||||
if wiresOnUp(filepath.Base(dir), LoadMetadata(dir)) {
|
||||
m.onMediaUp(filepath.Base(dir))
|
||||
}
|
||||
}
|
||||
return stdout.String(), nil
|
||||
}
|
||||
|
||||
// linkOnlyApps (v0.314.0, R-1058) are apps the wiring LINKS but that use no drive, so they carry no `media_library`
|
||||
// marker (the marker binds every drive into the app). Their own start runs the wiring too: Prowlarr installed AFTER
|
||||
// Sonarr/Radarr used to wait for „Bekötés most" (measured on demo-hp 9201, felhom.eu audits/prowlarr-2026-10-15/box9201/).
|
||||
var linkOnlyApps = map[string]bool{"prowlarr": true}
|
||||
|
||||
// wiresOnUp says whether an app's successful `compose up` runs the media wiring. Pinned by TestR1058_*.
|
||||
func wiresOnUp(name string, meta Metadata) bool {
|
||||
return meta.MediaLibrary != nil || linkOnlyApps[name]
|
||||
}
|
||||
|
||||
// SetOnMediaUp registers the callback run after a media app's successful `compose up` (main.go: the wiring).
|
||||
func (m *Manager) SetOnMediaUp(f func(name string)) { m.onMediaUp = f }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user