Skip to content

Improve state management [SYNTH-263] - #1433

Merged
BrandonPacewic merged 11 commits into
devfrom
dionkud/do-not-mutate-react
Aug 4, 2026
Merged

Improve state management [SYNTH-263]#1433
BrandonPacewic merged 11 commits into
devfrom
dionkud/do-not-mutate-react

Conversation

@0xda157

@0xda157 0xda157 commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Task

SYNTH-263

Symptom

many of our components include useReducers purely to avoid manage state in the correct react way

Solution

this pr improve the state handling in many locations, primarily by copying the state using their set function instead of directly mutating them.

Note

There are few more places with very poor state management, but I've deemed them too difficult to improve in this pr. Ideally they will be addressed later.

Verification

Playwright tests pass, and the UI seems to work as expected.


Before merging, ensure the following criteria are met:

  • All acceptance criteria outlined in the ticket are met.
  • Necessary test cases have been added and updated.
  • A feature toggle or safe disable path has been added (if applicable).
  • User-facing polish:
    • Ask: "Is this ready-looking?"
  • Cross-linking between Jira and GitHub:
    • PR links to the relevant Jira issue.
    • Jira ticket has a comment referencing this PR.

@0xda157
0xda157 requested a review from rutmanz July 22, 2026 17:02
@0xda157
0xda157 requested review from a team as code owners July 22, 2026 17:02
@0xda157
0xda157 force-pushed the dionkud/do-not-mutate-react branch from 7da54be to 5134e57 Compare July 22, 2026 17:13
@0xda157
0xda157 force-pushed the dionkud/do-not-mutate-react branch from 870aaf6 to bea3dff Compare July 22, 2026 20:55
Comment thread fission/src/ui/modals/configuring/SettingsModal.tsx
@0xda157
0xda157 force-pushed the dionkud/do-not-mutate-react branch from 8f8052e to 68c28c7 Compare July 24, 2026 18:10
@0xda157
0xda157 requested a review from Dhruv-0-Arora July 24, 2026 21:13
@PepperLola PepperLola added ui/ux Relating to user interface, or in general, user experience development Related to the development process (workflows, dev-facing improvements, etc.) labels Jul 24, 2026
0xda157 added 2 commits July 27, 2026 13:26
…ot-mutate-react

# Conflicts:
#	fission/src/ui/panels/configuring/assembly-config/interfaces/SequentialBehaviorsInterface.tsx

@AlexD717 AlexD717 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

lgtm

onClick={checked => {
writePreference("RenderScoreboard", checked)
if (checked) {
// TODO: figure out scoreboard - I think it should be its own component and not a panel

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Should purge all the TODOs from this codebase.

@BrandonPacewic
BrandonPacewic merged commit 4f20b5f into dev Aug 4, 2026
22 checks passed
@BrandonPacewic
BrandonPacewic deleted the dionkud/do-not-mutate-react branch August 4, 2026 18:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

development Related to the development process (workflows, dev-facing improvements, etc.) ui/ux Relating to user interface, or in general, user experience

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants