{"version":"2.1.248","anchor":"remote-settings-cache-records-why-it-is-ineligible-and-survi","canonical_anchor":"remote-settings-cache-records-why-it-is-ineligible-and-survi","heading":"Remote settings cache records why it is ineligible, and survives bad listeners","tier":"internal","area":"Remote Settings","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.248\/e\/remote-settings-cache-records-why-it-is-ineligible-and-survi","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.248","markdown":"### Remote settings cache records why it is ineligible, and survives bad listeners\n\nThe remote settings cache now records why a session was ineligible and survives failing listeners.\n\n**What**\n\nThe cache holding settings fetched for a session now stores the reason it decided a session is ineligible, along with the last load status, and notifies listeners when that status changes. A listener that throws is caught and logged rather than taking down the update.\n\n**Details**\n\n- Resetting the cache clears both the reason and the status and notifies listeners with an empty value.\n- The watcher for settings served to this machine now also republishes each update on a separate change event.\n\n**Evidence**\n\n`Remote settings: load-status listener threw: `\n\n- Area: Remote Settings\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 3\/5"}