Cockatrice/libcockatrice_settings/libcockatrice/settings
Lukas Brübach 3bd118fae9 [PictureLoader] Make dispatch and rate-limit bookkeeping key on the real host
Addresses ZeldaZach's round-4 review nits:

- Dispatch now resolves the cached-redirect chain before the in-flight gate,
  so a redirect learned after a URL was queued can no longer bypass the
  MAX_IN_FLIGHT_PER_HOST cap and drain the whole queue onto the redirect
  target, which may carry its own developer cap. processSingleRequest does
  the same so the allowance math keys on the host that is actually hit.
- The per-host in-flight slot is released when the reply is destroyed (with
  the worker as the connection context) rather than on a 'finished'
  connection bound to the work object, so an aborted reply or a work object
  deleted while a reply is pending can never permanently shrink the fast
  path's concurrency.
- storeSettings only prunes limits for hosts with neither a URL nor a
  developer cap, so throttles on redirect targets (api.scryfall.com ->
  cards.scryfall.io) survive URL removal.
- Unlocked hosts are offered 0..UNLOCKED_HOST_LIMIT_MAX (50) in the rate
  limit dialog, matching clampHostRequestLimit() and the documented
  hand-editable range, so values written into downloads.ini are no longer
  silently rewritten on the next edit.
