Commit Graph
17 Commits
Author SHA1 Message Date
John O'Keefe 850c1c6aee chore(wailsv3): migrate Go backend from Wails v2 to v3
Minimal-structure migration to Wails v3.0.0-beta.20 (CLI-matching pin). Single App service preserved; no domain logic touched.

- main.go: wails.Run(options.App) -> application.New + RegisterService + Window.NewWithOptions. Window keeps title-with-version, 1024x768, RGBA background, Linux icon/translucency/GpuPolicyNever, ProgramName. SingleInstanceLock -> SingleInstanceOptions (same UniqueID); callback closes over the service variable set right after New.
- app.go: App holds *application.App instead of a context. startup(ctx) is gone; the version title moves into the window options via appTitle(). onSecondInstanceLaunch takes v3 SecondInstanceData (Args/WorkingDir) and uses Window.Current() Restore+Focus plus Event.Emit for launchArgs. ShowVersion uses Dialog.Info.
- AniList/MAL/Simkl *UserFunctions.go: runtime.BrowserOpenURL -> app.Browser.OpenURL (errors logged), runtime.MessageDialog -> app.Dialog.Info chains. OAuth callback servers, token flows, and key names unchanged.
- Secrets: 99designs/keyring replaced with zalando/go-keyring (what v3 itself depends on) under the same AniTrack service name, so existing stored tokens keep working. Per-file Set helpers kept; Open/Ready boilerplate deleted (zalando needs no handle).
- go.mod: v2 + 99designs dropped (stale v2 replace directive removed), v3 beta.20 + zalando v0.2.8 added.
2026-09-13 17:10:09 -04:00
John O'Keefe 3bf5d8290e fix(auth): handle keyring open/set errors per service
Stop ignoring keyring.Open failures in all three login files. A failed
Open previously left a nil ring behind the blank identifier, so the next
Get/Set panicked with no message. Each service now opens its ring in
init, logs a service-prefixed warning when storage is unavailable, and
guards every use with a Ready check that fails safe to logged-out.

- AniListUserFunctions.go: add aniRingReady/aniRingSet helpers, log
  Open and per-key Set failures, reject invalid ExpiresIn instead of
  silently storing 0, clear in-memory JWT on logout even when storage
  is missing
- MALUserFunctions.go: add malRingReady/malRingSet helpers covering
  login, OAuth callback, and token-refresh saves; same Open/Set/
  ExpiresIn/logout treatment
- SimklUserFunctions.go: add simklRingReady/simklRingSet helpers;
  same Open/Set/logout treatment

No wallet, key names, or login flow changed. Same ServiceName
AniTrack, same keys, same OAuth callback behavior.
2026-09-12 21:22:58 -04:00
john-okeefe 72dfbf4a03 spelling correct 2025-01-17 20:39:18 -05:00
john-okeefe 5ee9c42352 cleaned up errors in go code 2024-12-15 00:19:48 -05:00
john-okeefe 064a2c7f7d added info for mac keychain 2024-10-18 22:06:33 -04:00
john-okeefe 0bf784562a fixed bug that was stopping anilist from logging in 2024-10-01 15:07:02 -04:00
john-okeefe 45b11fa8f4 app now only allows a single instance 2024-09-07 22:35:51 -04:00
john-okeefe 55cb0e2bd5 switched from .env to built-in envrionment file 2024-08-16 23:32:16 -04:00
john-okeefe 90b68b717a added logout functions 2024-08-15 16:16:40 -04:00
john-okeefe 0f647e85cb added dialog informing browser tab closing 2024-08-13 20:05:25 -04:00
john-okeefe 03413cd11a changed to mux so I can run sequentially. 2024-08-13 19:13:26 -04:00
john-okeefe fa3304db92 added MAL Login 2024-08-13 18:54:27 -04:00
john-okeefe d2ef265807 renamed and created anilist and simkl user functions
renamed anilist userid to user function. Created simkl user functions
2024-07-30 20:38:55 -04:00
john-okeefe 7044dc1d90 added check if logged in functions to anilist and simkl 2024-07-30 13:07:30 -04:00
john-okeefe d1258c54d3 renamed anilist variables to allow for other services 2024-07-30 12:59:21 -04:00
john-okeefe 4e11b218be added information being pulled from anilist 2024-07-24 09:18:45 -04:00
john-okeefe dcf7322b0c updated bruno files 2024-07-24 09:15:52 -04:00