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
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ import {
import { PullRequestGlyph } from "../pull-requests/pullRequestGlyphs";
import { ModelEvaluationSettings } from "./ModelEvaluationSettings";
import { SkillsLibrarySettings } from "./SkillsLibrarySettings";
import { AutoSettleSettingsRows, ThreadSplitSettingsSection } from "./ThreadSettingsSections";
import { AutoSettleSettingsRows } from "./ThreadSettingsSections";
import { supportsSharedSettingsSync } from "@t3tools/client-runtime/state/shared-settings";
import { useHomeListOptions } from "../home/home-list-options";
import { useEnvironments } from "../../state/environments";
Expand Down Expand Up @@ -565,7 +565,6 @@ function ServerSettingsDetail(props: { readonly page: SettingsPage }) {
<SkillsLibrarySettings environment={target} />
</SettingsSection>
))}
<ThreadSplitSettingsSection />
<ModelEvaluationSettings />
</>
) : null}
Expand Down
44 changes: 0 additions & 44 deletions apps/mobile/src/features/settings/ThreadSettingsSections.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -393,47 +393,3 @@ function LegacySettingsSection() {
</View>
);
}

export function ThreadSplitSettingsSection() {
const { environments } = useEnvironments();
const connected = environments.filter(
(environment) => environment.connection.phase === "connected",
);
const writable = useEnvironmentsWithScope(connected, AuthSettingsWriteScope);
const updateSettings = useAtomCommand(serverEnvironment.updateSettings, {
label: "thread split suggestions setting",
reportFailure: true,
});
return (
<SettingsSection title="Thread suggestions">
{connected.map((environment) => {
const policy = environment.serverConfig?.managedPolicy;
const managed = isManagedSettingPath(policy, "threadSplitSuggestionsEnabled");
return (
<SettingsSwitchRow
key={environment.environmentId}
icon="square.and.pencil"
label={environment.label}
subtitle={
environment.serverConfig?.settings.threadSplitModelEndpoint
? "Suggest a fresh thread for an independent message. Nothing moves until you choose it."
: "Configure the local decision model in Labs on web or desktop first."
}
value={environment.serverConfig?.settings.threadSplitSuggestionsEnabled === true}
disabled={
managed ||
!writable.has(environment.environmentId) ||
!environment.serverConfig?.settings.threadSplitModelEndpoint
}
onValueChange={(value) =>
void updateSettings({
environmentId: environment.environmentId,
input: { patch: { threadSplitSuggestionsEnabled: value } },
})
}
/>
);
})}
</SettingsSection>
);
}
29 changes: 1 addition & 28 deletions apps/mobile/src/features/threads/ThreadComposer.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { groupParticipants, isGroupActive } from "@t3tools/client-runtime/state/thread-group";
import { orchestrationEnvironment } from "../../state/orchestration";
import { ThreadSplitSuggestion } from "./ThreadSplitSuggestion";
import { ProjectKnowledgeEntry } from "../../components/ProjectKnowledgeEntry";
import { useSidebarWorkspaceTabs } from "../layout/workspace/useSystemWorkspaceTabBar";
import { Button } from "../../components/ui/Button";
Expand Down Expand Up @@ -460,11 +459,7 @@ export const ThreadComposer = function ThreadComposer(props: ThreadComposerProps
const [previewVideo, setPreviewVideo] = useState<VideoPreviewSource | null>(null);
const composerOwnerKey = scopedThreadKey(props.environmentId, props.selectedThread.id);
const composerDraftKey = props.draftKey ?? composerOwnerKey;
const {
text: draftMessage,
attachments: draftAttachments,
context: draftContext,
} = useComposerDraft(composerDraftKey);
const { text: draftMessage, attachments: draftAttachments } = useComposerDraft(composerDraftKey);
const queuedEdit = props.queuedEdit ?? null;
const hasContent =
draftMessage.trim().length > 0 ||
Expand Down Expand Up @@ -931,28 +926,6 @@ export const ThreadComposer = function ThreadComposer(props: ThreadComposerProps
/>
) : null}

<ThreadSplitSuggestion
key={composerOwnerKey}
environmentId={props.environmentId}
threadId={props.selectedThread.id}
projectId={props.selectedThread.projectId}
draftKey={composerDraftKey}
message={draftMessage}
enabled={
props.serverConfig?.settings.threadSplitSuggestionsEnabled === true &&
Boolean(props.serverConfig.settings.threadSplitModelEndpoint) &&
!props.isDraft &&
!props.hidden &&
!props.activeThreadBusy &&
props.canOperateThread &&
props.connectionState === "connected" &&
props.queueCount === 0 &&
queuedEdit === null &&
draftAttachments.length === 0 &&
!draftContext
}
/>

<ComposerSurface
animateLayout={false}
style={{
Expand Down
108 changes: 0 additions & 108 deletions apps/mobile/src/features/threads/ThreadSplitSuggestion.test.tsx

This file was deleted.

108 changes: 0 additions & 108 deletions apps/mobile/src/features/threads/ThreadSplitSuggestion.tsx

This file was deleted.

1 change: 0 additions & 1 deletion apps/mobile/vite.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ const reactTests = [
"src/features/settings/components/BranchNamingSettings.test.tsx",
"src/features/settings/components/SettingsDragHandle.test.tsx",
"src/features/threads/ThreadMarkdownImage.test.tsx",
"src/features/threads/ThreadSplitSuggestion.test.tsx",
"src/components/ui/FilePreviewSession.test.tsx",
"src/features/threads/UsageLimitRecoveryCard.test.tsx",
"src/features/threads/PendingUserInputCard.test.tsx",
Expand Down
1 change: 0 additions & 1 deletion apps/server/src/observability/RpcInstrumentation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ type WsRpcMethod = RpcGroup.Rpcs<typeof WsRpcGroup>["_tag"];

// Trace queries and dashboards depend on these labels, including deviations from method prefixes.
const RPC_AGGREGATES = {
[WS_METHODS.orchestrationSuggestThreadSplit]: "orchestration",
[WS_METHODS.projectKnowledgeSearch]: "projectKnowledge",
[WS_METHODS.conversationSummariesList]: "conversationSummaries",
[WS_METHODS.conversationSummariesDescribe]: "conversationSummaries",
Expand Down
Loading
Loading