2026-09-20 22:52:43 +02:00
..
appearance_settings.cpp [Themes] Add identity default palettes for the image themes (#7280) 2026-09-18 15:16:07 +02:00
appearance_settings.h [Themes] Add identity default palettes for the image themes (#7280) 2026-09-18 15:16:07 +02:00
cache_storage_settings.cpp [Settings] Shuffle some settings around (#7084) 2026-08-08 22:27:41 +02:00
cache_storage_settings.h [Settings] Split cache_settings monolith into multiple SettingsManager sub-classes (#7050) 2026-07-27 11:25:39 +02:00
card_database_settings.cpp [Settings] Shuffle some settings around (#7084) 2026-08-08 22:27:41 +02:00
card_database_settings.h [Card Database] Improve loading times through binary cache (#7051) 2026-07-27 23:12:53 +02:00
card_override_settings.cpp [SettingsManager] Make setting getters const (#6748) 2026-03-27 18:13:25 +01:00
card_override_settings.h Standardize Doxygen documentation (#6885) 2026-05-21 22:58:07 +02:00
cards_display_settings.cpp [Client] Show localized card names, texts and pictures (#7294) 2026-09-18 12:03:07 +02:00
cards_display_settings.h [Client] Show localized card names, texts and pictures (#7294) 2026-09-18 12:03:07 +02:00
chat_settings.cpp [Client] Add setting to ignore all private messages (#7260) 2026-09-07 08:20:46 +02:00
chat_settings.h [Client] Add setting to ignore all private messages (#7260) 2026-09-07 08:20:46 +02:00
commander_bracket_settings.cpp [DeckEditor] Use CommanderSpellbook.com to estimate bracket if format is 'commander' (#6415) 2026-08-09 00:46:17 +02:00
commander_bracket_settings.h [DeckEditor] Use CommanderSpellbook.com to estimate bracket if format is 'commander' (#6415) 2026-08-09 00:46:17 +02:00
debug_settings.cpp [SettingsManager] Make setting getters const (#6748) 2026-03-27 18:13:25 +01:00
debug_settings.h Standardize Doxygen documentation (#6885) 2026-05-21 22:58:07 +02:00
deck_editor_settings.cpp [VDE] Add a new setting to determine initial tab (Context/Deck/Database) (#7122) 2026-08-15 21:55:39 +02:00
deck_editor_settings.h [VDE] Add a new setting to determine initial tab (Context/Deck/Database) (#7122) 2026-08-15 21:55:39 +02:00
download_settings.cpp [PictureLoader] Store per-host limits readably and show them per URL 2026-09-20 22:10:23 +02:00
download_settings.h [PictureLoader] Make dispatch and rate-limit bookkeeping key on the real host 2026-09-20 22:52:43 +02:00
game_filters_settings.cpp [GamesModel] Rename 'Creator' column to 'Host' (#7083) 2026-08-13 18:58:21 +02:00
game_filters_settings.h [GamesModel] Rename 'Creator' column to 'Host' (#7083) 2026-08-13 18:58:21 +02:00
game_settings.cpp [Settings] Shuffle some settings around (#7084) 2026-08-08 22:27:41 +02:00
game_settings.h [Settings] Split cache_settings monolith into multiple SettingsManager sub-classes (#7050) 2026-07-27 11:25:39 +02:00
interface_settings.cpp [Game] Playmats (#7101) 2026-08-21 10:40:49 +02:00
interface_settings.h [Game] Playmats (#7101) 2026-08-21 10:40:49 +02:00
layouts_settings.cpp [SettingsManager] Make setting getters const (#6748) 2026-03-27 18:13:25 +01:00
layouts_settings.h Standardize Doxygen documentation (#6885) 2026-05-21 22:58:07 +02:00
message_settings.cpp [SettingsManager] Make setting getters const (#6748) 2026-03-27 18:13:25 +01:00
message_settings.h Standardize Doxygen documentation (#6885) 2026-05-21 22:58:07 +02:00
network_settings.cpp [Settings] Shuffle some settings around (#7084) 2026-08-08 22:27:41 +02:00
network_settings.h [Settings] Shuffle some settings around (#7084) 2026-08-08 22:27:41 +02:00
paths_settings.cpp [Settings] Shuffle some settings around (#7084) 2026-08-08 22:27:41 +02:00
paths_settings.h [Settings] Split cache_settings monolith into multiple SettingsManager sub-classes (#7050) 2026-07-27 11:25:39 +02:00
personal_settings.cpp [Settings] Shuffle some settings around (#7084) 2026-08-08 22:27:41 +02:00
personal_settings.h [Settings] Shuffle some settings around (#7084) 2026-08-08 22:27:41 +02:00
recents_settings.cpp [Settings] Shuffle some settings around (#7084) 2026-08-08 22:27:41 +02:00
recents_settings.h Standardize Doxygen documentation (#6885) 2026-05-21 22:58:07 +02:00
servers_settings.cpp [DeckShare] Open shared decks via links with a gated preview flow (#7244) 2026-09-20 20:22:17 +02:00
servers_settings.h [DeckShare] Open shared decks via links with a gated preview flow (#7244) 2026-09-20 20:22:17 +02:00
settings_manager.cpp [Settings] Split cache_settings monolith into multiple SettingsManager sub-classes (#7050) 2026-07-27 11:25:39 +02:00
settings_manager.h [Settings] Split cache_settings monolith into multiple SettingsManager sub-classes (#7050) 2026-07-27 11:25:39 +02:00
settings_migration.cpp [Themes] Add identity default palettes for the image themes (#7280) 2026-09-18 15:16:07 +02:00
settings_migration.h [Settings] Split cache_settings monolith into multiple SettingsManager sub-classes (#7050) 2026-07-27 11:25:39 +02:00
sound_settings.cpp [Settings] Shuffle some settings around (#7084) 2026-08-08 22:27:41 +02:00
sound_settings.h [Settings] Split cache_settings monolith into multiple SettingsManager sub-classes (#7050) 2026-07-27 11:25:39 +02:00
tabs_settings.cpp [Mods] Properly close card art rules tab on disconnect (#7227) 2026-09-01 11:31:49 +02:00
tabs_settings.h [Mods] Properly close card art rules tab on disconnect (#7227) 2026-09-01 11:31:49 +02:00
updates_settings.cpp [Settings] Shuffle some settings around (#7084) 2026-08-08 22:27:41 +02:00
updates_settings.h [Settings] Split cache_settings monolith into multiple SettingsManager sub-classes (#7050) 2026-07-27 11:25:39 +02:00
visual_deck_storage_settings.cpp [DeckShare] Browse and open public decks with loading, error and accessibility states (#7245) 2026-09-20 20:22:17 +02:00
visual_deck_storage_settings.h [DeckShare] Browse and open public decks with loading, error and accessibility states (#7245) 2026-09-20 20:22:17 +02:00