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.