Skip to content
Merged
Show file tree
Hide file tree
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
14 changes: 7 additions & 7 deletions ui/desktop/src/components/ChatInput.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ export default function ChatInput({
const queuePausedRef = useRef((() => {
// Load pause state from storage
try {
const stored = sessionStorage.getItem('goose-queue-paused');
const stored = window.sessionStorage.getItem('goose-queue-paused');
return stored ? JSON.parse(stored) : false;
} catch {
return false;
Expand All @@ -133,7 +133,7 @@ export default function ChatInput({
const [lastInterruption, setLastInterruption] = useState<string | null>(() => {
// Load interruption state from storage
try {
const stored = sessionStorage.getItem('goose-queue-interruption');
const stored = window.sessionStorage.getItem('goose-queue-interruption');
return stored ? JSON.parse(stored) : null;
} catch {
return null;
Expand Down Expand Up @@ -167,15 +167,15 @@ export default function ChatInput({
// Save queue state (paused/interrupted) to storage
useEffect(() => {
try {
sessionStorage.setItem('goose-queue-paused', JSON.stringify(queuePausedRef.current));
window.sessionStorage.setItem('goose-queue-paused', JSON.stringify(queuePausedRef.current));
} catch (error) {
console.error('Error saving queue pause state:', error);
}
}, [queuedMessages]); // Save when queue changes

useEffect(() => {
try {
sessionStorage.setItem('goose-queue-interruption', JSON.stringify(lastInterruption));
window.sessionStorage.setItem('goose-queue-interruption', JSON.stringify(lastInterruption));
} catch (error) {
console.error('Error saving queue interruption state:', error);
}
Expand All @@ -186,13 +186,13 @@ export default function ChatInput({
return () => {
// Save final queue state when component unmounts
try {
sessionStorage.setItem('goose-queue-paused', JSON.stringify(queuePausedRef.current));
sessionStorage.setItem('goose-queue-interruption', JSON.stringify(lastInterruption));
window.sessionStorage.setItem('goose-queue-paused', JSON.stringify(queuePausedRef.current));
window.sessionStorage.setItem('goose-queue-interruption', JSON.stringify(lastInterruption));
} catch (error) {
console.error('Error saving queue state on unmount:', error);
}
};
}, []); // Empty dependency array - only run on mount/unmount
}, [lastInterruption]); // Add lastInterruption dependency

// Queue processing
useEffect(() => {
Expand Down
2 changes: 1 addition & 1 deletion ui/desktop/src/components/dashboard/DashboardWidget.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ export function DashboardWidget({ widget, onMouseDown, isDragging, onReset }: Da
</Button>
</div>
<div className="space-y-1 flex-1 overflow-y-auto min-h-0">
{widget.data?.recentSessions?.slice(0, 5).map((session: any) => (
{widget.data?.recentSessions?.slice(0, 5).map((session: { id: string; metadata?: { description?: string }; modified: string }) => (
<div
key={session.id}
className="flex items-center justify-between text-xs py-1 px-1 rounded-md hover:bg-background-muted/50 cursor-pointer transition-colors"
Expand Down
4 changes: 2 additions & 2 deletions ui/desktop/src/components/hub.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ export default function Hub({
if (chatInputContainer) {
chatInputContainer.style.background = 'rgba(255, 255, 255, 0.05)';
chatInputContainer.style.backdropFilter = 'blur(20px)';
// @ts-ignore - webkitBackdropFilter is a valid CSS property
// @ts-expect-error - webkitBackdropFilter is a valid CSS property
chatInputContainer.style.webkitBackdropFilter = 'blur(20px)';
chatInputContainer.style.border = '1px solid rgba(255, 255, 255, 0.1)';
}
Expand All @@ -75,7 +75,7 @@ export default function Hub({
if (chatInputContainer) {
chatInputContainer.style.background = '';
chatInputContainer.style.backdropFilter = '';
// @ts-ignore - webkitBackdropFilter is a valid CSS property
// @ts-expect-error - webkitBackdropFilter is a valid CSS property
chatInputContainer.style.webkitBackdropFilter = '';
chatInputContainer.style.border = '';
}
Expand Down
4 changes: 2 additions & 2 deletions ui/desktop/src/components/pair.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ export default function Pair({
if (chatInputContainer) {
chatInputContainer.style.background = 'transparent';
chatInputContainer.style.backdropFilter = 'none';
// @ts-ignore - webkitBackdropFilter is a valid CSS property
// @ts-expect-error - webkitBackdropFilter is a valid CSS property
chatInputContainer.style.webkitBackdropFilter = 'none';
chatInputContainer.style.border = 'none';
}
Expand All @@ -85,7 +85,7 @@ export default function Pair({
if (chatInputContainer) {
chatInputContainer.style.background = '';
chatInputContainer.style.backdropFilter = '';
// @ts-ignore - webkitBackdropFilter is a valid CSS property
// @ts-expect-error - webkitBackdropFilter is a valid CSS property
chatInputContainer.style.webkitBackdropFilter = '';
chatInputContainer.style.border = '';
}
Expand Down
12 changes: 11 additions & 1 deletion ui/desktop/src/types/dashboard.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,17 @@ export interface WidgetData {
type: WidgetType;
position: WidgetPosition;
size: WidgetSize;
data?: any;
data?: {
totalSessions?: number;
totalTokens?: number;
recentSessions?: Array<{
id: string;
metadata?: { description?: string };
modified: string;
}>;
greeting?: string;
subtitle?: string;
};
title?: string;
}

Expand Down
6 changes: 3 additions & 3 deletions ui/desktop/src/utils/queueStorage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ const QUEUE_EXPIRY_HOURS = 24;
export class QueueStorage {
private static getStoredQueue(): QueuedMessage[] {
try {
const stored = sessionStorage.getItem(QUEUE_STORAGE_KEY);
const stored = window.sessionStorage.getItem(QUEUE_STORAGE_KEY);
if (!stored) return [];

const queue = JSON.parse(stored) as QueuedMessage[];
Expand All @@ -37,7 +37,7 @@ export class QueueStorage {

private static setStoredQueue(queue: QueuedMessage[]) {
try {
sessionStorage.setItem(QUEUE_STORAGE_KEY, JSON.stringify(queue));
window.sessionStorage.setItem(QUEUE_STORAGE_KEY, JSON.stringify(queue));
} catch (error) {
console.error('Error saving message queue:', error);
}
Expand Down Expand Up @@ -66,7 +66,7 @@ export class QueueStorage {
}

static clearQueue() {
sessionStorage.removeItem(QUEUE_STORAGE_KEY);
window.sessionStorage.removeItem(QUEUE_STORAGE_KEY);
}

static addMessage(message: QueuedMessage) {
Expand Down