Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions agentex-ui/components/agentex/task-sidebar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import { formatDistanceToNow } from 'date-fns';
import { AnimatePresence, motion } from 'framer-motion';
import {
Loader2,
MessageSquare,
MessageSquarePlus,
PanelLeftClose,
PanelLeftOpen,
Expand Down Expand Up @@ -176,6 +177,14 @@ export function TaskSidebar() {
setIsCollapsed(prev => !prev);
}, []);

const handleFeedback = useCallback(() => {
window.open(
'https://github.com/scaleapi/scale-agentex/issues/new',
'_blank',
'noopener,noreferrer'
);
Comment on lines +181 to +185
Copy link

Copilot AI Nov 3, 2025

Choose a reason for hiding this comment

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

The third parameter of window.open is for window features (like width, height), not security attributes. To properly apply noopener and noreferrer security attributes with window.open, you need to manually set the opener property to null on the returned window reference. Consider using: const newWindow = window.open('...', '_blank'); if (newWindow) newWindow.opener = null; Alternatively, consider using an anchor tag with rel=\"noopener noreferrer\" which is more straightforward and consistent with other usage in the codebase (see investigate-traces-button.tsx and json-viewer.tsx).

Suggested change
window.open(
'https://github.com/scaleapi/scale-agentex/issues/new',
'_blank',
'noopener,noreferrer'
);
const newWindow = window.open(
'https://github.com/scaleapi/scale-agentex/issues/new',
'_blank'
);
if (newWindow) newWindow.opener = null;

Copilot uses AI. Check for mistakes.
}, []);

return (
<ResizableSidebar
side="left"
Expand Down Expand Up @@ -232,6 +241,17 @@ export function TaskSidebar() {
</>
)}
</div>
<div className="mt-auto px-2 pt-2">
<Separator className="mb-2" />
<Button
onClick={handleFeedback}
variant="ghost"
className="text-sidebar-foreground hover:bg-sidebar-accent hover:text-sidebar-primary-foreground flex w-full items-center justify-start gap-2"
>
<MessageSquare className="size-4" />
Give Feedback
</Button>
</div>
</div>
</ResizableSidebar>
);
Expand Down