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

fix(1-3173): clear "removed tags" when you bulk update tags #8952

Merged
merged 6 commits into from
Dec 12, 2024

Conversation

thomasheartman
Copy link
Contributor

@thomasheartman thomasheartman commented Dec 10, 2024

This PR fixes a bug wherein the list of tags to remove from a group of tags wouldn't be correctly updated.

Repro steps

  • Add a console log line to frontend/src/component/feature/FeatureView/FeatureOverview/ManageTagsDialog/ManageBulkTagsDialog.tsx's ManagebulkTagsDialog. Log the value of thepayload variable.
  • Pick a flag with no tags.
  • Add tag A -> before submitting, you should have one added tag and zero removed flags. After submitting, both should be empty.
  • Now remove tag A -> before submitting, you should have one removed tag and zero added tag. After submitting, both should be empty
  • Notice that removed flags hasn't been emptied, but still contains tag A.
  • Now add tab B -> before submitting, you should have tag B in added and nothing in removed. Notice that tag A is still in removed.

Discussion points

This gives us both a clear and a reset event, which is unfortunate because they sound like they do the same thing. I'd suggest renaming the clear event (because it doesn't really clear the state completely), but I'm not sure to what. Happy to do that if you have a suggestion.

I have not tested that submission of the form actually resets the state. I spent about 45 minutes looking at it, but couldn't find a way that was sensible and worked (considered spying: couldn't make it work; considered refactoring and extracting components: think that's too much of a change). I think this is benign enough that it can go without a test for that thing actually being called.

I did, however, test the different reducer commands.

Copy link

vercel bot commented Dec 10, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
unleash-monorepo-frontend ✅ Ready (Inspect) Visit Preview 💬 Add feedback Dec 11, 2024 11:31am
1 Skipped Deployment
Name Status Preview Comments Updated (UTC)
unleash-docs ⬜️ Ignored (Inspect) Visit Preview Dec 11, 2024 11:31am

Copy link
Contributor

github-actions bot commented Dec 10, 2024

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

OpenSSF Scorecard

PackageVersionScoreDetails

Scanned Files

@thomasheartman thomasheartman changed the title fix(1-3173): reset tag list when you submit it fix(1-3173): clear "removed tags" when you bulk update tags Dec 10, 2024
@thomasheartman thomasheartman requested a review from Tymek December 10, 2024 14:22
Comment on lines 115 to 118
const submitAndClear = () => {
onSubmit(payload);
dispatch({ type: 'reset' });
};
Copy link
Member

@Tymek Tymek Dec 11, 2024

Choose a reason for hiding this comment

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

maybe submitAndReset? Clear is related to removing also "initialValues" because of reason === 'clear' on an Autocomplete

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, good point. I agree with this. But do you have a different word for clear, because having both is really confusing me. Maybe "resetToInitialValues" or something?

@thomasheartman thomasheartman merged commit 7a43634 into main Dec 12, 2024
11 checks passed
@thomasheartman thomasheartman deleted the fix(1-3173)/bulk-tag-change-list branch December 12, 2024 08:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

2 participants