diff --git a/.github/workflows/lints.yml b/.github/workflows/lints.yml new file mode 100644 index 0000000..aaa79a5 --- /dev/null +++ b/.github/workflows/lints.yml @@ -0,0 +1,27 @@ +# https://github.com/marketplace/actions/golangci-lint +name: golangci-lint +on: + push: + branches: + pull_request: + +permissions: + contents: read + # Optional: allow read access to pull request. Use with `only-new-issues` option. + pull-requests: read + +jobs: + golangci: + name: lint + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-go@v5 + with: + go-version: stable + - name: Install dependencies + run: sudo apt update && sudo apt install libmpv-dev gcc libegl1-mesa-dev xorg-dev + - name: golangci-lint + uses: golangci/golangci-lint-action@v6 + with: + version: v1.64 diff --git a/.golangci.yml b/.golangci.yml new file mode 100644 index 0000000..cfa9e32 --- /dev/null +++ b/.golangci.yml @@ -0,0 +1,48 @@ +run: + go: "1.21" + issues-exit-code: 1 + tests: true + timeout: 10m +linters: + enable: + - unused + disable: + - asasalint + - asciicheck + - bidichk + - bodyclose + - contextcheck + - durationcheck + - errcheck + - errchkjson + - errorlint + - exhaustive + - gocheckcompilerdirectives + - gochecksumtype + - gosec + - gosmopolitan + - govet + - loggercheck + - makezero + - musttag + - nilerr + - nilnesserr + - noctx + - protogetter + - reassign + - recvcheck + - rowserrcheck + - spancheck + - sqlclosecheck + - staticcheck + - testifylint + - unparam + - zerologlint + presets: + - bugs + - unused + fast: false + +linters-settings: + gofmt: + simplify: true diff --git a/Makefile b/Makefile index 8ac1bc2..b4cb945 100644 --- a/Makefile +++ b/Makefile @@ -29,3 +29,7 @@ package_windows: package_linux: fyne package -os linux -tags migrated_fynedo + +.PHONY: lint +lint: + golangci-lint run diff --git a/backend/player/dlna/dlnaplayer.go b/backend/player/dlna/dlnaplayer.go index 0dcb38f..bbd9e2b 100644 --- a/backend/player/dlna/dlnaplayer.go +++ b/backend/player/dlna/dlnaplayer.go @@ -31,8 +31,6 @@ const ( paused = 2 ) -var unimplemented = errors.New("unimplemented") - type proxyMapEntry struct { key string url string diff --git a/backend/player/jukebox/jukeboxplayer.go b/backend/player/jukebox/jukeboxplayer.go index 0dd63b8..b4bad7d 100644 --- a/backend/player/jukebox/jukeboxplayer.go +++ b/backend/player/jukebox/jukeboxplayer.go @@ -27,7 +27,6 @@ type JukeboxPlayer struct { curTrackDuration float64 startTrackTime float64 startedAtUnixMilli int64 - nextTrackTimer *time.Timer } func (j *JukeboxPlayer) SetVolume(vol int) error { @@ -154,7 +153,3 @@ func (j *JukeboxPlayer) startAndUpdateTime() error { j.startedAtUnixMilli = time.Now().Add(-afterStart.Sub(beforeStart)).UnixMilli() return nil } - -func (j *JukeboxPlayer) handleNextTrack() { - -} diff --git a/ui/browsing/nowplayingpage.go b/ui/browsing/nowplayingpage.go index 10f4f89..30a2435 100644 --- a/ui/browsing/nowplayingpage.go +++ b/ui/browsing/nowplayingpage.go @@ -506,11 +506,6 @@ func (a *NowPlayingPage) Refresh() { a.BaseWidget.Refresh() } -func (a *NowPlayingPage) doSetNewTrackOrder(idxs []int, insertPos int) { - newTracks := sharedutil.ReorderItems(a.queue, idxs, insertPos) - a.pm.UpdatePlayQueue(newTracks) -} - func (a *NowPlayingPage) saveSelectedTab(tabNum int) { var tabName string switch tabNum { diff --git a/ui/widgets/imagepopup.go b/ui/widgets/imagepopup.go index 8f95bec..6b2cfce 100644 --- a/ui/widgets/imagepopup.go +++ b/ui/widgets/imagepopup.go @@ -9,16 +9,11 @@ import ( myTheme "github.com/dweymouth/supersonic/ui/theme" ) -const ( - imagePopUpLowRezDim = 128 -) - type ImagePopUp struct { widget.PopUp img image.Image desiredSize fyne.Size - aspect float64 } func NewImagePopUp(img image.Image, canv fyne.Canvas, size fyne.Size) *ImagePopUp {