Skip to content

fix: post-contest tech debt refactoring (closes #36) - #45

Merged
xodapi merged 6 commits into
mainfrom
issue-36-post-contest-refactoring
Jun 28, 2026
Merged

xodapi merged 6 commits into
mainfrom
issue-36-post-contest-refactoring

Conversation

@xodapi

@xodapi xodapi commented Jun 28, 2026

Copy link
Copy Markdown
Owner

What was done

  1. API key no longer stored plaintext in redb cache - cache key now uses hashed api_key via DefaultHasher
  2. Race condition in daily.toml fixed - atomic write via temp file + rename, plus file locking via fs3
  3. Thread spam in GUI fixed - generation counter prevents stale refresh results from overwriting fresh data
  4. God-object refactoring - split monolithic lib.rs (~1250 lines) into:
    • �pi.rs - HttpClient, Router, network layer
    • parse.rs - data parsing, summarizing, demo payload
    • lib.rs - types, constants, formatting, config

How to verify

cargo test --locked cargo clippy --all-targets -- -D warnings cargo fmt --check

Closes

Closes #36

@xodapi
xodapi merged commit 087516e into main Jun 28, 2026
6 checks passed
@xodapi
xodapi deleted the issue-36-post-contest-refactoring branch June 28, 2026 23:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

tech debt: post-contest refactoring

1 participant