Skip to content

Run React Doctor on push #1

Run React Doctor on push

Run React Doctor on push #1

Triggered via push May 30, 2026 15:40
Status Failure
Total duration 23s
Artifacts

react-doctor.yml

on: push
react-doctor
20s
react-doctor
Fit to window
Zoom out
Zoom in

Annotations

10 errors and 10 warnings
react-doctor/no-adjust-state-on-prop-change: src/pages/TasksPage.tsx#L49
State adjusted in a useEffect when a prop changes — forces an extra render with a stale UI between the two commits. Adjust the state during render with a `prev`-prop comparison instead, or refactor to remove the duplicated state.
react-doctor/no-adjust-state-on-prop-change: src/pages/TasksPage.tsx#L48
State adjusted in a useEffect when a prop changes — forces an extra render with a stale UI between the two commits. Adjust the state during render with a `prev`-prop comparison instead, or refactor to remove the duplicated state.
react-doctor/no-adjust-state-on-prop-change: src/pages/SettingsPage.tsx#L79
State adjusted in a useEffect when a prop changes — forces an extra render with a stale UI between the two commits. Adjust the state during render with a `prev`-prop comparison instead, or refactor to remove the duplicated state.
react-doctor/no-adjust-state-on-prop-change: src/pages/SettingsPage.tsx#L74
State adjusted in a useEffect when a prop changes — forces an extra render with a stale UI between the two commits. Adjust the state during render with a `prev`-prop comparison instead, or refactor to remove the duplicated state.
react-doctor/no-adjust-state-on-prop-change: src/pages/StudioPage.tsx#L114
State adjusted in a useEffect when a prop changes — forces an extra render with a stale UI between the two commits. Adjust the state during render with a `prev`-prop comparison instead, or refactor to remove the duplicated state.
react-doctor/no-adjust-state-on-prop-change: src/pages/StudioPage.tsx#L109
State adjusted in a useEffect when a prop changes — forces an extra render with a stale UI between the two commits. Adjust the state during render with a `prev`-prop comparison instead, or refactor to remove the duplicated state.
react-doctor/no-adjust-state-on-prop-change: src/pages/AssetsPage.tsx#L59
State adjusted in a useEffect when a prop changes — forces an extra render with a stale UI between the two commits. Adjust the state during render with a `prev`-prop comparison instead, or refactor to remove the duplicated state.
react-doctor/no-adjust-state-on-prop-change: src/pages/AssetsPage.tsx#L58
State adjusted in a useEffect when a prop changes — forces an extra render with a stale UI between the two commits. Adjust the state during render with a `prev`-prop comparison instead, or refactor to remove the duplicated state.
react-doctor/no-adjust-state-on-prop-change: src/pages/AssetsPage.tsx#L57
State adjusted in a useEffect when a prop changes — forces an extra render with a stale UI between the two commits. Adjust the state during render with a `prev`-prop comparison instead, or refactor to remove the duplicated state.
react-doctor/no-adjust-state-on-prop-change: src/components/OutputInspectorDialog.tsx#L54
State adjusted in a useEffect when a prop changes — forces an extra render with a stale UI between the two commits. Adjust the state during render with a `prev`-prop comparison instead, or refactor to remove the duplicated state.
react-doctor/prefer-tag-over-role: src/pages/AssetsPage.tsx#L185
Prefer the semantic `<img>` element over `role="img"` on a generic tag.
react-doctor/no-cascading-set-state: src/pages/AssetsPage.tsx#L55
3 setState calls in a single useEffect — consider using useReducer or deriving state
react-doctor/exhaustive-deps: src/pages/AssetsPage.tsx#L69
React Hook `useEffect` is missing dependency `refreshAssets` — list it in the dependency array, or call the hook unconditionally.
react-doctor/rerender-state-only-in-handlers: src/pages/AssetsPage.tsx#L51
useState "refreshKey" is updated but never read in the component's return — use useRef so updates don't trigger re-renders
react-doctor/prefer-useReducer: src/pages/AssetsPage.tsx#L43
Component "AssetsPage" has 9 useState calls — consider useReducer for related state
react-doctor/prefer-tag-over-role: src/components/OutputInspectorDialog.tsx#L109
Prefer the semantic `<img>` element over `role="img"` on a generic tag.
react-doctor/prefer-html-dialog: src/components/OutputInspectorDialog.tsx#L88
Use the native `<dialog>` element instead of `role="dialog"` on a generic container — `<dialog>` ships built-in focus trap, `Escape` dismissal, the top-layer backdrop, and the right accessibility tree without you having to wire any of it up.
react-doctor/no-reset-all-state-on-prop-change: src/components/OutputInspectorDialog.tsx#L53
Avoid resetting all state when a prop changes. Instead, if "selection" is a key, pass it as `key` so React will reset the component's state.
react-doctor/no-derived-state-effect: src/components/OutputInspectorDialog.tsx#L53
State reset in useEffect — use a key prop to reset component state when props change
react-doctor/prefer-use-effect-event: src/components/OutputInspectorDialog.tsx#L51
"onClose" is read only inside `addEventListener` — wrap it with useEffectEvent and remove it from the dep array so the effect doesn't re-synchronize on every parent render