Local flow is now ./release 1.6.7 (or make release VERSION=1.6.7):
bump wails.json productVersion, commit the bump, generate git-cliff
notes into an annotated plain-version tag, and push commit plus tag.
The tag push fires the new Gitea Actions workflow.
- cliff.toml: git-cliff groups matching Bookhoard, tag_pattern for
plain versions so --latest scopes correctly.
- Makefile release target: strict plain-semver validation, dirty-tree
and existing-tag guards, python3 wails.json bump committed as
chore(release), throwaway-tag notes generation, push of main + tag.
- release: wrapper normalizing v/AniTrack- prefixes to plain versions.
- .gitea/workflows/release.yml: version guard (wails.json vs tag,
base-match for -suffix pre-releases), Go 1.25 / Node 20 / Wails
v2.15.0 + webkit2_41 system deps, environment.go from Actions
secrets, make build, AniTrack-<version>.tar.gz packaged from
build/ (bin, icon, desktop, install script, README), idempotent
Release create/update named AniTrack-<version> with archive
attached via REGISTRY_TOKEN PAT.
AniListSearch hardcoded false for the authenticated flag to
AniListQuery, forcing anonymous searches even with a valid AniList
session. Pass a.CheckIfAniListLoggedIn() instead so the stored token
is attached when available, enabling user-specific data and
authenticated rate limits while keeping anonymous search as fallback.
In CheckIfMyAnimeListLoggedIn and MyAnimeListLogin the keyring lookups
assigned MyAnimeListAccessToken to refreshToken and
MyAnimeListRefreshToken to accessToken. Downstream code checks
len(accessToken.Data) for login state and assigns
accessToken.Data -> myAnimeListJwt.AccessToken, so the swap gated
login on the refresh token and stored each token in the wrong field.
Swap the variable names to match their keyring keys so login detection,
JWT restoration, and the empty-token fallback in MyAnimeListLogin use
the correct values.