Skip to content

Commit fd44bbf

Browse files
committed
chore(webapp): scope memo dependency diagnostics
1 parent 38b46fe commit fd44bbf

4 files changed

Lines changed: 9 additions & 1 deletion

File tree

apps/webapp/app/components/dashboard-agent/DashboardAgentPanel.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ export function DashboardAgentPanel({
194194
toast.error("We couldn't load your previous chats. Try again in a moment.");
195195
}
196196
}),
197-
[actionPath, organization.id, toast]
197+
[actionPath, organization.id, toast, justRead, visibleChatId]
198198
);
199199

200200
// Bumped on each open so a slower earlier open can't overwrite a newer one.

apps/webapp/app/components/navigation/SideMenu.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -589,6 +589,7 @@ export function SideMenu({
589589
}, []);
590590

591591
// Animate width + progress over COLLAPSE_ANIM_MS (toggle button, ⌘B shortcut, release-snap).
592+
/* oxlint-disable react/react-compiler -- The animation step is local to each callback invocation. */
592593
const animateTo = useCallback(
593594
(targetWidth: number, targetProgress: number) => {
594595
if (rafRef.current !== null) cancelAnimationFrame(rafRef.current);
@@ -619,6 +620,7 @@ export function SideMenu({
619620
},
620621
[writeVisual]
621622
);
623+
/* oxlint-enable react/react-compiler */
622624

623625
// Collapse/expand to a resting state and remember it.
624626
const applyCollapsed = useCallback(
@@ -637,6 +639,7 @@ export function SideMenu({
637639

638640
// Drag runs on window-level listeners so releasing anywhere finalizes it. (Pointer capture alone
639641
// was unreliable: if the browser drops it mid-drag, the release never fires and the menu strands.)
642+
/* oxlint-disable react/react-compiler -- Drag handlers share invocation-local state and listeners. */
640643
const onHandlePointerDown = useCallback(
641644
(e: ReactPointerEvent<HTMLDivElement>) => {
642645
if (e.button !== 0) return;
@@ -746,6 +749,7 @@ export function SideMenu({
746749
},
747750
[animateTo, applyCollapsed, persistSideMenuPreferences, writeVisual]
748751
);
752+
/* oxlint-enable react/react-compiler */
749753

750754
// Keep the drag handlers' collapsed mirror in sync; tear down any in-flight animation/drag on unmount.
751755
useEffect(() => {

apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.playground.$agentParam/route.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -393,6 +393,7 @@ function PlaygroundChat() {
393393

394394
const session = transport.getSession(chatId);
395395

396+
/* oxlint-disable react/react-compiler -- The transport and chat ID are stable for this component's lifetime. */
396397
const handlePreload = useCallback(async () => {
397398
setPreloading(true);
398399
try {
@@ -403,6 +404,7 @@ function PlaygroundChat() {
403404
setPreloading(false);
404405
}
405406
}, [transport, chatId]);
407+
/* oxlint-enable react/react-compiler */
406408

407409
const handleNewConversation = useCallback(() => {
408410
// Navigate without ?conversation= so the loader returns activeConversation=null

apps/webapp/app/routes/resources.metric.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,7 @@ export function MetricWidget({
219219
},
220220
});
221221

222+
/* oxlint-disable react/react-compiler -- These ref objects are stable callback inputs. */
222223
const submit = useCallback(() => {
223224
if (!isVisibleRef.current) {
224225
isDirtyRef.current = true;
@@ -263,6 +264,7 @@ export function MetricWidget({
263264
}
264265
});
265266
}, [isVisibleRef]);
267+
/* oxlint-enable react/react-compiler */
266268
submitRef.current = submit;
267269

268270
// Clean up on unmount

0 commit comments

Comments
 (0)