# Held Posts Toggle Design ## Goal Add a user setting that allows Moebooru providers to include held posts in the feed when desired, while preserving current default ordering behavior. ## Problem Konachan and yande.re API results can diverge from website ordering because held posts are included unless explicitly filtered. We currently force `holds:false` by default to match the website feed, but users need an option to view held posts. ## Decision Implement a global persisted setting: `showHeldMoebooruPosts` (default `false`). - When `false`: Moebooru requests continue to append `holds:false` unless user already provides `holds:*`. - When `true`: Moebooru requests do not add a default `holds:false` filter; explicit `holds:*` tags still win. ## Scope - Data model: Add `@AppStorage` boolean to `SettingsManager`. - Networking: Thread the setting into `BooruManager` and its Moebooru tag helper. - UI: Add a toggle in Provider settings. - Wiring: Rebuild `BooruManager` when setting changes so feed refresh reflects the new mode. - Tests: Add source-based checks for setting persistence, manager wiring, and Moebooru filter behavior. ## Non-Goals - Per-provider held-post settings. - Changing Danbooru/Gelbooru behavior. - Advanced moderation controls beyond `holds:*` behavior. ## Rollout Behavior - Existing users default to `false`, preserving current website-aligned feed order. - Users can opt in to include held posts through settings.