Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mgr/dashboard: Fixes regression in device selection modal #35875

Merged
merged 1 commit into from
Jul 3, 2020

Conversation

Devp00l
Copy link

@Devp00l Devp00l commented Jul 1, 2020

The 'ExpressionChangedAfterItHasBeenCheckedError' has recently
shown up in device selection modal in OSD creation form. It looks
like it's a regression due to the modal switch (PR #35370). Which was
merged yesterday and it had worked on Monday.

Fixes: https://tracker.ceph.com/issues/46303
Signed-off-by: Stephan Müller smueller@suse.com


Show available Jenkins commands
  • jenkins retest this please
  • jenkins test classic perf
  • jenkins test crimson perf
  • jenkins test signed
  • jenkins test make check
  • jenkins test make check arm64
  • jenkins test submodules
  • jenkins test dashboard
  • jenkins test dashboard backend
  • jenkins test docs
  • jenkins render docs
  • jenkins test ceph-volume all
  • jenkins test ceph-volume tox

The 'ExpressionChangedAfterItHasBeenCheckedError' has recently
shown up in device selection modal in OSD creation form. It looks
like it's a regression due to the modal switch (PR ceph#35370). Which was
merged yesterday and it had worked on Monday.

Fixes: https://tracker.ceph.com/issues/46303
Signed-off-by: Stephan Müller <smueller@suse.com>
@bk201
Copy link
Contributor

bk201 commented Jul 2, 2020

jenkins test dashboard backend

// Fixes 'ExpressionChangedAfterItHasBeenCheckedError'
setTimeout(() => {
this.requiredFilters = _.map(cols, 'name');
}, 0);
Copy link
Contributor

Choose a reason for hiding this comment

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

Thanks for fixing the issue.
If this hack is needed, I wonder if the design was right when I implemented this...

Copy link
Author

Choose a reason for hiding this comment

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

It's now needed because of the modal change. It seems like the new modal initializes the modal somehow in one step with all other components used at the same time (which of course is faster but has downsides). Through the new behavior will set requieredFilters multiple times in one run, which causes the error. The timeout just adds an extra "frame" that forces the template to update after all that is triggered is executed. This way we don't change the variable more than once in a template run.

Before that change your implementation worked fine 👍

@bk201 bk201 requested a review from a team July 2, 2020 04:02
@Devp00l
Copy link
Author

Devp00l commented Jul 3, 2020

jenkins test dashboard backend

@LenzGr LenzGr merged commit 00251f4 into ceph:master Jul 3, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants