diff --git a/display.go b/display.go index 2402836..b60f9f8 100644 --- a/display.go +++ b/display.go @@ -53,7 +53,7 @@ func lvObjShow(objName string) (*CtrlResponse, error) { return lvObjClearFlag(objName, "LV_OBJ_FLAG_HIDDEN") } -func lvObjSetOpacity(objName string, opacity int) (*CtrlResponse, error) { +func lvObjSetOpacity(objName string, opacity int) (*CtrlResponse, error) { // nolint:unused return CallCtrlAction("lv_obj_set_style_opa_layered", map[string]interface{}{"obj": objName, "opa": opacity}) } @@ -94,7 +94,6 @@ var ( ) func updateDisplay() { - updateLabelIfChanged("ui_Home_Content_Ip", networkState.IPv4String()) if usbState == "configured" { updateLabelIfChanged("ui_Home_Footer_Usb_Status_Label", "Connected") @@ -119,20 +118,20 @@ func updateDisplay() { } if cloudConnectionState == CloudConnectionStateNotConfigured { - lvObjHide("ui_Home_Header_Cloud_Status_Icon") + _, _ = lvObjHide("ui_Home_Header_Cloud_Status_Icon") } else { - lvObjShow("ui_Home_Header_Cloud_Status_Icon") + _, _ = lvObjShow("ui_Home_Header_Cloud_Status_Icon") } switch cloudConnectionState { case CloudConnectionStateDisconnected: - lvImgSetSrc("ui_Home_Header_Cloud_Status_Icon", "cloud_disconnected.png") + _, _ = lvImgSetSrc("ui_Home_Header_Cloud_Status_Icon", "cloud_disconnected.png") stopCloudBlink() case CloudConnectionStateConnecting: - lvImgSetSrc("ui_Home_Header_Cloud_Status_Icon", "cloud.png") + _, _ = lvImgSetSrc("ui_Home_Header_Cloud_Status_Icon", "cloud.png") startCloudBlink() case CloudConnectionStateConnected: - lvImgSetSrc("ui_Home_Header_Cloud_Status_Icon", "cloud.png") + _, _ = lvImgSetSrc("ui_Home_Header_Cloud_Status_Icon", "cloud.png") stopCloudBlink() } } @@ -152,17 +151,14 @@ func startCloudBlink() { } go func() { - for { - select { - case <-cloudBlinkTicker.C: - if cloudConnectionState != CloudConnectionStateConnecting { - continue - } - _, _ = lvObjFadeOut("ui_Home_Header_Cloud_Status_Icon", 1000) - time.Sleep(1000 * time.Millisecond) - _, _ = lvObjFadeIn("ui_Home_Header_Cloud_Status_Icon", 1000) - time.Sleep(1000 * time.Millisecond) + for range cloudBlinkTicker.C { + if cloudConnectionState != CloudConnectionStateConnecting { + continue } + _, _ = lvObjFadeOut("ui_Home_Header_Cloud_Status_Icon", 1000) + time.Sleep(1000 * time.Millisecond) + _, _ = lvObjFadeIn("ui_Home_Header_Cloud_Status_Icon", 1000) + time.Sleep(1000 * time.Millisecond) } }() } diff --git a/internal/timesync/timesync.go b/internal/timesync/timesync.go index eac4749..1447201 100644 --- a/internal/timesync/timesync.go +++ b/internal/timesync/timesync.go @@ -21,10 +21,6 @@ const ( var ( timeSyncRetryInterval = 0 * time.Second - defaultNTPServers = []string{ - "time.cloudflare.com", - "time.apple.com", - } ) type TimeSync struct { diff --git a/internal/udhcpc/parser.go b/internal/udhcpc/parser.go index ee529aa..0820409 100644 --- a/internal/udhcpc/parser.go +++ b/internal/udhcpc/parser.go @@ -3,7 +3,6 @@ package udhcpc import ( "encoding/json" "fmt" - "log" "net" "reflect" "strconv" @@ -73,7 +72,6 @@ func UnmarshalDHCPCLease(lease *Lease, str string) error { parts := strings.SplitN(line, "=", 2) if len(parts) != 2 { - log.Printf("invalid line: %s", line) continue } diff --git a/internal/udhcpc/udhcpc.go b/internal/udhcpc/udhcpc.go index 298ac26..4ff75ab 100644 --- a/internal/udhcpc/udhcpc.go +++ b/internal/udhcpc/udhcpc.go @@ -73,7 +73,7 @@ func (c *DHCPClient) Run() error { c.logger.Debug(). Str("event", event.Name). Msg("udhcpc lease file updated, reloading lease") - c.loadLeaseFile() + _ = c.loadLeaseFile() } case err, ok := <-watcher.Errors: if !ok { @@ -84,7 +84,14 @@ func (c *DHCPClient) Run() error { } }() - watcher.Add(c.leaseFile) + err = watcher.Add(c.leaseFile) + if err != nil { + c.logger.Error(). + Err(err). + Str("path", c.leaseFile). + Msg("failed to watch lease file") + return err + } // TODO: update udhcpc pid file // we'll comment this out for now because the pid might change diff --git a/network.go b/network.go index fd62dd8..e298d52 100644 --- a/network.go +++ b/network.go @@ -140,7 +140,7 @@ func NewNetworkInterfaceState(ifname string) *NetworkInterfaceState { PidFile: dhcpPidFile, Logger: &logger, OnLeaseChange: func(lease *udhcpc.Lease) { - s.update() + _, _ = s.update() }, }) @@ -168,8 +168,8 @@ func (s *NetworkInterfaceState) update() (DhcpTargetState, error) { newInterfaceUp := state == netlink.OperUp // check if the interface is coming up - interfaceGoingUp := s.interfaceUp == false && newInterfaceUp == true - interfaceGoingDown := s.interfaceUp == true && newInterfaceUp == false + interfaceGoingUp := !s.interfaceUp && newInterfaceUp + interfaceGoingDown := s.interfaceUp && !newInterfaceUp if s.interfaceUp != newInterfaceUp { s.interfaceUp = newInterfaceUp @@ -243,7 +243,6 @@ func (s *NetworkInterfaceState) update() (DhcpTargetState, error) { scopedLogger.Info(). Str("old_ipv4", s.ipv4Addr.String()). Msg("IPv4 address changed") - changed = true } else { scopedLogger.Info().Msg("IPv4 address found") } @@ -293,10 +292,10 @@ func (s *NetworkInterfaceState) CheckAndUpdateDhcp() error { switch dhcpTargetState { case DhcpTargetStateRenew: s.l.Info().Msg("renewing DHCP lease") - s.dhcpClient.Renew() + _ = s.dhcpClient.Renew() case DhcpTargetStateRelease: s.l.Info().Msg("releasing DHCP lease") - s.dhcpClient.Release() + _ = s.dhcpClient.Release() case DhcpTargetStateStart: s.l.Warn().Msg("dhcpTargetStateStart not implemented") case DhcpTargetStateStop: @@ -309,7 +308,7 @@ func (s *NetworkInterfaceState) CheckAndUpdateDhcp() error { func (s *NetworkInterfaceState) HandleLinkUpdate(update netlink.LinkUpdate) { if update.Link.Attrs().Name == s.interfaceName { s.l.Info().Interface("update", update).Msg("interface link update received") - s.CheckAndUpdateDhcp() + _ = s.CheckAndUpdateDhcp() } } @@ -347,7 +346,7 @@ func initNetwork() { // TODO: support multiple interfaces networkState = NewNetworkInterfaceState(NetIfName) - go networkState.dhcpClient.Run() + go networkState.dhcpClient.Run() // nolint:errcheck if err := networkState.CheckAndUpdateDhcp(); err != nil { os.Exit(1) diff --git a/timesync.go b/timesync.go index 20306ec..e31f908 100644 --- a/timesync.go +++ b/timesync.go @@ -7,13 +7,6 @@ import ( "github.com/jetkvm/kvm/internal/timesync" ) -const ( - timeSyncRetryStep = 5 * time.Second - timeSyncRetryMaxInt = 1 * time.Minute - timeSyncWaitNetChkInt = 100 * time.Millisecond - timeSyncWaitNetUpInt = 3 * time.Second -) - var ( timeSync *timesync.TimeSync defaultNTPServers = []string{