Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
be33211
feat(desktop): redesign home as an inbox
thomaspblock Apr 14, 2026
d0c818d
feat(desktop): refine inbox signal and layout
thomaspblock Apr 29, 2026
e710571
Merge remote-tracking branch 'origin/main' into inbox
thomaspblock May 11, 2026
79fbade
feat(desktop): show inbox thread context
thomaspblock May 11, 2026
37625df
Merge origin/main into inbox
thomaspblock May 11, 2026
27b2be3
fix(desktop): simplify inbox header layout
thomaspblock May 11, 2026
7987a52
Merge remote-tracking branch 'origin/main' into inbox
thomaspblock May 11, 2026
fe2c930
fix(desktop): align inbox composer overlay
thomaspblock May 12, 2026
36afb5f
fix(desktop): make inbox category filters clickable
thomaspblock May 12, 2026
8a4579f
fix(desktop): soften inbox context highlight
thomaspblock May 13, 2026
4232bb2
fix(desktop): remove inbox list search field
thomaspblock May 13, 2026
b52964d
fix(desktop): target replies from inbox threads
thomaspblock May 13, 2026
50ccef6
fix(desktop): add inbox reactions and clean header
thomaspblock May 13, 2026
2a40105
fix(desktop): simplify inbox mention conversation view
thomaspblock May 13, 2026
c4d4c8f
Merge origin/main into inbox
thomaspblock May 14, 2026
2b53fb3
fix(desktop): polish Home inbox presentation
thomaspblock May 14, 2026
f6179b3
fix(desktop): strengthen Home inbox sender names
thomaspblock May 14, 2026
f765861
Merge remote-tracking branch 'origin/main' into inbox
thomaspblock May 14, 2026
14bc93c
fix(desktop): refine Home inbox filter pills
thomaspblock May 14, 2026
babfbe2
fix(desktop): make relay inbox tests seed their item
thomaspblock May 14, 2026
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
58 changes: 0 additions & 58 deletions desktop/src/app/routes/index.tsx
Original file line number Diff line number Diff line change
@@ -1,57 +1,14 @@
import { createFileRoute } from "@tanstack/react-router";

import { useAppNavigation } from "@/app/navigation/useAppNavigation";
import { useChannelsQuery } from "@/features/channels/hooks";
import type { FeedItem, SearchHit } from "@/shared/api/types";
import { useIdentityQuery } from "@/shared/api/hooks";
import { HomeScreen } from "@/features/home/ui/HomeScreen";
import {
KIND_FORUM_COMMENT,
KIND_FORUM_POST,
KIND_JOB_ACCEPTED,
KIND_JOB_CANCEL,
KIND_JOB_ERROR,
KIND_JOB_PROGRESS,
KIND_JOB_REQUEST,
KIND_JOB_RESULT,
KIND_STREAM_MESSAGE,
KIND_STREAM_MESSAGE_V2,
} from "@/shared/constants/kinds";

function canOpenFeedItemAsExactEvent(item: FeedItem) {
return (
item.kind === KIND_STREAM_MESSAGE ||
item.kind === KIND_STREAM_MESSAGE_V2 ||
item.kind === KIND_JOB_REQUEST ||
item.kind === KIND_JOB_ACCEPTED ||
item.kind === KIND_JOB_PROGRESS ||
item.kind === KIND_JOB_RESULT ||
item.kind === KIND_JOB_CANCEL ||
item.kind === KIND_JOB_ERROR ||
item.kind === KIND_FORUM_POST ||
item.kind === KIND_FORUM_COMMENT
);
}

function toFeedItemSearchHit(item: FeedItem): SearchHit {
return {
channelId: item.channelId,
channelName: item.channelName || null,
content: item.content,
createdAt: item.createdAt,
eventId: item.id,
kind: item.kind,
pubkey: item.pubkey,
score: 0,
};
}

export const Route = createFileRoute("/")({
component: HomeRouteComponent,
});

function HomeRouteComponent() {
const { goChannel, goPulse, openSearchHit } = useAppNavigation();
const channelsQuery = useChannelsQuery();
const identityQuery = useIdentityQuery();
const channels = channelsQuery.data ?? [];
Expand All @@ -61,21 +18,6 @@ function HomeRouteComponent() {
<HomeScreen
availableChannelIds={availableChannelIds}
currentPubkey={identityQuery.data?.pubkey}
onOpenFeedItem={(item) => {
if (!item.channelId) {
return;
}

if (canOpenFeedItemAsExactEvent(item)) {
void openSearchHit(toFeedItemSearchHit(item));
return;
}

void goChannel(item.channelId);
}}
onOpenPulse={() => {
void goPulse();
}}
/>
);
}
8 changes: 4 additions & 4 deletions desktop/src/features/chat/ui/ChatHeader.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {
FileText,
FolderGit2,
Hash,
Home,
House,
Lock,
Zap,
} from "lucide-react";
Expand All @@ -19,7 +19,7 @@ import { useSidebar } from "@/shared/ui/sidebar";
type ChatHeaderProps = {
actions?: React.ReactNode;
title: string;
description: string;
description?: string;
channelType?: ChannelType;
visibility?: ChannelVisibility;
mode?: "home" | "channel" | "agents" | "workflows" | "pulse" | "projects";
Expand All @@ -39,7 +39,7 @@ function ChannelIcon({
mode?: "home" | "channel" | "agents" | "workflows" | "pulse" | "projects";
}) {
if (mode === "home") {
return <Home className={HEADER_ICON_CLASS} />;
return <House className={HEADER_ICON_CLASS} />;
}

if (mode === "agents") {
Expand Down Expand Up @@ -83,7 +83,7 @@ export function ChatHeader({
overlaysContent = false,
statusBadge,
}: ChatHeaderProps) {
const trimmedDescription = description.trim();
const trimmedDescription = description?.trim() ?? "";
const { state: sidebarState } = useSidebar();
const reserveGlobalControls = sidebarState === "collapsed";

Expand Down
Loading
Loading