Plugin, marketplace and config operations now receive the session's storage explicitly instead of reaching for a global.
What's wrong with this entry?
Marketplace listing and updating, plugin enable, disable and install, installed-plugin migration, config saving, stats rebuild, feedback drafts and the resume flow now take the session's storage handle as an argument instead of reading a module-level singleton.
- Fetching a marketplace by URL was split: one function returns the fetched data, a separate one writes it to the cache.
Saving marketplace to cache
Strings lifted out of the shipped bundle, so the claim above can be checked against them.