package web import ( "gitgud.io/mike/mpv-manager/pkg/config" "gitgud.io/mike/mpv-manager/pkg/installer" ) // releaseSnapshot returns an immutable copy for a request or background job. func (s *Server) releaseSnapshot() *installer.ReleaseInfo { s.releaseInfoMux.RLock() defer s.releaseInfoMux.RUnlock() if s.releaseInfo == nil { return nil } snapshot := *s.releaseInfo return &snapshot } func (s *Server) installerForOperation(installDir string) *installer.Installer { if installDir == "" { installDir = config.GetInstallPath() } release := s.releaseSnapshot() if release == nil { release = &installer.ReleaseInfo{} } return s.installer.CloneForOperation(*release, installDir) }