feat: add CLI session sharing functionality

- Implemented share token creation and revocation for CLI sessions.
- Added a new page for viewing shared CLI sessions with SSE support.
- Introduced hooks for fetching and managing CLI session shares.
- Enhanced the IssueTerminalTab component to handle share tokens and display active shares.
- Updated API routes to support fetching and revoking share tokens.
- Added unit tests for the CLI session share manager and rate limiter.
- Updated localization files to include new strings for sharing functionality.
This commit is contained in:
catlog22
2026-02-09 22:57:05 +08:00
parent 362f354f1c
commit d0cdee2e68
18 changed files with 748 additions and 23 deletions

View File

@@ -22,6 +22,7 @@ import { Card } from '@/components/ui/Card';
import { Badge } from '@/components/ui/Badge';
import { Button } from '@/components/ui/Button';
import { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem } from '@/components/ui/Dropdown';
import type { DraggableProvidedDragHandleProps, DraggableProvidedDraggableProps } from '@hello-pangea/dnd';
import type { Issue } from '@/lib/api';
// ========== Types ==========
@@ -35,8 +36,8 @@ export interface IssueCardProps {
className?: string;
compact?: boolean;
showActions?: boolean;
draggableProps?: Record<string, unknown>;
dragHandleProps?: Record<string, unknown>;
draggableProps?: DraggableProvidedDraggableProps;
dragHandleProps?: DraggableProvidedDragHandleProps | null;
innerRef?: React.Ref<HTMLDivElement>;
}