Skip to content

Scheduler - Appointment popup may send redundant resource load requests on every opening#33667

Open
bit-byte0 wants to merge 1 commit into
DevExpress:26_1from
bit-byte0:fix/scheduler-resource-customstore-redundant-load
Open

Scheduler - Appointment popup may send redundant resource load requests on every opening#33667
bit-byte0 wants to merge 1 commit into
DevExpress:26_1from
bit-byte0:fix/scheduler-resource-customstore-redundant-load

Conversation

@bit-byte0
Copy link
Copy Markdown
Contributor

I investigated whether reusing the appointment popup instance causes redundant CustomStore.load() calls on every popup opening.

  • Traced the full resource loading pipeline. Found 4 existing guards that prevent the regression
  • Confirmed manual reproduction is impossible by design (scheduler blocks rendering until resources load)

Guards already in place. Test serves as a safety net if any of the guards are removed in future refactoring

@bit-byte0 bit-byte0 self-assigned this May 21, 2026
@bit-byte0 bit-byte0 requested a review from a team as a code owner May 21, 2026 17:52
@bit-byte0 bit-byte0 added the 26_1 label May 21, 2026
Copilot AI review requested due to automatic review settings May 21, 2026 17:52
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds an integration test in the internal Scheduler appointment popup suite to ensure that reopening the appointment popup does not trigger redundant CustomStore.load() calls for resources, serving as a regression safety net around resource-loading guards.

Changes:

  • Add a new integration test that opens/hides/reopens the appointment popup and asserts CustomStore.load() is called only once.
  • Add a Resources-scope timer cleanup (jest.useRealTimers()) to avoid fake-timer leakage across tests in that block.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants