v0.151.0 — the Megosztás page stops reloading, and says how to connect
S-1: /sharing/status coerced idle->running on the PHASE channel, so the first poll of every steady-state page load reported a terminal job that never ran and the client's repaint-reload fired ~1.2s apart, forever. The coercion's real duty (liveness must never be contradicted) belongs to the 'running' LEVEL field beside it, and is now pinned by its own regression test. S-4 core: a terminal 'running' is served exactly once, so a REAL bring-up cannot re-arm the reload on the page it just caused. failed/needs_password/in-flight are never consumed. Unified async-job feedback stays the ROADMAP item. S-2/S-5: new connect card with the Windows form, the Mac form and the direct smb://<IP>, read from the SAMBA container's netns (the controller is on a docker bridge and would answer 172.x). Derived per render, cached nowhere - the address is a DHCP lease. Underivable => the line is omitted. sharing.html's <script> block is byte-identical to v0.150.0. Red-proofed three ways. 23/23 packages green.
This commit is contained in:
@@ -119,8 +119,18 @@ type Manager struct {
|
||||
sambaPasswdFn func(password string) error
|
||||
sambaRunFn func() bool // replaces the docker-inspect liveness probe
|
||||
sambaImgFn func() bool // replaces the `docker image inspect` local-presence probe (4b card)
|
||||
// sambaAddrFn replaces the docker-exec that reads the guest's LAN IPv4 out of the samba
|
||||
// container's network namespace (v0.151.0, S-2/S-5 connect-address card).
|
||||
sambaAddrFn func() (string, error)
|
||||
}
|
||||
|
||||
// SetSambaRunProbe injects the samba liveness probe. Exported for the same reason
|
||||
// SetMigrationDoneHook and SetOffboxStreamRunner are: the seam has to be reachable from ANOTHER
|
||||
// package's tests — here internal/web, which needs a live-container world to prove that a live
|
||||
// container no longer manufactures a job phase (S-1). Production never calls it; nil keeps the real
|
||||
// docker-inspect probe.
|
||||
func (m *Manager) SetSambaRunProbe(fn func() bool) { m.sambaRunFn = fn }
|
||||
|
||||
// NewManager creates a new stack manager.
|
||||
func NewManager(cfg *config.Config, logger *log.Logger) (*Manager, error) {
|
||||
composeCmd := cfg.Stacks.ComposeCommand
|
||||
|
||||
Reference in New Issue
Block a user