From 3411f2123d1ef66b4feaaa7af936400187acdd83 Mon Sep 17 00:00:00 2001 From: aasifa1 Date: Sun, 13 Sep 2026 17:14:00 +0530 Subject: [PATCH] fix:clear request selection when closing details pane --- .../NetworkTable/VirtualTableV2.tsx | 18 ++++++++++++------ .../NetworkInspector/NetworkTable/index.tsx | 3 +++ .../TrafficTableV2/NetworkInspector/index.tsx | 2 ++ .../TrafficTableV2/Tables/GroupByNone.jsx | 2 ++ .../WebTraffic/TrafficTableV2/index.jsx | 5 +++++ 5 files changed, 24 insertions(+), 6 deletions(-) diff --git a/app/src/components/mode-specific/desktop/InterceptTraffic/WebTraffic/TrafficTableV2/NetworkInspector/NetworkTable/VirtualTableV2.tsx b/app/src/components/mode-specific/desktop/InterceptTraffic/WebTraffic/TrafficTableV2/NetworkInspector/NetworkTable/VirtualTableV2.tsx index d75ac1ab9d..d92775f2a5 100644 --- a/app/src/components/mode-specific/desktop/InterceptTraffic/WebTraffic/TrafficTableV2/NetworkInspector/NetworkTable/VirtualTableV2.tsx +++ b/app/src/components/mode-specific/desktop/InterceptTraffic/WebTraffic/TrafficTableV2/NetworkInspector/NetworkTable/VirtualTableV2.tsx @@ -15,10 +15,17 @@ interface Props { renderLogRow: any; selectedRowData: RQNetworkLog | null; onReplayRequest: () => void; + selectedRowId?: string | null; } -const VirtualTableV2: React.FC = ({ logs = [], header, renderLogRow, selectedRowData, onReplayRequest }) => { - const [selected, setSelected] = useState(null); +const VirtualTableV2: React.FC = ({ + logs = [], + header, + renderLogRow, + selectedRowData, + onReplayRequest, + selectedRowId, +}) => { const [lastKnownBottomIndex, setLastKnownBottomIndex] = useState(null); const [isScrollToBottomEnabled, setIsScrollToBottomEnabled] = useState(true); const [headerHeight, setHeaderHeight] = useState(0); @@ -147,12 +154,11 @@ const VirtualTableV2: React.FC = ({ logs = [], header, renderLogRow, sele "--virtualPaddingBottom": paddingBottom + "px", } as React.CSSProperties } - selected={selected ?? undefined} - onSelected={(id: string) => { - setSelected(id); + selected={selectedRowId ?? undefined} + onSelected={(_id: string) => { setIsScrollToBottomEnabled(false); // Disable autoscroll when row is selected }} - onContextMenu={(e: any) => setSelected(e.target?.parentElement.id)} + onContextMenu={(_e: any) => {}} > {header} diff --git a/app/src/components/mode-specific/desktop/InterceptTraffic/WebTraffic/TrafficTableV2/NetworkInspector/NetworkTable/index.tsx b/app/src/components/mode-specific/desktop/InterceptTraffic/WebTraffic/TrafficTableV2/NetworkInspector/NetworkTable/index.tsx index e9c06b0bf1..ee048e1d04 100644 --- a/app/src/components/mode-specific/desktop/InterceptTraffic/WebTraffic/TrafficTableV2/NetworkInspector/NetworkTable/index.tsx +++ b/app/src/components/mode-specific/desktop/InterceptTraffic/WebTraffic/TrafficTableV2/NetworkInspector/NetworkTable/index.tsx @@ -27,6 +27,7 @@ interface Props { setSelectedMockRequests: Function; showMockRequestSelector: boolean; selectedMockRequests: Record; + selectedRowId?: string | null; } const NetworkTable: React.FC = ({ @@ -36,6 +37,7 @@ const NetworkTable: React.FC = ({ setSelectedMockRequests, showMockRequestSelector, selectedMockRequests, + selectedRowId, }) => { const [selectedRowData, setSelectedRowData] = useState(null); const [isReplayRequestModalOpen, setIsReplayRequestModalOpen] = useState(false); @@ -271,6 +273,7 @@ const NetworkTable: React.FC = ({ logs={logs} selectedRowData={selectedRowData} onReplayRequest={onReplayRequest} + selectedRowId={selectedRowId} /> {isReplayRequestModalOpen ? ( diff --git a/app/src/components/mode-specific/desktop/InterceptTraffic/WebTraffic/TrafficTableV2/NetworkInspector/index.tsx b/app/src/components/mode-specific/desktop/InterceptTraffic/WebTraffic/TrafficTableV2/NetworkInspector/index.tsx index f499747347..ac6146d9ad 100644 --- a/app/src/components/mode-specific/desktop/InterceptTraffic/WebTraffic/TrafficTableV2/NetworkInspector/index.tsx +++ b/app/src/components/mode-specific/desktop/InterceptTraffic/WebTraffic/TrafficTableV2/NetworkInspector/index.tsx @@ -10,6 +10,7 @@ interface Props { setSelectedMockRequests: Function; showMockRequestSelector: boolean; selectedMockRequests: Record; + selectedRowId?: string | null; } const NetworkInspector: React.FC = (props) => { @@ -22,6 +23,7 @@ const NetworkInspector: React.FC = (props) => { setSelectedMockRequests={props.setSelectedMockRequests} showMockRequestSelector={props.showMockRequestSelector} selectedMockRequests={props.selectedMockRequests} + selectedRowId={props.selectedRowId} /> ); diff --git a/app/src/components/mode-specific/desktop/InterceptTraffic/WebTraffic/TrafficTableV2/Tables/GroupByNone.jsx b/app/src/components/mode-specific/desktop/InterceptTraffic/WebTraffic/TrafficTableV2/Tables/GroupByNone.jsx index d7356105b2..1a0389c875 100644 --- a/app/src/components/mode-specific/desktop/InterceptTraffic/WebTraffic/TrafficTableV2/Tables/GroupByNone.jsx +++ b/app/src/components/mode-specific/desktop/InterceptTraffic/WebTraffic/TrafficTableV2/Tables/GroupByNone.jsx @@ -15,6 +15,7 @@ const GroupByNone = ({ showMockRequestSelector, selectedMockRequests, showMockFilters, + selectedRowId, }) => { const renderNoTrafficCTA = () => { if (emptyCtaAction && emptyCtaText) { @@ -39,6 +40,7 @@ const GroupByNone = ({ { const { actions } = record; return { diff --git a/app/src/components/mode-specific/desktop/InterceptTraffic/WebTraffic/TrafficTableV2/index.jsx b/app/src/components/mode-specific/desktop/InterceptTraffic/WebTraffic/TrafficTableV2/index.jsx index 5d73e8607e..a42aee8b8f 100644 --- a/app/src/components/mode-specific/desktop/InterceptTraffic/WebTraffic/TrafficTableV2/index.jsx +++ b/app/src/components/mode-specific/desktop/InterceptTraffic/WebTraffic/TrafficTableV2/index.jsx @@ -138,6 +138,7 @@ const CurrentTrafficTable = ({ const handleClosePane = () => { handlePreviewVisibility(false); + setSelectedRequestData({}); }; // const printLogsToConsole = useCallback( @@ -156,6 +157,7 @@ const CurrentTrafficTable = ({ dispatch(desktopTrafficTableActions.logsClearAll()); setDomainList(new Set([...trafficTableFilters.domain])); setAppList(new Set([...trafficTableFilters.app])); + setSelectedRequestData({}); setIsPreviewOpen(false); trackTrafficTableLogsCleared(getConnectedAppsCount(Object.values(desktopSpecificDetails.appsList)) > 0); trackRQDesktopLastActivity(TRAFFIC_TABLE.TRAFFIC_TABLE_LOGS_CLEARED); @@ -452,6 +454,7 @@ const CurrentTrafficTable = ({ return (