fix: Improve media_query retry behavior (#2603)

This commit is contained in:
Dermot Duffy
2026-07-23 22:19:17 -07:00
committed by GitHub
parent 6817d27c91
commit 54f75beb9d
10 changed files with 302 additions and 16 deletions
@@ -579,6 +579,31 @@ describe('should handle exceptions', () => {
.mock.calls.filter(([key]) => key === 'media_query').length,
).toBe(2);
});
it('should not reset media_query on the retry dispatch, keeping the error visible', async () => {
const error = new Error();
const viewFactory = mock<ViewFactory>();
viewFactory.getViewByParameters.mockReturnValue(createView());
const viewQueryExecutor = mock<ViewQueryExecutor>();
viewQueryExecutor.getNewQueryModifiers.mockRejectedValue(error);
const api = createInitializedCardAPI();
const manager = new ViewManager(api, {
viewFactory,
viewQueryExecutor,
});
await manager.setViewByParametersWithNewQuery({ intent: 'retry' });
// A retry re-runs the same failing query, so the existing error must not be
// cleared up front (it would blink away and back); the failure just
// re-triggers it.
expect(api.getIssueManager().reset).not.toBeCalledWith('media_query');
expect(api.getIssueManager().trigger).toBeCalledWith(
'media_query',
expect.objectContaining({ error }),
);
});
});
describe('hasMajorMediaChange', () => {