Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@ border-radius: 128px;
- Online tagging matches saved for review by 2.5.3 no longer break the
review list and scan status with "No module named 'numpy'". They are
dropped, so those comics need tagging again.
- Renamed comics no longer contain colons or other characters Windows and
SMB shares can't store.
- A Metron API key is no longer overridden by a `~/.netrc` login.

## v2.5.4

Expand Down
3 changes: 2 additions & 1 deletion codex/models/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,8 @@ class EffortChoices(TextChoices):
# metron_user & metron_password are legacy. Metron authenticates with an
# API token now, and the admin UI only accepts one. Existing logins keep
# working (metron.cloud and comicbox still accept them) until an API key
# is saved, which clears them. mokkari prefers the token when both exist.
# is saved, which clears them. comicbox sends only the token when both
# exist.
metron_key = EncryptedCharField()
metron_user = EncryptedCharField()
metron_password = EncryptedCharField()
Expand Down
2 changes: 1 addition & 1 deletion codex/serializers/admin/tagging.py
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ def update(self, instance, validated_data):

The key is the only Metron credential the UI offers now, so saving one
(or clearing it) drops the old login rather than leaving a stale
fallback that mokkari would silently ignore anyway.
fallback that comicbox would never send anyway.
"""
if "metron_key" in validated_data:
validated_data["metron_user"] = ""
Expand Down
2 changes: 1 addition & 1 deletion tests/test_credential_validator.py
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ def test_metron_legacy_login_still_validates(self) -> None:
)

def test_metron_key_wins_over_legacy_login(self) -> None:
"""Both stored: the token reaches mokkari, which prefers it."""
"""Both stored: all three reach comicbox, which sends only the token."""
creds = OnlineCredentials(
metron_key="token",
metron_user="user",
Expand Down