ep: Fix panic when switching to a non-store provider (#49698)
Oleksiy Syvokon
created
The `unreachable()` assumption at `queue_prediction_refresh` could be
violated by an async race condition:
1. `request_prediction_internal` spawns an async task
2. The task awaits a prediction request
3. If the prediction returns `None`, it calls `queue_prediction_refresh`
4. Between the time the prediction was initiated (when the provider was
an EP-store provider) and when the async callback runs, the user can
change their edit prediction provider setting to a non-EP-store provider
5. `queue_prediction_refresh` re-reads the settings and hits the
`unreachable!()
Release Notes:
- N/A