History

Normalize branch and model selection handling

- Deduplicate terminal IDs and favorite model slugs with trim-aware iteration - Use effect-based filtering for local branch and built-in model lists - Switch stable array handling to non-mutating `toSorted`

Julius Marminge committed 6 months ago

Commit 7793bd61 parent 7f03f4d8 files · +63 −23Browse files

Showing the changes to apps/mobile (1 of 8 files). Show all

Unified · Split

apps/mobile/src/features/threads/git/GitConfirmSheet.tsx+5−1
@@ -1,5 +1,7 @@
11 import { resolveDefaultBranchActionDialogCopy } from "@t3tools/client-runtime";
22 import { resolveAutoFeatureBranchName } from "@t3tools/shared/git";
3+import * as Arr from "effect/Array";
4+import * as Result from "effect/Result";
35 import { useLocalSearchParams, useRouter } from "expo-router";
46 import { useCallback, useMemo } from "react";
57 import { View } from "react-native";
@@ -74,7 +76,9 @@ export function GitConfirmSheet() { · 68 unmodified lines
7476 ? gitState.selectedThreadBranches
7577 : await gitActions.refreshSelectedThreadBranches();
7678 const newBranchName = resolveAutoFeatureBranchName(
77− branches.filter((branch) => !branch.isRemote).map((branch) => branch.name),
79+ Arr.filterMap(branches, (branch) =>
80+ branch.isRemote ? Result.failVoid : Result.succeed(branch.name),
81+ ),
7882 );
7983 await gitActions.onCreateSelectedThreadBranch(newBranchName);
8084 await gitActions.onRunSelectedThreadGitAction({ action: confirmAction });