-
Notifications
You must be signed in to change notification settings - Fork 0
Mod metadata cache #29
Copy link
Copy link
Open
Labels
enhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomers
Milestone
Description
Activity
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomers
Origin of idea
Every app launch re-parses every mod's About/About.xml. For 300+ mods this is wasteful — XML parsing is expensive.
Suggestion / proposed solution
Cache parsed AboutXmlMod data keyed by mod path + mtime. Store in an aiosqlite database (reuse pattern from StartupImpactDb at core/services/startup_impact_service/db.py). On refresh, check mtime — if unchanged, use cached data. Invalidate on mod deletion or path change.
Piggyback cache invalidation on the mod discovery pipeline in core/mod_service.py.
Alternatives considered
No response
Additional context
Parsing at core/models/metadata/parsing.py. Discovery at core/mod_service.py. Existing DB pattern at core/services/startup_impact_service/db.py.