Commit Graph
28 Commits
Author SHA1 Message Date
yonluandClaude Opus 4.8 65048401e8 feat: autotag scoring overhaul, dump-based explore index, and lyrics search
Consolidates in-progress work across autotag, explore, and library:

- autotag: beets/Picard-informed scoring engine — ID-first matching, VA
  handling, recommendation tiers, and a merged distance/rank cascade, with
  an eval harness for regression tracking.
- explore: offline MusicBrainz dump import/incremental refresh replaces the
  legacy tier crawl; index-first local search with fuzzy matching and a
  dedicated ranker; disk-free guards for dump downloads.
- library: artist-credit extraction and matching.
- lyrics: owned-library lyric search (FTS) with LRCLIB backfill.

Also: rewrite README to be user-focused, and migrate upstream to
git.ljones.me/yonlu/yellowjacket.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 12:14:20 -04:00
yonlu 6cc9acbc99 perf(S01/T02): Add MusicBrainz search/lookup/browse client, ListenBrain…
- backend/explore/types.go
- backend/explore/musicbrainz.go
- backend/explore/listenbrainz.go
- backend/explore/coverart.go
- backend/explore/coverart_test.go
2026-03-23 14:03:51 -04:00
yonlu 8fc075c24a perf(S01/T01): Add token-bucket rate limiter (1 req/sec), SQLite respon…
- backend/explore/ratelimiter.go
- backend/explore/cache.go
- backend/database/sql/schemas/explore_cache.sql
- backend/database/database.go
2026-03-23 07:55:25 -04:00
yonlu 3642cbe0d5 feat(16-02): add go-flac dependencies and implement FLAC tag writer
- Add go-flac/go-flac/v2, flacvorbis/v2, flacpicture/v2 dependencies
- Create tagwriter.go with TagChanges type, field constants, format detection, MIME detection
- Create flac.go with writeFlacTags using Vorbis Comments + PICTURE blocks + AtomicWrite
- Implement replaceVorbisComment helper for case-insensitive field replacement
- Handle cover art add/replace/clear via PICTURE metadata blocks
2026-03-17 10:32:28 -04:00
yonlu 25f0fe8156 fix(deps): pin go-webview2 to v1.0.21 for Wails v2 compat 2026-03-05 20:25:20 -05:00
yonlu 517c1685d8 ran go mod tidy 2026-03-05 18:49:09 -05:00
yonlu b8277326ee Merge branch 'main' into wip 2026-03-05 18:19:35 -05:00
yonlu 51da5cfb07 no longer using forked beep 2026-02-25 21:16:29 -05:00
loganandonion-4-dinner 5e5028ae50 chore(deps): update go dependencies (non-major) (#77)
Co-authored-by: onion-4-dinner <15676555+onion-4-dinner@users.noreply.github.com>
2026-02-20 21:00:42 -06:00
loganandonion-4-dinner e2ceaa75c0 chore(deps): update module github.com/evilmartians/lefthook to v2 (#78)
Co-authored-by: onion-4-dinner <15676555+onion-4-dinner@users.noreply.github.com>
2026-02-20 21:00:27 -06:00
yonlu 88c3736110 added color/ theme settings, new config window 2026-02-20 14:43:35 -05:00
yonlu 4c09e7abee playlist creation, viewing, integration with other views. still wip for full playlist functionality 2026-02-16 00:27:36 -05:00
yonlu 666ff9869e Merge branch 'main' into wip 2026-02-15 22:51:14 -05:00
logan dc6c46f856 chore: add make install target and manage all dev tools via go.mod tool directive (#72) 2026-02-15 15:23:52 -06:00
yonlu 67cea5cfb0 fixed player behavior after final queue track completes, added click to play from queue window 2026-02-15 16:20:56 -05:00
loganandonion-4-dinner f190052f00 chore(deps): update module github.com/evilmartians/lefthook to v2 (#68)
Co-authored-by: onion-4-dinner <15676555+onion-4-dinner@users.noreply.github.com>
2026-02-15 12:53:14 -06:00
logan 7b0b741602 ci: resolve CI failures in type check, codegen, and lint (#64)
* fix: resolve CI failures in type check, codegen, and lint

- Add missing title and artist fields to frontend QueueTrack interface
- Rename queue.QueueTrack to queue.Track and queue.QueueState to
  queue.State to fix revive stutter lint errors
- Fix wsl violations (cuddled declaration, block ending with comment)
- Break long slog lines to satisfy golines formatter
- Run go mod tidy to add missing go.sum entries for templ dependencies
- Regenerate sqlc output for updated tooling version

* fix(ci): disable redundant checkout in govulncheck action

The govulncheck-action runs its own actions/checkout internally,
which conflicts with the checkout@v6 already performed by the job.
This causes 'Duplicate header: Authorization' HTTP 400 errors.
Setting repo-checkout: false skips the redundant checkout.
2026-02-15 12:18:57 -06:00
loganandonion-4-dinner e32b217912 chore(deps)!: update module github.com/evilmartians/lefthook to v2 (#61)
Co-authored-by: onion-4-dinner <15676555+onion-4-dinner@users.noreply.github.com>
2026-02-14 01:52:46 -06:00
loganandonion-4-dinner f521045540 chore(deps): update go dependencies (non-major) (#40)
* chore(deps): update go dependencies (non-major)

* fix: regenerate code and add postUpgradeTasks for Renovate

Regenerate templ and sqlc output to match bumped tool versions.
Configure Renovate postUpgradeTasks to run 'go generate ./...' after
Go dependency updates, preventing stale generated files in future PRs.

---------

Co-authored-by: onion-4-dinner <15676555+onion-4-dinner@users.noreply.github.com>
2026-02-14 01:17:59 -06:00
loganandonion-4-dinner 0add5f6df4 chore(deps): update module github.com/wailsapp/wails/v2 to v2.11.0 (#41)
Co-authored-by: onion-4-dinner <15676555+onion-4-dinner@users.noreply.github.com>
2026-02-14 01:02:42 -06:00
logan d4f936143a fix(ci): resolve CI failures for Go checks, codegen, and frontend type-checking
- Add frontend/dist stub in Go Checks and Go Tests jobs so the
  go:embed directive in main.go resolves without a real frontend build
- Run go mod tidy to add missing go.sum entries for templ/sqlc tool
  transitive dependencies (fixes Code Generation Check)
- Delete dead library-picker.ts that imported non-existent Wails
  bindings module and called undefined functions
- Exclude Wails-generated JS stubs from tsc strict checking via
  tsconfig exclude (the companion .d.ts files provide types)
- Add title and artist fields to QueueTrack interface to match the
  Go backend struct and fix queue-panel.ts type errors
2026-02-13 22:12:16 -06:00
logan caf3e843af feat(ci): add semantic-release pipeline, cross-platform builds, and lefthook git hooks
- Replace single wails.yml with three-workflow pipeline: ci.yml (PR checks),
  release.yml (semantic-release on main), build.yml (versioned builds on tag)
- PR pipeline: conventional commit lint, golangci-lint, govulncheck, go test,
  codegen freshness check, frontend type-check, cross-platform build verification
- Release pipeline: semantic-release with auto-changelog and draft GitHub releases
- Build pipeline: versioned linux/amd64, darwin/universal, windows/amd64 binaries
  with version and commit SHA injected via ldflags
- Add lefthook as go tool for pre-commit (vet, lint, codegen, tsc) and
  pre-push (test, mod verify) git hooks
- Fix golangci-lint gci config to enforce three-group import style
- Upgrade Go to 1.25
- Add version/commit variables to main.go for build-time injection
- Add lint, test, vulncheck, and setup targets to Makefile
2026-02-13 21:26:33 -06:00
logan d78c0584e2 Squash merge audio-player-component into main 2026-02-13 20:39:23 -06:00
logan b24e734ae3 Database basic CRUD (#27)
* started schema

* db schemas beginning

* first db schema gen

* added sqlc generation with go generate and sqlite driver

* i think these dependencies are needed

* added IF NOT EXISTS to create and CRUD for each table

* fixed missing columns

* added missing field

* fixed code generation with sqlc
2025-04-16 13:45:44 -05:00
logan 2616b80d31 Build release pipeline (#22)
* added package flag to build ci

* bump wails-build-action version

* updated dependencies and go version to 1.24

* fixed wails build action version and point to go1.24

* using main version of wails build action

* added dependencies step

* added write permission for workflow

* switched alsa dep for proper dep

* added pnpm install step

* added pnpm version

* added os name to binary output

* undo last commit

* renamed windows binary, manually handle release

* fixed github ref name variable

* moved release to different job

* set build pre-req for release

* fixing artifact handling, manual upload

* fixed working directory

* fixed artifact naming

* fixing upload and download

* fixed artifact upload name

* fixed upload artifact name again

* upload all binaries

* fixed input and output binary files

* removed temporary artifact deletion

* trying to fix the artifact path for upload

* fix release glob pattern

* fixed glob path for subdirectories from download step

* fixed release version

* oops wrong release action version

* lets put all artifacts in the same directory

* remove prerelease

* set static run name
2025-04-14 22:55:57 -05:00
yonlu fe177ef788 starting audio player 2025-03-22 19:40:11 -04:00
logan 2e8f15d91b added config 2025-03-19 23:37:23 -05:00
logan abb60cb96a initial commit 2025-03-19 16:45:13 -05:00