From 0e6756efd8f619d70f53c8274a747398778a7e92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Igor=20=C5=A0=C4=87eki=C4=87?= Date: Tue, 25 Aug 2026 03:15:28 +0200 Subject: [PATCH 01/13] feat(mobile): add kilo remote hint and PR review footer --- .../agents/new-session-configure-form.test.ts | 21 ++++ .../agents/new-session-configure-form.tsx | 4 + .../pr-review-pending-comment-row.tsx | 18 ++- .../pr-review/pr-review-submit.test.tsx | 55 +++++++++ .../components/pr-review/pr-review-submit.tsx | 41 +++++-- .../src/components/preferences-screen.tsx | 23 +++- apps/mobile/src/i18n/locales/af.json | 3 + apps/mobile/src/i18n/locales/am.json | 3 + apps/mobile/src/i18n/locales/ar.json | 3 + apps/mobile/src/i18n/locales/az.json | 3 + apps/mobile/src/i18n/locales/be.json | 3 + apps/mobile/src/i18n/locales/bg.json | 3 + apps/mobile/src/i18n/locales/bn.json | 3 + apps/mobile/src/i18n/locales/bs.json | 3 + apps/mobile/src/i18n/locales/ca.json | 3 + apps/mobile/src/i18n/locales/ckb.json | 3 + apps/mobile/src/i18n/locales/cs.json | 3 + apps/mobile/src/i18n/locales/cy.json | 3 + apps/mobile/src/i18n/locales/da.json | 3 + apps/mobile/src/i18n/locales/de.json | 3 + apps/mobile/src/i18n/locales/el.json | 3 + apps/mobile/src/i18n/locales/en.json | 5 +- apps/mobile/src/i18n/locales/es.json | 3 + apps/mobile/src/i18n/locales/et.json | 3 + apps/mobile/src/i18n/locales/eu.json | 3 + apps/mobile/src/i18n/locales/fa.json | 3 + apps/mobile/src/i18n/locales/fi.json | 3 + apps/mobile/src/i18n/locales/fil.json | 3 + apps/mobile/src/i18n/locales/fr.json | 3 + apps/mobile/src/i18n/locales/ga.json | 3 + apps/mobile/src/i18n/locales/gl.json | 3 + apps/mobile/src/i18n/locales/gu.json | 3 + apps/mobile/src/i18n/locales/ha.json | 3 + apps/mobile/src/i18n/locales/he.json | 3 + apps/mobile/src/i18n/locales/hi.json | 3 + apps/mobile/src/i18n/locales/hr.json | 3 + apps/mobile/src/i18n/locales/ht.json | 3 + apps/mobile/src/i18n/locales/hu.json | 3 + apps/mobile/src/i18n/locales/hy.json | 3 + apps/mobile/src/i18n/locales/id.json | 3 + apps/mobile/src/i18n/locales/ig.json | 3 + apps/mobile/src/i18n/locales/is.json | 3 + apps/mobile/src/i18n/locales/it.json | 3 + apps/mobile/src/i18n/locales/ja.json | 3 + apps/mobile/src/i18n/locales/ka.json | 3 + apps/mobile/src/i18n/locales/kk.json | 3 + apps/mobile/src/i18n/locales/km.json | 3 + apps/mobile/src/i18n/locales/kn.json | 3 + apps/mobile/src/i18n/locales/ko.json | 3 + apps/mobile/src/i18n/locales/lo.json | 3 + apps/mobile/src/i18n/locales/lt.json | 3 + apps/mobile/src/i18n/locales/lv.json | 3 + apps/mobile/src/i18n/locales/mg.json | 3 + apps/mobile/src/i18n/locales/mi.json | 3 + apps/mobile/src/i18n/locales/mk.json | 3 + apps/mobile/src/i18n/locales/ml.json | 3 + apps/mobile/src/i18n/locales/mn.json | 3 + apps/mobile/src/i18n/locales/mr.json | 3 + apps/mobile/src/i18n/locales/ms.json | 3 + apps/mobile/src/i18n/locales/mt.json | 3 + apps/mobile/src/i18n/locales/my.json | 3 + apps/mobile/src/i18n/locales/nb.json | 3 + apps/mobile/src/i18n/locales/ne.json | 3 + apps/mobile/src/i18n/locales/nl.json | 3 + apps/mobile/src/i18n/locales/om.json | 3 + apps/mobile/src/i18n/locales/or.json | 3 + apps/mobile/src/i18n/locales/pa.json | 3 + apps/mobile/src/i18n/locales/pl.json | 3 + apps/mobile/src/i18n/locales/ps.json | 3 + apps/mobile/src/i18n/locales/pt-BR.json | 3 + apps/mobile/src/i18n/locales/pt.json | 3 + apps/mobile/src/i18n/locales/ro.json | 3 + apps/mobile/src/i18n/locales/ru.json | 3 + apps/mobile/src/i18n/locales/si.json | 3 + apps/mobile/src/i18n/locales/sk.json | 3 + apps/mobile/src/i18n/locales/sl.json | 3 + apps/mobile/src/i18n/locales/so.json | 3 + apps/mobile/src/i18n/locales/sq.json | 3 + apps/mobile/src/i18n/locales/sr.json | 3 + apps/mobile/src/i18n/locales/sv.json | 3 + apps/mobile/src/i18n/locales/sw.json | 3 + apps/mobile/src/i18n/locales/ta.json | 3 + apps/mobile/src/i18n/locales/te.json | 3 + apps/mobile/src/i18n/locales/th.json | 3 + apps/mobile/src/i18n/locales/tr.json | 3 + apps/mobile/src/i18n/locales/uk.json | 3 + apps/mobile/src/i18n/locales/ur.json | 3 + apps/mobile/src/i18n/locales/uz.json | 3 + apps/mobile/src/i18n/locales/vi.json | 3 + apps/mobile/src/i18n/locales/yo.json | 3 + apps/mobile/src/i18n/locales/zh-Hans.json | 3 + apps/mobile/src/i18n/locales/zh-Hant.json | 3 + apps/mobile/src/i18n/locales/zu.json | 3 + .../mobile/src/lib/auth/auth-context.test.tsx | 15 ++- apps/mobile/src/lib/auth/auth-context.tsx | 2 + .../use-pr-review-footer-preference.test.ts | 112 ++++++++++++++++++ .../hooks/use-pr-review-footer-preference.ts | 34 ++++++ .../src/lib/pr-review/review-footer.test.ts | 24 ++++ .../mobile/src/lib/pr-review/review-footer.ts | 14 +++ apps/mobile/src/lib/storage-keys.ts | 1 + 100 files changed, 607 insertions(+), 20 deletions(-) create mode 100644 apps/mobile/src/lib/hooks/use-pr-review-footer-preference.test.ts create mode 100644 apps/mobile/src/lib/hooks/use-pr-review-footer-preference.ts create mode 100644 apps/mobile/src/lib/pr-review/review-footer.test.ts create mode 100644 apps/mobile/src/lib/pr-review/review-footer.ts diff --git a/apps/mobile/src/components/agents/new-session-configure-form.test.ts b/apps/mobile/src/components/agents/new-session-configure-form.test.ts index 48aefec66a..5045985487 100644 --- a/apps/mobile/src/components/agents/new-session-configure-form.test.ts +++ b/apps/mobile/src/components/agents/new-session-configure-form.test.ts @@ -548,4 +548,25 @@ describe('NewSessionConfigureForm', () => { expect(findElementByType(element, 'SegmentedControl')).toBeNull(); expect(findTextContent(element, t => t === 'Changes')).toBe(false); }); + + // ── Case 12: kilo remote hint ── + it('renders the kilo remote hint for both cloud and remote targets', async () => { + const { NewSessionConfigureForm } = await import('./new-session-configure-form'); + + // eslint-disable-next-line new-cap -- plain function call, matching repo test convention + const cloud = NewSessionConfigureForm({ + ...defaultProps(), + runOnInstance: null, + showRunOnSelector: true, + }) as Node; + expect(findTextContent(cloud, t => t.includes('kilo remote'))).toBe(true); + + // eslint-disable-next-line new-cap -- plain function call, matching repo test convention + const remote = NewSessionConfigureForm({ + ...defaultProps(), + runOnInstance: INSTANCE, + showRunOnSelector: false, + }) as Node; + expect(findTextContent(remote, t => t.includes('kilo remote'))).toBe(true); + }); }); diff --git a/apps/mobile/src/components/agents/new-session-configure-form.tsx b/apps/mobile/src/components/agents/new-session-configure-form.tsx index 7652de02ea..f5677b4c9c 100644 --- a/apps/mobile/src/components/agents/new-session-configure-form.tsx +++ b/apps/mobile/src/components/agents/new-session-configure-form.tsx @@ -252,6 +252,10 @@ export function NewSessionConfigureForm({ {runTargetBlock} + + {t('agentChat.newSession.remoteHint')} + + {showInstanceDisconnectedNote ? ( {remoteSpawnInstanceDisconnectedNote()} diff --git a/apps/mobile/src/components/pr-review/pr-review-pending-comment-row.tsx b/apps/mobile/src/components/pr-review/pr-review-pending-comment-row.tsx index d011b952f2..180bda2726 100644 --- a/apps/mobile/src/components/pr-review/pr-review-pending-comment-row.tsx +++ b/apps/mobile/src/components/pr-review/pr-review-pending-comment-row.tsx @@ -2,7 +2,7 @@ // location label, 2-line body excerpt, trash → confirm-delete, and a // pressable body that opens the comment composer in edit mode. -import { type RefObject } from 'react'; +import { type RefObject, useRef } from 'react'; import { useTranslation } from 'react-i18next'; import { Trash2 } from '@/components/ui/icons'; import { Pressable, TextInput, View } from 'react-native'; @@ -138,19 +138,25 @@ export function ReviewSummaryField({ inputRef, isDisabled, onChange, + defaultValue = '', }: { bodyRef: RefObject; inputRef: RefObject; isDisabled: boolean; onChange: () => void; + /** Initial summary content (e.g. the attribution footer). Empty by default. */ + defaultValue?: string; }) { const colors = useThemeColors(); const { t } = useTranslation(); const keyboardVisible = useFormSheetKeyboardVisible(); + // Place the caret at the start of a prefilled summary once, so the user + // begins editing at the top instead of after the footer. + const placedCaretRef = useRef(false); return ( { + if (!placedCaretRef.current && defaultValue.length > 0) { + placedCaretRef.current = true; + inputRef.current?.setNativeProps({ selection: { start: 0, end: 0 } }); + } + }} multiline textAlignVertical="top" // Compact so half-detent and keyboard-open keep footer CTAs at y=0. className={cn( 'rounded-md border border-input bg-background px-3 py-2 text-sm leading-5 text-foreground', 'focus:border-ring', - keyboardVisible ? 'max-h-16 min-h-12' : 'min-h-14 max-h-24' + keyboardVisible ? 'max-h-16 min-h-12' : 'min-h-14 max-h-32' )} /> ); diff --git a/apps/mobile/src/components/pr-review/pr-review-submit.test.tsx b/apps/mobile/src/components/pr-review/pr-review-submit.test.tsx index 51421b73be..e7db25ebab 100644 --- a/apps/mobile/src/components/pr-review/pr-review-submit.test.tsx +++ b/apps/mobile/src/components/pr-review/pr-review-submit.test.tsx @@ -22,6 +22,15 @@ vi.mock('@/lib/pr-review/use-pr-review-mutations', () => ({ }), })); +const footerPreferenceMock = vi.hoisted(() => ({ + hasLoaded: true, + prReviewFooter: false, +})); + +vi.mock('@/lib/hooks/use-pr-review-footer-preference', () => ({ + usePrReviewFooterPreference: () => footerPreferenceMock, +})); + vi.mock('@/components/pr-review/discussion/reply-input', () => ({ ensureTermsAcceptedOutcome: vi.fn(async () => ({ kind: 'accepted' as const })), })); @@ -58,6 +67,7 @@ vi.mock('expo-router', () => ({ vi.mock('react-native', () => ({ Alert: { alert: vi.fn() }, Keyboard: { addListener: () => ({ remove: vi.fn() }) }, + Platform: { OS: 'ios' }, ScrollView: 'ScrollView', TextInput: 'TextInput', View: 'View', @@ -73,6 +83,7 @@ vi.mock('@/components/pr-review/review-event-chips', () => ({ })); vi.mock('@/components/ui/button', () => ({ Button: 'Button' })); vi.mock('@/components/ui/accessible-status', () => ({ AccessibleStatus: 'AccessibleStatus' })); +vi.mock('@/components/ui/skeleton', () => ({ Skeleton: 'Skeleton' })); vi.mock('@/components/ui/text', () => ({ Text: 'Text' })); vi.mock('@/components/pr-review/pr-review-pending-comment-row', () => ({ focusAfterPendingCommentRemoval: vi.fn(), @@ -164,11 +175,29 @@ function submitOnPress(renderer: TestRenderer.ReactTestRenderer): () => void { return button.props.onPress as () => void; } +function findSubmitButton(renderer: TestRenderer.ReactTestRenderer): Record { + const button = renderer.root.findAll(node => Object.hasOwn(node.props, 'loading'))[0]; + if (!button) { + throw new Error('Submit button not found'); + } + return button.props as Record; +} + +function findSummaryField(renderer: TestRenderer.ReactTestRenderer): Record { + const summary = renderer.root.findAll(node => Object.hasOwn(node.props, 'defaultValue'))[0]; + if (!summary) { + throw new Error('Summary field not found'); + } + return summary.props as Record; +} + beforeEach(() => { latestItems = []; addCommentFn = null; submitMutationMock.mutateAsync.mockReset(); submitMutationMock.mutateAsync.mockResolvedValue(undefined); + footerPreferenceMock.hasLoaded = true; + footerPreferenceMock.prReviewFooter = false; }); describe('PrReviewSubmit queue retention', () => { @@ -213,3 +242,29 @@ describe('PrReviewSubmit queue retention', () => { expect(latestItems.map(item => item.id)).toEqual(['stale-c']); }); }); + +describe('PrReviewSubmit footer preference', () => { + it('prefills the platform footer and enables submit when the setting is on', () => { + footerPreferenceMock.prReviewFooter = true; + const renderer = mount(); + + expect(findSummaryField(renderer).defaultValue).toBe( + '\n\n---\nReviewed via the [Kilo iOS app](https://apps.apple.com/app/id6761193135)' + ); + + // hasSummary was set from the prefilled footer, so a comment review with no + // queued comments is not blocked: the submit button is enabled. + expect(findSubmitButton(renderer).disabled).toBe(false); + }); + + it('leaves the body empty and blocks submit when the setting is off', () => { + footerPreferenceMock.prReviewFooter = false; + const renderer = mount(); + + expect(findSummaryField(renderer).defaultValue).toBe(''); + + // No prefilled footer and no queued comments: the comment review is + // blocked, so the submit button is disabled. + expect(findSubmitButton(renderer).disabled).toBe(true); + }); +}); diff --git a/apps/mobile/src/components/pr-review/pr-review-submit.tsx b/apps/mobile/src/components/pr-review/pr-review-submit.tsx index 168afa9632..6164561fb8 100644 --- a/apps/mobile/src/components/pr-review/pr-review-submit.tsx +++ b/apps/mobile/src/components/pr-review/pr-review-submit.tsx @@ -12,7 +12,7 @@ import * as Haptics from 'expo-haptics'; import { type Href, useRouter } from 'expo-router'; import { type ReactNode, useEffect, useRef, useState } from 'react'; import { useTranslation } from 'react-i18next'; -import { Alert, Keyboard, ScrollView, type TextInput, View } from 'react-native'; +import { Alert, Keyboard, Platform, ScrollView, type TextInput, View } from 'react-native'; import { PrFormSheetFooter, @@ -22,6 +22,7 @@ import { import { ReviewEventChips } from '@/components/pr-review/review-event-chips'; import { Button } from '@/components/ui/button'; import { AccessibleStatus } from '@/components/ui/accessible-status'; +import { Skeleton } from '@/components/ui/skeleton'; import { Text } from '@/components/ui/text'; import { focusAfterPendingCommentRemoval, @@ -42,6 +43,8 @@ import { mutationErrorDisplay } from '@/lib/pr-review/mutation-error-display'; import { type PendingReviewItem, usePendingReview } from '@/lib/pr-review/pending-review-provider'; import { partitionPendingItems } from '@/lib/pr-review/partition-pending-items'; import { useSubmitReviewMutation } from '@/lib/pr-review/use-pr-review-mutations'; +import { usePrReviewFooterPreference } from '@/lib/hooks/use-pr-review-footer-preference'; +import { buildReviewFooter } from '@/lib/pr-review/review-footer'; import { selectPartialSubmitMessage, selectSubmitCtaLabel, @@ -65,6 +68,7 @@ export function PrReviewSubmit(props: PrReviewSubmitProps) { const pending = usePendingReview(); const { t } = useTranslation(); const submitReview = useSubmitReviewMutation({ owner, repo, number }); + const { prReviewFooter, hasLoaded: prReviewFooterLoaded } = usePrReviewFooterPreference(); const [event, setEvent] = useState('COMMENT'); const [hasSummary, setHasSummary] = useState(false); @@ -78,6 +82,18 @@ export function PrReviewSubmit(props: PrReviewSubmitProps) { const bodyInputRef = useRef(null); const scrollRef = useRef(null); + // Seed the summary refs from the default-on footer preference once it + // resolves, before the summary field mounts, so a prefilled footer survives + // the async load without flashing an empty input. + const footerSeededRef = useRef(false); + const initialFooter = + prReviewFooterLoaded && prReviewFooter ? buildReviewFooter(Platform.OS) : ''; + if (prReviewFooterLoaded && !footerSeededRef.current) { + footerSeededRef.current = true; + bodyRef.current = initialFooter; + setHasSummary(initialFooter.trim().length > 0); + } + const isSubmitting = submitReview.isPending; const queuedCount = pending.items.length; const { fresh, stale } = partitionPendingItems(pending.items, headSha); @@ -266,15 +282,20 @@ export function PrReviewSubmit(props: PrReviewSubmitProps) { {t('prReview.submit.summaryOptional')} - { - setHasSummary(bodyRef.current.trim().length > 0); - clearRecoverableError(); - }} - /> + {prReviewFooterLoaded ? ( + { + setHasSummary(bodyRef.current.trim().length > 0); + clearRecoverableError(); + }} + /> + ) : ( + + )} diff --git a/apps/mobile/src/components/preferences-screen.tsx b/apps/mobile/src/components/preferences-screen.tsx index f7a642f20b..4e098c6f4f 100644 --- a/apps/mobile/src/components/preferences-screen.tsx +++ b/apps/mobile/src/components/preferences-screen.tsx @@ -1,5 +1,12 @@ import { type Href, useRouter } from 'expo-router'; -import { Bell, Brain, Globe, type LucideIcon, Smartphone } from '@/components/ui/icons'; +import { + Bell, + Brain, + Globe, + type LucideIcon, + MessageSquare, + Smartphone, +} from '@/components/ui/icons'; import { useState } from 'react'; import { Switch, View } from 'react-native'; import { useTranslation } from 'react-i18next'; @@ -14,6 +21,7 @@ import { attemptPushRegistrationReconciliation } from '@/lib/auth/push-registrat import { useCurrentUserId } from '@/lib/hooks/use-current-user-id'; import { getResolvedLanguage, useLanguagePreference } from '@/lib/hooks/use-language-preference'; import { useKeepScreenOnPreference } from '@/lib/hooks/use-keep-screen-on-preference'; +import { usePrReviewFooterPreference } from '@/lib/hooks/use-pr-review-footer-preference'; import { useReasoningPreference } from '@/lib/hooks/use-reasoning-preference'; import { cn } from '@/lib/utils'; import { LANGUAGE_ENDONYMS } from '@/i18n/languages'; @@ -80,6 +88,11 @@ export function PreferencesScreen() { hasLoaded: keepScreenOnLoaded, setKeepScreenOn, } = useKeepScreenOnPreference(); + const { + prReviewFooter, + hasLoaded: prReviewFooterLoaded, + setPrReviewFooter, + } = usePrReviewFooterPreference(); const { t } = useTranslation(); const { userId } = useCurrentUserId(); const { preference: languagePreference } = useLanguagePreference(); @@ -114,6 +127,14 @@ export function PreferencesScreen() { disabled={!keepScreenOnLoaded} onValueChange={setKeepScreenOn} /> + {/* Appearance */} diff --git a/apps/mobile/src/i18n/locales/af.json b/apps/mobile/src/i18n/locales/af.json index 98adababe4..fbe5fb96f9 100644 --- a/apps/mobile/src/i18n/locales/af.json +++ b/apps/mobile/src/i18n/locales/af.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Wys die agent se denke uitgevou wanneer dit klaarmaak.", "keepScreenOn": "Hou skerm aan op sessiebladsy", "keepScreenOnSubtitle": "Hou die skerm wakker terwyl die sessie werk.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Voorkoms", "notifications": "Kennisgewings", "notificationsSubtitle": "Drukvoorkeure", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub gekoppel", "noRepositoriesVisible": "Geen bewaarplekke sigbaar nie. Kontroleer bewaarplektoegang vir die Kilo GitHub App, en verfris dan.", "runOnWithTarget": "Loop op: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Omgewing", "couldNotLoadEnvironment": "Kon jou omgewing nie laai nie", "retryLoadingEnvironment": "Probeer omgewing weer laai", diff --git a/apps/mobile/src/i18n/locales/am.json b/apps/mobile/src/i18n/locales/am.json index 05c5f03a07..d269fabd19 100644 --- a/apps/mobile/src/i18n/locales/am.json +++ b/apps/mobile/src/i18n/locales/am.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "ወኪሉ ሲጨርስ የወኪሉን አስተሳሰብ በሰፊው አሳይ።", "keepScreenOn": "በክፍለ ጊዜ ገጽ ላይ ሲሆኑ ስክሪኑን አብራ", "keepScreenOnSubtitle": "ክፍለ ጊዜው በሚሰራበት ጊዜ ስክሪኑን ነቅቶ ያዝ።", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "መልክ", "notifications": "ማሳወቂያዎች", "notificationsSubtitle": "የግፋ ምርጫዎች", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub ተገናኝቷል", "noRepositoriesVisible": "ምንም ማከማቻዎች አይታዩም። የKilo GitHub Appን የማከማቻ መዳረሻ ይፈትሹ፣ ከዚያ ያድሱ።", "runOnWithTarget": "በርቷል ላይ ያሂዱ: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "አካባቢ", "couldNotLoadEnvironment": "አካባቢዎን ማግኘት አልተቻለም", "retryLoadingEnvironment": "አካባቢን መጫን እንደገና ይሞክሩ", diff --git a/apps/mobile/src/i18n/locales/ar.json b/apps/mobile/src/i18n/locales/ar.json index c11f46ec3f..7e44bdbd50 100644 --- a/apps/mobile/src/i18n/locales/ar.json +++ b/apps/mobile/src/i18n/locales/ar.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "إظهار تفكير الوكيل موسّعًا عند انتهائه.", "keepScreenOn": "إبقاء الشاشة مضاءة أثناء صفحة الجلسة", "keepScreenOnSubtitle": "إبقاء الشاشة مستيقظة أثناء عمل الجلسة.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "المظهر", "notifications": "الإشعارات", "notificationsSubtitle": "تفضيلات الإشعارات الفورية", @@ -1420,6 +1422,7 @@ "githubConnected": "تم ربط GitHub", "noRepositoriesVisible": "لا توجد مستودعات مرئية. تحقق من وصول المستودع لتطبيق Kilo GitHub، ثم حدّث.", "runOnWithTarget": "التشغيل على: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "البيئة", "couldNotLoadEnvironment": "تعذّر تحميل بيئتك", "retryLoadingEnvironment": "إعادة محاولة تحميل البيئة", diff --git a/apps/mobile/src/i18n/locales/az.json b/apps/mobile/src/i18n/locales/az.json index 3eac3e5dce..6cec97f6f5 100644 --- a/apps/mobile/src/i18n/locales/az.json +++ b/apps/mobile/src/i18n/locales/az.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Bitəndə agentin düşüncəsini genişləndirilmiş göstər.", "keepScreenOn": "Sessiya səhifəsində ikən ekranı açıq saxla", "keepScreenOnSubtitle": "Sessiya işləyərkən ekranı oyaq saxla.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Görünüş", "notifications": "Bildirişlər", "notificationsSubtitle": "Push seçimləri", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub qoşuldu", "noRepositoriesVisible": "Görünən repozitoriya yoxdur. Kilo GitHub App üçün repozitoriya girişini yoxlayın, sonra yeniləyin.", "runOnWithTarget": "İşə salın: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Mühit", "couldNotLoadEnvironment": "Mühitiniz yüklənə bilmədi", "retryLoadingEnvironment": "Mühiti yükləməyi yenidən cəhd et", diff --git a/apps/mobile/src/i18n/locales/be.json b/apps/mobile/src/i18n/locales/be.json index e671cb850e..557d0157fa 100644 --- a/apps/mobile/src/i18n/locales/be.json +++ b/apps/mobile/src/i18n/locales/be.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Паказваць развагі агента разгорнутымі, калі ён скончыць.", "keepScreenOn": "Трымаць экран уключаным на старонцы сесіі", "keepScreenOnSubtitle": "Трымаць экран уключаным, пакуль сесія працуе.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Знешні выгляд", "notifications": "Апавяшчэнні", "notificationsSubtitle": "Налады push-паведамленняў", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub падключаны", "noRepositoriesVisible": "Няма бачных рэпазіторыяў. Праверце доступ да рэпазіторыяў для Kilo GitHub App, затым абнавіце.", "runOnWithTarget": "Запуск на: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Асяроддзе", "couldNotLoadEnvironment": "Не атрымалася загрузіць ваша асяроддзе", "retryLoadingEnvironment": "Паўтарыць загрузку асяроддзя", diff --git a/apps/mobile/src/i18n/locales/bg.json b/apps/mobile/src/i18n/locales/bg.json index ba51d2ede7..7bf1fe3533 100644 --- a/apps/mobile/src/i18n/locales/bg.json +++ b/apps/mobile/src/i18n/locales/bg.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Показвай мисленето на агента разгънато, когато приключи.", "keepScreenOn": "Дръж екрана включен на страницата на сесията", "keepScreenOnSubtitle": "Дръж екрана буден, докато сесията работи.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Изглед", "notifications": "Известия", "notificationsSubtitle": "Предпочитания за push известия", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub е свързан", "noRepositoriesVisible": "Няма видими хранилища. Провери достъпа до хранилищата за Kilo GitHub App, след което опресни.", "runOnWithTarget": "Изпълни в: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Среда", "couldNotLoadEnvironment": "Не можа да се зареди твоята среда", "retryLoadingEnvironment": "Опитай отново да заредиш средата", diff --git a/apps/mobile/src/i18n/locales/bn.json b/apps/mobile/src/i18n/locales/bn.json index f3abba96c6..1d740de2c3 100644 --- a/apps/mobile/src/i18n/locales/bn.json +++ b/apps/mobile/src/i18n/locales/bn.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "শেষ হলে এজেন্টের চিন্তাভাবনা প্রসারিত দেখান।", "keepScreenOn": "সেশন পেজে থাকাকালীন স্ক্রিন চালু রাখুন", "keepScreenOnSubtitle": "সেশন কাজ করার সময় স্ক্রিন জাগ্রত রাখুন।", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "চেহারা", "notifications": "বিজ্ঞপ্তি", "notificationsSubtitle": "পুশ পছন্দ", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub সংযুক্ত", "noRepositoriesVisible": "কোনো রিপোজিটরি দৃশ্যমান নেই। কিলো GitHub অ্যাপের জন্য রিপোজিটরি অ্যাক্সেস পরীক্ষা করুন, তারপর রিফ্রেশ করুন।", "runOnWithTarget": "চলবে: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "পরিবেশ", "couldNotLoadEnvironment": "আপনার পরিবেশ লোড করা যায়নি", "retryLoadingEnvironment": "পরিবেশ লোড আবার চেষ্টা করুন", diff --git a/apps/mobile/src/i18n/locales/bs.json b/apps/mobile/src/i18n/locales/bs.json index 9e5aef7dc0..eef05994de 100644 --- a/apps/mobile/src/i18n/locales/bs.json +++ b/apps/mobile/src/i18n/locales/bs.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Prikaži agentovo razmišljanje prošireno kada završi.", "keepScreenOn": "Zadrži ekran uključen na stranici sesije", "keepScreenOnSubtitle": "Održavaj ekran budnim dok sesija radi.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Izgled", "notifications": "Obavijesti", "notificationsSubtitle": "Postavke push obavijesti", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub povezan", "noRepositoriesVisible": "Nijedan repozitorij nije vidljiv. Provjerite pristup repozitoriju za Kilo GitHub aplikaciju, zatim osvježite.", "runOnWithTarget": "Pokreni na: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Okruženje", "couldNotLoadEnvironment": "Nije moguće učitati vaše okruženje", "retryLoadingEnvironment": "Pokušaj ponovo učitati okruženje", diff --git a/apps/mobile/src/i18n/locales/ca.json b/apps/mobile/src/i18n/locales/ca.json index 9a5ef2787b..784ac738bf 100644 --- a/apps/mobile/src/i18n/locales/ca.json +++ b/apps/mobile/src/i18n/locales/ca.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Mostra el raonament de l'agent ampliat quan acaba.", "keepScreenOn": "Mantén la pantalla encesa a la pàgina de sessió", "keepScreenOnSubtitle": "Mantén la pantalla activa mentre la sessió treballa.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Aparença", "notifications": "Notificacions", "notificationsSubtitle": "Preferències de notificacions push", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub connectat", "noRepositoriesVisible": "No es veu cap repositori. Comprova l'accés als repositoris de l'aplicació de GitHub de Kilo i actualitza.", "runOnWithTarget": "Executa a: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Entorn", "couldNotLoadEnvironment": "No s'ha pogut carregar el teu entorn", "retryLoadingEnvironment": "Torna a provar de carregar l'entorn", diff --git a/apps/mobile/src/i18n/locales/ckb.json b/apps/mobile/src/i18n/locales/ckb.json index 0632e82497..3c2deb03f1 100644 --- a/apps/mobile/src/i18n/locales/ckb.json +++ b/apps/mobile/src/i18n/locales/ckb.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "بیرکردنەوەی ئەجێنتەکە پیشان بدە کە کاتێک تەواو دەبێت فراوان کراوە.", "keepScreenOn": "شاشەکە بەردەوام ڕاگرە لە پەڕەی دانیشتن", "keepScreenOnSubtitle": "شاشەکە بەخەبەر ڕابگرە کاتێک دانیشتنەکە کار دەکات.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "ڕووکار", "notifications": "ئاگادارکردنەوەکان", "notificationsSubtitle": "پەسەندەکانی پاڵدان", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub بەسترایەوە", "noRepositoriesVisible": "هیچ کۆگایەک نەبینراوە. دەستپێگەیشتنی کۆگای GitHub Appی Kilo بپشکنە، پاشان نوێ بکەرەوە.", "runOnWithTarget": "جێبەجێ بکە لەسەر: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "ژینگە", "couldNotLoadEnvironment": "نەتوانرا ژینگەکەت بار بکرێت", "retryLoadingEnvironment": "هەوڵدانەوەی بارکردنی ژینگە", diff --git a/apps/mobile/src/i18n/locales/cs.json b/apps/mobile/src/i18n/locales/cs.json index e9beb44c9c..8489fccbfc 100644 --- a/apps/mobile/src/i18n/locales/cs.json +++ b/apps/mobile/src/i18n/locales/cs.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Po dokončení zobrazí rozbalené myšlení agenta.", "keepScreenOn": "Udržet obrazovku zapnutou na stránce relace", "keepScreenOnSubtitle": "Udržuje obrazovku zapnutou, dokud relace pracuje.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Vzhled", "notifications": "Oznámení", "notificationsSubtitle": "Předvolby push", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub připojen", "noRepositoriesVisible": "Žádné repozitáře nejsou viditelné. Zkontrolujte přístup k repozitářům pro aplikaci Kilo GitHub a pak obnovte.", "runOnWithTarget": "Spustit na: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Prostředí", "couldNotLoadEnvironment": "Vaše prostředí se nepodařilo načíst", "retryLoadingEnvironment": "Opakovat načtení prostředí", diff --git a/apps/mobile/src/i18n/locales/cy.json b/apps/mobile/src/i18n/locales/cy.json index 5885a89732..d436cdb6ab 100644 --- a/apps/mobile/src/i18n/locales/cy.json +++ b/apps/mobile/src/i18n/locales/cy.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Dangos meddwl yr asiant wedi'i ehangu pan fydd yn gorffen.", "keepScreenOn": "Cadw'r sgrin ymlaen ar dudalen y sesiwn", "keepScreenOnSubtitle": "Cadw'r sgrin yn effro tra bydd y sesiwn yn gweithio.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Ymddangosiad", "notifications": "Hysbysiadau", "notificationsSubtitle": "Dewisiadau gwthio", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub wedi'i gysylltu", "noRepositoriesVisible": "Dim ystorfeydd i'w gweld. Gwiriwch fynediad ystorfa ar gyfer Ap GitHub Kilo, yna adnewyddwch.", "runOnWithTarget": "Rhedeg ar: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Amgylchedd", "couldNotLoadEnvironment": "Methwyd llwytho'ch amgylchedd", "retryLoadingEnvironment": "Ailgeisio llwytho'r amgylchedd", diff --git a/apps/mobile/src/i18n/locales/da.json b/apps/mobile/src/i18n/locales/da.json index 7f387012fb..a4609ecccd 100644 --- a/apps/mobile/src/i18n/locales/da.json +++ b/apps/mobile/src/i18n/locales/da.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Vis agentens tænkning udvidet, når den er færdig.", "keepScreenOn": "Hold skærmen tændt på sessionssiden", "keepScreenOnSubtitle": "Hold skærmen vågen, mens sessionen arbejder.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Udseende", "notifications": "Meddelelser", "notificationsSubtitle": "Push-indstillinger", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub forbundet", "noRepositoriesVisible": "Ingen repositories synlige. Tjek repository-adgang for Kilo GitHub App, og opdatér derefter.", "runOnWithTarget": "Kør på: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Miljø", "couldNotLoadEnvironment": "Kunne ikke indlæse dit miljø", "retryLoadingEnvironment": "Prøv at indlæse miljøet igen", diff --git a/apps/mobile/src/i18n/locales/de.json b/apps/mobile/src/i18n/locales/de.json index 5f743d9b30..11abfb3956 100644 --- a/apps/mobile/src/i18n/locales/de.json +++ b/apps/mobile/src/i18n/locales/de.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Das Denken des Agenten erweitert anzeigen, wenn es fertig ist.", "keepScreenOn": "Bildschirm auf der Sitzungsseite anlassen", "keepScreenOnSubtitle": "Den Bildschirm wach halten, während die Sitzung arbeitet.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Erscheinungsbild", "notifications": "Benachrichtigungen", "notificationsSubtitle": "Push-Einstellungen", @@ -1420,6 +1422,7 @@ "githubConnected": "GitHub verbunden", "noRepositoriesVisible": "Keine Repositories sichtbar. Prüfe den Repository-Zugriff für die Kilo GitHub App und aktualisiere dann.", "runOnWithTarget": "Ausführen auf: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Umgebung", "couldNotLoadEnvironment": "Deine Umgebung konnte nicht geladen werden", "retryLoadingEnvironment": "Laden der Umgebung erneut versuchen", diff --git a/apps/mobile/src/i18n/locales/el.json b/apps/mobile/src/i18n/locales/el.json index fda5c33da4..f3e338dfdb 100644 --- a/apps/mobile/src/i18n/locales/el.json +++ b/apps/mobile/src/i18n/locales/el.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Εμφάνιση της σκέψης του πράκτορα σε πλήρη επέκταση όταν ολοκληρωθεί.", "keepScreenOn": "Κρατήστε την οθόνη ενεργή στη σελίδα συνεδρίας", "keepScreenOnSubtitle": "Κρατήστε την οθόνη ανοιχτή όσο η συνεδρία εργάζεται.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Εμφάνιση", "notifications": "Ειδοποιήσεις", "notificationsSubtitle": "Προτιμήσεις push", @@ -1792,6 +1794,7 @@ "githubConnected": "Σύνδεση GitHub επιτυχής", "noRepositoriesVisible": "Κανένα ορατό αποθετήριο. Ελέγξτε την πρόσβαση αποθετηρίων για την εφαρμογή Kilo GitHub και ανανεώστε.", "runOnWithTarget": "Εκτέλεση σε: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Περιβάλλον", "couldNotLoadEnvironment": "Δεν ήταν δυνατή η φόρτωση του περιβάλλοντός σας", "retryLoadingEnvironment": "Επανάληψη φόρτωσης περιβάλλοντος", diff --git a/apps/mobile/src/i18n/locales/en.json b/apps/mobile/src/i18n/locales/en.json index 00df8e4461..ab490bbf07 100644 --- a/apps/mobile/src/i18n/locales/en.json +++ b/apps/mobile/src/i18n/locales/en.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Show the agent's thinking expanded when it finishes.", "keepScreenOn": "Keep screen on while on session page", "keepScreenOnSubtitle": "Hold the screen awake while the session is working.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Appearance", "notifications": "Notifications", "notificationsSubtitle": "Push preferences", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub connected", "noRepositoriesVisible": "No repositories visible. Check repository access for the Kilo GitHub App, then refresh.", "runOnWithTarget": "Run on: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Environment", "couldNotLoadEnvironment": "Couldn't load your environment", "retryLoadingEnvironment": "Retry loading environment", @@ -2282,7 +2285,7 @@ "home": { "couldNotLoadSessions": "Couldn't load sessions", "couldNotLoadActiveSessions": "Couldn't load active sessions", - "agentSessions": "Agent sessions", + "agentSessions": "Live now", "showingSavedSessions": "Showing saved sessions — live status may be out of date", "startNewAgentSession": "Start a new Kilo Agent session", "aiCodingSessions": "AI coding sessions", diff --git a/apps/mobile/src/i18n/locales/es.json b/apps/mobile/src/i18n/locales/es.json index d687161af1..1aea546701 100644 --- a/apps/mobile/src/i18n/locales/es.json +++ b/apps/mobile/src/i18n/locales/es.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Mostrar el pensamiento del agente expandido cuando termine.", "keepScreenOn": "Mantener la pantalla encendida en la página de sesión", "keepScreenOnSubtitle": "Mantener la pantalla activa mientras la sesión trabaja.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Apariencia", "notifications": "Notificaciones", "notificationsSubtitle": "Preferencias de push", @@ -1420,6 +1422,7 @@ "githubConnected": "GitHub conectado", "noRepositoriesVisible": "No hay repositorios visibles. Comprueba el acceso a repositorios de la Kilo GitHub App y actualiza.", "runOnWithTarget": "Ejecutar en: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Entorno", "couldNotLoadEnvironment": "No se pudo cargar tu entorno", "retryLoadingEnvironment": "Reintentar la carga del entorno", diff --git a/apps/mobile/src/i18n/locales/et.json b/apps/mobile/src/i18n/locales/et.json index 1b6b00e355..f062fcb983 100644 --- a/apps/mobile/src/i18n/locales/et.json +++ b/apps/mobile/src/i18n/locales/et.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Näita agendi mõtlemist laiendatuna, kui see lõpeb.", "keepScreenOn": "Hoia ekraan sees sessioonilehel", "keepScreenOnSubtitle": "Hoia ekraan ärkvel, kui sessioon töötab.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Välimus", "notifications": "Teavitused", "notificationsSubtitle": "Push-eelistused", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub on ühendatud", "noRepositoriesVisible": "Ühtegi hoidlat pole nähtav. Kontrolli Kilo GitHub App'i hoidlajuurdepääsu ja värskenda seejärel.", "runOnWithTarget": "Käitamine: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Keskkond", "couldNotLoadEnvironment": "Sinu keskkonna laadimine ebaõnnestus", "retryLoadingEnvironment": "Proovi keskkonna laadimist uuesti", diff --git a/apps/mobile/src/i18n/locales/eu.json b/apps/mobile/src/i18n/locales/eu.json index a463a4c0c7..9f66d6c936 100644 --- a/apps/mobile/src/i18n/locales/eu.json +++ b/apps/mobile/src/i18n/locales/eu.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Erakutsi agentearen pentsamendua zabalduta amaitzen denean.", "keepScreenOn": "Mantendu pantaila piztuta saio-orrian", "keepScreenOnSubtitle": "Mantendu pantaila esnatuta saioa lanean ari den bitartean.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Itxura", "notifications": "Jakinarazpenak", "notificationsSubtitle": "Bultzadazko hobespenak", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub konektatuta", "noRepositoriesVisible": "Ez dago biltegi ikusgarririk. Egiaztatu Kilo GitHub App-aren biltegi-sarbidea, eta gero freskatu.", "runOnWithTarget": "Exekutatu honetan: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Ingurunea", "couldNotLoadEnvironment": "Ezin da zure ingurunea kargatu", "retryLoadingEnvironment": "Saiatu berriro ingurunea kargatzen", diff --git a/apps/mobile/src/i18n/locales/fa.json b/apps/mobile/src/i18n/locales/fa.json index 85144f2fa8..ba9b485185 100644 --- a/apps/mobile/src/i18n/locales/fa.json +++ b/apps/mobile/src/i18n/locales/fa.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "هنگام پایان کار عامل، تفکر او را باز شده نشان بده.", "keepScreenOn": "روشن نگه داشتن صفحه در صفحهٔ نشست", "keepScreenOnSubtitle": "در حالی که نشست کار می‌کند، صفحه را بیدار نگه دار.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "ظاهر", "notifications": "اعلان‌ها", "notificationsSubtitle": "ترجیحات push", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub وصل شد", "noRepositoriesVisible": "هیچ مخزنی قابل مشاهده نیست. دسترسی مخزن GitHub App کیلا را بررسی کنید، سپس تازهسازی کنید.", "runOnWithTarget": "اجرا بر روی: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "محیط", "couldNotLoadEnvironment": "بارگذاری محیط شما ممکن نشد", "retryLoadingEnvironment": "تلاش دوباره برای بارگذاری محیط", diff --git a/apps/mobile/src/i18n/locales/fi.json b/apps/mobile/src/i18n/locales/fi.json index 4202ec72f4..a49fbcce6d 100644 --- a/apps/mobile/src/i18n/locales/fi.json +++ b/apps/mobile/src/i18n/locales/fi.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Näytä agentin ajattelu laajennettuna, kun se on valmis.", "keepScreenOn": "Pidä näyttö päällä istuntosivulla", "keepScreenOnSubtitle": "Pidä näyttö hereillä istunnon työskennellessä.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Ulkoasu", "notifications": "Ilmoitukset", "notificationsSubtitle": "Push-asetukset", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub yhdistetty", "noRepositoriesVisible": "Ei näkyviä arkistoja. Tarkista Kilo GitHub Appin arkistopääsy ja päivitä sitten.", "runOnWithTarget": "Aja kohteessa: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Ympäristö", "couldNotLoadEnvironment": "Ympäristöäsi ei voitu ladata", "retryLoadingEnvironment": "Yritä ladata ympäristö uudelleen", diff --git a/apps/mobile/src/i18n/locales/fil.json b/apps/mobile/src/i18n/locales/fil.json index c29a5501ba..f500e43a29 100644 --- a/apps/mobile/src/i18n/locales/fil.json +++ b/apps/mobile/src/i18n/locales/fil.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Ipakita ang pag-iisip ng agent na naka-expand kapag ito ay natapos.", "keepScreenOn": "Panatilihing naka-on ang screen habang nasa session page", "keepScreenOnSubtitle": "Panatilihing gising ang screen habang gumagawa ang session.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Hitsura", "notifications": "Mga Notipikasyon", "notificationsSubtitle": "Mga kagustuhan sa push", @@ -1792,6 +1794,7 @@ "githubConnected": "Konektado ang GitHub", "noRepositoriesVisible": "Walang nakikitang repository. I-check ang access sa repository para sa Kilo GitHub App, pagkatapos ay i-refresh.", "runOnWithTarget": "Patakbuhin sa: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Environment", "couldNotLoadEnvironment": "Hindi ma-load ang iyong environment", "retryLoadingEnvironment": "Subukan ulit i-load ang environment", diff --git a/apps/mobile/src/i18n/locales/fr.json b/apps/mobile/src/i18n/locales/fr.json index 139bc04c90..81e00fb32e 100644 --- a/apps/mobile/src/i18n/locales/fr.json +++ b/apps/mobile/src/i18n/locales/fr.json @@ -1355,6 +1355,7 @@ "githubConnected": "GitHub connecté", "noRepositoriesVisible": "Aucun dépôt visible. Vérifiez l'accès au dépôt de la Kilo GitHub App, puis actualisez.", "runOnWithTarget": "Exécuter sur : {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Environnement", "couldNotLoadEnvironment": "Impossible de charger votre environnement", "retryLoadingEnvironment": "Réessayer le chargement de l'environnement", @@ -1818,6 +1819,8 @@ "autoExpandThinkingSubtitle": "Afficher la réflexion de l'agent développée lorsqu'elle se termine.", "keepScreenOn": "Garder l'écran allumé sur la page de session", "keepScreenOnSubtitle": "Maintenir l'écran éveillé pendant que la session travaille.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Apparence", "notifications": "Notifications", "notificationsSubtitle": "Préférences de push", diff --git a/apps/mobile/src/i18n/locales/ga.json b/apps/mobile/src/i18n/locales/ga.json index 0f6e8ff4fe..1270355670 100644 --- a/apps/mobile/src/i18n/locales/ga.json +++ b/apps/mobile/src/i18n/locales/ga.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Taispeáin smaointeoireacht an ghníomhaire leathnaithe nuair a chríochnaíonn sé.", "keepScreenOn": "Coinnigh an scáileán ar siúl ar leathanach an tseisiúin", "keepScreenOnSubtitle": "Coinnigh an scáileán dúisithe agus an seisiún ag obair.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Dealramh", "notifications": "Fógraí", "notificationsSubtitle": "Roghanna brú-fhógraí", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub ceangailte", "noRepositoriesVisible": "Níl aon stórtha le feiceáil. Seiceáil rochtain stóir do Kilo GitHub App, ansin athnuaigh.", "runOnWithTarget": "Rith ar: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Timpeallacht", "couldNotLoadEnvironment": "Níorbh fhéidir do thimpeallacht a lódáil", "retryLoadingEnvironment": "Bain triail as an timpeallacht a lódáil arís", diff --git a/apps/mobile/src/i18n/locales/gl.json b/apps/mobile/src/i18n/locales/gl.json index c03a1b593b..60470f82b9 100644 --- a/apps/mobile/src/i18n/locales/gl.json +++ b/apps/mobile/src/i18n/locales/gl.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Mostra o pensamento do axente expandido cando remate.", "keepScreenOn": "Manter a pantalla acesa na páxina de sesión", "keepScreenOnSubtitle": "Mantén a pantalla esperta mentres a sesión traballa.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Aparencia", "notifications": "Notificacións", "notificationsSubtitle": "Preferencias de notificacións push", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub conectado", "noRepositoriesVisible": "Non se ve ningún repositorio. Comproba o acceso aos repositorios da app de GitHub de Kilo e despois actualiza.", "runOnWithTarget": "Executar en: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Ambiente", "couldNotLoadEnvironment": "Non se puido cargar o teu ambiente", "retryLoadingEnvironment": "Reintentar cargar o ambiente", diff --git a/apps/mobile/src/i18n/locales/gu.json b/apps/mobile/src/i18n/locales/gu.json index a3ef47d79d..261e388582 100644 --- a/apps/mobile/src/i18n/locales/gu.json +++ b/apps/mobile/src/i18n/locales/gu.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "પૂરું થાય ત્યારે એજન્ટનું વિચાર વિસ્તૃત બતાવો.", "keepScreenOn": "સત્ર પૃષ્ઠ પર હોય ત્યારે સ્ક્રીન ચાલુ રાખો", "keepScreenOnSubtitle": "સત્ર કામ કરી રહ્યું હોય ત્યારે સ્ક્રીન જાગતી રાખો.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "દેખાવ", "notifications": "સૂચનાઓ", "notificationsSubtitle": "પુશ પસંદગીઓ", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub કનેક્ટ થયેલ", "noRepositoriesVisible": "કોઈ રિપોઝિટરી દેખાતી નથી. Kilo GitHub App માટે રિપોઝિટરી ઍક્સેસ ચકાસો, પછી રિફ્રેશ કરો.", "runOnWithTarget": "પર ચલાવો: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "પર્યાવરણ", "couldNotLoadEnvironment": "તમારું પર્યાવરણ લોડ થઈ શક્યું નથી", "retryLoadingEnvironment": "પર્યાવરણ લોડ કરવા ફરી પ્રયાસ કરો", diff --git a/apps/mobile/src/i18n/locales/ha.json b/apps/mobile/src/i18n/locales/ha.json index 672d5b530e..b996e6b2f4 100644 --- a/apps/mobile/src/i18n/locales/ha.json +++ b/apps/mobile/src/i18n/locales/ha.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Nuna tunanin wakilin ya fadada idan ya gama.", "keepScreenOn": "Tsare allo a kunne a shafin zama", "keepScreenOnSubtitle": "Rike allo a farke yayin da zama ke aiki.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Kamanni", "notifications": "Sanarwa", "notificationsSubtitle": "Zaɓuɓɓukan turawa", @@ -1792,6 +1794,7 @@ "githubConnected": "An haɗa GitHub", "noRepositoriesVisible": "Babu ma'ajiyoyi da ake gani. Duba damar ma'ajiya ga GitHub App na Kilo, sannan sabunta.", "runOnWithTarget": "Gudanar a: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Muhalli", "couldNotLoadEnvironment": "An kasa loda muhallinka", "retryLoadingEnvironment": "Sake gwada loda muhalli", diff --git a/apps/mobile/src/i18n/locales/he.json b/apps/mobile/src/i18n/locales/he.json index 182082d4e7..b1c99baacf 100644 --- a/apps/mobile/src/i18n/locales/he.json +++ b/apps/mobile/src/i18n/locales/he.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "הצג את החשיבה של הסוכן מורחבת כשהיא מסתיימת.", "keepScreenOn": "השאר את המסך דלוק בדף ההפעלה", "keepScreenOnSubtitle": "החזק את המסך ער בזמן שההפעלה עובדת.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "מראה", "notifications": "התראות", "notificationsSubtitle": "העדפות דחיפה", @@ -1420,6 +1422,7 @@ "githubConnected": "GitHub מחובר", "noRepositoriesVisible": "לא נראים מאגרים. בדוק את גישת המאגרים של אפליקציית Kilo GitHub, ואז רענן.", "runOnWithTarget": "הרץ על: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "סביבה", "couldNotLoadEnvironment": "לא ניתן היה לטעון את הסביבה שלך", "retryLoadingEnvironment": "נסה שוב לטעון את הסביבה", diff --git a/apps/mobile/src/i18n/locales/hi.json b/apps/mobile/src/i18n/locales/hi.json index a82b6d49c5..d4caaa8d69 100644 --- a/apps/mobile/src/i18n/locales/hi.json +++ b/apps/mobile/src/i18n/locales/hi.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "एजेंट की सोच समाप्त होने पर उसे विस्तारित दिखाएँ।", "keepScreenOn": "सत्र पेज पर स्क्रीन चालू रखें", "keepScreenOnSubtitle": "सत्र के काम करते समय स्क्रीन को जाग्रत रखें।", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "दिखावट", "notifications": "सूचनाएँ", "notificationsSubtitle": "पुश प्राथमिकताएँ", @@ -1420,6 +1422,7 @@ "githubConnected": "GitHub कनेक्ट हो गया", "noRepositoriesVisible": "कोई रिपॉज़िटरी दिखाई नहीं दे रही। Kilo GitHub ऐप के लिए रिपॉज़िटरी पहुँच जाँचें, फिर रीफ़्रेश करें।", "runOnWithTarget": "इस पर चलाएँ: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "एनवायरनमेंट", "couldNotLoadEnvironment": "आपका एनवायरनमेंट लोड नहीं हो सका", "retryLoadingEnvironment": "एनवायरनमेंट फिर से लोड करें", diff --git a/apps/mobile/src/i18n/locales/hr.json b/apps/mobile/src/i18n/locales/hr.json index b8767473a6..50236d55a6 100644 --- a/apps/mobile/src/i18n/locales/hr.json +++ b/apps/mobile/src/i18n/locales/hr.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Prikaži agentovo razmišljanje prošireno kada završi.", "keepScreenOn": "Drži zaslon uključen na stranici sesije", "keepScreenOnSubtitle": "Drži zaslon budnim dok sesija radi.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Izgled", "notifications": "Obavijesti", "notificationsSubtitle": "Push postavke", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub povezan", "noRepositoriesVisible": "Nema vidljivih repozitorija. Provjerite pristup repozitorijima za Kilo GitHub aplikaciju, a zatim osvježite.", "runOnWithTarget": "Pokreni na: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Okruženje", "couldNotLoadEnvironment": "Nije bilo moguće učitati vaše okruženje", "retryLoadingEnvironment": "Pokušaj ponovno učitati okruženje", diff --git a/apps/mobile/src/i18n/locales/ht.json b/apps/mobile/src/i18n/locales/ht.json index 8bfe8af29f..a897b71e26 100644 --- a/apps/mobile/src/i18n/locales/ht.json +++ b/apps/mobile/src/i18n/locales/ht.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Montre panse ajans lan elaji lè li fini.", "keepScreenOn": "Kenbe ekran an limen sou paj sesyon an", "keepScreenOnSubtitle": "Kenbe ekran an reveye pandan sesyon an ap travay.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Aparans", "notifications": "Notifikasyon", "notificationsSubtitle": "Preferans pouse", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub konekte", "noRepositoriesVisible": "Pa gen repo ki vizib. Tcheke aksè repo pou GitHub App Kilo a, epi rafrechi.", "runOnWithTarget": "Kouri sou: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Anviwònman", "couldNotLoadEnvironment": "Pa t 'kapab chaje anviwònman ou", "retryLoadingEnvironment": "Rekòmanse chaje anviwònman an", diff --git a/apps/mobile/src/i18n/locales/hu.json b/apps/mobile/src/i18n/locales/hu.json index b06906445a..0e1c905905 100644 --- a/apps/mobile/src/i18n/locales/hu.json +++ b/apps/mobile/src/i18n/locales/hu.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Az ügynök gondolkodásának kibontott megjelenítése, amikor befejezi.", "keepScreenOn": "Képernyő bekapcsolva tartása a munkamenet oldalán", "keepScreenOnSubtitle": "Tartsa ébren a képernyőt, amíg a munkamenet dolgozik.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Megjelenés", "notifications": "Értesítések", "notificationsSubtitle": "Leküldéses beállítások", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub csatlakoztatva", "noRepositoriesVisible": "Nincs látható adattár. Ellenőrizze a Kilo GitHub App adattár-hozzáférését, majd frissítsen.", "runOnWithTarget": "Futtatás a következőn: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Környezet", "couldNotLoadEnvironment": "A környezet betöltése nem sikerült", "retryLoadingEnvironment": "Környezet betöltésének újrapróbálása", diff --git a/apps/mobile/src/i18n/locales/hy.json b/apps/mobile/src/i18n/locales/hy.json index f898185b46..f6eb1209ce 100644 --- a/apps/mobile/src/i18n/locales/hy.json +++ b/apps/mobile/src/i18n/locales/hy.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Ցույց տալ գործակալի մտածումը ընդլայնված, երբ այն ավարտվի:", "keepScreenOn": "Էկրանը միացված պահել նիստի էջում", "keepScreenOnSubtitle": "Էկրանն արթուն պահել, մինչ նիստն աշխատում է:", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Արտաքին տեսք", "notifications": "Ծանուցումներ", "notificationsSubtitle": "Push նախապատվություններ", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub-ը միացված է", "noRepositoriesVisible": "Պահոցներ չեն երևում։ Ստուգեք Kilo GitHub App-ի պահոցի հասանելիությունը, ապա թարմացրեք։", "runOnWithTarget": "Գործարկել՝ {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Միջավայր", "couldNotLoadEnvironment": "Չհաջողվեց բեռնել ձեր միջավայրը", "retryLoadingEnvironment": "Կրկին փորձել միջավայրը բեռնել", diff --git a/apps/mobile/src/i18n/locales/id.json b/apps/mobile/src/i18n/locales/id.json index d967fa2df5..0400750b47 100644 --- a/apps/mobile/src/i18n/locales/id.json +++ b/apps/mobile/src/i18n/locales/id.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Tampilkan pemikiran agen dalam keadaan diperluas saat selesai.", "keepScreenOn": "Biarkan layar menyala saat di halaman sesi", "keepScreenOnSubtitle": "Jaga layar tetap aktif saat sesi berjalan.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Tampilan", "notifications": "Notifikasi", "notificationsSubtitle": "Preferensi push", @@ -1420,6 +1422,7 @@ "githubConnected": "GitHub terhubung", "noRepositoriesVisible": "Tidak ada repositori terlihat. Periksa akses repositori untuk Aplikasi Kilo GitHub, lalu muat ulang.", "runOnWithTarget": "Jalankan di: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Lingkungan", "couldNotLoadEnvironment": "Tidak dapat memuat lingkungan Anda", "retryLoadingEnvironment": "Coba lagi memuat lingkungan", diff --git a/apps/mobile/src/i18n/locales/ig.json b/apps/mobile/src/i18n/locales/ig.json index 7114068a9d..7f1b10d9ab 100644 --- a/apps/mobile/src/i18n/locales/ig.json +++ b/apps/mobile/src/i18n/locales/ig.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Gosipụta echiche onye ọrụ gbasaa mgbe ọ gwụchara.", "keepScreenOn": "Mee ka enyo nọrọ mgbe nọ na ibe oge", "keepScreenOnSubtitle": "Mee ka enyo nọrọ teta mgbe oge na-arụ ọrụ.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Ọdịdị", "notifications": "Ọkwa", "notificationsSubtitle": "Mmasị push", @@ -1792,6 +1794,7 @@ "githubConnected": "Ejikọrọ GitHub", "noRepositoriesVisible": "Enweghị ebe nchekwa a na-ahụ anya. Lelee ohere ebe nchekwa maka Kilo GitHub App, wee megharịa.", "runOnWithTarget": "Gbaa na: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Gburugburu", "couldNotLoadEnvironment": "Enweghị ike ibudata gburugburu gị", "retryLoadingEnvironment": "Nwaa ibudata gburugburu ọzọ", diff --git a/apps/mobile/src/i18n/locales/is.json b/apps/mobile/src/i18n/locales/is.json index 08b68dc2c8..0b30313ddf 100644 --- a/apps/mobile/src/i18n/locales/is.json +++ b/apps/mobile/src/i18n/locales/is.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Sýna hugsun umboðsins stækkaða þegar það lýkur.", "keepScreenOn": "Halda skjá kveiktum á fundarsíðu", "keepScreenOnSubtitle": "Halda skjánum vakandi á meðan fundin er í gangi.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Útlit", "notifications": "Tilkynningar", "notificationsSubtitle": "Push-kjörstillingar", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub tengt", "noRepositoriesVisible": "Engar geymslur sýnilegar. Athugaðu geymsluaðgang fyrir Kilo GitHub App og endurnýjaðu svo.", "runOnWithTarget": "Keyra á: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Umhverfi", "couldNotLoadEnvironment": "Ekki tókst að hlaða umhverfið þitt", "retryLoadingEnvironment": "Reyna að hlaða umhverfi aftur", diff --git a/apps/mobile/src/i18n/locales/it.json b/apps/mobile/src/i18n/locales/it.json index db24ac0326..34f8abeea1 100644 --- a/apps/mobile/src/i18n/locales/it.json +++ b/apps/mobile/src/i18n/locales/it.json @@ -1406,6 +1406,7 @@ "githubConnected": "GitHub collegato", "noRepositoriesVisible": "Nessun repository visibile. Controlla l'accesso ai repository per la Kilo GitHub App, poi aggiorna.", "runOnWithTarget": "Esegui su: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Ambiente", "couldNotLoadEnvironment": "Impossibile caricare il tuo ambiente", "retryLoadingEnvironment": "Riprova a caricare l'ambiente", @@ -1869,6 +1870,8 @@ "autoExpandThinkingSubtitle": "Mostra il pensiero dell'agente espanso quando termina.", "keepScreenOn": "Mantieni lo schermo acceso nella pagina della sessione", "keepScreenOnSubtitle": "Tieni lo schermo attivo mentre la sessione lavora.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Aspetto", "notifications": "Notifiche", "notificationsSubtitle": "Preferenze push", diff --git a/apps/mobile/src/i18n/locales/ja.json b/apps/mobile/src/i18n/locales/ja.json index 342d0151f7..498b3f717f 100644 --- a/apps/mobile/src/i18n/locales/ja.json +++ b/apps/mobile/src/i18n/locales/ja.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "エージェントの思考が終了したときに展開して表示します。", "keepScreenOn": "セッションページで画面を常時オン", "keepScreenOnSubtitle": "セッションの動作中は画面を起動したままにします。", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "外観", "notifications": "通知", "notificationsSubtitle": "プッシュ設定", @@ -1420,6 +1422,7 @@ "githubConnected": "GitHub接続済み", "noRepositoriesVisible": "リポジトリが表示されません。Kilo GitHub Appのリポジトリアクセスを確認してから更新してください。", "runOnWithTarget": "実行先: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "環境", "couldNotLoadEnvironment": "環境を読み込めませんでした", "retryLoadingEnvironment": "環境の読み込みを再試行", diff --git a/apps/mobile/src/i18n/locales/ka.json b/apps/mobile/src/i18n/locales/ka.json index c14e2837f2..833fb5144c 100644 --- a/apps/mobile/src/i18n/locales/ka.json +++ b/apps/mobile/src/i18n/locales/ka.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "აჩვენე აგენტის ფიქრი გაფართოებულად, როცა დასრულდება.", "keepScreenOn": "ეკრანის ჩართული დატოვება სესიის გვერდზე", "keepScreenOnSubtitle": "შეინახე ეკრანი ჩართული, სანამ სესია მუშაობს.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "გარეგნობა", "notifications": "შეტყობინებები", "notificationsSubtitle": "Push პარამეტრები", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub დაკავშირებულია", "noRepositoriesVisible": "რეპოზიტორები არ ჩანს. შეამოწმეთ რეპოზიტორის წვდომა Kilo GitHub App-ისთვის, შემდეგ განაახლეთ.", "runOnWithTarget": "გაშვება: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "გარემო", "couldNotLoadEnvironment": "თქვენი გარემო ვერ ჩაირთო", "retryLoadingEnvironment": "გარემოს ჩატვირთვის ხელახლა ცდა", diff --git a/apps/mobile/src/i18n/locales/kk.json b/apps/mobile/src/i18n/locales/kk.json index c362404a9d..f7a525c966 100644 --- a/apps/mobile/src/i18n/locales/kk.json +++ b/apps/mobile/src/i18n/locales/kk.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Агент аяқтағанда оның ойлауын ашылған күйде көрсету.", "keepScreenOn": "Сессия бетінде экранды қосулы ұстау", "keepScreenOnSubtitle": "Сессия жұмыс істеп тұрғанда экранды ояу ұстау.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Көрініс", "notifications": "Хабарландырулар", "notificationsSubtitle": "Push параметрлері", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub қосылды", "noRepositoriesVisible": "Көрінетін репозиторийлер жоқ. Kilo GitHub App үшін репозиторий қолжетімділігін тексеріп, содан кейін жаңартыңыз.", "runOnWithTarget": "Іске қосу орны: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Орта", "couldNotLoadEnvironment": "Ортаңызды жүктеу мүмкін болмады", "retryLoadingEnvironment": "Ортаны жүктеуді қайталау", diff --git a/apps/mobile/src/i18n/locales/km.json b/apps/mobile/src/i18n/locales/km.json index b8cced42bc..e40f00592f 100644 --- a/apps/mobile/src/i18n/locales/km.json +++ b/apps/mobile/src/i18n/locales/km.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "បង្ហាញការគិតរបស់ភ្នាក់ងារពង្រីក នៅពេលវាបញ្ចប់។", "keepScreenOn": "រក្សាអេក្រង់បើក ពេលស្ថិតនៅលើទំព័រសម័យការ", "keepScreenOnSubtitle": "រក្សាអេក្រង់ភ្ញាក់ ពេលសម័យការកំពុងដំណើរការ។", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "រូបរាង", "notifications": "ការជូនដំណឹង", "notificationsSubtitle": "ចំណូលចិត្តរុញ (push)", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub ត្រូវបានភ្ជាប់", "noRepositoriesVisible": "គ្មានឃ្លាំងកូដដែលអាចមើលឃើញទេ។ ពិនិត្យសិទ្ធិចូលប្រើឃ្លាំងកូដសម្រាប់ Kilo GitHub App បន្ទាប់មកធ្វើឱ្យថ្មី។", "runOnWithTarget": "ដំណើរការលើ: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "បរិស្ថាន", "couldNotLoadEnvironment": "មិនអាចផ្ទុកបរិស្ថានរបស់អ្នក", "retryLoadingEnvironment": "ព្យាយាមផ្ទុកបរិស្ថានម្តងទៀត", diff --git a/apps/mobile/src/i18n/locales/kn.json b/apps/mobile/src/i18n/locales/kn.json index 2e67b5c424..9164d4cbd4 100644 --- a/apps/mobile/src/i18n/locales/kn.json +++ b/apps/mobile/src/i18n/locales/kn.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "ಏಜೆಂಟ್ ಮುಗಿಸಿದಾಗ ಅದರ ಯೋಚನೆಯನ್ನು ವಿಸ್ತರಿಸಿ ತೋರಿಸಿ.", "keepScreenOn": "ಸೆಷನ್ ಪುಟದಲ್ಲಿ ಪರದೆಯನ್ನು ಆನ್ ಆಗಿ ಇರಿಸಿ", "keepScreenOnSubtitle": "ಸೆಷನ್ ಕೆಲಸ ಮಾಡುತ್ತಿರುವಾಗ ಪರದೆಯನ್ನು ಎಚ್ಚರವಾಗಿ ಹಿಡಿಯಿರಿ.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "ನೋಟ", "notifications": "ಅಧಿಸೂಚನೆಗಳು", "notificationsSubtitle": "ಪುಶ್ ಆದ್ಯತೆಗಳು", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub ಸಂಪರ್ಕಗೊಂಡಿದೆ", "noRepositoriesVisible": "ಯಾವುದೇ ರೆಪೊಸಿಟರಿಗಳು ಗೋಚರಿಸುವುದಿಲ್ಲ. Kilo GitHub App ಗಾಗಿ ರೆಪೊಸಿಟರಿ ಪ್ರವೇಶವನ್ನು ಪರಿಶೀಲಿಸಿ, ನಂತರ ರಿಫ್ರೆಶ್ ಮಾಡಿ.", "runOnWithTarget": "ಇದರ ಮೇಲೆ ಚಲಾಯಿಸಿ: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "ಪರಿಸರ", "couldNotLoadEnvironment": "ನಿಮ್ಮ ಪರಿಸರವನ್ನು ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ", "retryLoadingEnvironment": "ಪರಿಸರ ಲೋಡ್ ಮಾಡಲು ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ", diff --git a/apps/mobile/src/i18n/locales/ko.json b/apps/mobile/src/i18n/locales/ko.json index be5f79eb73..9a6d0cc280 100644 --- a/apps/mobile/src/i18n/locales/ko.json +++ b/apps/mobile/src/i18n/locales/ko.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "에이전트가 완료되면 사고를 펼쳐서 표시합니다.", "keepScreenOn": "세션 페이지에서 화면 켜짐 유지", "keepScreenOnSubtitle": "세션이 작업하는 동안 화면을 깨어 있게 유지합니다.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "모양", "notifications": "알림", "notificationsSubtitle": "푸시 환경설정", @@ -1420,6 +1422,7 @@ "githubConnected": "GitHub 연결됨", "noRepositoriesVisible": "표시되는 리포지토리가 없습니다. Kilo GitHub 앱의 리포지토리 액세스를 확인한 다음 새로고침하세요.", "runOnWithTarget": "실행 위치: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "환경", "couldNotLoadEnvironment": "환경을 불러올 수 없습니다", "retryLoadingEnvironment": "환경 로드 다시 시도", diff --git a/apps/mobile/src/i18n/locales/lo.json b/apps/mobile/src/i18n/locales/lo.json index 1a2aaf3a22..a448fb2455 100644 --- a/apps/mobile/src/i18n/locales/lo.json +++ b/apps/mobile/src/i18n/locales/lo.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "ສະແດງການຄິດຂອງເອເຈນໃຫ້ຂະຫຍາຍເມື່ອມັນສຳເລັດ.", "keepScreenOn": "ເປີດໜ້າຈໍໄວ້ໃນຂະນະຢູ່ໜ້າເຊສຊັນ", "keepScreenOnSubtitle": "ຖືໜ້າຈໍໃຫ້ຕື່ນໃນຂະນະທີ່ເຊສຊັນກຳລັງເຮັດວຽກ.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "ຮູບລັກສະນະ", "notifications": "ການແຈ້ງເຕືອນ", "notificationsSubtitle": "ການຕັ້ງຄ່າການຜັກດັນ", @@ -1792,6 +1794,7 @@ "githubConnected": "ເຊື່ອມຕໍ່ GitHub ແລ້ວ", "noRepositoriesVisible": "ບໍ່ມີບ່ອນເກັບລະຫັດທີ່ເຫັນໄດ້. ກວດການເຂົ້າເຖິງບ່ອນເກັບລະຫັດສຳລັບ Kilo GitHub App, ແລ້ວໂຫຼດຄືນ.", "runOnWithTarget": "ດຳເນີນການໃນ: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "ສະພາບແວດລ້ອມ", "couldNotLoadEnvironment": "ບໍ່ສາມາດໂຫຼດສະພາບແວດລ້ອມຂອງທ່ານ", "retryLoadingEnvironment": "ລອງໂຫຼດສະພາບແວດລ້ອມໃໝ່", diff --git a/apps/mobile/src/i18n/locales/lt.json b/apps/mobile/src/i18n/locales/lt.json index f4976b28a2..8a11ba078b 100644 --- a/apps/mobile/src/i18n/locales/lt.json +++ b/apps/mobile/src/i18n/locales/lt.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Parodyti agento mąstymą išskleistą, kai jis baigia.", "keepScreenOn": "Laikyti ekraną įjungtą sesijos puslapyje", "keepScreenOnSubtitle": "Laikyti ekraną įjungtą, kol sesija dirba.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Išvaizda", "notifications": "Pranešimai", "notificationsSubtitle": "Push nuostatos", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub prijungtas", "noRepositoriesVisible": "Saugyklų nematoma. Patikrinkite Kilo GitHub App saugyklų prieigą, tada atnaujinkite.", "runOnWithTarget": "Vykdyti: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Aplinka", "couldNotLoadEnvironment": "Nepavyko įkelti jūsų aplinkos", "retryLoadingEnvironment": "Bandyti įkelti aplinką iš naujo", diff --git a/apps/mobile/src/i18n/locales/lv.json b/apps/mobile/src/i18n/locales/lv.json index 001014d0a9..3664dd41ff 100644 --- a/apps/mobile/src/i18n/locales/lv.json +++ b/apps/mobile/src/i18n/locales/lv.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Rādīt aģenta domāšanu izvērstu, kad tas beidzas.", "keepScreenOn": "Saglabāt ekrānu ieslēgtu sesijas lapā", "keepScreenOnSubtitle": "Noturēt ekrānu nomodā, kamēr sesija darbojas.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Izskats", "notifications": "Paziņojumi", "notificationsSubtitle": "Push preferences", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub savienots", "noRepositoriesVisible": "Nav redzamu repozitoriju. Pārbaudi repozitorija piekļuvi Kilo GitHub App, tad atsvaidzini.", "runOnWithTarget": "Palaist uz: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Vide", "couldNotLoadEnvironment": "Neizdevās ielādēt tavu vidi", "retryLoadingEnvironment": "Mēģināt ielādēt vidi vēlreiz", diff --git a/apps/mobile/src/i18n/locales/mg.json b/apps/mobile/src/i18n/locales/mg.json index aa4d72a63a..f712edf481 100644 --- a/apps/mobile/src/i18n/locales/mg.json +++ b/apps/mobile/src/i18n/locales/mg.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Aseho mivelatra ny fisainan'ny agent rehefa vita.", "keepScreenOn": "Hitehirizana ny efijery mandritra ny fotoam-pivoriana", "keepScreenOnSubtitle": "Tehirizo mifoha ny efijery raha mbola miasa ny fotoam-pivoriana.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Bika", "notifications": "Fampandrenesana", "notificationsSubtitle": "Fika push", @@ -1792,6 +1794,7 @@ "githubConnected": "Voampifandraisina ny GitHub", "noRepositoriesVisible": "Tsy misy repository hita. Jereo ny fidirana repository ho an'ny Kilo GitHub App, dia avereno vaovao.", "runOnWithTarget": "Ampandeho amin'ny: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Tontolo iainana", "couldNotLoadEnvironment": "Tsy afaka namaky ny tontolo iainanao", "retryLoadingEnvironment": "Andramo indray ny famakiana tontolo iainana", diff --git a/apps/mobile/src/i18n/locales/mi.json b/apps/mobile/src/i18n/locales/mi.json index 41035a2d99..79d565e1b7 100644 --- a/apps/mobile/src/i18n/locales/mi.json +++ b/apps/mobile/src/i18n/locales/mi.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Whakaatuhia te whakaaro o te kaiāwhina kia whakawhānuihia ina mutu.", "keepScreenOn": "Kia mārama tonu te mata i te whārangi huinga", "keepScreenOnSubtitle": "Kia mārama tonu te mata i te wā e mahi ana te huinga.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Te Āhua", "notifications": "Ngā Pānui", "notificationsSubtitle": "Ngā manakoretanga pana", @@ -1792,6 +1794,7 @@ "githubConnected": "Kua hono a GitHub", "noRepositoriesVisible": "Kāore he pūranga e kitea ana. Tirohia te wāhi atu pūranga mō te Kilo GitHub App, kātahi whakahou.", "runOnWithTarget": "Oma i runga i: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Te taiao", "couldNotLoadEnvironment": "Kāore i taea te uta tō taiao", "retryLoadingEnvironment": "Whakamātau anō te uta taiao", diff --git a/apps/mobile/src/i18n/locales/mk.json b/apps/mobile/src/i18n/locales/mk.json index df735c81ad..1e230f9a57 100644 --- a/apps/mobile/src/i18n/locales/mk.json +++ b/apps/mobile/src/i18n/locales/mk.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Покажи го размислувањето на агентот проширено кога ќе заврши.", "keepScreenOn": "Држи го екранот вклучен на страницата на сесијата", "keepScreenOnSubtitle": "Држи го екранот буден додека сесијата работи.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Изглед", "notifications": "Известувања", "notificationsSubtitle": "Преференции за притискање", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub е поврзан", "noRepositoriesVisible": "Нема видливи складишта. Провери го пристапот до складиштата за Kilo GitHub App, а потоа освежи.", "runOnWithTarget": "Изврши на: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Околина", "couldNotLoadEnvironment": "Не можеше да се вчита твојата околина", "retryLoadingEnvironment": "Обиди се повторно со вчитување на околината", diff --git a/apps/mobile/src/i18n/locales/ml.json b/apps/mobile/src/i18n/locales/ml.json index 85eb66836d..8924c885ad 100644 --- a/apps/mobile/src/i18n/locales/ml.json +++ b/apps/mobile/src/i18n/locales/ml.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "പൂർത്തിയാകുമ്പോൾ ഏജന്റിന്റെ ചിന്ത വികസിപ്പിച്ച് കാണിക്കുക.", "keepScreenOn": "സെഷൻ പേജിൽ സ്ക്രീൻ ഓണായി നിർത്തുക", "keepScreenOnSubtitle": "സെഷൻ പ്രവർത്തിക്കുമ്പോൾ സ്ക്രീൻ ഉണർന്നിരിക്കുക.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "രൂപം", "notifications": "അറിയിപ്പുകൾ", "notificationsSubtitle": "പുഷ് മുൻഗണനകൾ", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub കണക്റ്റ് ചെയ്തു", "noRepositoriesVisible": "റിപ്പോസിറ്ററികളൊന്നും ദൃശ്യമല്ല. Kilo GitHub App-നുള്ള റിപ്പോസിറ്ററി ആക്സസ് പരിശോധിച്ച് പുതുക്കുക.", "runOnWithTarget": "ഇതിൽ പ്രവർത്തിപ്പിക്കുക: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "എൻവയോൺമെന്റ്", "couldNotLoadEnvironment": "നിങ്ങളുടെ എൻവയോൺമെന്റ് ലോഡ് ചെയ്യാനായില്ല", "retryLoadingEnvironment": "എൻവയോൺമെന്റ് ലോഡ് ചെയ്യാൻ വീണ്ടും ശ്രമിക്കുക", diff --git a/apps/mobile/src/i18n/locales/mn.json b/apps/mobile/src/i18n/locales/mn.json index d847bacd72..69a06e621c 100644 --- a/apps/mobile/src/i18n/locales/mn.json +++ b/apps/mobile/src/i18n/locales/mn.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Дууссаны дараа агентын бодлыг дэлгэсэн байдлаар харуулна.", "keepScreenOn": "Сесс хуудсан дээр дэлгэцийг асаалттай байлгах", "keepScreenOnSubtitle": "Сесс ажиллаж байх үед дэлгэцийг унтраахгүй байлгах.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Гадаад байдал", "notifications": "Мэдэгдэлүүд", "notificationsSubtitle": "Түлхэлтийн тохиргоо", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub холбогдсон", "noRepositoriesVisible": "Үзэгдэх репозитори байхгүй. Kilo GitHub App-ийн репозиторийн хандалтыг шалгаад, сэргээнэ үү.", "runOnWithTarget": "Дээр ажиллуулах: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Орчин", "couldNotLoadEnvironment": "Таны орчныг ачаалж чадсангүй", "retryLoadingEnvironment": "Орчныг ачаалахыг дахин оролдох", diff --git a/apps/mobile/src/i18n/locales/mr.json b/apps/mobile/src/i18n/locales/mr.json index faf41e75ec..8d719c8b32 100644 --- a/apps/mobile/src/i18n/locales/mr.json +++ b/apps/mobile/src/i18n/locales/mr.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "एजंट पूर्ण झाल्यावर त्याचा विस्तारित विचार दाखवा.", "keepScreenOn": "सत्र पृष्ठावर असताना स्क्रीन चालू ठेवा", "keepScreenOnSubtitle": "सत्र कार्यरत असताना स्क्रीन जागी ठेवा.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "स्वरूप", "notifications": "सूचना", "notificationsSubtitle": "पुश प्राधान्ये", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub कनेक्ट केले", "noRepositoriesVisible": "कोणतीही भांडारे दिसत नाहीत. Kilo GitHub App साठी भांडार प्रवेश तपासा, नंतर रिफ्रेश करा.", "runOnWithTarget": "यावर चालवा: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "वातावरण", "couldNotLoadEnvironment": "तुमचे वातावरण लोड करता आले नाही", "retryLoadingEnvironment": "वातावरण लोड करणे पुन्हा प्रयत्न करा", diff --git a/apps/mobile/src/i18n/locales/ms.json b/apps/mobile/src/i18n/locales/ms.json index f19e75d8c6..e16af2f4ae 100644 --- a/apps/mobile/src/i18n/locales/ms.json +++ b/apps/mobile/src/i18n/locales/ms.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Paparkan pemikiran ejen yang dikembangkan apabila ia selesai.", "keepScreenOn": "Kekalkan skrin hidup semasa pada halaman sesi", "keepScreenOnSubtitle": "Kekalkan skrin hidup semasa sesi berfungsi.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Penampilan", "notifications": "Pemberitahuan", "notificationsSubtitle": "Keutamaan push", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub disambungkan", "noRepositoriesVisible": "Tiada repositori kelihatan. Semak akses repositori untuk GitHub App Kilo, kemudian segarkan.", "runOnWithTarget": "Jalankan pada: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Persekitaran", "couldNotLoadEnvironment": "Tidak dapat memuatkan persekitaran anda", "retryLoadingEnvironment": "Cuba lagi memuatkan persekitaran", diff --git a/apps/mobile/src/i18n/locales/mt.json b/apps/mobile/src/i18n/locales/mt.json index 63caecc213..1bdd307573 100644 --- a/apps/mobile/src/i18n/locales/mt.json +++ b/apps/mobile/src/i18n/locales/mt.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Uri l-ħsieb tal-aġent espandut meta jispiċċa.", "keepScreenOn": "Żomm l-iskrin mixgħul fil-paġna tas-sessjoni", "keepScreenOnSubtitle": "Żomm l-iskrin imqajjem waqt li s-sessjoni tkun qed taħdem.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Dehra", "notifications": "Notifiki", "notificationsSubtitle": "Preferenzi tal-push", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub imqabbad", "noRepositoriesVisible": "L-ebda repożitorju viżibbli. Iċċekkja l-aċċess tar-repożitorji għall-Kilo GitHub App, imbagħad aġġorna.", "runOnWithTarget": "Mexxi fuq: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Ambjent", "couldNotLoadEnvironment": "Ma setax jintgħabba l-ambjent tiegħek", "retryLoadingEnvironment": "Erġa' pprova tgħabbi l-ambjent", diff --git a/apps/mobile/src/i18n/locales/my.json b/apps/mobile/src/i18n/locales/my.json index f41e04a773..5c1c0170e2 100644 --- a/apps/mobile/src/i18n/locales/my.json +++ b/apps/mobile/src/i18n/locales/my.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "ပြီးဆုံးသောအခါ agent ၏ တွေးခေါ်မှုကို ချဲ့ပြီး ပြပါ။", "keepScreenOn": "ဆက်ရှင်စာမျက်နှာပေါ်တွင် စခရင်ဖွင့်ထားပါ", "keepScreenOnSubtitle": "ဆက်ရှင်အလုပ်လုပ်နေစဉ် စခရင်ကို ဖွင့်ထားပါ။", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "အသွင်အပြင်", "notifications": "အကြောင်းကြားချက်များ", "notificationsSubtitle": "Push နှစ်သက်ချက်များ", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub ချိတ်ဆက်ပြီး", "noRepositoriesVisible": "မြင်နိုင်သော သိုလှောင်မှုများ မရှိပါ။ Kilo GitHub App အတွက် သိုလှောင်မှုဝင်ရောက်ခွင့်ကို စစ်ဆေးပြီး ပြန်လည်စတင်ပါ။", "runOnWithTarget": "လုပ်ဆောင်မည့်နေရာ- {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "ပတ်ဝန်းကျင်", "couldNotLoadEnvironment": "သင့်ပတ်ဝန်းကျင်ကို မဖွင့်နိုင်ခဲ့ပါ", "retryLoadingEnvironment": "ပတ်ဝန်းကျင် ဖွင့်ရန် ထပ်ကြိုးစားပါ", diff --git a/apps/mobile/src/i18n/locales/nb.json b/apps/mobile/src/i18n/locales/nb.json index 8822e4b7dd..6e02ff39c1 100644 --- a/apps/mobile/src/i18n/locales/nb.json +++ b/apps/mobile/src/i18n/locales/nb.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Vis agentens tenking utvidet når den er ferdig.", "keepScreenOn": "Hold skjermen på mens du er på sesjonssiden", "keepScreenOnSubtitle": "Hold skjermen våken mens sesjonen jobber.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Utseende", "notifications": "Varsler", "notificationsSubtitle": "Push-innstillinger", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub tilkoblet", "noRepositoriesVisible": "Ingen repositories synlige. Sjekk repository-tilgangen for Kilo GitHub App, og oppdater deretter.", "runOnWithTarget": "Kjør på: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Miljø", "couldNotLoadEnvironment": "Kunne ikke laste inn miljøet ditt", "retryLoadingEnvironment": "Prøv å laste inn miljøet på nytt", diff --git a/apps/mobile/src/i18n/locales/ne.json b/apps/mobile/src/i18n/locales/ne.json index ded29860f9..1109e19bc3 100644 --- a/apps/mobile/src/i18n/locales/ne.json +++ b/apps/mobile/src/i18n/locales/ne.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "समाप्त हुँदा एजेन्टको सोच विस्तार गरेर देखाउनुहोस्।", "keepScreenOn": "सत्र पृष्ठमा रहँदा स्क्रिन खुला राख्नुहोस्", "keepScreenOnSubtitle": "सत्र काम गर्दै गर्दा स्क्रिन जगाएर राख्नुहोस्।", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "रूप", "notifications": "सूचनाहरू", "notificationsSubtitle": "पुश प्राथमिकताहरू", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub जडान भयो", "noRepositoriesVisible": "कुनै भण्डार देखिँदैन। Kilo GitHub App का लागि भण्डार पहुँच जाँच्नुहोस्, त्यसपछि रिफ्रेस गर्नुहोस्।", "runOnWithTarget": "मा चलाउनुहोस्: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "वातावरण", "couldNotLoadEnvironment": "तपाईंको वातावरण लोड गर्न सकिएन", "retryLoadingEnvironment": "वातावरण लोड गर्न पुनः प्रयास गर्नुहोस्", diff --git a/apps/mobile/src/i18n/locales/nl.json b/apps/mobile/src/i18n/locales/nl.json index b143fe14d8..2336cf13ad 100644 --- a/apps/mobile/src/i18n/locales/nl.json +++ b/apps/mobile/src/i18n/locales/nl.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Toon het denken van de agent uitgevouwen wanneer het klaar is.", "keepScreenOn": "Scherm aan houden op de sessiepagina", "keepScreenOnSubtitle": "Houd het scherm wakker terwijl de sessie werkt.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Weergave", "notifications": "Meldingen", "notificationsSubtitle": "Pushvoorkeuren", @@ -1420,6 +1422,7 @@ "githubConnected": "GitHub verbonden", "noRepositoriesVisible": "Geen repositories zichtbaar. Controleer de repositorytoegang voor de Kilo GitHub-app en vernieuw daarna.", "runOnWithTarget": "Uitvoeren op: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Omgeving", "couldNotLoadEnvironment": "Kon je omgeving niet laden", "retryLoadingEnvironment": "Opnieuw omgeving laden", diff --git a/apps/mobile/src/i18n/locales/om.json b/apps/mobile/src/i18n/locales/om.json index 256920dc47..f524dd5398 100644 --- a/apps/mobile/src/i18n/locales/om.json +++ b/apps/mobile/src/i18n/locales/om.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Yeroo xumuuru, yaada ejentichaa bal'ifame agarsiisi.", "keepScreenOn": "Fuula session irratti yeroo jirtu sareen ifaa eegi", "keepScreenOnSubtitle": "Yeroo session hojiirraa jiru, sareen hiikkaa eegi.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Bifa", "notifications": "Beeksisa", "notificationsSubtitle": "Filannoo push", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub wal qabame", "noRepositoriesVisible": "Repository mul'atu hin jiru. Kilo GitHub App'tti argama repository ilaaliitii haaromsi.", "runOnWithTarget": "Irratti hojjedhu: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Naannoo", "couldNotLoadEnvironment": "Naannoo kee dhiisuu hin dandeenyne", "retryLoadingEnvironment": "Naannoo dhiisuu irra deebi'i", diff --git a/apps/mobile/src/i18n/locales/or.json b/apps/mobile/src/i18n/locales/or.json index 46e26f0f99..d20488d0c8 100644 --- a/apps/mobile/src/i18n/locales/or.json +++ b/apps/mobile/src/i18n/locales/or.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "ସମାପ୍ତ ହେଲେ ଏଜେଣ୍ଟର ଚିନ୍ତା ବିସ୍ତାର ହୋଇ ଦେଖାନ୍ତୁ।", "keepScreenOn": "ସେସନ୍ ପୃଷ୍ଠାରେ ଥିବା ସମୟରେ ସ୍କ୍ରିନ୍ ଚାଲୁ ରଖନ୍ତୁ", "keepScreenOnSubtitle": "ସେସନ୍ କାର୍ଯ୍ୟ କରୁଥିବା ସମୟରେ ସ୍କ୍ରିନ୍ ଜାଗ୍ରତ ରଖନ୍ତୁ।", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "ରୂପ", "notifications": "ବିଜ୍ଞପ୍ତି", "notificationsSubtitle": "ପୁସ୍ ପସନ୍ଦ", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub ସଂଯୋଜିତ", "noRepositoriesVisible": "କୌଣସି ରିପୋଜିଟୋରୀ ଦେଖାଯାଉନାହିଁ। Kilo GitHub ଆପ୍ ପାଇଁ ରିପୋଜିଟୋରୀ ଉପଲବ୍ଧତା ଯାଞ୍ଚ କରନ୍ତୁ, ତା'ପରେ ରିଫ୍ରେସ୍ କରନ୍ତୁ।", "runOnWithTarget": "ଚଲାନ୍ତୁ: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "ପରିବେଶ", "couldNotLoadEnvironment": "ଆପଣଙ୍କ ପରିବେଶ ଲୋଡ୍ ହୋଇପାରିଲା ନାହିଁ", "retryLoadingEnvironment": "ପରିବେଶ ଲୋଡ୍ କରିବା ପୁନଃଚେଷ୍ଟା କରନ୍ତୁ", diff --git a/apps/mobile/src/i18n/locales/pa.json b/apps/mobile/src/i18n/locales/pa.json index 22e4553b0c..f5d96033f7 100644 --- a/apps/mobile/src/i18n/locales/pa.json +++ b/apps/mobile/src/i18n/locales/pa.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "ਖਤਮ ਹੋਣ 'ਤੇ ਏਜੰਟ ਦੀ ਸੋਚ ਵਿਸਤਾਰ ਵਿੱਚ ਦਿਖਾਓ।", "keepScreenOn": "ਸੈਸ਼ਨ ਪੰਨੇ 'ਤੇ ਸਕ੍ਰੀਨ ਚਾਲੂ ਰੱਖੋ", "keepScreenOnSubtitle": "ਜਦੋਂ ਸੈਸ਼ਨ ਕੰਮ ਕਰ ਰਿਹਾ ਹੋਵੇ ਸਕ੍ਰੀਨ ਨੂੰ ਜਾਗਦੀ ਰੱਖੋ।", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "ਦਿੱਖ", "notifications": "ਸੂਚਨਾਵਾਂ", "notificationsSubtitle": "ਪੁਸ਼ ਤਰਜੀਹਾਂ", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub ਕਨੈਕਟ ਹੋਇਆ", "noRepositoriesVisible": "ਕੋਈ ਰਿਪੋਜ਼ਟਰੀ ਦਿਖਾਈ ਨਹੀਂ ਦੇ ਰਹੀ। Kilo GitHub ਐਪ ਲਈ ਰਿਪੋਜ਼ਟਰੀ ਪਹੁੰਚ ਜਾਂਚ ਕਰੋ, ਫਿਰ ਰਿਫਰੈਸ਼ ਕਰੋ।", "runOnWithTarget": "ਇਸ 'ਤੇ ਚਲਾਓ: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "ਵਾਤਾਵਰਣ", "couldNotLoadEnvironment": "ਤੁਹਾਡਾ ਵਾਤਾਵਰਣ ਲੋਡ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ", "retryLoadingEnvironment": "ਵਾਤਾਵਰਣ ਲੋਡ ਕਰਨ ਦੀ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ", diff --git a/apps/mobile/src/i18n/locales/pl.json b/apps/mobile/src/i18n/locales/pl.json index 207321b77b..d250669a50 100644 --- a/apps/mobile/src/i18n/locales/pl.json +++ b/apps/mobile/src/i18n/locales/pl.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Pokaż myślenie agenta rozwinięte po zakończeniu.", "keepScreenOn": "Trzymaj ekran włączony na stronie sesji", "keepScreenOnSubtitle": "Utrzymuj ekran włączony, gdy sesja pracuje.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Wygląd", "notifications": "Powiadomienia", "notificationsSubtitle": "Preferencje powiadomień push", @@ -1420,6 +1422,7 @@ "githubConnected": "GitHub połączony", "noRepositoriesVisible": "Brak widocznych repozytoriów. Sprawdź dostęp repozytoriów dla aplikacji Kilo GitHub, a następnie odśwież.", "runOnWithTarget": "Uruchom na: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Środowisko", "couldNotLoadEnvironment": "Nie udało się załadować Twojego środowiska", "retryLoadingEnvironment": "Spróbuj ponownie załadować środowisko", diff --git a/apps/mobile/src/i18n/locales/ps.json b/apps/mobile/src/i18n/locales/ps.json index 82b1ead017..ff1da00148 100644 --- a/apps/mobile/src/i18n/locales/ps.json +++ b/apps/mobile/src/i18n/locales/ps.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "کله چې بشپړ شي د اجنټ فکر پراخ ښودل شوی.", "keepScreenOn": "په ناستې پاڼه کې سکرین فعال وساتئ", "keepScreenOnSubtitle": "پداسې حال کې چې ناسته کار کوي سکرین ویښ وساتئ.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "بڼه", "notifications": "خبرتیاوې", "notificationsSubtitle": "د پوش ترجیحات", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub وصل شو", "noRepositoriesVisible": "هیڅ ذخیره نه ښکاري. د Kilo GitHub اپ لپاره د ذخیرې لاسرسی وګورئ، بیا تازه کړئ.", "runOnWithTarget": "پر باندې پرمخ یوسئ: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "چاپېریال", "couldNotLoadEnvironment": "ستاسو چاپېریال بار نه شو", "retryLoadingEnvironment": "د چاپېریال بارولو بیا هڅه کړئ", diff --git a/apps/mobile/src/i18n/locales/pt-BR.json b/apps/mobile/src/i18n/locales/pt-BR.json index ec7a801893..0a3c1e7225 100644 --- a/apps/mobile/src/i18n/locales/pt-BR.json +++ b/apps/mobile/src/i18n/locales/pt-BR.json @@ -1406,6 +1406,7 @@ "githubConnected": "GitHub conectado", "noRepositoriesVisible": "Nenhum repositório visível. Verifique o acesso ao repositório do Kilo GitHub App e atualize.", "runOnWithTarget": "Executar em: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Ambiente", "couldNotLoadEnvironment": "Não foi possível carregar seu ambiente", "retryLoadingEnvironment": "Tentar carregar o ambiente novamente", @@ -1869,6 +1870,8 @@ "autoExpandThinkingSubtitle": "Mostrar o raciocínio do agente expandido quando ele terminar.", "keepScreenOn": "Manter a tela ligada na página da sessão", "keepScreenOnSubtitle": "Mantenha a tela ativa enquanto a sessão trabalha.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Aparência", "notifications": "Notificações", "notificationsSubtitle": "Preferências de push", diff --git a/apps/mobile/src/i18n/locales/pt.json b/apps/mobile/src/i18n/locales/pt.json index bb7ded6984..92ddc7978d 100644 --- a/apps/mobile/src/i18n/locales/pt.json +++ b/apps/mobile/src/i18n/locales/pt.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Mostrar o raciocínio do agente expandido quando termina.", "keepScreenOn": "Manter o ecrã ligado na página da sessão", "keepScreenOnSubtitle": "Manter o ecrã ativo enquanto a sessão está a trabalhar.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Aparência", "notifications": "Notificações", "notificationsSubtitle": "Preferências push", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub ligado", "noRepositoriesVisible": "Nenhum repositório visível. Verifique o acesso aos repositórios da aplicação Kilo GitHub e depois atualize.", "runOnWithTarget": "Executar em: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Ambiente", "couldNotLoadEnvironment": "Não foi possível carregar o seu ambiente", "retryLoadingEnvironment": "Tentar carregar o ambiente novamente", diff --git a/apps/mobile/src/i18n/locales/ro.json b/apps/mobile/src/i18n/locales/ro.json index 71390b2d99..10be52109b 100644 --- a/apps/mobile/src/i18n/locales/ro.json +++ b/apps/mobile/src/i18n/locales/ro.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Afișează gândirea agentului extinsă atunci când termină.", "keepScreenOn": "Menține ecranul pornit pe pagina sesiunii", "keepScreenOnSubtitle": "Menține ecranul activ cât timp sesiunea lucrează.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Aspect", "notifications": "Notificări", "notificationsSubtitle": "Preferințe push", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub conectat", "noRepositoriesVisible": "Nu este vizibil niciun depozit. Verifică accesul la depozite pentru Kilo GitHub App, apoi reîmprospătează.", "runOnWithTarget": "Rulează pe: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Mediu", "couldNotLoadEnvironment": "Nu s-a putut încărca mediul tău", "retryLoadingEnvironment": "Reîncearcă încărcarea mediului", diff --git a/apps/mobile/src/i18n/locales/ru.json b/apps/mobile/src/i18n/locales/ru.json index 694d34ee39..a9f51c1984 100644 --- a/apps/mobile/src/i18n/locales/ru.json +++ b/apps/mobile/src/i18n/locales/ru.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Показывать мышление агента раскрытым по завершении.", "keepScreenOn": "Не выключать экран на странице сеанса", "keepScreenOnSubtitle": "Держать экран включенным, пока сеанс работает.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Внешний вид", "notifications": "Уведомления", "notificationsSubtitle": "Настройки push-уведомлений", @@ -1420,6 +1422,7 @@ "githubConnected": "GitHub подключен", "noRepositoriesVisible": "Репозитории не видны. Проверьте доступ к репозиториям для приложения Kilo GitHub, затем обновите.", "runOnWithTarget": "Запустить на: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Окружение", "couldNotLoadEnvironment": "Не удалось загрузить ваше окружение", "retryLoadingEnvironment": "Повторить загрузку окружения", diff --git a/apps/mobile/src/i18n/locales/si.json b/apps/mobile/src/i18n/locales/si.json index da314d4820..ee23e24641 100644 --- a/apps/mobile/src/i18n/locales/si.json +++ b/apps/mobile/src/i18n/locales/si.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "අවසන් වූ විට නියෝජිතයාගේ චින්තනය පුළුල් කර පෙන්වන්න.", "keepScreenOn": "සැසි පිටුවේ සිටින විට තිරය දැල්වෙන්න තබන්න", "keepScreenOnSubtitle": "සැසිය ක්‍රියාත්මක වන අතරතුර තිරය අවදියෙන් තබන්න.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "පෙනුම", "notifications": "දැනුම්දීම්", "notificationsSubtitle": "තෙරපුම් මනාප", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub සම්බන්ධ විය", "noRepositoriesVisible": "දෘශ්යමාන ගබඩා නැත. Kilo GitHub App සඳහා ගබඩා ප්රවේශය පරීක්ෂා කරන්න, පසුව නැවුම් කරන්න.", "runOnWithTarget": "ධාවනය කරන්න: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "පරිසරය", "couldNotLoadEnvironment": "ඔබේ පරිසරය පූරණය කළ නොහැකි විය", "retryLoadingEnvironment": "පරිසරය පූරණය කිරීම නැවත උත්සාහ කරන්න", diff --git a/apps/mobile/src/i18n/locales/sk.json b/apps/mobile/src/i18n/locales/sk.json index 0951ce83c2..235d4ead1a 100644 --- a/apps/mobile/src/i18n/locales/sk.json +++ b/apps/mobile/src/i18n/locales/sk.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Po dokončení zobrazí myslenie agenta rozbalené.", "keepScreenOn": "Ponechať obrazovku zapnutú na stránke relácie", "keepScreenOnSubtitle": "Udržiava obrazovku zapnutú, kým relácia pracuje.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Vzhľad", "notifications": "Upozornenia", "notificationsSubtitle": "Predvoľby push", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub pripojený", "noRepositoriesVisible": "Žiadne repozitáre nie sú viditeľné. Skontrolujte prístup k repozitárom pre aplikáciu Kilo GitHub App a potom obnovte.", "runOnWithTarget": "Spustiť na: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Prostredie", "couldNotLoadEnvironment": "Vaše prostredie sa nepodarilo načítať", "retryLoadingEnvironment": "Skúsiť znova načítať prostredie", diff --git a/apps/mobile/src/i18n/locales/sl.json b/apps/mobile/src/i18n/locales/sl.json index 5ed570fd8f..3f1f09c069 100644 --- a/apps/mobile/src/i18n/locales/sl.json +++ b/apps/mobile/src/i18n/locales/sl.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Ko agent konča, prikaži njegovo razmišljanje razširjeno.", "keepScreenOn": "Pusti zaslon prižgan na strani seje", "keepScreenOnSubtitle": "Drži zaslon prižgan, medtem ko seja deluje.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Videz", "notifications": "Obvestila", "notificationsSubtitle": "Nastavitve potisnih obvestil", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub povezan", "noRepositoriesVisible": "Ni vidnih skladišč. Preveri dostop do skladišč za aplikacijo Kilo GitHub App in nato osveži.", "runOnWithTarget": "Zaženi na: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Okolje", "couldNotLoadEnvironment": "Tvojega okolja ni bilo mogoče naložiti", "retryLoadingEnvironment": "Poskusi znova naložiti okolje", diff --git a/apps/mobile/src/i18n/locales/so.json b/apps/mobile/src/i18n/locales/so.json index c39b98862b..e9687fef75 100644 --- a/apps/mobile/src/i18n/locales/so.json +++ b/apps/mobile/src/i18n/locales/so.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Muuji fikirka wakiilka oo balaadhan markay dhammeeyaan.", "keepScreenOn": "Shaashadda ha ahaato mid hurdaynaysa bogga fadhiga", "keepScreenOnSubtitle": "Shaashadda u hay oo hurdaynaysa inta fadhigu shaqeynayo.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Muuqaal", "notifications": "Ogaysiisyada", "notificationsSubtitle": "Doorsaarka push", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub waa la xidhay", "noRepositoriesVisible": "Ma jiraan kayd la arki karo. Hubi helitaanka kaydka ee App-ka Kilo GitHub, ka dib cusboonaysii.", "runOnWithTarget": "Ku socodsii: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Deegaanka", "couldNotLoadEnvironment": "Deegaankaaga lama shubay", "retryLoadingEnvironment": "Mar kale isku day inaad shubto deegaanka", diff --git a/apps/mobile/src/i18n/locales/sq.json b/apps/mobile/src/i18n/locales/sq.json index 9140c0d2ec..8f152b774c 100644 --- a/apps/mobile/src/i18n/locales/sq.json +++ b/apps/mobile/src/i18n/locales/sq.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Trego të menduarit e agjentit të zgjeruar kur të përfundojë.", "keepScreenOn": "Mbaje ekranin ndezur në faqen e sesionit", "keepScreenOnSubtitle": "Mbaje ekranin zgjuar ndërsa sesioni po punon.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Pamja", "notifications": "Njoftimet", "notificationsSubtitle": "Preferencat e shtytjes", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub u lidh", "noRepositoriesVisible": "Asnjë depo e dukshme. Kontrolloni aksesin në depo për Kilo GitHub App, pastaj rifreskoni.", "runOnWithTarget": "Ekzekuto në: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Mjedisi", "couldNotLoadEnvironment": "Nuk u ngarkua mjedisi juaj", "retryLoadingEnvironment": "Provo përsëri ngarkimin e mjedisit", diff --git a/apps/mobile/src/i18n/locales/sr.json b/apps/mobile/src/i18n/locales/sr.json index c7b34687bf..f08cfe66dc 100644 --- a/apps/mobile/src/i18n/locales/sr.json +++ b/apps/mobile/src/i18n/locales/sr.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Prikaži prošireno razmišljanje agenta kada završi.", "keepScreenOn": "Zadrži uključen ekran na stranici sesije", "keepScreenOnSubtitle": "Zadrži budan ekran dok sesija radi.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Izgled", "notifications": "Obaveštenja", "notificationsSubtitle": "Podešavanja push", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub je povezan", "noRepositoriesVisible": "Nema vidljivih repozitorijuma. Proveri pristup repozitorijumu za Kilo GitHub aplikaciju, a zatim osveži.", "runOnWithTarget": "Pokreni na: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Okruženje", "couldNotLoadEnvironment": "Tvoje okruženje se ne može učitati", "retryLoadingEnvironment": "Pokušaj ponovo učitavanje okruženja", diff --git a/apps/mobile/src/i18n/locales/sv.json b/apps/mobile/src/i18n/locales/sv.json index 5bac32be87..63c896378f 100644 --- a/apps/mobile/src/i18n/locales/sv.json +++ b/apps/mobile/src/i18n/locales/sv.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Visa agentens tänkande utökat när den är klar.", "keepScreenOn": "Håll skärmen på under sessionen", "keepScreenOnSubtitle": "Håll skärmen vaken medan sessionen arbetar.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Utseende", "notifications": "Aviseringar", "notificationsSubtitle": "Push-inställningar", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub ansluten", "noRepositoriesVisible": "Inga arkiv synliga. Kontrollera arkivåtkomsten för Kilo GitHub App och uppdatera sedan.", "runOnWithTarget": "Kör på: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Miljö", "couldNotLoadEnvironment": "Kunde inte läsa in din miljö", "retryLoadingEnvironment": "Försök läsa in miljön igen", diff --git a/apps/mobile/src/i18n/locales/sw.json b/apps/mobile/src/i18n/locales/sw.json index d156ab7684..87da43efe4 100644 --- a/apps/mobile/src/i18n/locales/sw.json +++ b/apps/mobile/src/i18n/locales/sw.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Onyesha kufikiri kwa wakala kikiwa kimepanuliwa kinapomaliza.", "keepScreenOn": "Weka skrini ikiwa kwenye ukurasa wa kipindi", "keepScreenOnSubtitle": "Weka skrini macho wakati kipindi kinafanya kazi.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Muonekano", "notifications": "Arifa", "notificationsSubtitle": "Mapendeleo ya push", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub imeunganishwa", "noRepositoriesVisible": "Hakuna hazina zinazoonekana. Angalia ufikiaji wa hazina kwa Kilo GitHub App, kisha sasisha.", "runOnWithTarget": "Endesha kwenye: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Mazingira", "couldNotLoadEnvironment": "Haikuweza kupakia mazingira yako", "retryLoadingEnvironment": "Jaribu tena kupakia mazingira", diff --git a/apps/mobile/src/i18n/locales/ta.json b/apps/mobile/src/i18n/locales/ta.json index b13fd8d9f7..d0f280e5e2 100644 --- a/apps/mobile/src/i18n/locales/ta.json +++ b/apps/mobile/src/i18n/locales/ta.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "முடிவடையும் போது முகவரின் சிந்தனையை விரிவாகக் காட்டவும்.", "keepScreenOn": "அமர்வு பக்கத்தில் இருக்கும் போது திரையை இயக்கத்தில் வை", "keepScreenOnSubtitle": "அமர்வு வேலை செய்யும் போது திரையை விழித்திருக்க வை.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "தோற்றம்", "notifications": "அறிவிப்புகள்", "notificationsSubtitle": "அழுத்து விருப்பத்தேர்வுகள்", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub இணைக்கப்பட்டது", "noRepositoriesVisible": "களஞ்சியங்கள் தெரியவில்லை. Kilo GitHub App க்கான களஞ்சிய அணுகலைச் சரிபார்த்து, பின்னர் புதுப்பிக்கவும்.", "runOnWithTarget": "இதில் இயக்கு: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "சூழல்", "couldNotLoadEnvironment": "உங்கள் சூழலை ஏற்ற முடியவில்லை", "retryLoadingEnvironment": "சூழலை ஏற்றுவதை மீண்டும் முயற்சி செய்", diff --git a/apps/mobile/src/i18n/locales/te.json b/apps/mobile/src/i18n/locales/te.json index b131c44c7a..44e043aa9f 100644 --- a/apps/mobile/src/i18n/locales/te.json +++ b/apps/mobile/src/i18n/locales/te.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "పూర్తయినప్పుడు ఏజెంట్ యొక్క ఆలోచనను విస్తరించి చూపించండి.", "keepScreenOn": "సెషన్ పేజీలో స్క్రీన్ ఆన్లో ఉంచండి", "keepScreenOnSubtitle": "సెషన్ పని చేస్తున్నప్పుడు స్క్రీన్ను మేల్కొని ఉంచండి.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "రూపం", "notifications": "నోటిఫికేషన్లు", "notificationsSubtitle": "పుష్ ప్రాధాన్యతలు", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub కనెక్ట్ అయింది", "noRepositoriesVisible": "రిపోజిటరీలు కనిపించడం లేదు. Kilo GitHub App కోసం రిపోజిటరీ యాక్సెస్‌ను తనిఖీ చేయండి, ఆపై రిఫ్రెష్ చేయండి.", "runOnWithTarget": "అమలు చేయండి: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "ఎన్విరాన్మెంట్", "couldNotLoadEnvironment": "మీ ఎన్విరాన్మెంట్‌ను లోడ్ చేయలేకపోయింది", "retryLoadingEnvironment": "ఎన్విరాన్మెంట్ లోడింగ్ మళ్ళీ ప్రయత్నించండి", diff --git a/apps/mobile/src/i18n/locales/th.json b/apps/mobile/src/i18n/locales/th.json index fe2468c65e..c37381ad83 100644 --- a/apps/mobile/src/i18n/locales/th.json +++ b/apps/mobile/src/i18n/locales/th.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "แสดงการคิดของเอเจนต์ที่ขยายไว้เมื่อเสร็จสิ้น", "keepScreenOn": "เปิดหน้าจอไว้ขณะอยู่ในหน้าของเซสชัน", "keepScreenOnSubtitle": "ค้างหน้าจอให้ตื่นอยู่ขณะที่เซสชันกำลังทำงาน", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "ลักษณะที่ปรากฏ", "notifications": "การแจ้งเตือน", "notificationsSubtitle": "การตั้งค่าการแจ้งเตือนแบบพุช", @@ -1792,6 +1794,7 @@ "githubConnected": "เชื่อมต่อ GitHub แล้ว", "noRepositoriesVisible": "ไม่มี repositories ที่มองเห็น ตรวจสอบสิทธิ์การเข้าถึง repository สำหรับ Kilo GitHub App แล้วรีเฟรช", "runOnWithTarget": "รันบน: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "สภาพแวดล้อม", "couldNotLoadEnvironment": "ไม่สามารถโหลดสภาพแวดล้อมของคุณได้", "retryLoadingEnvironment": "ลองโหลดสภาพแวดล้อมใหม่", diff --git a/apps/mobile/src/i18n/locales/tr.json b/apps/mobile/src/i18n/locales/tr.json index fb63bc7924..4ca82cc3ae 100644 --- a/apps/mobile/src/i18n/locales/tr.json +++ b/apps/mobile/src/i18n/locales/tr.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Ajanın düşünmesi bittiğinde genişletilmiş olarak göster.", "keepScreenOn": "Oturum sayfasındayken ekranı açık tut", "keepScreenOnSubtitle": "Oturum çalışırken ekranı uyanık tut.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Görünüm", "notifications": "Bildirimler", "notificationsSubtitle": "Anlık bildirim tercihleri", @@ -1420,6 +1422,7 @@ "githubConnected": "GitHub bağlandı", "noRepositoriesVisible": "Görünür depo yok. Kilo GitHub Uygulaması için depo erişimini kontrol edin, ardından yenileyin.", "runOnWithTarget": "Çalıştırma yeri: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Ortam", "couldNotLoadEnvironment": "Ortamınız yüklenemedi", "retryLoadingEnvironment": "Ortamı yüklemeyi tekrar dene", diff --git a/apps/mobile/src/i18n/locales/uk.json b/apps/mobile/src/i18n/locales/uk.json index 5a3af4d9db..5e218d9321 100644 --- a/apps/mobile/src/i18n/locales/uk.json +++ b/apps/mobile/src/i18n/locales/uk.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Показувати мислення агента розгорнутим після завершення.", "keepScreenOn": "Тримати екран увімкненим на сторінці сеансу", "keepScreenOnSubtitle": "Тримати екран активним, поки сеанс працює.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Зовнішній вигляд", "notifications": "Сповіщення", "notificationsSubtitle": "Налаштування push", @@ -1420,6 +1422,7 @@ "githubConnected": "GitHub підключено", "noRepositoriesVisible": "Репозиторіїв не видно. Перевірте доступ до репозиторіїв для застосунку Kilo GitHub, потім оновіть.", "runOnWithTarget": "Запустити на: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Середовище", "couldNotLoadEnvironment": "Не вдалося завантажити ваше середовище", "retryLoadingEnvironment": "Повторити завантаження середовища", diff --git a/apps/mobile/src/i18n/locales/ur.json b/apps/mobile/src/i18n/locales/ur.json index 66d412270f..20e1869698 100644 --- a/apps/mobile/src/i18n/locales/ur.json +++ b/apps/mobile/src/i18n/locales/ur.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "ایجنٹ مکمل ہونے پر اس کی سوچ کو پھیلا کر دکھائیں۔", "keepScreenOn": "سیشن صفحہ پر اسکرین کو آن رکھیں", "keepScreenOnSubtitle": "سیشن کام کرتے وقت اسکرین کو جاگتی رکھیں۔", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "ظاہری شکل", "notifications": "اطلاعیں", "notificationsSubtitle": "پش ترجیحات", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub جڑ گیا", "noRepositoriesVisible": "کوئی ریپوزٹری نظر نہیں آتی۔ Kilo GitHub App کے لیے ریپوزٹری رسائی چیک کریں، پھر تازہ کریں۔", "runOnWithTarget": "چلائیں: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "ماحول", "couldNotLoadEnvironment": "آپ کا ماحول لوڈ نہیں ہو سکا", "retryLoadingEnvironment": "ماحول لوڈ کرنا دوبارہ آزمائیں", diff --git a/apps/mobile/src/i18n/locales/uz.json b/apps/mobile/src/i18n/locales/uz.json index b6dc476381..db7fea5702 100644 --- a/apps/mobile/src/i18n/locales/uz.json +++ b/apps/mobile/src/i18n/locales/uz.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Tugaganda agentning fikrlashini kengaytirilgan holda ko'rsatish.", "keepScreenOn": "Seans sahifasida ekranni yoqilgan holda ushlab turish", "keepScreenOnSubtitle": "Seans ishlayotganda ekranni yoqilgan holda ushlab turish.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Ko'rinish", "notifications": "Bildirishnomalar", "notificationsSubtitle": "Push sozlamalari", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub ulandi", "noRepositoriesVisible": "Ko'rinadigan repozitoriyalar yo'q. Kilo GitHub App'i uchun repozitoriya kirishini tekshiring, so'ng yangilang.", "runOnWithTarget": "Yurgizish: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Muhit", "couldNotLoadEnvironment": "Muhitingizni yuklab bo'lmadi", "retryLoadingEnvironment": "Muhitni yuklashni qayta urinish", diff --git a/apps/mobile/src/i18n/locales/vi.json b/apps/mobile/src/i18n/locales/vi.json index eace4b3724..6c95e1cc18 100644 --- a/apps/mobile/src/i18n/locales/vi.json +++ b/apps/mobile/src/i18n/locales/vi.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Hiển thị suy nghĩ của tác nhân được mở rộng khi hoàn tất.", "keepScreenOn": "Giữ màn hình bật khi ở trang phiên", "keepScreenOnSubtitle": "Giữ màn hình bật khi phiên đang hoạt động.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Giao diện", "notifications": "Thông báo", "notificationsSubtitle": "Tùy chọn đẩy", @@ -1420,6 +1422,7 @@ "githubConnected": "Đã kết nối GitHub", "noRepositoriesVisible": "Không thấy kho lưu trữ nào. Kiểm tra quyền truy cập kho lưu trữ cho ứng dụng Kilo GitHub, sau đó làm mới.", "runOnWithTarget": "Chạy trên: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Môi trường", "couldNotLoadEnvironment": "Không thể tải môi trường của bạn", "retryLoadingEnvironment": "Thử tải lại môi trường", diff --git a/apps/mobile/src/i18n/locales/yo.json b/apps/mobile/src/i18n/locales/yo.json index 6d85cebc0e..0d024e36b3 100644 --- a/apps/mobile/src/i18n/locales/yo.json +++ b/apps/mobile/src/i18n/locales/yo.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Fi ironu aṣoju han ti o fẹ̀ nigbati o ba pari.", "keepScreenOn": "Pa iboju mọ́ nigba ti o ba wa lori oju-iwe akoko", "keepScreenOnSubtitle": "Mu iboju ṣiṣẹ nigba ti akoko n ṣiṣẹ.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Irisi", "notifications": "Awọn ifitonileti", "notificationsSubtitle": "Awọn ààyò titari", @@ -1792,6 +1794,7 @@ "githubConnected": "GitHub ti sopọ", "noRepositoriesVisible": "Ko si awọn ibi ipamọ ti o han. Ṣayẹwo iraye ibi ipamọ fun Kilo GitHub App, lẹhinna tun ṣe.", "runOnWithTarget": "Ṣiṣẹ lori: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Ayika", "couldNotLoadEnvironment": "Ko le ṣe ikojọpọ ayika rẹ", "retryLoadingEnvironment": "Tun gbiyanju ikojọpọ ayika", diff --git a/apps/mobile/src/i18n/locales/zh-Hans.json b/apps/mobile/src/i18n/locales/zh-Hans.json index 345aae1341..6872c7848b 100644 --- a/apps/mobile/src/i18n/locales/zh-Hans.json +++ b/apps/mobile/src/i18n/locales/zh-Hans.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "代理完成时展开显示其思考过程。", "keepScreenOn": "在会话页面保持屏幕常亮", "keepScreenOnSubtitle": "会话运行期间保持屏幕唤醒。", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "外观", "notifications": "通知", "notificationsSubtitle": "推送偏好设置", @@ -1420,6 +1422,7 @@ "githubConnected": "GitHub 已连接", "noRepositoriesVisible": "看不到任何仓库。请检查 Kilo GitHub App 的仓库访问权限,然后刷新。", "runOnWithTarget": "运行于:{{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "环境", "couldNotLoadEnvironment": "无法加载您的环境", "retryLoadingEnvironment": "重试加载环境", diff --git a/apps/mobile/src/i18n/locales/zh-Hant.json b/apps/mobile/src/i18n/locales/zh-Hant.json index 9541bc2b4c..f01f151e3b 100644 --- a/apps/mobile/src/i18n/locales/zh-Hant.json +++ b/apps/mobile/src/i18n/locales/zh-Hant.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "代理完成時,以展開狀態顯示其思考內容。", "keepScreenOn": "在工作階段頁面保持螢幕開啟", "keepScreenOnSubtitle": "工作階段運作時保持螢幕喚醒。", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "外觀", "notifications": "通知", "notificationsSubtitle": "推播偏好設定", @@ -1420,6 +1422,7 @@ "githubConnected": "GitHub 已連接", "noRepositoriesVisible": "看不到任何存放庫。請檢查 Kilo GitHub App 的存放庫存取權限,然後重新整理。", "runOnWithTarget": "執行於:{{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "環境", "couldNotLoadEnvironment": "無法載入您的環境", "retryLoadingEnvironment": "重試載入環境", diff --git a/apps/mobile/src/i18n/locales/zu.json b/apps/mobile/src/i18n/locales/zu.json index d376dff6ec..474a7bfe91 100644 --- a/apps/mobile/src/i18n/locales/zu.json +++ b/apps/mobile/src/i18n/locales/zu.json @@ -137,6 +137,8 @@ "autoExpandThinkingSubtitle": "Khombisa ukucabanga kwe-agent kuvulekile uma kuqeda.", "keepScreenOn": "Gcina isikrini sivuliwe usekhasini leseshini", "keepScreenOnSubtitle": "Gcina isikrini sivuliwe ngenkathi iseshini isebenza.", + "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Ukubukeka", "notifications": "Izaziso", "notificationsSubtitle": "Izintandokazi zokudonsa", @@ -1792,6 +1794,7 @@ "githubConnected": "I-GitHub ixhunyiwe", "noRepositoriesVisible": "Akukho ma-repository abonakalayo. Bheka ukufinyelela kwe-repository ye-Kilo GitHub App, bese uvuselela.", "runOnWithTarget": "Sebenza ku: {{target}}", + "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", "environment": "Imvelo", "couldNotLoadEnvironment": "Akukwazanga ukulayisha imvelo yakho", "retryLoadingEnvironment": "Zama ukulayisha imvelo futhi", diff --git a/apps/mobile/src/lib/auth/auth-context.test.tsx b/apps/mobile/src/lib/auth/auth-context.test.tsx index 9f67ed1c21..b5504300d3 100644 --- a/apps/mobile/src/lib/auth/auth-context.test.tsx +++ b/apps/mobile/src/lib/auth/auth-context.test.tsx @@ -147,14 +147,18 @@ vi.mock('@/lib/hooks/use-persisted-agent-model', () => ({ clearAgentModelPreference: vi.fn(), })); -const { clearKeepScreenOnPreference, clearReasoningPreference } = vi.hoisted(() => ({ - clearKeepScreenOnPreference: vi.fn(), - clearReasoningPreference: vi.fn(), -})); +const { clearKeepScreenOnPreference, clearReasoningPreference, clearPrReviewFooterPreference } = + vi.hoisted(() => ({ + clearKeepScreenOnPreference: vi.fn(), + clearReasoningPreference: vi.fn(), + clearPrReviewFooterPreference: vi.fn(), + })); vi.mock('@/lib/hooks/use-keep-screen-on-preference', () => ({ clearKeepScreenOnPreference })); vi.mock('@/lib/hooks/use-reasoning-preference', () => ({ clearReasoningPreference })); +vi.mock('@/lib/hooks/use-pr-review-footer-preference', () => ({ clearPrReviewFooterPreference })); + vi.mock('@/lib/last-active-instance', () => ({ clearLastActiveInstance: vi.fn().mockResolvedValue(undefined), })); @@ -385,7 +389,7 @@ describe('sign-out teardown ordering', () => { unmount(); }); - it('clears both local preferences on sign-out', async () => { + it('clears the local preferences on sign-out', async () => { const { ctx } = await mountAndGetContext(); await act(async () => { @@ -394,6 +398,7 @@ describe('sign-out teardown ordering', () => { expect(clearKeepScreenOnPreference).toHaveBeenCalled(); expect(clearReasoningPreference).toHaveBeenCalled(); + expect(clearPrReviewFooterPreference).toHaveBeenCalled(); }); it('closes the ownership gate before any await and blocks a late persist', async () => { diff --git a/apps/mobile/src/lib/auth/auth-context.tsx b/apps/mobile/src/lib/auth/auth-context.tsx index dec04a63a1..fdc87a2e29 100644 --- a/apps/mobile/src/lib/auth/auth-context.tsx +++ b/apps/mobile/src/lib/auth/auth-context.tsx @@ -37,6 +37,7 @@ import { import { chainSave } from '@/lib/hooks/save-chain'; import { clearAgentModelPreference } from '@/lib/hooks/use-persisted-agent-model'; import { clearKeepScreenOnPreference } from '@/lib/hooks/use-keep-screen-on-preference'; +import { clearPrReviewFooterPreference } from '@/lib/hooks/use-pr-review-footer-preference'; import { clearReasoningPreference } from '@/lib/hooks/use-reasoning-preference'; import { clearKiloClawOwned, gateKiloClawOwned } from '@/lib/kiloclaw-tab-ownership'; import { clearLastActiveInstance } from '@/lib/last-active-instance'; @@ -337,6 +338,7 @@ export function AuthProvider({ children }: { readonly children: ReactNode }) { clearAgentModelPreference(); clearReasoningPreference(); clearKeepScreenOnPreference(); + clearPrReviewFooterPreference(); } finally { queryClient.clear(); setSessionEnded(ended); diff --git a/apps/mobile/src/lib/hooks/use-pr-review-footer-preference.test.ts b/apps/mobile/src/lib/hooks/use-pr-review-footer-preference.test.ts new file mode 100644 index 0000000000..e43e357fb5 --- /dev/null +++ b/apps/mobile/src/lib/hooks/use-pr-review-footer-preference.test.ts @@ -0,0 +1,112 @@ +import { beforeEach, describe, expect, it, vi } from 'vitest'; + +const { getItemAsync, setItemAsync, deleteItemAsync } = vi.hoisted(() => ({ + getItemAsync: vi.fn(), + setItemAsync: vi.fn(), + deleteItemAsync: vi.fn(), +})); +vi.mock('expo-secure-store', () => ({ getItemAsync, setItemAsync, deleteItemAsync })); + +const { captureException } = vi.hoisted(() => ({ captureException: vi.fn() })); +vi.mock('@sentry/react-native', () => ({ captureException })); + +const { toastError } = vi.hoisted(() => ({ toastError: vi.fn() })); +vi.mock('sonner-native', () => ({ toast: { error: toastError } })); + +// eslint-disable-next-line typescript-eslint/promise-function-async -- conflicting require-await rule +function flushMicrotasks(): Promise { + return new Promise(resolve => { + setImmediate(resolve); + }); +} + +// eslint-disable-next-line no-empty-function -- listener body is irrelevant, only subscribe()'s side effect (starting the load) is under test +function noopListener(): void {} + +// eslint-disable-next-line typescript-eslint/promise-function-async -- conflicting require-await rule +function makeStore() { + // Re-import lazily so the mock wiring above is in effect. + return import('./secure-store-preference').then(({ createSecureStorePreference }) => + createSecureStorePreference({ + key: 'pr-review-footer-enabled', + defaultValue: true, + parse: raw => raw !== 'false', + serialize: value => (value ? 'true' : 'false'), + }) + ); +} + +describe('parsePrReviewFooter', () => { + it('defaults to on for a missing value (fresh install and unreadable read)', async () => { + const { parsePrReviewFooter } = await import('./use-pr-review-footer-preference'); + expect(parsePrReviewFooter(null)).toBe(true); + }); + + it("reads 'true' as on", async () => { + const { parsePrReviewFooter } = await import('./use-pr-review-footer-preference'); + expect(parsePrReviewFooter('true')).toBe(true); + }); + + it("reads 'false' as off — the only value that turns the preference off", async () => { + const { parsePrReviewFooter } = await import('./use-pr-review-footer-preference'); + expect(parsePrReviewFooter('false')).toBe(false); + }); + + it('treats any other stored string as on', async () => { + const { parsePrReviewFooter } = await import('./use-pr-review-footer-preference'); + expect(parsePrReviewFooter('')).toBe(true); + expect(parsePrReviewFooter('nonsense')).toBe(true); + }); +}); + +describe('pr-review-footer store', () => { + beforeEach(() => { + getItemAsync.mockReset(); + setItemAsync.mockReset(); + deleteItemAsync.mockReset(); + captureException.mockReset(); + toastError.mockReset(); + }); + + it('defaults to on when SecureStore returns null', async () => { + getItemAsync.mockResolvedValue(null); + const store = await makeStore(); + + const unsubscribe = store.subscribe(noopListener); + await flushMicrotasks(); + + expect(store.get()).toBe(true); + expect(store.getHasLoaded()).toBe(true); + unsubscribe(); + }); + + it("turns off only for the stored string 'false'", async () => { + getItemAsync.mockResolvedValue('false'); + const store = await makeStore(); + + const unsubscribe = store.subscribe(noopListener); + await flushMicrotasks(); + + expect(store.get()).toBe(false); + expect(store.getHasLoaded()).toBe(true); + unsubscribe(); + }); + + it('persists a set value and clears back to the default on sign-out', async () => { + getItemAsync.mockResolvedValue(null); + const store = await makeStore(); + + store.set(false); + await flushMicrotasks(); + expect(setItemAsync).toHaveBeenCalledWith('pr-review-footer-enabled', 'false'); + + store.set(true); + await flushMicrotasks(); + expect(setItemAsync).toHaveBeenCalledWith('pr-review-footer-enabled', 'true'); + + store.clear(); + await flushMicrotasks(); + expect(deleteItemAsync).toHaveBeenCalledWith('pr-review-footer-enabled'); + expect(store.get()).toBe(true); + }); +}); diff --git a/apps/mobile/src/lib/hooks/use-pr-review-footer-preference.ts b/apps/mobile/src/lib/hooks/use-pr-review-footer-preference.ts new file mode 100644 index 0000000000..8fae001f02 --- /dev/null +++ b/apps/mobile/src/lib/hooks/use-pr-review-footer-preference.ts @@ -0,0 +1,34 @@ +import { useSyncExternalStore } from 'react'; + +import { createSecureStorePreference } from '@/lib/hooks/secure-store-preference'; +import { PR_REVIEW_FOOTER_KEY } from '@/lib/storage-keys'; + +/** + * Default-on preference: only the exact stored string 'false' turns it off, so a + * missing or unreadable value keeps the PR-review attribution footer the app + * ships with. + */ +export function parsePrReviewFooter(raw: string | null): boolean { + return raw !== 'false'; +} + +const store = createSecureStorePreference({ + key: PR_REVIEW_FOOTER_KEY, + defaultValue: true, + parse: parsePrReviewFooter, + serialize: value => (value ? 'true' : 'false'), +}); + +export function clearPrReviewFooterPreference() { + store.clear(); +} + +function setPrReviewFooter(value: boolean) { + store.set(value); +} + +export function usePrReviewFooterPreference() { + const prReviewFooter = useSyncExternalStore(store.subscribe, store.get); + const hasLoaded = useSyncExternalStore(store.subscribe, store.getHasLoaded); + return { prReviewFooter, hasLoaded, setPrReviewFooter }; +} diff --git a/apps/mobile/src/lib/pr-review/review-footer.test.ts b/apps/mobile/src/lib/pr-review/review-footer.test.ts new file mode 100644 index 0000000000..538e2f5d34 --- /dev/null +++ b/apps/mobile/src/lib/pr-review/review-footer.test.ts @@ -0,0 +1,24 @@ +import { describe, expect, it } from 'vitest'; + +import { buildReviewFooter } from './review-footer'; + +const IOS_URL = 'https://apps.apple.com/app/id6761193135'; +const ANDROID_URL = 'https://play.google.com/store/apps/details?id=com.kilocode.kiloapp'; + +describe('buildReviewFooter', () => { + it('builds the iOS footer with the App Store link for the ios platform', () => { + expect(buildReviewFooter('ios')).toBe(`\n\n---\nReviewed via the [Kilo iOS app](${IOS_URL})`); + }); + + it('builds the Android footer with the Play Store link for the android platform', () => { + expect(buildReviewFooter('android')).toBe( + `\n\n---\nReviewed via the [Kilo Android app](${ANDROID_URL})` + ); + }); + + it('builds the Android footer for any non-iOS platform string', () => { + expect(buildReviewFooter('windows')).toBe( + `\n\n---\nReviewed via the [Kilo Android app](${ANDROID_URL})` + ); + }); +}); diff --git a/apps/mobile/src/lib/pr-review/review-footer.ts b/apps/mobile/src/lib/pr-review/review-footer.ts new file mode 100644 index 0000000000..66d647aada --- /dev/null +++ b/apps/mobile/src/lib/pr-review/review-footer.ts @@ -0,0 +1,14 @@ +// PR-review attribution footer appended to the review summary when the +// default-on preference is enabled. The input is the running platform's OS, +// so iOS gets the iOS App Store link and every other platform (Android +// included) gets the Play Store link. + +const IOS_APP_URL = 'https://apps.apple.com/app/id6761193135'; +const ANDROID_APP_URL = 'https://play.google.com/store/apps/details?id=com.kilocode.kiloapp'; + +export function buildReviewFooter(os: 'ios' | 'android' | string): string { + if (os === 'ios') { + return `\n\n---\nReviewed via the [Kilo iOS app](${IOS_APP_URL})`; + } + return `\n\n---\nReviewed via the [Kilo Android app](${ANDROID_APP_URL})`; +} diff --git a/apps/mobile/src/lib/storage-keys.ts b/apps/mobile/src/lib/storage-keys.ts index 8896f725a7..b81a4c0de7 100644 --- a/apps/mobile/src/lib/storage-keys.ts +++ b/apps/mobile/src/lib/storage-keys.ts @@ -26,6 +26,7 @@ export const LOGIN_EMAIL_DRAFT_KEY = 'login-email-draft'; /** Login SSO-recovery banner draft, persisted before an RTL language reload. */ export const LOGIN_SSO_RECOVERY_DRAFT_KEY = 'login-sso-recovery-draft'; export const KEEP_SCREEN_ON_KEY = 'keep-session-screen-on'; +export const PR_REVIEW_FOOTER_KEY = 'pr-review-footer-enabled'; /** SQLCipher database key for the encrypted persistence store (DEC-01). */ export const PERSIST_DB_KEY = 'persist-db-key'; /** From b2a749014365a002c2e3caae21c05fa88e46e61c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Igor=20=C5=A0=C4=87eki=C4=87?= Date: Tue, 25 Aug 2026 03:53:11 +0200 Subject: [PATCH 02/13] feat(mobile): show three Live now slots on home --- .../home/agent-sessions-section.test.ts | 65 +++++++++---- .../home/agent-sessions-section.tsx | 97 +++++++++++-------- .../src/components/home/agents-promo-card.tsx | 62 ------------ .../home/home-screen.mounted.test.tsx | 53 ++++++---- .../src/components/home/home-screen.tsx | 57 ++++------- apps/mobile/src/i18n/locales/af.json | 5 - apps/mobile/src/i18n/locales/am.json | 5 - apps/mobile/src/i18n/locales/ar.json | 5 - apps/mobile/src/i18n/locales/az.json | 5 - apps/mobile/src/i18n/locales/be.json | 5 - apps/mobile/src/i18n/locales/bg.json | 5 - apps/mobile/src/i18n/locales/bn.json | 5 - apps/mobile/src/i18n/locales/bs.json | 5 - apps/mobile/src/i18n/locales/ca.json | 5 - apps/mobile/src/i18n/locales/ckb.json | 5 - apps/mobile/src/i18n/locales/cs.json | 5 - apps/mobile/src/i18n/locales/cy.json | 5 - apps/mobile/src/i18n/locales/da.json | 5 - apps/mobile/src/i18n/locales/de.json | 5 - apps/mobile/src/i18n/locales/el.json | 5 - apps/mobile/src/i18n/locales/en.json | 5 - apps/mobile/src/i18n/locales/es.json | 5 - apps/mobile/src/i18n/locales/et.json | 5 - apps/mobile/src/i18n/locales/eu.json | 5 - apps/mobile/src/i18n/locales/fa.json | 5 - apps/mobile/src/i18n/locales/fi.json | 5 - apps/mobile/src/i18n/locales/fil.json | 5 - apps/mobile/src/i18n/locales/fr.json | 5 - apps/mobile/src/i18n/locales/ga.json | 5 - apps/mobile/src/i18n/locales/gl.json | 5 - apps/mobile/src/i18n/locales/gu.json | 5 - apps/mobile/src/i18n/locales/ha.json | 5 - apps/mobile/src/i18n/locales/he.json | 5 - apps/mobile/src/i18n/locales/hi.json | 5 - apps/mobile/src/i18n/locales/hr.json | 5 - apps/mobile/src/i18n/locales/ht.json | 5 - apps/mobile/src/i18n/locales/hu.json | 5 - apps/mobile/src/i18n/locales/hy.json | 5 - apps/mobile/src/i18n/locales/id.json | 5 - apps/mobile/src/i18n/locales/ig.json | 5 - apps/mobile/src/i18n/locales/is.json | 5 - apps/mobile/src/i18n/locales/it.json | 5 - apps/mobile/src/i18n/locales/ja.json | 5 - apps/mobile/src/i18n/locales/ka.json | 5 - apps/mobile/src/i18n/locales/kk.json | 5 - apps/mobile/src/i18n/locales/km.json | 5 - apps/mobile/src/i18n/locales/kn.json | 5 - apps/mobile/src/i18n/locales/ko.json | 5 - apps/mobile/src/i18n/locales/lo.json | 5 - apps/mobile/src/i18n/locales/lt.json | 5 - apps/mobile/src/i18n/locales/lv.json | 5 - apps/mobile/src/i18n/locales/mg.json | 5 - apps/mobile/src/i18n/locales/mi.json | 5 - apps/mobile/src/i18n/locales/mk.json | 5 - apps/mobile/src/i18n/locales/ml.json | 5 - apps/mobile/src/i18n/locales/mn.json | 5 - apps/mobile/src/i18n/locales/mr.json | 5 - apps/mobile/src/i18n/locales/ms.json | 5 - apps/mobile/src/i18n/locales/mt.json | 5 - apps/mobile/src/i18n/locales/my.json | 5 - apps/mobile/src/i18n/locales/nb.json | 5 - apps/mobile/src/i18n/locales/ne.json | 5 - apps/mobile/src/i18n/locales/nl.json | 5 - apps/mobile/src/i18n/locales/om.json | 5 - apps/mobile/src/i18n/locales/or.json | 5 - apps/mobile/src/i18n/locales/pa.json | 5 - apps/mobile/src/i18n/locales/pl.json | 5 - apps/mobile/src/i18n/locales/ps.json | 5 - apps/mobile/src/i18n/locales/pt-BR.json | 5 - apps/mobile/src/i18n/locales/pt.json | 5 - apps/mobile/src/i18n/locales/ro.json | 5 - apps/mobile/src/i18n/locales/ru.json | 5 - apps/mobile/src/i18n/locales/si.json | 5 - apps/mobile/src/i18n/locales/sk.json | 5 - apps/mobile/src/i18n/locales/sl.json | 5 - apps/mobile/src/i18n/locales/so.json | 5 - apps/mobile/src/i18n/locales/sq.json | 5 - apps/mobile/src/i18n/locales/sr.json | 5 - apps/mobile/src/i18n/locales/sv.json | 5 - apps/mobile/src/i18n/locales/sw.json | 5 - apps/mobile/src/i18n/locales/ta.json | 5 - apps/mobile/src/i18n/locales/te.json | 5 - apps/mobile/src/i18n/locales/th.json | 5 - apps/mobile/src/i18n/locales/tr.json | 5 - apps/mobile/src/i18n/locales/uk.json | 5 - apps/mobile/src/i18n/locales/ur.json | 5 - apps/mobile/src/i18n/locales/uz.json | 5 - apps/mobile/src/i18n/locales/vi.json | 5 - apps/mobile/src/i18n/locales/yo.json | 5 - apps/mobile/src/i18n/locales/zh-Hans.json | 5 - apps/mobile/src/i18n/locales/zh-Hant.json | 5 - apps/mobile/src/i18n/locales/zu.json | 5 - 92 files changed, 151 insertions(+), 618 deletions(-) delete mode 100644 apps/mobile/src/components/home/agents-promo-card.tsx diff --git a/apps/mobile/src/components/home/agent-sessions-section.test.ts b/apps/mobile/src/components/home/agent-sessions-section.test.ts index be0a804419..2a1f309913 100644 --- a/apps/mobile/src/components/home/agent-sessions-section.test.ts +++ b/apps/mobile/src/components/home/agent-sessions-section.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it, vi } from 'vitest'; -import { hasDisplayableAgentSessions } from '@/components/home/agent-sessions-section'; +import { buildRows } from '@/components/home/agent-sessions-section'; import { type ActiveSession, type StoredSession } from '@/lib/hooks/use-agent-sessions'; vi.mock('expo-router', () => ({ @@ -24,8 +24,8 @@ vi.mock('@/components/agents/session-row', () => ({ StoredSessionRow: () => null, })); -vi.mock('@/components/ui/text', () => ({ - Text: () => null, +vi.mock('@/components/ui/icons', () => ({ + Plus: () => null, })); vi.mock('@/lib/hooks/use-agent-sessions', () => ({ @@ -68,27 +68,54 @@ function makeStored(over: Partial = {}): StoredSession { }; } -describe('hasDisplayableAgentSessions', () => { - it('returns true when there is at least one active session', () => { - expect(hasDisplayableAgentSessions([], [makeActive()])).toBe(true); +describe('buildRows', () => { + it('yields three placeholders when there are no live sessions', () => { + const rows = buildRows({ + activeSessions: [], + storedSessions: [], + activeSessionIds: new Set(), + }); + expect(rows).toHaveLength(3); + expect(rows.every(row => row.kind === 'placeholder')).toBe(true); + expect(rows.map(row => row.key)).toEqual(['placeholder:0', 'placeholder:1', 'placeholder:2']); }); - it('returns true when a cloud-agent stored session exists', () => { - expect( - hasDisplayableAgentSessions([makeStored({ created_on_platform: 'cloud-agent' })], []) - ).toBe(true); - expect( - hasDisplayableAgentSessions([makeStored({ created_on_platform: 'cloud-agent-web' })], []) - ).toBe(true); + it('yields one live row and two placeholders for one active session', () => { + const active = makeActive(); + const rows = buildRows({ + activeSessions: [active], + storedSessions: [], + activeSessionIds: new Set([active.id]), + }); + expect(rows).toHaveLength(3); + expect(rows.filter(row => row.kind === 'active')).toHaveLength(1); + expect(rows.filter(row => row.kind === 'placeholder')).toHaveLength(2); }); - it('returns false when only non-cloud-agent stored sessions exist', () => { - expect(hasDisplayableAgentSessions([makeStored({ created_on_platform: 'cli' })], [])).toBe( - false - ); + it('yields three live rows and zero placeholders for three active sessions', () => { + const activeSessions = [ + makeActive({ id: 'a1' }), + makeActive({ id: 'a2' }), + makeActive({ id: 'a3' }), + ]; + const rows = buildRows({ + activeSessions, + storedSessions: [], + activeSessionIds: new Set(['a1', 'a2', 'a3']), + }); + expect(rows).toHaveLength(3); + expect(rows.filter(row => row.kind === 'active')).toHaveLength(3); + expect(rows.filter(row => row.kind === 'placeholder')).toHaveLength(0); }); - it('returns false when both arrays are empty', () => { - expect(hasDisplayableAgentSessions([], [])).toBe(false); + it('does not occupy a slot with an offline stored session', () => { + const offline = makeStored({ session_id: 'off1', created_on_platform: 'cloud-agent' }); + const rows = buildRows({ + activeSessions: [], + storedSessions: [offline], + activeSessionIds: new Set(), + }); + expect(rows).toHaveLength(3); + expect(rows.every(row => row.kind === 'placeholder')).toBe(true); }); }); diff --git a/apps/mobile/src/components/home/agent-sessions-section.tsx b/apps/mobile/src/components/home/agent-sessions-section.tsx index 9778dfe142..9cc8b2bbcf 100644 --- a/apps/mobile/src/components/home/agent-sessions-section.tsx +++ b/apps/mobile/src/components/home/agent-sessions-section.tsx @@ -1,19 +1,23 @@ import { type Href, useRouter } from 'expo-router'; import { useTranslation } from 'react-i18next'; -import { View } from 'react-native'; +import { Pressable, View } from 'react-native'; import { RemoteSessionRow } from '@/components/agents/remote-session-row'; -import { useAgentSessionNavigator } from '@/components/agents/use-agent-session-navigator'; +import { getNewAgentSessionPath } from '@/components/agents/session-list-routes'; import { expandPlatformFilter } from '@/components/agents/session-list-helpers'; import { StoredSessionRow } from '@/components/agents/session-row'; +import { useAgentSessionNavigator } from '@/components/agents/use-agent-session-navigator'; import { SectionHeader } from '@/components/home/section-header'; -import { Text } from '@/components/ui/text'; +import { Plus } from '@/components/ui/icons'; import { type ActiveSession, type StoredSession, useAgentSessions, } from '@/lib/hooks/use-agent-sessions'; -import { parseTimestamp } from '@/lib/utils'; +import { useThemeColors } from '@/lib/hooks/use-theme-colors'; +import { cn, parseTimestamp } from '@/lib/utils'; + +export const HOME_LIVE_SLOT_MIN_CLASS = 'min-h-[72px]'; const MAX_ROWS = 3; const CLOUD_AGENT_PLATFORMS = new Set(expandPlatformFilter(['cloud-agent'])); @@ -28,9 +32,13 @@ type Row = key: string; kind: 'stored'; session: StoredSession; + } + | { + key: string; + kind: 'placeholder'; }; -function buildRows(params: { +export function buildRows(params: { activeSessions: ActiveSession[]; storedSessions: StoredSession[]; activeSessionIds: Set; @@ -51,7 +59,6 @@ function buildRows(params: { CLOUD_AGENT_PLATFORMS.has(s.created_on_platform) ); const live = cloudAgentStored.filter(s => activeSessionIds.has(s.session_id)); - const offline = cloudAgentStored.filter(s => !activeSessionIds.has(s.session_id)); const sortByUpdated = (a: StoredSession, b: StoredSession) => parseTimestamp(b.status_updated_at ?? b.updated_at).getTime() - @@ -68,35 +75,15 @@ function buildRows(params: { } } - // eslint-disable-next-line unicorn/no-array-sort -- Hermes does not implement Array.prototype.toSorted; spread already prevents mutation of the source - for (const session of [...offline].sort(sortByUpdated)) { - if (rows.length >= MAX_ROWS) { - break; - } - if (!seenSessionIds.has(session.session_id)) { - rows.push({ key: `stored:${session.session_id}`, kind: 'stored', session }); - seenSessionIds.add(session.session_id); - } + // Fill the remaining slots with empty placeholders so Home always renders + // exactly three Live now slots. + while (rows.length < MAX_ROWS) { + rows.push({ key: `placeholder:${rows.length}`, kind: 'placeholder' }); } return rows; } -// Whether the Home "Agent sessions" section has anything to render — mirrors -// buildRows' inclusion rule (any active session, or a cloud-agent stored -// session; stored CLI/other-platform sessions live on the Agents tab, not -// Home). The Home screen gates its section/promo/new-task button on this so a -// CLI-only account shows the first-use promo instead of an empty section. -export function hasDisplayableAgentSessions( - storedSessions: StoredSession[], - activeSessions: ActiveSession[] -): boolean { - return ( - activeSessions.length > 0 || - storedSessions.some(s => CLOUD_AGENT_PLATFORMS.has(s.created_on_platform)) - ); -} - type AgentSessionsSectionProps = { organizationId: string | null; }; @@ -104,17 +91,13 @@ type AgentSessionsSectionProps = { export function AgentSessionsSection({ organizationId }: Readonly) { const router = useRouter(); const { t } = useTranslation(); - const { activeSessions, storedSessions, activeSessionIds, activeIsError } = useAgentSessions({ + const { activeSessions, storedSessions, activeSessionIds } = useAgentSessions({ organizationId, }); const navigateToSession = useAgentSessionNavigator(); const rows = buildRows({ activeSessions, storedSessions, activeSessionIds }); - if (rows.length === 0) { - return null; - } - return ( - {activeIsError ? ( - - {t('home.showingSavedSessions')} - - ) : null} {rows.map(row => { + if (row.kind === 'placeholder') { + return ; + } if (row.kind === 'active') { const { session } = row; return ( ); } + +function LiveNowPlaceholder({ organizationId }: Readonly<{ organizationId: string | null }>) { + const router = useRouter(); + const { t } = useTranslation(); + const colors = useThemeColors(); + + return ( + + { + router.push(getNewAgentSessionPath(organizationId) as Href); + }} + className="flex-1 items-center justify-center py-[13px] pl-[18px] pr-3 active:opacity-70" + accessibilityRole="button" + accessibilityLabel={t('home.startNewAgentSession')} + > + + + + ); +} diff --git a/apps/mobile/src/components/home/agents-promo-card.tsx b/apps/mobile/src/components/home/agents-promo-card.tsx deleted file mode 100644 index 19210df4be..0000000000 --- a/apps/mobile/src/components/home/agents-promo-card.tsx +++ /dev/null @@ -1,62 +0,0 @@ -import { type Href, useRouter } from 'expo-router'; -import { useTranslation } from 'react-i18next'; -import { Bot } from '@/components/ui/icons'; -import { DirectionalChevronRight } from '@/components/ui/directional-icons'; -import { Pressable, View } from 'react-native'; - -import { Text } from '@/components/ui/text'; -import { agentColor } from '@/lib/agent-color'; -import { useThemeColors } from '@/lib/hooks/use-theme-colors'; -import { cn } from '@/lib/utils'; - -type AgentsPromoCardProps = { - organizationId: string | null; -}; - -export function AgentsPromoCard({ organizationId }: Readonly) { - const router = useRouter(); - const { t } = useTranslation(); - const colors = useThemeColors(); - const title = t('home.kiloAgents'); - const tint = agentColor('Kilo Agents'); - - return ( - { - const path = organizationId - ? `/(app)/agent-chat/new?organizationId=${organizationId}` - : '/(app)/agent-chat/new'; - router.push(path as Href); - }} - className="mx-4 gap-3 rounded-2xl border border-border bg-card p-4 active:opacity-80" - accessibilityLabel={t('home.startNewAgentSession')} - > - - - - - - {title} - - {t('home.aiCodingSessions')} - - - - - {t('home.startCodingTaskFromPhone')} - - - - {t('home.tryIt')} - - - - - ); -} diff --git a/apps/mobile/src/components/home/home-screen.mounted.test.tsx b/apps/mobile/src/components/home/home-screen.mounted.test.tsx index dddb23b39d..7ca7508536 100644 --- a/apps/mobile/src/components/home/home-screen.mounted.test.tsx +++ b/apps/mobile/src/components/home/home-screen.mounted.test.tsx @@ -6,10 +6,8 @@ import { describe, expect, it, vi } from 'vitest'; import '@/i18n'; import { HomeScreen } from '@/components/home/home-screen'; -const hasSessions = vi.hoisted(() => ({ value: true })); const activeIsError = vi.hoisted(() => ({ value: false })); const storedIsError = vi.hoisted(() => ({ value: false })); -const storedIsSuccess = vi.hoisted(() => ({ value: true })); const sessionsLoading = vi.hoisted(() => ({ value: false })); const orgLoaded = vi.hoisted(() => ({ value: true })); @@ -29,10 +27,7 @@ vi.mock('react-native-reanimated', () => ({ })); vi.mock('@/components/home/agent-sessions-section', () => ({ AgentSessionsSection: 'AgentSessionsSection', - hasDisplayableAgentSessions: () => hasSessions.value, -})); -vi.mock('@/components/home/agents-promo-card', () => ({ - AgentsPromoCard: 'AgentsPromoCard', + HOME_LIVE_SLOT_MIN_CLASS: 'min-h-[72px]', })); vi.mock('@/components/home/greeting', () => ({ buildTimedGreeting: () => 'Good morning', @@ -61,7 +56,7 @@ vi.mock('@/lib/hooks/use-agent-sessions', () => ({ isLoading: sessionsLoading.value, storedSessions: [{}], storedIsError: storedIsError.value, - storedIsSuccess: storedIsSuccess.value, + storedIsSuccess: true, activeIsError: activeIsError.value, refetch: vi.fn(), }), @@ -98,14 +93,16 @@ async function mountHome(): Promise { } describe('HomeScreen composition', () => { - it('renders the sessions section and new-task button when sessions are present', async () => { - hasSessions.value = true; + it('renders the sessions section and new-task button on an empty load', async () => { + storedIsError.value = false; + activeIsError.value = false; sessionsLoading.value = false; orgLoaded.value = true; const renderer = await mountHome(); expect(nodeCount(renderer.root, 'AgentSessionsSection')).toBe(1); expect(nodeCount(renderer.root, 'NewTaskButton')).toBe(1); expect(nodeCount(renderer.root, 'ProductChoices')).toBe(1); + expect(nodeCount(renderer.root, 'AgentsPromoCard')).toBe(0); expect(nodeCount(renderer.root, 'Skeleton')).toBe(0); await act(async () => { @@ -114,19 +111,16 @@ describe('HomeScreen composition', () => { }); }); - it('renders only the agents promo card when there are no sessions', async () => { - hasSessions.value = false; + it('renders the sessions section and new-task button when sessions are present', async () => { storedIsError.value = false; - storedIsSuccess.value = true; activeIsError.value = false; sessionsLoading.value = false; orgLoaded.value = true; const renderer = await mountHome(); - expect(nodeCount(renderer.root, 'AgentsPromoCard')).toBe(1); - expect(nodeCount(renderer.root, 'QueryError')).toBe(0); - expect(nodeCount(renderer.root, 'AgentSessionsSection')).toBe(0); - expect(nodeCount(renderer.root, 'NewTaskButton')).toBe(0); + expect(nodeCount(renderer.root, 'AgentSessionsSection')).toBe(1); + expect(nodeCount(renderer.root, 'NewTaskButton')).toBe(1); expect(nodeCount(renderer.root, 'ProductChoices')).toBe(1); + expect(nodeCount(renderer.root, 'Skeleton')).toBe(0); await act(async () => { await Promise.resolve(); @@ -134,10 +128,8 @@ describe('HomeScreen composition', () => { }); }); - it('shows unavailable, not the promo, on active error with zero rows', async () => { - hasSessions.value = false; + it('shows the active-sessions error, not the section, on active error', async () => { storedIsError.value = false; - storedIsSuccess.value = true; activeIsError.value = true; sessionsLoading.value = false; orgLoaded.value = true; @@ -146,9 +138,28 @@ describe('HomeScreen composition', () => { expect(queryError).toBeDefined(); expect(queryError?.props.title).toBe("Couldn't load active sessions"); expect(typeof queryError?.props.onRetry).toBe('function'); - expect(nodeCount(renderer.root, 'AgentsPromoCard')).toBe(0); expect(nodeCount(renderer.root, 'AgentSessionsSection')).toBe(0); - expect(nodeCount(renderer.root, 'NewTaskButton')).toBe(0); + expect(nodeCount(renderer.root, 'NewTaskButton')).toBe(1); + expect(nodeCount(renderer.root, 'ProductChoices')).toBe(1); + + await act(async () => { + await Promise.resolve(); + renderer.unmount(); + }); + }); + + it('shows the stored-sessions error, not the section, on stored error', async () => { + storedIsError.value = true; + activeIsError.value = false; + sessionsLoading.value = false; + orgLoaded.value = true; + const renderer = await mountHome(); + const queryError = findNode(renderer.root, 'QueryError'); + expect(queryError).toBeDefined(); + expect(queryError?.props.title).toBe("Couldn't load sessions"); + expect(typeof queryError?.props.onRetry).toBe('function'); + expect(nodeCount(renderer.root, 'AgentSessionsSection')).toBe(0); + expect(nodeCount(renderer.root, 'NewTaskButton')).toBe(1); expect(nodeCount(renderer.root, 'ProductChoices')).toBe(1); await act(async () => { diff --git a/apps/mobile/src/components/home/home-screen.tsx b/apps/mobile/src/components/home/home-screen.tsx index f3cec1887f..4e9a673328 100644 --- a/apps/mobile/src/components/home/home-screen.tsx +++ b/apps/mobile/src/components/home/home-screen.tsx @@ -9,9 +9,8 @@ import { TabScreenScrollView } from '@/components/tab-screen'; import { AgentSessionsSection, - hasDisplayableAgentSessions, + HOME_LIVE_SLOT_MIN_CLASS, } from '@/components/home/agent-sessions-section'; -import { AgentsPromoCard } from '@/components/home/agents-promo-card'; import { buildTimedGreeting } from '@/components/home/greeting'; import { NewTaskButton } from '@/components/home/new-task-button'; import { ProductChoices } from '@/components/home/product-choices'; @@ -20,6 +19,7 @@ import { ScreenHeader } from '@/components/screen-header'; import { Skeleton } from '@/components/ui/skeleton'; import { useAgentSessions } from '@/lib/hooks/use-agent-sessions'; import { useOrganization } from '@/lib/organization-context'; +import { cn } from '@/lib/utils'; export function HomeScreen() { const queryClient = useQueryClient(); @@ -29,11 +29,8 @@ export function HomeScreen() { const { organizationId, isLoaded: orgLoaded } = useOrganization(); const { - storedSessions, - activeSessions, isLoading: sessionsLoading, storedIsError, - storedIsSuccess, activeIsError, refetch: refetchSessions, } = useAgentSessions({ @@ -42,11 +39,6 @@ export function HomeScreen() { }); const isLoading = sessionsLoading || !orgLoaded; - - // Match what the Home Agent-sessions section actually renders (cloud-agent - // stored + any active), so a CLI-only account shows the first-use promo - // instead of an empty section + orphaned "New coding task" button. - const hasAnySession = hasDisplayableAgentSessions(storedSessions, activeSessions); const headerTitle = buildTimedGreeting(); const handleRefresh = useCallback(() => { @@ -75,27 +67,24 @@ export function HomeScreen() { - - + + + ) : ( - {renderSessionsOrPromo({ - hasAnySession, + {renderSessionsOrError({ organizationId, - sessionsError: storedIsError, - sessionsLoadedEmpty: storedIsSuccess && !hasAnySession, + storedIsError, activeIsError, handleRetrySessions: () => void refetchSessions(), t, })} - {hasAnySession ? ( - - - - ) : null} + + + @@ -106,23 +95,18 @@ export function HomeScreen() { ); } -function renderSessionsOrPromo(params: { - hasAnySession: boolean; +function renderSessionsOrError(params: { organizationId: string | null; - sessionsError: boolean; - sessionsLoadedEmpty: boolean; + storedIsError: boolean; activeIsError: boolean; handleRetrySessions: () => void; t: TFunction; }) { - // Stale stored history always wins over an error (e.g. a live-poll blip - // on the active-sessions query) — never blank out sessions we already - // have. The first-use promo only appears after a confirmed empty - // response, never merely because the fetch hasn't succeeded yet. - if (params.hasAnySession) { - return ; - } - if (params.sessionsError) { + // A stored-list failure blocks all sessions, so it wins. A cold active poll + // failure is retryable but still hides the section until it recovers. + // Otherwise Home always renders the section, whose placeholders cover the + // empty Live-now state. + if (params.storedIsError) { return ( ); } - // Cold active-only failure: the stored query succeeded empty but the active - // poll failed before any data loaded. Retryable, so never claim first-use. if (params.activeIsError) { return ( ); } - if (params.sessionsLoadedEmpty) { - return ; - } - return null; + return ; } diff --git a/apps/mobile/src/i18n/locales/af.json b/apps/mobile/src/i18n/locales/af.json index fbe5fb96f9..50d4318626 100644 --- a/apps/mobile/src/i18n/locales/af.json +++ b/apps/mobile/src/i18n/locales/af.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Kon nie sessies laai nie", "couldNotLoadActiveSessions": "Kon nie aktiewe sessies laai nie", "agentSessions": "Agentsessies", - "showingSavedSessions": "Wys gestoorde sessies — lewende status mag verouderd wees", "startNewAgentSession": "Begin 'n nuwe Kilo Agent-sessie", - "aiCodingSessions": "AI-koderingsessies", - "startCodingTaskFromPhone": "Begin 'n koderingstaak van jou foon af of gaan voort met 'n sessie vanaf jou CLI.", - "tryIt": "Probeer dit", "newCodingTask": "Nuwe koderingstaak", "explore": "Verken", "seeAll": "Sien alles", - "kiloAgents": "Kilo Agents", "greetingMorning": "Goeie more", "greetingAfternoon": "Goeie middag", "greetingEvening": "Goeienaand" diff --git a/apps/mobile/src/i18n/locales/am.json b/apps/mobile/src/i18n/locales/am.json index d269fabd19..688a1a0780 100644 --- a/apps/mobile/src/i18n/locales/am.json +++ b/apps/mobile/src/i18n/locales/am.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "ክፍለ-ጊዜዎችን መጫን አልተቻለም", "couldNotLoadActiveSessions": "ንቁ ክፍለ-ጊዜዎችን መጫን አልተቻለም", "agentSessions": "የወኪል ክፍለ-ጊዜዎች", - "showingSavedSessions": "የተቀመጡ ክፍለ-ጊዜዎችን በማሳየት ላይ — የቀጥታ ሁኔታ ጊዜው ያለፈ ሊሆን ይችላል", "startNewAgentSession": "አዲስ የKilo Agent ክፍለ-ጊዜ ይጀምሩ", - "aiCodingSessions": "የAI ኮዲንግ ክፍለ-ጊዜዎች", - "startCodingTaskFromPhone": "ከስልክዎ የኮዲንግ ተግባር ይጀምሩ ወይም ከCLIዎ ክፍለ-ጊዜ ይቀጥሉ።", - "tryIt": "ይሞክሩት", "newCodingTask": "አዲስ የኮዲንግ ተግባር", "explore": "ይቃኙ", "seeAll": "ሁሉንም ይመልከቱ", - "kiloAgents": "Kilo Agents", "greetingMorning": "እንደምን አደሩ", "greetingAfternoon": "እንደምን ዋሉ", "greetingEvening": "እንደምን አመሹ" diff --git a/apps/mobile/src/i18n/locales/ar.json b/apps/mobile/src/i18n/locales/ar.json index 7e44bdbd50..21bc762232 100644 --- a/apps/mobile/src/i18n/locales/ar.json +++ b/apps/mobile/src/i18n/locales/ar.json @@ -1914,15 +1914,10 @@ "couldNotLoadSessions": "تعذّر تحميل الجلسات", "couldNotLoadActiveSessions": "تعذّر تحميل الجلسات النشطة", "agentSessions": "جلسات الوكيل", - "showingSavedSessions": "عرض الجلسات المحفوظة — قد تكون الحالة المباشرة قديمة", "startNewAgentSession": "بدء جلسة Kilo Agent جديدة", - "aiCodingSessions": "جلسات البرمجة بالذكاء الاصطناعي", - "startCodingTaskFromPhone": "ابدأ مهمة برمجة من هاتفك أو تابع جلسة من CLI.", - "tryIt": "جرّبه", "newCodingTask": "مهمة برمجة جديدة", "explore": "استكشف", "seeAll": "عرض الكل", - "kiloAgents": "وكلاء Kilo", "greetingMorning": "صباح الخير", "greetingAfternoon": "طاب يومك", "greetingEvening": "مساء الخير" diff --git a/apps/mobile/src/i18n/locales/az.json b/apps/mobile/src/i18n/locales/az.json index 6cec97f6f5..dc7e689919 100644 --- a/apps/mobile/src/i18n/locales/az.json +++ b/apps/mobile/src/i18n/locales/az.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Sessiyalar yüklənə bilmədi", "couldNotLoadActiveSessions": "Aktiv sessiyalar yüklənə bilmədi", "agentSessions": "Agent sessiyaları", - "showingSavedSessions": "Saxlanılmış sessiyalar göstərilir — canlı status köhnəlmiş ola bilər", "startNewAgentSession": "Yeni Kilo Agent sessiyasına başla", - "aiCodingSessions": "AI kodlaşdırma sessiyaları", - "startCodingTaskFromPhone": "Telefonunuzdan kodlaşdırma tapşırığı başlayın və ya CLI-nizdən sessiyanı davam etdirin.", - "tryIt": "Cəhd edin", "newCodingTask": "Yeni kodlaşdırma tapşırığı", "explore": "Kəşf et", "seeAll": "Hamısına bax", - "kiloAgents": "Kilo Agentlər", "greetingMorning": "Sabahınız xeyir", "greetingAfternoon": "Günortanız xeyir", "greetingEvening": "Axşamınız xeyir" diff --git a/apps/mobile/src/i18n/locales/be.json b/apps/mobile/src/i18n/locales/be.json index 557d0157fa..1285ac9746 100644 --- a/apps/mobile/src/i18n/locales/be.json +++ b/apps/mobile/src/i18n/locales/be.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Не ўдалося загрузіць сеансы", "couldNotLoadActiveSessions": "Не ўдалося загрузіць актыўныя сеансы", "agentSessions": "Сеансы агента", - "showingSavedSessions": "Паказаныя захаваныя сеансы — жывы статус можа быць састарэлым", "startNewAgentSession": "Пачаць новы сеанс агента Kilo", - "aiCodingSessions": "Сеансы AI-праграмавання", - "startCodingTaskFromPhone": "Пачніце задачу праграмавання з тэлефона або працягніце сеанс з вашага CLI.", - "tryIt": "Паспрабаваць", "newCodingTask": "Новая задача праграмавання", "explore": "Даследаваць", "seeAll": "Паказаць усё", - "kiloAgents": "Агенты Kilo", "greetingMorning": "Добрай раніцы", "greetingAfternoon": "Добры дзень", "greetingEvening": "Добры вечар" diff --git a/apps/mobile/src/i18n/locales/bg.json b/apps/mobile/src/i18n/locales/bg.json index 7bf1fe3533..720f8c3435 100644 --- a/apps/mobile/src/i18n/locales/bg.json +++ b/apps/mobile/src/i18n/locales/bg.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Не можаха да се заредят сесиите", "couldNotLoadActiveSessions": "Не можаха да се заредят активните сесии", "agentSessions": "Агентни сесии", - "showingSavedSessions": "Показване на запазените сесии — актуалният статус може да е остарял", "startNewAgentSession": "Започнете нова сесия на Kilo Agent", - "aiCodingSessions": "AI сесии за кодиране", - "startCodingTaskFromPhone": "Започнете задача за кодиране от телефона си или продължете сесия от вашия CLI.", - "tryIt": "Опитайте", "newCodingTask": "Нова задача за кодиране", "explore": "Разгледайте", "seeAll": "Вижте всички", - "kiloAgents": "Kilo Agents", "greetingMorning": "Добро утро", "greetingAfternoon": "Добър ден", "greetingEvening": "Добър вечер" diff --git a/apps/mobile/src/i18n/locales/bn.json b/apps/mobile/src/i18n/locales/bn.json index 1d740de2c3..b4e7396e11 100644 --- a/apps/mobile/src/i18n/locales/bn.json +++ b/apps/mobile/src/i18n/locales/bn.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "সেশন লোড করা যায়নি", "couldNotLoadActiveSessions": "সক্রিয় সেশন লোড করা যায়নি", "agentSessions": "এজেন্ট সেশন", - "showingSavedSessions": "সংরক্ষিত সেশন দেখানো হচ্ছে — লাইভ স্ট্যাটাস পুরানো হতে পারে", "startNewAgentSession": "একটি নতুন Kilo Agent সেশন শুরু করুন", - "aiCodingSessions": "AI কোডিং সেশন", - "startCodingTaskFromPhone": "আপনার ফোন থেকে একটি কোডিং কাজ শুরু করুন বা আপনার CLI থেকে একটি সেশন চালিয়ে যান।", - "tryIt": "চেষ্টা করুন", "newCodingTask": "নতুন কোডিং কাজ", "explore": "অন্বেষণ", "seeAll": "সব দেখুন", - "kiloAgents": "Kilo Agents", "greetingMorning": "শুভ সকাল", "greetingAfternoon": "শুভ বিকাল", "greetingEvening": "শুভ সন্ধ্যা" diff --git a/apps/mobile/src/i18n/locales/bs.json b/apps/mobile/src/i18n/locales/bs.json index eef05994de..eb306b6827 100644 --- a/apps/mobile/src/i18n/locales/bs.json +++ b/apps/mobile/src/i18n/locales/bs.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Sesije nisu mogle biti učitane", "couldNotLoadActiveSessions": "Aktivne sesije nisu mogle biti učitane", "agentSessions": "Sesije agenta", - "showingSavedSessions": "Prikazuju se sačuvane sesije — status uživo može biti zastario", "startNewAgentSession": "Započni novu sesiju Kilo Agenta", - "aiCodingSessions": "AI sesije kodiranja", - "startCodingTaskFromPhone": "Započnite zadatak kodiranja sa svog telefona ili nastavite sesiju sa svog CLI-ja.", - "tryIt": "Isprobaj", "newCodingTask": "Novi zadatak kodiranja", "explore": "Istraži", "seeAll": "Pogledaj sve", - "kiloAgents": "Kilo Agenti", "greetingMorning": "Dobro jutro", "greetingAfternoon": "Dobar dan", "greetingEvening": "Dobro veče" diff --git a/apps/mobile/src/i18n/locales/ca.json b/apps/mobile/src/i18n/locales/ca.json index 784ac738bf..e9c3294d7b 100644 --- a/apps/mobile/src/i18n/locales/ca.json +++ b/apps/mobile/src/i18n/locales/ca.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "No s'han pogut carregar les sessions", "couldNotLoadActiveSessions": "No s'han pogut carregar les sessions actives", "agentSessions": "Sessions d'agent", - "showingSavedSessions": "S'estan mostrant les sessions desades: l'estat en directe pot estar desactualitzat", "startNewAgentSession": "Inicia una nova sessió d'agent Kilo", - "aiCodingSessions": "Sessions de programació d'IA", - "startCodingTaskFromPhone": "Inicia una tasca de programació des del teu telèfon o continua una sessió des del teu CLI.", - "tryIt": "Prova-ho", "newCodingTask": "Nova tasca de programació", "explore": "Explora", "seeAll": "Veure-ho tot", - "kiloAgents": "Agents de Kilo", "greetingMorning": "Bon dia", "greetingAfternoon": "Bona tarda", "greetingEvening": "Bona nit" diff --git a/apps/mobile/src/i18n/locales/ckb.json b/apps/mobile/src/i18n/locales/ckb.json index 3c2deb03f1..862b156c72 100644 --- a/apps/mobile/src/i18n/locales/ckb.json +++ b/apps/mobile/src/i18n/locales/ckb.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "نەتوانرا دانیشتنەکان باربکرێن", "couldNotLoadActiveSessions": "نەتوانرا دانیشتنە چالاکەکان باربکرێن", "agentSessions": "دانیشتنەکانی ئەجێنت", - "showingSavedSessions": "نیشاندانی دانیشتنە پاشەکەوتکراوەکان — دۆخی ڕاستەوخۆ لەوانەیە کۆن بێت", "startNewAgentSession": "دەستپێکردنی دانیشتنێکی نوێی ئەجێنتی Kilo", - "aiCodingSessions": "دانیشتنەکانی کۆدکردنی AI", - "startCodingTaskFromPhone": "ئەرکێکی کۆدکردن لە مۆبایلەکەتەوە دەستپێبکە یان لە CLIـی خۆتەوە دانیشتنێک بەردەوام بکە.", - "tryIt": "تاقی بکەرەوە", "newCodingTask": "ئەرکی کۆدکردنی نوێ", "explore": "گەڕان", "seeAll": "بینینی هەموو", - "kiloAgents": "ئەجێنتەکانی Kilo", "greetingMorning": "بەیانی باش", "greetingAfternoon": "نیوەڕۆ باش", "greetingEvening": "ئێوارە باش" diff --git a/apps/mobile/src/i18n/locales/cs.json b/apps/mobile/src/i18n/locales/cs.json index 8489fccbfc..da57db7206 100644 --- a/apps/mobile/src/i18n/locales/cs.json +++ b/apps/mobile/src/i18n/locales/cs.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Relace se nepodařilo načíst", "couldNotLoadActiveSessions": "Aktivní relace se nepodařilo načíst", "agentSessions": "Relace agenta", - "showingSavedSessions": "Zobrazují se uložené relace — živý stav může být zastaralý", "startNewAgentSession": "Zahájit novou relaci Kilo Agent", - "aiCodingSessions": "AI programovací relace", - "startCodingTaskFromPhone": "Spusťte programovací úkol z telefonu nebo pokračujte v relaci z CLI.", - "tryIt": "Vyzkoušet", "newCodingTask": "Nový programovací úkol", "explore": "Prozkoumat", "seeAll": "Zobrazit vše", - "kiloAgents": "Kilo Agents", "greetingMorning": "Dobré ráno", "greetingAfternoon": "Dobré odpoledne", "greetingEvening": "Dobrý večer" diff --git a/apps/mobile/src/i18n/locales/cy.json b/apps/mobile/src/i18n/locales/cy.json index d436cdb6ab..993fdb92c3 100644 --- a/apps/mobile/src/i18n/locales/cy.json +++ b/apps/mobile/src/i18n/locales/cy.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Methwyd llwytho sesiynau", "couldNotLoadActiveSessions": "Methwyd llwytho sesiynau gweithredol", "agentSessions": "Sesiynau asiant", - "showingSavedSessions": "Yn dangos sesiynau wedi'u cadw — gall y statws byw fod yn hen", "startNewAgentSession": "Dechrau sesiwn Kilo Agent newydd", - "aiCodingSessions": "Sesiynau codio AI", - "startCodingTaskFromPhone": "Dechreuwch dasg codio o'ch ffôn neu barhewch â sesiwn o'ch CLI.", - "tryIt": "Rhoi cynnig arno", "newCodingTask": "Tasg codio newydd", "explore": "Archwilio", "seeAll": "Gweld y cyfan", - "kiloAgents": "Kilo Agents", "greetingMorning": "Bore da", "greetingAfternoon": "Prynhawn da", "greetingEvening": "Noswaith dda" diff --git a/apps/mobile/src/i18n/locales/da.json b/apps/mobile/src/i18n/locales/da.json index a4609ecccd..8d8890dd2d 100644 --- a/apps/mobile/src/i18n/locales/da.json +++ b/apps/mobile/src/i18n/locales/da.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Kunne ikke indlæse sessioner", "couldNotLoadActiveSessions": "Kunne ikke indlæse aktive sessioner", "agentSessions": "Agentsessioner", - "showingSavedSessions": "Viser gemte sessioner — live-status kan være forældet", "startNewAgentSession": "Start en ny Kilo Agent-session", - "aiCodingSessions": "AI-kodningssessioner", - "startCodingTaskFromPhone": "Start en kodningsopgave fra din telefon eller fortsæt en session fra din CLI.", - "tryIt": "Prøv det", "newCodingTask": "Ny kodningsopgave", "explore": "Udforsk", "seeAll": "Se alle", - "kiloAgents": "Kilo Agents", "greetingMorning": "God morgen", "greetingAfternoon": "God eftermiddag", "greetingEvening": "God aften" diff --git a/apps/mobile/src/i18n/locales/de.json b/apps/mobile/src/i18n/locales/de.json index 11abfb3956..6010f8ea7b 100644 --- a/apps/mobile/src/i18n/locales/de.json +++ b/apps/mobile/src/i18n/locales/de.json @@ -1914,15 +1914,10 @@ "couldNotLoadSessions": "Sitzungen konnten nicht geladen werden", "couldNotLoadActiveSessions": "Aktive Sitzungen konnten nicht geladen werden", "agentSessions": "Agentensitzungen", - "showingSavedSessions": "Gespeicherte Sitzungen werden angezeigt — der Live-Status kann veraltet sein", "startNewAgentSession": "Neue Kilo-Agent-Sitzung starten", - "aiCodingSessions": "KI-Codiersitzungen", - "startCodingTaskFromPhone": "Starte eine Codieraufgabe von deinem Telefon oder setze eine Sitzung von deiner CLI fort.", - "tryIt": "Ausprobieren", "newCodingTask": "Neue Codieraufgabe", "explore": "Entdecken", "seeAll": "Alle ansehen", - "kiloAgents": "Kilo-Agenten", "greetingMorning": "Guten Morgen", "greetingAfternoon": "Guten Nachmittag", "greetingEvening": "Guten Abend" diff --git a/apps/mobile/src/i18n/locales/el.json b/apps/mobile/src/i18n/locales/el.json index f3e338dfdb..2dd8cb3ebd 100644 --- a/apps/mobile/src/i18n/locales/el.json +++ b/apps/mobile/src/i18n/locales/el.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Δεν ήταν δυνατή η φόρτωση συνεδριών", "couldNotLoadActiveSessions": "Δεν ήταν δυνατή η φόρτωση ενεργών συνεδριών", "agentSessions": "Συνεδρίες πράκτορα", - "showingSavedSessions": "Εμφάνιση αποθηκευμένων συνεδριών — η ζωντανή κατάσταση ενδέχεται να είναι ξεπερασμένη", "startNewAgentSession": "Έναρξη νέας συνεδρίας Kilo Agent", - "aiCodingSessions": "Συνεδρίες προγραμματισμού με AI", - "startCodingTaskFromPhone": "Ξεκινήστε μια εργασία προγραμματισμού από το τηλέφωνό σας ή συνεχίστε μια συνεδρία από το CLI σας.", - "tryIt": "Δοκιμάστε το", "newCodingTask": "Νέα εργασία προγραμματισμού", "explore": "Εξερεύνηση", "seeAll": "Προβολή όλων", - "kiloAgents": "Kilo Agents", "greetingMorning": "Καλημέρα", "greetingAfternoon": "Καλησπέρα", "greetingEvening": "Καλό βράδυ" diff --git a/apps/mobile/src/i18n/locales/en.json b/apps/mobile/src/i18n/locales/en.json index ab490bbf07..2399093f8f 100644 --- a/apps/mobile/src/i18n/locales/en.json +++ b/apps/mobile/src/i18n/locales/en.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Couldn't load sessions", "couldNotLoadActiveSessions": "Couldn't load active sessions", "agentSessions": "Live now", - "showingSavedSessions": "Showing saved sessions — live status may be out of date", "startNewAgentSession": "Start a new Kilo Agent session", - "aiCodingSessions": "AI coding sessions", - "startCodingTaskFromPhone": "Start a coding task from your phone or continue a session from your CLI.", - "tryIt": "Try it", "newCodingTask": "New coding task", "explore": "Explore", "seeAll": "See all", - "kiloAgents": "Kilo Agents", "greetingMorning": "Good morning", "greetingAfternoon": "Good afternoon", "greetingEvening": "Good evening" diff --git a/apps/mobile/src/i18n/locales/es.json b/apps/mobile/src/i18n/locales/es.json index 1aea546701..45363b2cf1 100644 --- a/apps/mobile/src/i18n/locales/es.json +++ b/apps/mobile/src/i18n/locales/es.json @@ -1914,15 +1914,10 @@ "couldNotLoadSessions": "No se pudieron cargar las sesiones", "couldNotLoadActiveSessions": "No se pudieron cargar las sesiones activas", "agentSessions": "Sesiones de agentes", - "showingSavedSessions": "Mostrando sesiones guardadas: el estado en vivo puede estar desactualizado", "startNewAgentSession": "Iniciar una nueva sesión de Kilo Agent", - "aiCodingSessions": "Sesiones de codificación con IA", - "startCodingTaskFromPhone": "Inicia una tarea de codificación desde tu teléfono o continúa una sesión desde tu CLI.", - "tryIt": "Pruébalo", "newCodingTask": "Nueva tarea de codificación", "explore": "Explorar", "seeAll": "Ver todo", - "kiloAgents": "Agentes de Kilo", "greetingMorning": "Buenos días", "greetingAfternoon": "Buenas tardes", "greetingEvening": "Buenas noches" diff --git a/apps/mobile/src/i18n/locales/et.json b/apps/mobile/src/i18n/locales/et.json index f062fcb983..ab1cbe7be0 100644 --- a/apps/mobile/src/i18n/locales/et.json +++ b/apps/mobile/src/i18n/locales/et.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Seansse ei õnnestunud laadida", "couldNotLoadActiveSessions": "Aktiivseid seansse ei õnnestunud laadida", "agentSessions": "Agendi seansid", - "showingSavedSessions": "Kuvatakse salvestatud seansid — otseolek võib olla aegunud", "startNewAgentSession": "Alusta uut Kilo Agent seanssi", - "aiCodingSessions": "AI kodeerimisseansid", - "startCodingTaskFromPhone": "Alustage kodeerimisülesannet telefonist või jätkake seanssi CLI-st.", - "tryIt": "Proovi", "newCodingTask": "Uus kodeerimisülesanne", "explore": "Avasta", "seeAll": "Vaata kõiki", - "kiloAgents": "Kilo Agents", "greetingMorning": "Tere hommikust", "greetingAfternoon": "Tere päevast", "greetingEvening": "Tere õhtust" diff --git a/apps/mobile/src/i18n/locales/eu.json b/apps/mobile/src/i18n/locales/eu.json index 9f66d6c936..d1d4289341 100644 --- a/apps/mobile/src/i18n/locales/eu.json +++ b/apps/mobile/src/i18n/locales/eu.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Ezin izan dira saioak kargatu", "couldNotLoadActiveSessions": "Ezin izan dira saio aktiboak kargatu", "agentSessions": "Agentearen saioak", - "showingSavedSessions": "Gordetako saioak erakusten — egoera zuzena ez egon daiteke", "startNewAgentSession": "Hasi Kilo Agent saio berri bat", - "aiCodingSessions": "AI kodetze-saioak", - "startCodingTaskFromPhone": "Hasi kodetze-lan bat zure telefonotik edo jarraitu saio bat zure CLI-tik.", - "tryIt": "Probatu", "newCodingTask": "Kodetze-lan berria", "explore": "Arakatu", "seeAll": "Ikusi guztiak", - "kiloAgents": "Kilo Agents", "greetingMorning": "Egun on", "greetingAfternoon": "Arratsalde on", "greetingEvening": "Gabon" diff --git a/apps/mobile/src/i18n/locales/fa.json b/apps/mobile/src/i18n/locales/fa.json index ba9b485185..4d4809f18f 100644 --- a/apps/mobile/src/i18n/locales/fa.json +++ b/apps/mobile/src/i18n/locales/fa.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "جلسات بارگذاری نشدند", "couldNotLoadActiveSessions": "جلسات فعال بارگذاری نشدند", "agentSessions": "جلسات عامل", - "showingSavedSessions": "نمایش جلسات ذخیره‌شده — وضعیت زنده ممکن است به‌روز نباشد", "startNewAgentSession": "شروع یک جلسه جدید Kilo Agent", - "aiCodingSessions": "جلسات کدنویسی هوش مصنوعی", - "startCodingTaskFromPhone": "از تلفن خود یک کار کدنویسی را شروع کنید یا جلسه را از CLI ادامه دهید.", - "tryIt": "امتحان کنید", "newCodingTask": "کار کدنویسی جدید", "explore": "کاوش", "seeAll": "مشاهده همه", - "kiloAgents": "Kilo Agents", "greetingMorning": "صبح بخیر", "greetingAfternoon": "ظهر بخیر", "greetingEvening": "عصر بخیر" diff --git a/apps/mobile/src/i18n/locales/fi.json b/apps/mobile/src/i18n/locales/fi.json index a49fbcce6d..abdcaae6de 100644 --- a/apps/mobile/src/i18n/locales/fi.json +++ b/apps/mobile/src/i18n/locales/fi.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Istuntoja ei voitu ladata", "couldNotLoadActiveSessions": "Aktiivisia istuntoja ei voitu ladata", "agentSessions": "Agentti-istunnot", - "showingSavedSessions": "Näytetään tallennetut istunnot — reaaliaikainen tila voi olla vanhentunut", "startNewAgentSession": "Aloita uusi Kilo Agent -istunto", - "aiCodingSessions": "AI-koodausistunnot", - "startCodingTaskFromPhone": "Aloita koodaustehtävä puhelimestasi tai jatka istuntoa CLI:stäsi.", - "tryIt": "Kokeile", "newCodingTask": "Uusi koodaustehtävä", "explore": "Tutustu", "seeAll": "Näytä kaikki", - "kiloAgents": "Kilo Agentit", "greetingMorning": "Hyvää huomenta", "greetingAfternoon": "Hyvää päivää", "greetingEvening": "Hyvää iltaa" diff --git a/apps/mobile/src/i18n/locales/fil.json b/apps/mobile/src/i18n/locales/fil.json index f500e43a29..6692604167 100644 --- a/apps/mobile/src/i18n/locales/fil.json +++ b/apps/mobile/src/i18n/locales/fil.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Hindi ma-load ang mga session", "couldNotLoadActiveSessions": "Hindi ma-load ang mga aktibong session", "agentSessions": "Mga agent session", - "showingSavedSessions": "Ipinapakita ang mga naka-save na session — maaaring luma na ang live status", "startNewAgentSession": "Magsimula ng bagong Kilo Agent session", - "aiCodingSessions": "Mga AI coding session", - "startCodingTaskFromPhone": "Magsimula ng coding task mula sa iyong telepono o magpatuloy ng session mula sa iyong CLI.", - "tryIt": "Subukan ito", "newCodingTask": "Bagong coding task", "explore": "Mag-explore", "seeAll": "Tingnan lahat", - "kiloAgents": "Kilo Agents", "greetingMorning": "Magandang umaga", "greetingAfternoon": "Magandang hapon", "greetingEvening": "Magandang gabi" diff --git a/apps/mobile/src/i18n/locales/fr.json b/apps/mobile/src/i18n/locales/fr.json index 81e00fb32e..21f14e831e 100644 --- a/apps/mobile/src/i18n/locales/fr.json +++ b/apps/mobile/src/i18n/locales/fr.json @@ -1863,15 +1863,10 @@ "couldNotLoadSessions": "Impossible de charger les sessions", "couldNotLoadActiveSessions": "Impossible de charger les sessions actives", "agentSessions": "Sessions d'agents", - "showingSavedSessions": "Affichage des sessions enregistrées — le statut en direct peut être obsolète", "startNewAgentSession": "Démarrer une nouvelle session Kilo Agent", - "aiCodingSessions": "Sessions de codage IA", - "startCodingTaskFromPhone": "Démarrez une tâche de codage depuis votre téléphone ou continuez une session depuis votre CLI.", - "tryIt": "Essayer", "newCodingTask": "Nouvelle tâche de codage", "explore": "Explorer", "seeAll": "Tout voir", - "kiloAgents": "Agents Kilo", "greetingMorning": "Bonjour", "greetingAfternoon": "Bon après-midi", "greetingEvening": "Bonsoir" diff --git a/apps/mobile/src/i18n/locales/ga.json b/apps/mobile/src/i18n/locales/ga.json index 1270355670..846555944c 100644 --- a/apps/mobile/src/i18n/locales/ga.json +++ b/apps/mobile/src/i18n/locales/ga.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Níorbh fhéidir seisiúin a lódáil", "couldNotLoadActiveSessions": "Níorbh fhéidir seisiúin ghníomhacha a lódáil", "agentSessions": "Seisiúin ghníomhaire", - "showingSavedSessions": "Ag taispeáint seisiúin shábháilte — b'fhéidir go bhfuil an stádas beo as dáta", "startNewAgentSession": "Tosaigh seisiún Kilo Agent nua", - "aiCodingSessions": "Seisiúin chódaithe AI", - "startCodingTaskFromPhone": "Tosaigh tasc códaithe ó do ghuthán nó lean ar aghaidh le seisiún ó do CLI.", - "tryIt": "Bain triail as", "newCodingTask": "Tasc códaithe nua", "explore": "Taiscéal", "seeAll": "Féach ar gach ceann", - "kiloAgents": "Kilo Agents", "greetingMorning": "Maidin mhaith", "greetingAfternoon": "Tráthnóna maith", "greetingEvening": "Oíche mhaith" diff --git a/apps/mobile/src/i18n/locales/gl.json b/apps/mobile/src/i18n/locales/gl.json index 60470f82b9..14fe03aca4 100644 --- a/apps/mobile/src/i18n/locales/gl.json +++ b/apps/mobile/src/i18n/locales/gl.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Non se puideron cargar as sesións", "couldNotLoadActiveSessions": "Non se puideron cargar as sesións activas", "agentSessions": "Sesións de axente", - "showingSavedSessions": "Mostrando sesións gardadas — o estado en directo pode estar desactualizado", "startNewAgentSession": "Iniciar unha nova sesión de Kilo Agent", - "aiCodingSessions": "Sesións de codificación con IA", - "startCodingTaskFromPhone": "Inicia unha tarefa de codificación desde o teu teléfono ou continúa unha sesión desde o teu CLI.", - "tryIt": "Probala", "newCodingTask": "Nova tarefa de codificación", "explore": "Explorar", "seeAll": "Ver todo", - "kiloAgents": "Kilo Agents", "greetingMorning": "Bos días", "greetingAfternoon": "Boas tardes", "greetingEvening": "Boas noites" diff --git a/apps/mobile/src/i18n/locales/gu.json b/apps/mobile/src/i18n/locales/gu.json index 261e388582..83a9423467 100644 --- a/apps/mobile/src/i18n/locales/gu.json +++ b/apps/mobile/src/i18n/locales/gu.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "સત્રો લોડ કરી શકાયા નહીં", "couldNotLoadActiveSessions": "સક્રિય સત્રો લોડ કરી શકાયા નહીં", "agentSessions": "એજન્ટ સત્રો", - "showingSavedSessions": "સાચવેલા સત્રો બતાવી રહ્યા છીએ — લાઇવ સ્થિતિ જૂની હોઈ શકે છે", "startNewAgentSession": "નવું Kilo એજન્ટ સત્ર શરૂ કરો", - "aiCodingSessions": "AI કોડિંગ સત્રો", - "startCodingTaskFromPhone": "તમારા ફોનથી કોડિંગ કાર્ય શરૂ કરો અથવા તમારા CLI માંથી સત્ર ચાલુ રાખો.", - "tryIt": "અજમાવો", "newCodingTask": "નવું કોડિંગ કાર્ય", "explore": "શોધો", "seeAll": "બધા જુઓ", - "kiloAgents": "Kilo એજન્ટ્સ", "greetingMorning": "શુભ સવાર", "greetingAfternoon": "શુભ બપોર", "greetingEvening": "શુભ સાંજ" diff --git a/apps/mobile/src/i18n/locales/ha.json b/apps/mobile/src/i18n/locales/ha.json index b996e6b2f4..a50f3781cf 100644 --- a/apps/mobile/src/i18n/locales/ha.json +++ b/apps/mobile/src/i18n/locales/ha.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "An kasa ɗora zaman", "couldNotLoadActiveSessions": "An kasa ɗora zaman aiki", "agentSessions": "Zaman wakilai", - "showingSavedSessions": "Ana nuna zaman da aka adana — matsayin kai tsaye na iya zama tsoho", "startNewAgentSession": "Fara sabon zaman Kilo Agent", - "aiCodingSessions": "Zaman shirye-shiryen AI", - "startCodingTaskFromPhone": "Fara aikin shirye-shirye daga wayarka ko ci gaba da zama daga CLI ɗinka.", - "tryIt": "Gwada shi", "newCodingTask": "Sabon aikin shirye-shirye", "explore": "Bincika", "seeAll": "Duba duka", - "kiloAgents": "Kilo Agents", "greetingMorning": "Barka da safiya", "greetingAfternoon": "Barka da rana", "greetingEvening": "Barka da yamma" diff --git a/apps/mobile/src/i18n/locales/he.json b/apps/mobile/src/i18n/locales/he.json index b1c99baacf..52729d1ae4 100644 --- a/apps/mobile/src/i18n/locales/he.json +++ b/apps/mobile/src/i18n/locales/he.json @@ -1914,15 +1914,10 @@ "couldNotLoadSessions": "לא ניתן לטעון הפעלות", "couldNotLoadActiveSessions": "לא ניתן לטעון הפעלות פעילות", "agentSessions": "הפעלות סוכן", - "showingSavedSessions": "מציג הפעלות שמורות — המצב החי עשוי להיות לא מעודכן", "startNewAgentSession": "התחל הפעלת Kilo Agent חדשה", - "aiCodingSessions": "הפעלות קידוד AI", - "startCodingTaskFromPhone": "התחל משימת קידוד מהטלפון שלך או המשך הפעלה מה-CLI שלך.", - "tryIt": "נסה זאת", "newCodingTask": "משימת קידוד חדשה", "explore": "חקור", "seeAll": "ראה הכל", - "kiloAgents": "סוכני Kilo", "greetingMorning": "בוקר טוב", "greetingAfternoon": "צהריים טובים", "greetingEvening": "ערב טוב" diff --git a/apps/mobile/src/i18n/locales/hi.json b/apps/mobile/src/i18n/locales/hi.json index d4caaa8d69..0f77668fd4 100644 --- a/apps/mobile/src/i18n/locales/hi.json +++ b/apps/mobile/src/i18n/locales/hi.json @@ -1914,15 +1914,10 @@ "couldNotLoadSessions": "सत्र लोड नहीं हो सके", "couldNotLoadActiveSessions": "सक्रिय सत्र लोड नहीं हो सके", "agentSessions": "एजेंट सत्र", - "showingSavedSessions": "सहेजे गए सत्र दिखाए जा रहे हैं — लाइव स्थिति पुरानी हो सकती है", "startNewAgentSession": "नया Kilo एजेंट सत्र शुरू करें", - "aiCodingSessions": "AI कोडिंग सत्र", - "startCodingTaskFromPhone": "अपने फ़ोन से कोडिंग कार्य शुरू करें या अपने CLI से सत्र जारी रखें।", - "tryIt": "इसे आज़माएँ", "newCodingTask": "नया कोडिंग कार्य", "explore": "एक्सप्लोर करें", "seeAll": "सभी देखें", - "kiloAgents": "Kilo एजेंट", "greetingMorning": "सुप्रभात", "greetingAfternoon": "शुभ दोपहर", "greetingEvening": "शुभ संध्या" diff --git a/apps/mobile/src/i18n/locales/hr.json b/apps/mobile/src/i18n/locales/hr.json index 50236d55a6..c7c3162c9b 100644 --- a/apps/mobile/src/i18n/locales/hr.json +++ b/apps/mobile/src/i18n/locales/hr.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Nije moguće učitati sesije", "couldNotLoadActiveSessions": "Nije moguće učitati aktivne sesije", "agentSessions": "Sesije agenata", - "showingSavedSessions": "Prikazuju se spremljene sesije — živi status može biti zastario", "startNewAgentSession": "Pokreni novu Kilo Agent sesiju", - "aiCodingSessions": "AI sesije kodiranja", - "startCodingTaskFromPhone": "Pokrenite zadatak kodiranja s telefona ili nastavite sesiju sa svog CLI-ja.", - "tryIt": "Isprobaj", "newCodingTask": "Novi zadatak kodiranja", "explore": "Istraži", "seeAll": "Prikaži sve", - "kiloAgents": "Kilo Agenti", "greetingMorning": "Dobro jutro", "greetingAfternoon": "Dobar dan", "greetingEvening": "Dobra večer" diff --git a/apps/mobile/src/i18n/locales/ht.json b/apps/mobile/src/i18n/locales/ht.json index a897b71e26..706fc61edb 100644 --- a/apps/mobile/src/i18n/locales/ht.json +++ b/apps/mobile/src/i18n/locales/ht.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Pa t ka chaje sesyon", "couldNotLoadActiveSessions": "Pa t ka chaje sesyon aktif", "agentSessions": "Sesyon ajant", - "showingSavedSessions": "Ap montre sesyon sove — estati vivan ka pa fèt rive", "startNewAgentSession": "Kòmanse yon nouvo sesyon Kilo Ajant", - "aiCodingSessions": "Sesyon kodaj AI", - "startCodingTaskFromPhone": "Kòmanse yon travay kodaj soti nan telefòn ou oswa kontinye yon sesyon soti nan CLI ou.", - "tryIt": "Eseye li", "newCodingTask": "Nouvo travay kodaj", "explore": "Eksplore", "seeAll": "Wè tout", - "kiloAgents": "Kilo Ajant", "greetingMorning": "Bonjou", "greetingAfternoon": "Bon apremidi", "greetingEvening": "Bonswa" diff --git a/apps/mobile/src/i18n/locales/hu.json b/apps/mobile/src/i18n/locales/hu.json index 0e1c905905..9a27ab34b3 100644 --- a/apps/mobile/src/i18n/locales/hu.json +++ b/apps/mobile/src/i18n/locales/hu.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "A munkameneteket nem sikerült betölteni", "couldNotLoadActiveSessions": "Az aktív munkameneteket nem sikerült betölteni", "agentSessions": "Ügynök munkamenetek", - "showingSavedSessions": "Mentett munkamenetek megjelenítése — az élő állapot elavult lehet", "startNewAgentSession": "Új Kilo Agent munkamenet indítása", - "aiCodingSessions": "AI kódolási munkamenetek", - "startCodingTaskFromPhone": "Indíts kódolási feladatot a telefonodról, vagy folytass egy munkamenetet a CLI-dből.", - "tryIt": "Kipróbálom", "newCodingTask": "Új kódolási feladat", "explore": "Felfedezés", "seeAll": "Összes megtekintése", - "kiloAgents": "Kilo Agents", "greetingMorning": "Jó reggelt", "greetingAfternoon": "Jó napot", "greetingEvening": "Jó estét" diff --git a/apps/mobile/src/i18n/locales/hy.json b/apps/mobile/src/i18n/locales/hy.json index f6eb1209ce..6ecc893bff 100644 --- a/apps/mobile/src/i18n/locales/hy.json +++ b/apps/mobile/src/i18n/locales/hy.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Հնարավոր չեղավ բեռնել նիստերը", "couldNotLoadActiveSessions": "Հնարավոր չեղավ բեռնել ակտիվ նիստերը", "agentSessions": "Գործակալի նիստեր", - "showingSavedSessions": "Ցուցադրվում են պահված նիստերը — կենդանի կարգավիճակը կարող է հնացած լինել", "startNewAgentSession": "Սկսել նոր Kilo Agent նիստ", - "aiCodingSessions": "AI ծրագրավորման նիստեր", - "startCodingTaskFromPhone": "Սկսեք ծրագրավորման առաջադրանք ձեր հեռախոսից կամ շարունակեք նիստը ձեր CLI-ից:", - "tryIt": "Փորձեք", "newCodingTask": "Նոր ծրագրավորման առաջադրանք", "explore": "Ուսումնասիրել", "seeAll": "Տեսնել բոլորը", - "kiloAgents": "Kilo Agents", "greetingMorning": "Բարի առավոտ", "greetingAfternoon": "Բարի օր", "greetingEvening": "Բարի երեկո" diff --git a/apps/mobile/src/i18n/locales/id.json b/apps/mobile/src/i18n/locales/id.json index 0400750b47..69e7b4ec59 100644 --- a/apps/mobile/src/i18n/locales/id.json +++ b/apps/mobile/src/i18n/locales/id.json @@ -1914,15 +1914,10 @@ "couldNotLoadSessions": "Tidak dapat memuat sesi", "couldNotLoadActiveSessions": "Tidak dapat memuat sesi aktif", "agentSessions": "Sesi agen", - "showingSavedSessions": "Menampilkan sesi tersimpan — status langsung mungkin kedaluwarsa", "startNewAgentSession": "Mulai sesi Agen Kilo baru", - "aiCodingSessions": "Sesi coding AI", - "startCodingTaskFromPhone": "Mulai tugas coding dari ponsel Anda atau lanjutkan sesi dari CLI Anda.", - "tryIt": "Coba", "newCodingTask": "Tugas coding baru", "explore": "Jelajahi", "seeAll": "Lihat semua", - "kiloAgents": "Agen Kilo", "greetingMorning": "Selamat pagi", "greetingAfternoon": "Selamat siang", "greetingEvening": "Selamat malam" diff --git a/apps/mobile/src/i18n/locales/ig.json b/apps/mobile/src/i18n/locales/ig.json index 7f1b10d9ab..23d3437184 100644 --- a/apps/mobile/src/i18n/locales/ig.json +++ b/apps/mobile/src/i18n/locales/ig.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Enweghị ike ibutu nnọkọ", "couldNotLoadActiveSessions": "Enweghị ike ibutu nnọkọ na-arụ ọrụ", "agentSessions": "Nnọkọ onye nnọchite", - "showingSavedSessions": "Na-egosi nnọkọ echekwara — ọnọdụ ndụ nwere ike ịgafe oge", "startNewAgentSession": "Malite nnọkọ Kilo Agent ọhụrụ", - "aiCodingSessions": "Nnọkọ ịde koodu AI", - "startCodingTaskFromPhone": "Malite ọrụ ịde koodu site na ekwentị gị ma ọ bụ gaa n'ihu na nnọkọ site na CLI gị.", - "tryIt": "Nwaa ya", "newCodingTask": "Ọrụ ịde koodu ọhụrụ", "explore": "Chọpụta", "seeAll": "Hụ niile", - "kiloAgents": "Ndị nnọchite Kilo", "greetingMorning": "Ụtụtụ ọma", "greetingAfternoon": "Ehihie ọma", "greetingEvening": "Mgbede ọma" diff --git a/apps/mobile/src/i18n/locales/is.json b/apps/mobile/src/i18n/locales/is.json index 0b30313ddf..3a7be0a563 100644 --- a/apps/mobile/src/i18n/locales/is.json +++ b/apps/mobile/src/i18n/locales/is.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Ekki tókst að hlaða lotur", "couldNotLoadActiveSessions": "Ekki tókst að hlaða virkar lotur", "agentSessions": "Umboðslotur", - "showingSavedSessions": "Sýni vistaðar lotur — rauntímastaða getur verið úrelt", "startNewAgentSession": "Byrja nýja Kilo-umboðslotu", - "aiCodingSessions": "AI-forritunarlotur", - "startCodingTaskFromPhone": "Byrjaðu forritunarverkefni úr símanum þínum eða haltu áfram lotu frá CLI.", - "tryIt": "Prófaðu það", "newCodingTask": "Nýtt forritunarverkefni", "explore": "Kanna", "seeAll": "Sjá allt", - "kiloAgents": "Kilo-umboð", "greetingMorning": "Góðan daginn", "greetingAfternoon": "Góðan eftirmiðdag", "greetingEvening": "Gott kvöld" diff --git a/apps/mobile/src/i18n/locales/it.json b/apps/mobile/src/i18n/locales/it.json index 34f8abeea1..6158b0773c 100644 --- a/apps/mobile/src/i18n/locales/it.json +++ b/apps/mobile/src/i18n/locales/it.json @@ -1914,15 +1914,10 @@ "couldNotLoadSessions": "Impossibile caricare le sessioni", "couldNotLoadActiveSessions": "Impossibile caricare le sessioni attive", "agentSessions": "Sessioni agente", - "showingSavedSessions": "Visualizzazione delle sessioni salvate — lo stato live potrebbe non essere aggiornato", "startNewAgentSession": "Avvia una nuova sessione Kilo Agent", - "aiCodingSessions": "Sessioni di codifica IA", - "startCodingTaskFromPhone": "Avvia un'attività di codifica dal telefono o continua una sessione dalla CLI.", - "tryIt": "Provalo", "newCodingTask": "Nuova attività di codifica", "explore": "Esplora", "seeAll": "Vedi tutto", - "kiloAgents": "Agenti Kilo", "greetingMorning": "Buongiorno", "greetingAfternoon": "Buon pomeriggio", "greetingEvening": "Buonasera" diff --git a/apps/mobile/src/i18n/locales/ja.json b/apps/mobile/src/i18n/locales/ja.json index 498b3f717f..f3f5e7ef48 100644 --- a/apps/mobile/src/i18n/locales/ja.json +++ b/apps/mobile/src/i18n/locales/ja.json @@ -1914,15 +1914,10 @@ "couldNotLoadSessions": "セッションを読み込めませんでした", "couldNotLoadActiveSessions": "アクティブなセッションを読み込めませんでした", "agentSessions": "エージェントセッション", - "showingSavedSessions": "保存されたセッションを表示中 — ライブステータスが古い場合があります", "startNewAgentSession": "新しいKiloエージェントセッションを開始", - "aiCodingSessions": "AIコーディングセッション", - "startCodingTaskFromPhone": "スマートフォンからコーディングタスクを開始するか、CLIからセッションを続行します。", - "tryIt": "試す", "newCodingTask": "新しいコーディングタスク", "explore": "探索", "seeAll": "すべて表示", - "kiloAgents": "Kiloエージェント", "greetingMorning": "おはようございます", "greetingAfternoon": "こんにちは", "greetingEvening": "こんばんは" diff --git a/apps/mobile/src/i18n/locales/ka.json b/apps/mobile/src/i18n/locales/ka.json index 833fb5144c..d79ae5372b 100644 --- a/apps/mobile/src/i18n/locales/ka.json +++ b/apps/mobile/src/i18n/locales/ka.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "სესიების ჩატვირთვა ვერ მოხერხდა", "couldNotLoadActiveSessions": "აქტიური სესიების ჩატვირთვა ვერ მოხერხდა", "agentSessions": "აგენტის სესიები", - "showingSavedSessions": "ნაჩვენებია შენახული სესიები — პირდაპირი სტატუსი შეიძლება მოძველებული იყოს", "startNewAgentSession": "ახალი Kilo აგენტის სესიის დაწყება", - "aiCodingSessions": "AI კოდირების სესიები", - "startCodingTaskFromPhone": "დაიწყეთ კოდირების ამოცანა ტელეფონიდან ან გააგრძელეთ სესია CLI-დან.", - "tryIt": "სცადეთ", "newCodingTask": "ახალი კოდირების ამოცანა", "explore": "გამოკვლევა", "seeAll": "ყველას ნახვა", - "kiloAgents": "Kilo აგენტები", "greetingMorning": "დილა მშვიდობისა", "greetingAfternoon": "შუადღე მშვიდობისა", "greetingEvening": "საღამო მშვიდობისა" diff --git a/apps/mobile/src/i18n/locales/kk.json b/apps/mobile/src/i18n/locales/kk.json index f7a525c966..9385ebf46f 100644 --- a/apps/mobile/src/i18n/locales/kk.json +++ b/apps/mobile/src/i18n/locales/kk.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Сессияларды жүктеу мүмкін болмады", "couldNotLoadActiveSessions": "Белсенді сессияларды жүктеу мүмкін болмады", "agentSessions": "Агент сессиялары", - "showingSavedSessions": "Сақталған сессиялар көрсетілуде — тірі күй ескіруі мүмкін", "startNewAgentSession": "Жаңа Kilo Agent сессиясын бастау", - "aiCodingSessions": "AI бағдарламалау сессиялары", - "startCodingTaskFromPhone": "Телефоннан бағдарламалау тапсырмасын бастаңыз немесе CLI-ден сессияны жалғастырыңыз.", - "tryIt": "Көру", "newCodingTask": "Жаңа бағдарламалау тапсырмасы", "explore": "Зерттеу", "seeAll": "Барлығын қарау", - "kiloAgents": "Kilo Agent", "greetingMorning": "Қайырлы таң", "greetingAfternoon": "Қайырлы күн", "greetingEvening": "Қайырлы кеш" diff --git a/apps/mobile/src/i18n/locales/km.json b/apps/mobile/src/i18n/locales/km.json index e40f00592f..57f63a49fb 100644 --- a/apps/mobile/src/i18n/locales/km.json +++ b/apps/mobile/src/i18n/locales/km.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "មិនអាចផ្ទុកវគ្គបានទេ", "couldNotLoadActiveSessions": "មិនអាចផ្ទុកវគ្គសកម្មបានទេ", "agentSessions": "វគ្គភ្នាក់ងារ", - "showingSavedSessions": "កំពុងបង្ហាញវគ្គដែលបានរក្សាទុក — ស្ថានភាពបន្តផ្ទាល់អាចហួសសម័យ", "startNewAgentSession": "ចាប់ផ្តើមវគ្គ Kilo Agent ថ្មី", - "aiCodingSessions": "វគ្គសរសេរកូដ AI", - "startCodingTaskFromPhone": "ចាប់ផ្តើមកិច្ចការសរសេរកូដពីទូរសព្ទរបស់អ្នក ឬបន្តវគ្គពី CLI របស់អ្នក។", - "tryIt": "សាកល្បង", "newCodingTask": "កិច្ចការសរសេរកូដថ្មី", "explore": "ស្វែងយល់", "seeAll": "មើលទាំងអស់", - "kiloAgents": "Kilo Agents", "greetingMorning": "អរុណសួស្តី", "greetingAfternoon": "ទស្សនិកាសួស្តី", "greetingEvening": "សាយ័ណ្ហសួស្តី" diff --git a/apps/mobile/src/i18n/locales/kn.json b/apps/mobile/src/i18n/locales/kn.json index 9164d4cbd4..92f7017a4c 100644 --- a/apps/mobile/src/i18n/locales/kn.json +++ b/apps/mobile/src/i18n/locales/kn.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "ಸೆಷನ್‌ಗಳನ್ನು ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ", "couldNotLoadActiveSessions": "ಸಕ್ರಿಯ ಸೆಷನ್‌ಗಳನ್ನು ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ", "agentSessions": "ಏಜೆಂಟ್ ಸೆಷನ್‌ಗಳು", - "showingSavedSessions": "ಉಳಿಸಿದ ಸೆಷನ್‌ಗಳನ್ನು ತೋರಿಸುತ್ತಿದೆ — ಲೈವ್ ಸ್ಥಿತಿ ಹಳೆಯದಾಗಿರಬಹುದು", "startNewAgentSession": "ಹೊಸ Kilo Agent ಸೆಷನ್ ಪ್ರಾರಂಭಿಸಿ", - "aiCodingSessions": "AI ಕೋಡಿಂಗ್ ಸೆಷನ್‌ಗಳು", - "startCodingTaskFromPhone": "ನಿಮ್ಮ ಫೋನ್‌ನಿಂದ ಕೋಡಿಂಗ್ ಕಾರ್ಯ ಪ್ರಾರಂಭಿಸಿ ಅಥವಾ ನಿಮ್ಮ CLI ಯಿಂದ ಸೆಷನ್ ಮುಂದುವರಿಸಿ.", - "tryIt": "ಪ್ರಯತ್ನಿಸಿ", "newCodingTask": "ಹೊಸ ಕೋಡಿಂಗ್ ಕಾರ್ಯ", "explore": "ಅನ್ವೇಷಿಸಿ", "seeAll": "ಎಲ್ಲವನ್ನೂ ನೋಡಿ", - "kiloAgents": "Kilo Agents", "greetingMorning": "ಶುಭೋದಯ", "greetingAfternoon": "ಶುಭ ಮಧ್ಯಾಹ್ನ", "greetingEvening": "ಶುಭ ಸಂಜೆ" diff --git a/apps/mobile/src/i18n/locales/ko.json b/apps/mobile/src/i18n/locales/ko.json index 9a6d0cc280..de72e3496b 100644 --- a/apps/mobile/src/i18n/locales/ko.json +++ b/apps/mobile/src/i18n/locales/ko.json @@ -1914,15 +1914,10 @@ "couldNotLoadSessions": "세션을 불러올 수 없습니다", "couldNotLoadActiveSessions": "활성 세션을 불러올 수 없습니다", "agentSessions": "에이전트 세션", - "showingSavedSessions": "저장된 세션 표시 중 — 실시간 상태가 오래되었을 수 있습니다", "startNewAgentSession": "새 Kilo 에이전트 세션 시작", - "aiCodingSessions": "AI 코딩 세션", - "startCodingTaskFromPhone": "휴대폰에서 코딩 작업을 시작하거나 CLI에서 세션을 계속하세요.", - "tryIt": "사용해 보기", "newCodingTask": "새 코딩 작업", "explore": "탐색", "seeAll": "모두 보기", - "kiloAgents": "Kilo 에이전트", "greetingMorning": "좋은 아침입니다", "greetingAfternoon": "좋은 오후입니다", "greetingEvening": "좋은 저녁입니다" diff --git a/apps/mobile/src/i18n/locales/lo.json b/apps/mobile/src/i18n/locales/lo.json index a448fb2455..1f6531e857 100644 --- a/apps/mobile/src/i18n/locales/lo.json +++ b/apps/mobile/src/i18n/locales/lo.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "ບໍ່ສາມາດໂຫລດເຊດຊັນ", "couldNotLoadActiveSessions": "ບໍ່ສາມາດໂຫລດເຊດຊັນທີ່ໃຊ້ງານ", "agentSessions": "ເຊດຊັນຕົວແທນ", - "showingSavedSessions": "ສະແດງເຊດຊັນທີ່ບັນທຶກ — ສະຖານະສົດອາດລ້າສະໄຫມ", "startNewAgentSession": "ເລີ່ມເຊດຊັນ Kilo Agent ໃໝ່", - "aiCodingSessions": "ເຊດຊັນການຂຽນໂຄ້ດ AI", - "startCodingTaskFromPhone": "ເລີ່ມວຽກການຂຽນໂຄ້ດຈາກໂທລະສັບຂອງທ່ານ ຫຼື ສືບຕໍ່ເຊດຊັນຈາກ CLI ຂອງທ່ານ.", - "tryIt": "ລອງໃຊ້", "newCodingTask": "ວຽກການຂຽນໂຄ້ດໃໝ່", "explore": "ສຳຫຼວດ", "seeAll": "ເບິ່ງທັງໝົດ", - "kiloAgents": "Kilo Agents", "greetingMorning": "ສະບາຍດີຕອນເຊົ້າ", "greetingAfternoon": "ສະບາຍດີຕອນບ່າຍ", "greetingEvening": "ສະບາຍດີຕອນແລງ" diff --git a/apps/mobile/src/i18n/locales/lt.json b/apps/mobile/src/i18n/locales/lt.json index 8a11ba078b..d157fb1dfa 100644 --- a/apps/mobile/src/i18n/locales/lt.json +++ b/apps/mobile/src/i18n/locales/lt.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Nepavyko įkelti sesijų", "couldNotLoadActiveSessions": "Nepavyko įkelti aktyvių sesijų", "agentSessions": "Agentų sesijos", - "showingSavedSessions": "Rodyti išsaugotos sesijos — tiesioginis statusas gali būti pasenęs", "startNewAgentSession": "Pradėti naują Kilo agento sesiją", - "aiCodingSessions": "AI kodavimo sesijos", - "startCodingTaskFromPhone": "Pradėkite kodavimo užduotį iš savo telefono arba tęskite sesiją iš savo CLI.", - "tryIt": "Išbandyti", "newCodingTask": "Nauja kodavimo užduotis", "explore": "Naršyti", "seeAll": "Rodyti viską", - "kiloAgents": "Kilo agentai", "greetingMorning": "Labas rytas", "greetingAfternoon": "Laba diena", "greetingEvening": "Labas vakaras" diff --git a/apps/mobile/src/i18n/locales/lv.json b/apps/mobile/src/i18n/locales/lv.json index 3664dd41ff..20c8608b3b 100644 --- a/apps/mobile/src/i18n/locales/lv.json +++ b/apps/mobile/src/i18n/locales/lv.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Neizdevās ielādēt sesijas", "couldNotLoadActiveSessions": "Neizdevās ielādēt aktīvās sesijas", "agentSessions": "Aģenta sesijas", - "showingSavedSessions": "Tiek rādītas saglabātās sesijas — tiešais statuss var būt novecojis", "startNewAgentSession": "Sākt jaunu Kilo Agent sesiju", - "aiCodingSessions": "AI kodēšanas sesijas", - "startCodingTaskFromPhone": "Sāc kodēšanas uzdevumu no tālruņa vai turpini sesiju no sava CLI.", - "tryIt": "Izmēģini", "newCodingTask": "Jauns kodēšanas uzdevums", "explore": "Izpētīt", "seeAll": "Skatīt visus", - "kiloAgents": "Kilo Agents", "greetingMorning": "Labrīt", "greetingAfternoon": "Labdien", "greetingEvening": "Labvakar" diff --git a/apps/mobile/src/i18n/locales/mg.json b/apps/mobile/src/i18n/locales/mg.json index f712edf481..d02fb3a589 100644 --- a/apps/mobile/src/i18n/locales/mg.json +++ b/apps/mobile/src/i18n/locales/mg.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Tsy afaka nampidirina ny session", "couldNotLoadActiveSessions": "Tsy afaka nampidirina ny session mavitrika", "agentSessions": "Session agent", - "showingSavedSessions": "Maneho ny session voatahiry — mety tsy manaraka fotoana ny toerana velona", "startNewAgentSession": "Atombohy session Kilo Agent vaovao", - "aiCodingSessions": "Session coding AI", - "startCodingTaskFromPhone": "Atombohy asa coding avy amin'ny findainao na tohizo session avy amin'ny CLI-nao.", - "tryIt": "Andramo", "newCodingTask": "Asa coding vaovao", "explore": "Mijerena", "seeAll": "Jereo daholo", - "kiloAgents": "Kilo Agents", "greetingMorning": "Maraina tsara", "greetingAfternoon": "Tandriam-pahalemana", "greetingEvening": "Miarahaba anao" diff --git a/apps/mobile/src/i18n/locales/mi.json b/apps/mobile/src/i18n/locales/mi.json index 79d565e1b7..d7ff31abcb 100644 --- a/apps/mobile/src/i18n/locales/mi.json +++ b/apps/mobile/src/i18n/locales/mi.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Kāore i taea te uta ngā wātū", "couldNotLoadActiveSessions": "Kāore i taea te uta ngā wātū mahi", "agentSessions": "Ngā wātū kaihoko", - "showingSavedSessions": "E whakaatu ana i ngā wātū kua tiakina — kua tawhito pea te tūnga ora", "startNewAgentSession": "Tīmata he wātū Kaihoko Kilo hōu", - "aiCodingSessions": "Ngā wātū whakawaehere AI", - "startCodingTaskFromPhone": "Tīmata he mahi whakawaehere mai i tō waea, haere tonu rānei i tētahi wātū mai i tō CLI.", - "tryIt": "Whakamātau", "newCodingTask": "Mahi whakawaehere hōu", "explore": "Torotoro", "seeAll": "Tirohia katoa", - "kiloAgents": "Ngā Kaihoko Kilo", "greetingMorning": "Ata mārie", "greetingAfternoon": "Ahiahi mārie", "greetingEvening": "Pō mārie" diff --git a/apps/mobile/src/i18n/locales/mk.json b/apps/mobile/src/i18n/locales/mk.json index 1e230f9a57..9459f31846 100644 --- a/apps/mobile/src/i18n/locales/mk.json +++ b/apps/mobile/src/i18n/locales/mk.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Не можев да ги вчитам сесиите", "couldNotLoadActiveSessions": "Не можев да ги вчитам активните сесии", "agentSessions": "Сесии на агенти", - "showingSavedSessions": "Прикажани се зачуваните сесии — живиот статус може да е застарен", "startNewAgentSession": "Започни нова сесија на Kilo Agent", - "aiCodingSessions": "AI сесии за кодирање", - "startCodingTaskFromPhone": "Започнете задача за кодирање од вашиот телефон или продолжете сесија од вашиот CLI.", - "tryIt": "Пробај", "newCodingTask": "Нова задача за кодирање", "explore": "Истражувај", "seeAll": "Види ги сите", - "kiloAgents": "Kilo Agents", "greetingMorning": "Добро утро", "greetingAfternoon": "Добар ден", "greetingEvening": "Добро вечер" diff --git a/apps/mobile/src/i18n/locales/ml.json b/apps/mobile/src/i18n/locales/ml.json index 8924c885ad..5d96633140 100644 --- a/apps/mobile/src/i18n/locales/ml.json +++ b/apps/mobile/src/i18n/locales/ml.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "സെഷനുകൾ ലോഡ് ചെയ്യാൻ കഴിഞ്ഞില്ല", "couldNotLoadActiveSessions": "സജീവ സെഷനുകൾ ലോഡ് ചെയ്യാൻ കഴിഞ്ഞില്ല", "agentSessions": "ഏജന്റ് സെഷനുകൾ", - "showingSavedSessions": "സംരക്ഷിച്ച സെഷനുകൾ കാണിക്കുന്നു — തത്സമയ നില കാലഹരണപ്പെട്ടതായിരിക്കാം", "startNewAgentSession": "ഒരു പുതിയ Kilo ഏജന്റ് സെഷൻ ആരംഭിക്കുക", - "aiCodingSessions": "AI കോഡിംഗ് സെഷനുകൾ", - "startCodingTaskFromPhone": "നിങ്ങളുടെ ഫോണിൽ നിന്ന് ഒരു കോഡിംഗ് ടാസ്ക് ആരംഭിക്കുക അല്ലെങ്കിൽ നിങ്ങളുടെ CLI-യിൽ നിന്ന് ഒരു സെഷൻ തുടരുക.", - "tryIt": "പരീക്ഷിച്ചുനോക്കൂ", "newCodingTask": "പുതിയ കോഡിംഗ് ടാസ്ക്", "explore": "പര്യവേക്ഷണം ചെയ്യുക", "seeAll": "എല്ലാം കാണുക", - "kiloAgents": "Kilo ഏജന്റുകൾ", "greetingMorning": "സുപ്രഭാതം", "greetingAfternoon": "ശുഭ ഉച്ച", "greetingEvening": "ശുഭ സായാഹ്നം" diff --git a/apps/mobile/src/i18n/locales/mn.json b/apps/mobile/src/i18n/locales/mn.json index 69a06e621c..459e39ae21 100644 --- a/apps/mobile/src/i18n/locales/mn.json +++ b/apps/mobile/src/i18n/locales/mn.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Сессийг ачаалж чадсангүй", "couldNotLoadActiveSessions": "Идэвхтэй сессийг ачаалж чадсангүй", "agentSessions": "Агентын сессий", - "showingSavedSessions": "Хадгалсан сессийг харуулж байна — шууд статус хуучирсан байж болно", "startNewAgentSession": "Шинэ Kilo Agent сесси эхлүүлэх", - "aiCodingSessions": "AI кодчилолын сессий", - "startCodingTaskFromPhone": "Утаснаасаа кодчилолын даалгавар эхлүүлэх эсвэл CLI-ээсээ сессийг үргэлжлүүлэх.", - "tryIt": "Оролдоод үзэх", "newCodingTask": "Шинэ кодчилолын даалгавар", "explore": "Судлах", "seeAll": "Бүгдийг үзэх", - "kiloAgents": "Kilo Agents", "greetingMorning": "Өглөөний мэнд", "greetingAfternoon": "Өдрийн мэнд", "greetingEvening": "Оройн мэнд" diff --git a/apps/mobile/src/i18n/locales/mr.json b/apps/mobile/src/i18n/locales/mr.json index 8d719c8b32..c6da911176 100644 --- a/apps/mobile/src/i18n/locales/mr.json +++ b/apps/mobile/src/i18n/locales/mr.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "सत्रे लोड करता आली नाहीत", "couldNotLoadActiveSessions": "सक्रिय सत्रे लोड करता आली नाहीत", "agentSessions": "एजंट सत्रे", - "showingSavedSessions": "जतन केलेली सत्रे दाखवत आहे — लाइव्ह स्थिती कालबाह्य असू शकते", "startNewAgentSession": "नवीन Kilo एजंट सत्र सुरू करा", - "aiCodingSessions": "AI कोडिंग सत्रे", - "startCodingTaskFromPhone": "तुमच्या फोनवरून कोडिंग कार्य सुरू करा किंवा तुमच्या CLI वरून सत्र सुरू ठेवा.", - "tryIt": "वापरून पहा", "newCodingTask": "नवीन कोडिंग कार्य", "explore": "एक्सप्लोर करा", "seeAll": "सर्व पहा", - "kiloAgents": "Kilo एजंट्स", "greetingMorning": "शुभ सकाळ", "greetingAfternoon": "शुभ दुपार", "greetingEvening": "शुभ संध्याकाळ" diff --git a/apps/mobile/src/i18n/locales/ms.json b/apps/mobile/src/i18n/locales/ms.json index e16af2f4ae..cbcdafbbbe 100644 --- a/apps/mobile/src/i18n/locales/ms.json +++ b/apps/mobile/src/i18n/locales/ms.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Tidak dapat memuatkan sesi", "couldNotLoadActiveSessions": "Tidak dapat memuatkan sesi aktif", "agentSessions": "Sesi ejen", - "showingSavedSessions": "Menunjukkan sesi tersimpan — status langsung mungkin sudah lapuk", "startNewAgentSession": "Mulakan sesi Kilo Agent baharu", - "aiCodingSessions": "Sesi pengekodan AI", - "startCodingTaskFromPhone": "Mulakan tugas pengekodan daripada telefon anda atau teruskan sesi daripada CLI anda.", - "tryIt": "Cubalah", "newCodingTask": "Tugas pengekodan baharu", "explore": "Teroka", "seeAll": "Lihat semua", - "kiloAgents": "Ejen Kilo", "greetingMorning": "Selamat pagi", "greetingAfternoon": "Selamat tengah hari", "greetingEvening": "Selamat petang" diff --git a/apps/mobile/src/i18n/locales/mt.json b/apps/mobile/src/i18n/locales/mt.json index 1bdd307573..771a40dfc9 100644 --- a/apps/mobile/src/i18n/locales/mt.json +++ b/apps/mobile/src/i18n/locales/mt.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Ma setgħux jitgħabbew is-sessjonijiet", "couldNotLoadActiveSessions": "Ma setgħux jitgħabbew is-sessjonijiet attivi", "agentSessions": "Sessjonijiet tal-aġent", - "showingSavedSessions": "Qed juri s-sessjonijiet salvati — l-istatus dirett jista' jkun skadut", "startNewAgentSession": "Ibda sessjoni ġdida ta' Kilo Agent", - "aiCodingSessions": "Sessjonijiet ta' kodifikazzjoni bl-AI", - "startCodingTaskFromPhone": "Ibda kompitu ta' kodifikazzjoni mit-telefon tiegħek jew kompli sessjoni mill-CLI tiegħek.", - "tryIt": "Ipprova", "newCodingTask": "Kompitu ġdid ta' kodifikazzjoni", "explore": "Esplora", "seeAll": "Ara kollha", - "kiloAgents": "Kilo Agents", "greetingMorning": "Il-ġurnata t-tajba", "greetingAfternoon": "Il-wara nofsinhar it-tajjeb", "greetingEvening": "Il-lejla t-tajba" diff --git a/apps/mobile/src/i18n/locales/my.json b/apps/mobile/src/i18n/locales/my.json index 5c1c0170e2..10e716976e 100644 --- a/apps/mobile/src/i18n/locales/my.json +++ b/apps/mobile/src/i18n/locales/my.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "session များကို မတင်နိုင်ပါ", "couldNotLoadActiveSessions": "လက်ရှိ session များကို မတင်နိုင်ပါ", "agentSessions": "Agent session များ", - "showingSavedSessions": "သိမ်းထားသော session များ ပြနေသည် — တိုက်ရိုက် အခြေအနေ နောက်ကျနိုင်သည်", "startNewAgentSession": "Kilo Agent session အသစ် စတင်ရန်", - "aiCodingSessions": "AI coding session များ", - "startCodingTaskFromPhone": "သင့်ဖုန်းမှ coding အလုပ်တစ်ခု စတင်ပါ သို့မဟုတ် သင့် CLI မှ session တစ်ခု ဆက်ပါ။", - "tryIt": "စမ်းကြည့်ပါ", "newCodingTask": "coding အလုပ်အသစ်", "explore": "ရှာဖွေပါ", "seeAll": "အားလုံး ကြည့်ရန်", - "kiloAgents": "Kilo Agents", "greetingMorning": "မင်္ဂလာနံနက်ခင်း", "greetingAfternoon": "မင်္ဂလာနေ့လည်ခင်း", "greetingEvening": "မင်္ဂလာညနေခင်း" diff --git a/apps/mobile/src/i18n/locales/nb.json b/apps/mobile/src/i18n/locales/nb.json index 6e02ff39c1..27b6cea493 100644 --- a/apps/mobile/src/i18n/locales/nb.json +++ b/apps/mobile/src/i18n/locales/nb.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Kunne ikke laste økter", "couldNotLoadActiveSessions": "Kunne ikke laste aktive økter", "agentSessions": "Agentøkter", - "showingSavedSessions": "Viser lagrede økter — sanntidsstatus kan være utdatert", "startNewAgentSession": "Start en ny Kilo Agent-økt", - "aiCodingSessions": "AI-kodeøkter", - "startCodingTaskFromPhone": "Start en kodeoppgave fra telefonen din eller fortsett en økt fra CLI-en din.", - "tryIt": "Prøv det", "newCodingTask": "Ny kodeoppgave", "explore": "Utforsk", "seeAll": "Se alle", - "kiloAgents": "Kilo Agents", "greetingMorning": "God morgen", "greetingAfternoon": "God ettermiddag", "greetingEvening": "God kveld" diff --git a/apps/mobile/src/i18n/locales/ne.json b/apps/mobile/src/i18n/locales/ne.json index 1109e19bc3..97170e3719 100644 --- a/apps/mobile/src/i18n/locales/ne.json +++ b/apps/mobile/src/i18n/locales/ne.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "सत्रहरू लोड गर्न सकिएन", "couldNotLoadActiveSessions": "सक्रिय सत्रहरू लोड गर्न सकिएन", "agentSessions": "एजेन्ट सत्रहरू", - "showingSavedSessions": "सुरक्षित सत्रहरू देखाइँदै — लाइभ स्थिति पुरानो हुन सक्छ", "startNewAgentSession": "नयाँ Kilo Agent सत्र सुरु गर्नुहोस्", - "aiCodingSessions": "AI कोडिङ सत्रहरू", - "startCodingTaskFromPhone": "आफ्नो फोनबाट कोडिङ कार्य सुरु गर्नुहोस् वा आफ्नो CLI बाट सत्र जारी गर्नुहोस्।", - "tryIt": "प्रयास गर्नुहोस्", "newCodingTask": "नयाँ कोडिङ कार्य", "explore": "अन्वेषण", "seeAll": "सबै हेर्नुहोस्", - "kiloAgents": "Kilo Agents", "greetingMorning": "शुभ बिहान", "greetingAfternoon": "शुभ दिउँसो", "greetingEvening": "शुभ साँझ" diff --git a/apps/mobile/src/i18n/locales/nl.json b/apps/mobile/src/i18n/locales/nl.json index 2336cf13ad..4e20b9836c 100644 --- a/apps/mobile/src/i18n/locales/nl.json +++ b/apps/mobile/src/i18n/locales/nl.json @@ -1914,15 +1914,10 @@ "couldNotLoadSessions": "Sessies konden niet worden geladen", "couldNotLoadActiveSessions": "Actieve sessies konden niet worden geladen", "agentSessions": "Agentsessies", - "showingSavedSessions": "Opgeslagen sessies worden getoond — de live status kan verouderd zijn", "startNewAgentSession": "Een nieuwe Kilo Agent-sessie starten", - "aiCodingSessions": "AI-codeersessies", - "startCodingTaskFromPhone": "Start een codeertaak vanaf je telefoon of ga verder met een sessie vanaf je CLI.", - "tryIt": "Probeer het", "newCodingTask": "Nieuwe codeertaak", "explore": "Verkennen", "seeAll": "Alles bekijken", - "kiloAgents": "Kilo Agents", "greetingMorning": "Goedemorgen", "greetingAfternoon": "Goedemiddag", "greetingEvening": "Goedenavond" diff --git a/apps/mobile/src/i18n/locales/om.json b/apps/mobile/src/i18n/locales/om.json index f524dd5398..44b2dd74e4 100644 --- a/apps/mobile/src/i18n/locales/om.json +++ b/apps/mobile/src/i18n/locales/om.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Shumarra fudhachuu hin danda'ine", "couldNotLoadActiveSessions": "Shumarra hojii fudhachuu hin danda'ine", "agentSessions": "Shumarra agent", - "showingSavedSessions": "Shumarra kuusame agarsiisaa jira — haalli lubbuu yeroo ittiin gadi aanaa ta'uu danda'a", "startNewAgentSession": "Shumarra Kilo Agent haaraa jalqabi", - "aiCodingSessions": "Shumarra code AI", - "startCodingTaskFromPhone": "Hojii code bilbilaa kee irraa jalqabi ykn shumarra CLI kee itti fufi.", - "tryIt": "Yaali", "newCodingTask": "Hojii code haaraa", "explore": "Qoradhu", "seeAll": "Hunda ilaali", - "kiloAgents": "Kilo Agents", "greetingMorning": "Bulchaan gaarii", "greetingAfternoon": "Guyyaa gaarii", "greetingEvening": "Gal-galtee gaarii" diff --git a/apps/mobile/src/i18n/locales/or.json b/apps/mobile/src/i18n/locales/or.json index d20488d0c8..fc2a3686c4 100644 --- a/apps/mobile/src/i18n/locales/or.json +++ b/apps/mobile/src/i18n/locales/or.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "ସେସନ୍ ଲୋଡ୍ ହୋଇପାରିଲା ନାହିଁ", "couldNotLoadActiveSessions": "ସକ୍ରିୟ ସେସନ୍ ଲୋଡ୍ ହୋଇପାରିଲା ନାହିଁ", "agentSessions": "ଏଜେଣ୍ଟ ସେସନ୍", - "showingSavedSessions": "ସେଭ୍ ହୋଇଥିବା ସେସନ୍ ଦେଖାଉଛି — ଲାଇଭ୍ ସ୍ଥିତି ଅପଡେଟ୍ ନହୋଇପାରେ", "startNewAgentSession": "ନୂତନ Kilo Agent ସେସନ୍ ଆରମ୍ଭ କରନ୍ତୁ", - "aiCodingSessions": "AI କୋଡିଂ ସେସନ୍", - "startCodingTaskFromPhone": "ଆପଣଙ୍କ ଫୋନରୁ କୋଡିଂ କାର୍ଯ୍ୟ ଆରମ୍ଭ କରନ୍ତୁ କିମ୍ବା ଆପଣଙ୍କ CLI ରୁ ସେସନ୍ ଜାରି କରନ୍ତୁ।", - "tryIt": "ଚେଷ୍ଟା କରନ୍ତୁ", "newCodingTask": "ନୂତନ କୋଡିଂ କାର୍ଯ୍ୟ", "explore": "ଅନୁସନ୍ଧାନ", "seeAll": "ସବୁ ଦେଖନ୍ତୁ", - "kiloAgents": "Kilo Agents", "greetingMorning": "ଶୁଭ ସକାଳ", "greetingAfternoon": "ଶୁଭ ମଧ୍ୟାହ୍ନ", "greetingEvening": "ଶୁଭ ସନ୍ଧ୍ୟା" diff --git a/apps/mobile/src/i18n/locales/pa.json b/apps/mobile/src/i18n/locales/pa.json index f5d96033f7..35c67b95ae 100644 --- a/apps/mobile/src/i18n/locales/pa.json +++ b/apps/mobile/src/i18n/locales/pa.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "ਸੈਸ਼ਨ ਲੋਡ ਨਹੀਂ ਹੋ ਸਕੇ", "couldNotLoadActiveSessions": "ਸਰਗਰਮ ਸੈਸ਼ਨ ਲੋਡ ਨਹੀਂ ਹੋ ਸਕੇ", "agentSessions": "ਏਜੰਟ ਸੈਸ਼ਨ", - "showingSavedSessions": "ਸੇਵ ਕੀਤੇ ਸੈਸ਼ਨ ਦਿਖਾਏ ਜਾ ਰਹੇ ਹਨ — ਲਾਈਵ ਸਥਿਤੀ ਪੁਰਾਣੀ ਹੋ ਸਕਦੀ ਹੈ", "startNewAgentSession": "ਨਵਾਂ Kilo ਏਜੰਟ ਸੈਸ਼ਨ ਸ਼ੁਰੂ ਕਰੋ", - "aiCodingSessions": "AI ਕੋਡਿੰਗ ਸੈਸ਼ਨ", - "startCodingTaskFromPhone": "ਆਪਣੇ ਫ਼ੋਨ ਤੋਂ ਕੋਡਿੰਗ ਕੰਮ ਸ਼ੁਰੂ ਕਰੋ ਜਾਂ ਆਪਣੇ CLI ਤੋਂ ਸੈਸ਼ਨ ਜਾਰੀ ਰੱਖੋ।", - "tryIt": "ਕੋਸ਼ਿਸ਼ ਕਰੋ", "newCodingTask": "ਨਵਾਂ ਕੋਡਿੰਗ ਕੰਮ", "explore": "ਪੜਚੋਲ ਕਰੋ", "seeAll": "ਸਭ ਵੇਖੋ", - "kiloAgents": "Kilo ਏਜੰਟ", "greetingMorning": "ਸ਼ੁਭ ਸਵੇਰ", "greetingAfternoon": "ਸ਼ੁਭ ਦੁਪਹਿਰ", "greetingEvening": "ਸ਼ੁਭ ਸੰਧਿਆ" diff --git a/apps/mobile/src/i18n/locales/pl.json b/apps/mobile/src/i18n/locales/pl.json index d250669a50..82c30fd655 100644 --- a/apps/mobile/src/i18n/locales/pl.json +++ b/apps/mobile/src/i18n/locales/pl.json @@ -1914,15 +1914,10 @@ "couldNotLoadSessions": "Nie można załadować sesji", "couldNotLoadActiveSessions": "Nie można załadować aktywnych sesji", "agentSessions": "Sesje agenta", - "showingSavedSessions": "Wyświetlanie zapisanych sesji — status na żywo może być nieaktualny", "startNewAgentSession": "Rozpocznij nową sesję agenta Kilo", - "aiCodingSessions": "Sesje kodowania AI", - "startCodingTaskFromPhone": "Rozpocznij zadanie kodowania z telefonu lub kontynuuj sesję z CLI.", - "tryIt": "Wypróbuj", "newCodingTask": "Nowe zadanie kodowania", "explore": "Odkrywaj", "seeAll": "Zobacz wszystkie", - "kiloAgents": "Agenci Kilo", "greetingMorning": "Dzień dobry", "greetingAfternoon": "Dzień dobry", "greetingEvening": "Dobry wieczór" diff --git a/apps/mobile/src/i18n/locales/ps.json b/apps/mobile/src/i18n/locales/ps.json index ff1da00148..4a6a0384cb 100644 --- a/apps/mobile/src/i18n/locales/ps.json +++ b/apps/mobile/src/i18n/locales/ps.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "غونډې نه شول پورته کېدلای", "couldNotLoadActiveSessions": "فعالې غونډې نه شول پورته کېدلای", "agentSessions": "د اجنټ غونډې", - "showingSavedSessions": "خوندي شوې غونډې ښودل کېږي — ژوندی حالت ممکن زوړ وي", "startNewAgentSession": "د Kilo اجنټ نوې غونډه پیل کړئ", - "aiCodingSessions": "د AI کوډ کولو غونډې", - "startCodingTaskFromPhone": "له خپل تلیفون څخه د کوډ کولو دنده پیل کړئ یا له خپل CLI څخه یوه غونډه دوام ورکړئ.", - "tryIt": "هڅه یې وکړئ", "newCodingTask": "د کوډ کولو نوې دنده", "explore": "وپلټئ", "seeAll": "ټول وګورئ", - "kiloAgents": "د Kilo اجنټان", "greetingMorning": "سهار مو پخیر", "greetingAfternoon": "ښه ماسپښین", "greetingEvening": "ښه ماښام" diff --git a/apps/mobile/src/i18n/locales/pt-BR.json b/apps/mobile/src/i18n/locales/pt-BR.json index 0a3c1e7225..f6c597378e 100644 --- a/apps/mobile/src/i18n/locales/pt-BR.json +++ b/apps/mobile/src/i18n/locales/pt-BR.json @@ -1914,15 +1914,10 @@ "couldNotLoadSessions": "Não foi possível carregar as sessões", "couldNotLoadActiveSessions": "Não foi possível carregar as sessões ativas", "agentSessions": "Sessões de agentes", - "showingSavedSessions": "Mostrando sessões salvas — o status ao vivo pode estar desatualizado", "startNewAgentSession": "Iniciar uma nova sessão do Kilo Agent", - "aiCodingSessions": "Sessões de codificação com IA", - "startCodingTaskFromPhone": "Inicie uma tarefa de codificação pelo celular ou continue uma sessão pela CLI.", - "tryIt": "Experimente", "newCodingTask": "Nova tarefa de codificação", "explore": "Explorar", "seeAll": "Ver tudo", - "kiloAgents": "Agentes Kilo", "greetingMorning": "Bom dia", "greetingAfternoon": "Boa tarde", "greetingEvening": "Boa noite" diff --git a/apps/mobile/src/i18n/locales/pt.json b/apps/mobile/src/i18n/locales/pt.json index 92ddc7978d..a85d696fb9 100644 --- a/apps/mobile/src/i18n/locales/pt.json +++ b/apps/mobile/src/i18n/locales/pt.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Não foi possível carregar as sessões", "couldNotLoadActiveSessions": "Não foi possível carregar as sessões ativas", "agentSessions": "Sessões de agente", - "showingSavedSessions": "A mostrar sessões guardadas — o estado ao vivo pode estar desatualizado", "startNewAgentSession": "Iniciar uma nova sessão do Kilo Agent", - "aiCodingSessions": "Sessões de programação com IA", - "startCodingTaskFromPhone": "Inicie uma tarefa de programação a partir do seu telemóvel ou continue uma sessão a partir da sua CLI.", - "tryIt": "Experimentar", "newCodingTask": "Nova tarefa de programação", "explore": "Explorar", "seeAll": "Ver tudo", - "kiloAgents": "Kilo Agents", "greetingMorning": "Bom dia", "greetingAfternoon": "Boa tarde", "greetingEvening": "Boa noite" diff --git a/apps/mobile/src/i18n/locales/ro.json b/apps/mobile/src/i18n/locales/ro.json index 10be52109b..e329362db9 100644 --- a/apps/mobile/src/i18n/locales/ro.json +++ b/apps/mobile/src/i18n/locales/ro.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Sesiunile nu au putut fi încărcate", "couldNotLoadActiveSessions": "Sesiunile active nu au putut fi încărcate", "agentSessions": "Sesiuni de agent", - "showingSavedSessions": "Se afișează sesiunile salvate — starea live poate fi neactualizată", "startNewAgentSession": "Începe o sesiune nouă de Kilo Agent", - "aiCodingSessions": "Sesiuni de codare AI", - "startCodingTaskFromPhone": "Începe o sarcină de codare de pe telefon sau continuă o sesiune de pe CLI.", - "tryIt": "Încearcă", "newCodingTask": "Sarcină de codare nouă", "explore": "Explorează", "seeAll": "Vezi tot", - "kiloAgents": "Kilo Agents", "greetingMorning": "Bună dimineața", "greetingAfternoon": "Bună ziua", "greetingEvening": "Bună seara" diff --git a/apps/mobile/src/i18n/locales/ru.json b/apps/mobile/src/i18n/locales/ru.json index a9f51c1984..8a26a2e86c 100644 --- a/apps/mobile/src/i18n/locales/ru.json +++ b/apps/mobile/src/i18n/locales/ru.json @@ -1914,15 +1914,10 @@ "couldNotLoadSessions": "Не удалось загрузить сеансы", "couldNotLoadActiveSessions": "Не удалось загрузить активные сеансы", "agentSessions": "Сеансы агента", - "showingSavedSessions": "Показаны сохранённые сеансы — актуальный статус может быть устаревшим", "startNewAgentSession": "Начать новый сеанс агента Kilo", - "aiCodingSessions": "Сеансы ИИ-кодирования", - "startCodingTaskFromPhone": "Начните задачу кодирования с телефона или продолжите сеанс из CLI.", - "tryIt": "Попробовать", "newCodingTask": "Новая задача кодирования", "explore": "Исследовать", "seeAll": "Смотреть все", - "kiloAgents": "Агенты Kilo", "greetingMorning": "Доброе утро", "greetingAfternoon": "Добрый день", "greetingEvening": "Добрый вечер" diff --git a/apps/mobile/src/i18n/locales/si.json b/apps/mobile/src/i18n/locales/si.json index ee23e24641..94a6b58c76 100644 --- a/apps/mobile/src/i18n/locales/si.json +++ b/apps/mobile/src/i18n/locales/si.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "සැසි පූරණය කළ නොහැකි විය", "couldNotLoadActiveSessions": "ක්‍රියාකාරී සැසි පූරණය කළ නොහැකි විය", "agentSessions": "ඒජන්ත සැසි", - "showingSavedSessions": "සුරැකි සැසි පෙන්වමින් — සජීවී තත්ත්වය කල් ඉකුත් විය හැක", "startNewAgentSession": "නව Kilo Agent සැසියක් ආරම්භ කරන්න", - "aiCodingSessions": "AI කේතීකරණ සැසි", - "startCodingTaskFromPhone": "ඔබගේ දුරකථනයෙන් කේතීකරණ කාර්යයක් ආරම්භ කරන්න හෝ ඔබගේ CLI වෙතින් සැසියක් දිගටම කරගෙන යන්න.", - "tryIt": "උත්සාහ කරන්න", "newCodingTask": "නව කේතීකරණ කාර්යය", "explore": "ගවේෂණය", "seeAll": "සියල්ල බලන්න", - "kiloAgents": "Kilo Agents", "greetingMorning": "සුබ උදෑසනක්", "greetingAfternoon": "සුබ දවාලක්", "greetingEvening": "සුබ සැන්දෑවක්" diff --git a/apps/mobile/src/i18n/locales/sk.json b/apps/mobile/src/i18n/locales/sk.json index 235d4ead1a..166c29cd71 100644 --- a/apps/mobile/src/i18n/locales/sk.json +++ b/apps/mobile/src/i18n/locales/sk.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Relácie sa nepodarilo načítať", "couldNotLoadActiveSessions": "Aktívne relácie sa nepodarilo načítať", "agentSessions": "Relácie agenta", - "showingSavedSessions": "Zobrazujú sa uložené relácie — živý stav môže byť zastaraný", "startNewAgentSession": "Spustiť novú reláciu agenta Kilo", - "aiCodingSessions": "AI programovacie relácie", - "startCodingTaskFromPhone": "Spustite programovaciu úlohu z telefónu alebo pokračujte v relácii z CLI.", - "tryIt": "Vyskúšať", "newCodingTask": "Nová programovacia úloha", "explore": "Preskúmať", "seeAll": "Zobraziť všetko", - "kiloAgents": "Agenti Kilo", "greetingMorning": "Dobré ráno", "greetingAfternoon": "Dobrý deň", "greetingEvening": "Dobrý večer" diff --git a/apps/mobile/src/i18n/locales/sl.json b/apps/mobile/src/i18n/locales/sl.json index 3f1f09c069..14c59ba7a1 100644 --- a/apps/mobile/src/i18n/locales/sl.json +++ b/apps/mobile/src/i18n/locales/sl.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Sej ni bilo mogoče naložiti", "couldNotLoadActiveSessions": "Aktivnih sej ni bilo mogoče naložiti", "agentSessions": "Seje agenta", - "showingSavedSessions": "Prikaz shranjenih sej — živi status je morda zastarel", "startNewAgentSession": "Začni novo sejo Kilo Agenta", - "aiCodingSessions": "Seje kodiranja z umetno inteligenco", - "startCodingTaskFromPhone": "Začni nalogo kodiranja s telefona ali nadaljuj sejo s svojega CLI.", - "tryIt": "Preizkusi", "newCodingTask": "Nova naloga kodiranja", "explore": "Razišči", "seeAll": "Prikaži vse", - "kiloAgents": "Kilo Agenti", "greetingMorning": "Dobro jutro", "greetingAfternoon": "Dober dan", "greetingEvening": "Dober večer" diff --git a/apps/mobile/src/i18n/locales/so.json b/apps/mobile/src/i18n/locales/so.json index e9687fef75..98a33629f3 100644 --- a/apps/mobile/src/i18n/locales/so.json +++ b/apps/mobile/src/i18n/locales/so.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Kalfadhiyada lama soo dejin karin", "couldNotLoadActiveSessions": "Kalfadhiyada firfircoon lama soo dejin karin", "agentSessions": "Kalfadhiyada wakiilka", - "showingSavedSessions": "Waxaa la tusi doonaa kalfadhiyo la kaydiyay — xaaladda tooska ah waxaa laga yaabaa inay ka da'do", "startNewAgentSession": "Bilow kalfadhi cusub oo Kilo Agent", - "aiCodingSessions": "Kalfadhiyada codeynta AI", - "startCodingTaskFromPhone": "Ka bilow hawshooda codeynta taleefankaaga ama sii wad kalfadhi CLI-gaaga.", - "tryIt": "Isku day", "newCodingTask": "Hawshooda cusub ee codeynta", "explore": "Sahan", "seeAll": "Fiiri dhammaan", - "kiloAgents": "Kilo Agents", "greetingMorning": "Subax wanaagsan", "greetingAfternoon": "Galab wanaagsan", "greetingEvening": "Habeen wanaagsan" diff --git a/apps/mobile/src/i18n/locales/sq.json b/apps/mobile/src/i18n/locales/sq.json index 8f152b774c..f1ec228ba6 100644 --- a/apps/mobile/src/i18n/locales/sq.json +++ b/apps/mobile/src/i18n/locales/sq.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Seancat nuk u ngarkuan", "couldNotLoadActiveSessions": "Seancat aktive nuk u ngarkuan", "agentSessions": "Seancat e agjentit", - "showingSavedSessions": "Duke shfaqur seancat e ruajtura — statusi i drejtpërdrejtë mund të jetë i vjetëruar", "startNewAgentSession": "Filloni një seancë të re Kilo Agent", - "aiCodingSessions": "Seancat e kodimit me AI", - "startCodingTaskFromPhone": "Filloni një detyrë kodimi nga telefoni juaj ose vazhdoni një seancë nga CLI juaj.", - "tryIt": "Provojeni", "newCodingTask": "Detyrë e re kodimi", "explore": "Eksploro", "seeAll": "Shiko të gjitha", - "kiloAgents": "Kilo Agents", "greetingMorning": "Mirëmëngjes", "greetingAfternoon": "Mirëdita", "greetingEvening": "Mirëmbrëma" diff --git a/apps/mobile/src/i18n/locales/sr.json b/apps/mobile/src/i18n/locales/sr.json index f08cfe66dc..173730ad9f 100644 --- a/apps/mobile/src/i18n/locales/sr.json +++ b/apps/mobile/src/i18n/locales/sr.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Učitavanje sesija nije uspelo", "couldNotLoadActiveSessions": "Učitavanje aktivnih sesija nije uspelo", "agentSessions": "Agentske sesije", - "showingSavedSessions": "Prikazuju se sačuvane sesije — status uživo može biti zastareo", "startNewAgentSession": "Pokreni novu Kilo Agent sesiju", - "aiCodingSessions": "AI sesije kodiranja", - "startCodingTaskFromPhone": "Pokrenite zadatak kodiranja sa telefona ili nastavite sesiju sa vašeg CLI-ja.", - "tryIt": "Probaj", "newCodingTask": "Novi zadatak kodiranja", "explore": "Istraži", "seeAll": "Vidi sve", - "kiloAgents": "Kilo Agenti", "greetingMorning": "Dobro jutro", "greetingAfternoon": "Dobar dan", "greetingEvening": "Dobro veče" diff --git a/apps/mobile/src/i18n/locales/sv.json b/apps/mobile/src/i18n/locales/sv.json index 63c896378f..e029766bd5 100644 --- a/apps/mobile/src/i18n/locales/sv.json +++ b/apps/mobile/src/i18n/locales/sv.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Det gick inte att läsa in sessioner", "couldNotLoadActiveSessions": "Det gick inte att läsa in aktiva sessioner", "agentSessions": "Agentsessioner", - "showingSavedSessions": "Visar sparade sessioner — live-status kan vara inaktuell", "startNewAgentSession": "Starta en ny Kilo Agent-session", - "aiCodingSessions": "AI-kodningssessioner", - "startCodingTaskFromPhone": "Starta en kodningsuppgift från din telefon eller fortsätt en session från din CLI.", - "tryIt": "Prova", "newCodingTask": "Ny kodningsuppgift", "explore": "Utforska", "seeAll": "Visa alla", - "kiloAgents": "Kilo-agenter", "greetingMorning": "God morgon", "greetingAfternoon": "God eftermiddag", "greetingEvening": "God kväll" diff --git a/apps/mobile/src/i18n/locales/sw.json b/apps/mobile/src/i18n/locales/sw.json index 87da43efe4..0fbe633108 100644 --- a/apps/mobile/src/i18n/locales/sw.json +++ b/apps/mobile/src/i18n/locales/sw.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Haikuweza kupakia vikao", "couldNotLoadActiveSessions": "Haikuweza kupakia vikao vya sasa", "agentSessions": "Vikao vya wakala", - "showingSavedSessions": "Inaonyesha vikao vilivyohifadhiwa — hali ya moja kwa moja inaweza kuwa imepitwa na wakati", "startNewAgentSession": "Anza kikao kipya cha Kilo Agent", - "aiCodingSessions": "Vikao vya kuandika msimbo kwa AI", - "startCodingTaskFromPhone": "Anza kazi ya kuandika msimbo kutoka kwenye simu yako au endelea kikao kutoka kwenye CLI yako.", - "tryIt": "Jaribu", "newCodingTask": "Kazi mpya ya kuandika msimbo", "explore": "Chunguza", "seeAll": "Ona zote", - "kiloAgents": "Kilo Agents", "greetingMorning": "Habari za asubuhi", "greetingAfternoon": "Habari za mchana", "greetingEvening": "Habari za jioni" diff --git a/apps/mobile/src/i18n/locales/ta.json b/apps/mobile/src/i18n/locales/ta.json index d0f280e5e2..9f494ec025 100644 --- a/apps/mobile/src/i18n/locales/ta.json +++ b/apps/mobile/src/i18n/locales/ta.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "அமர்வுகளை ஏற்ற முடியவில்லை", "couldNotLoadActiveSessions": "செயலில் உள்ள அமர்வுகளை ஏற்ற முடியவில்லை", "agentSessions": "முகவர் அமர்வுகள்", - "showingSavedSessions": "சேமித்த அமர்வுகளைக் காட்டுகிறது — நேரடி நிலை காலாவதியானதாக இருக்கலாம்", "startNewAgentSession": "புதிய Kilo முகவர் அமர்வைத் தொடங்கு", - "aiCodingSessions": "AI குறியீட்டு அமர்வுகள்", - "startCodingTaskFromPhone": "உங்கள் தொலைபேசியிலிருந்து குறியீட்டு பணியைத் தொடங்கவும் அல்லது உங்கள் CLIயிலிருந்து ஒரு அமர்வைத் தொடரவும்.", - "tryIt": "முயற்சிக்கவும்", "newCodingTask": "புதிய குறியீட்டு பணி", "explore": "ஆராய்க", "seeAll": "அனைத்தையும் காண்க", - "kiloAgents": "Kilo முகவர்கள்", "greetingMorning": "காலை வணக்கம்", "greetingAfternoon": "மதிய வணக்கம்", "greetingEvening": "மாலை வணக்கம்" diff --git a/apps/mobile/src/i18n/locales/te.json b/apps/mobile/src/i18n/locales/te.json index 44e043aa9f..f5039377cd 100644 --- a/apps/mobile/src/i18n/locales/te.json +++ b/apps/mobile/src/i18n/locales/te.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "సెషన్లను లోడ్ చేయలేకపోయాము", "couldNotLoadActiveSessions": "యాక్టివ్ సెషన్లను లోడ్ చేయలేకపోయాము", "agentSessions": "ఏజెంట్ సెషన్లు", - "showingSavedSessions": "సేవ్ చేసిన సెషన్లను చూపిస్తోంది — లైవ్ స్థితి పాతది కావచ్చు", "startNewAgentSession": "కొత్త Kilo ఏజెంట్ సెషన్ను ప్రారంభించండి", - "aiCodingSessions": "AI కోడింగ్ సెషన్లు", - "startCodingTaskFromPhone": "మీ ఫోన్ నుండి కోడింగ్ పనిని ప్రారంభించండి లేదా మీ CLI నుండి సెషన్ను కొనసాగించండి.", - "tryIt": "ప్రయత్నించండి", "newCodingTask": "కొత్త కోడింగ్ పని", "explore": "అన్వేషించండి", "seeAll": "అన్నీ చూడండి", - "kiloAgents": "Kilo ఏజెంట్లు", "greetingMorning": "శుభోదయం", "greetingAfternoon": "శుభ మధ్యాహ్నం", "greetingEvening": "శుభ సాయంత్రం" diff --git a/apps/mobile/src/i18n/locales/th.json b/apps/mobile/src/i18n/locales/th.json index c37381ad83..8036d762a1 100644 --- a/apps/mobile/src/i18n/locales/th.json +++ b/apps/mobile/src/i18n/locales/th.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "โหลดเซสชันไม่สำเร็จ", "couldNotLoadActiveSessions": "โหลดเซสชันที่ใช้งานอยู่ไม่สำเร็จ", "agentSessions": "เซสชันเอเจนต์", - "showingSavedSessions": "กำลังแสดงเซสชันที่บันทึกไว้ — สถานะสดอาจไม่เป็นปัจจุบัน", "startNewAgentSession": "เริ่มเซสชัน Kilo Agent ใหม่", - "aiCodingSessions": "เซสชันการเขียนโค้ด AI", - "startCodingTaskFromPhone": "เริ่มงานการเขียนโค้ดจากโทรศัพท์ของคุณ หรือดำเนินการต่อจากเซสชันใน CLI ของคุณ", - "tryIt": "ลองเลย", "newCodingTask": "งานการเขียนโค้ดใหม่", "explore": "สำรวจ", "seeAll": "ดูทั้งหมด", - "kiloAgents": "Kilo Agents", "greetingMorning": "สวัสดีตอนเช้า", "greetingAfternoon": "สวัสดีตอนบ่าย", "greetingEvening": "สวัสดีตอนเย็น" diff --git a/apps/mobile/src/i18n/locales/tr.json b/apps/mobile/src/i18n/locales/tr.json index 4ca82cc3ae..d284f3b7e9 100644 --- a/apps/mobile/src/i18n/locales/tr.json +++ b/apps/mobile/src/i18n/locales/tr.json @@ -1914,15 +1914,10 @@ "couldNotLoadSessions": "Oturumlar yüklenemedi", "couldNotLoadActiveSessions": "Etkin oturumlar yüklenemedi", "agentSessions": "Ajan oturumları", - "showingSavedSessions": "Kayıtlı oturumlar gösteriliyor — canlı durum güncel olmayabilir", "startNewAgentSession": "Yeni bir Kilo Ajanı oturumu başlat", - "aiCodingSessions": "Yapay zeka kodlama oturumları", - "startCodingTaskFromPhone": "Telefonunuzdan bir kodlama görevi başlatın veya CLI'nizden bir oturuma devam edin.", - "tryIt": "Dene", "newCodingTask": "Yeni kodlama görevi", "explore": "Keşfet", "seeAll": "Tümünü gör", - "kiloAgents": "Kilo Ajanları", "greetingMorning": "Günaydın", "greetingAfternoon": "İyi günler", "greetingEvening": "İyi akşamlar" diff --git a/apps/mobile/src/i18n/locales/uk.json b/apps/mobile/src/i18n/locales/uk.json index 5e218d9321..be2766dee1 100644 --- a/apps/mobile/src/i18n/locales/uk.json +++ b/apps/mobile/src/i18n/locales/uk.json @@ -1914,15 +1914,10 @@ "couldNotLoadSessions": "Не вдалося завантажити сеанси", "couldNotLoadActiveSessions": "Не вдалося завантажити активні сеанси", "agentSessions": "Сеанси агента", - "showingSavedSessions": "Показано збережені сеанси — живий статус може бути застарілим", "startNewAgentSession": "Розпочати новий сеанс Kilo Agent", - "aiCodingSessions": "Сеанси кодування з ШІ", - "startCodingTaskFromPhone": "Розпочніть завдання кодування з телефона або продовжте сеанс зі свого CLI.", - "tryIt": "Спробувати", "newCodingTask": "Нове завдання кодування", "explore": "Дослідити", "seeAll": "Показати всі", - "kiloAgents": "Агенти Kilo", "greetingMorning": "Доброго ранку", "greetingAfternoon": "Доброго дня", "greetingEvening": "Доброго вечора" diff --git a/apps/mobile/src/i18n/locales/ur.json b/apps/mobile/src/i18n/locales/ur.json index 20e1869698..47c9ccaa0d 100644 --- a/apps/mobile/src/i18n/locales/ur.json +++ b/apps/mobile/src/i18n/locales/ur.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "سیشنز لوڈ نہیں ہو سکے", "couldNotLoadActiveSessions": "فعال سیشنز لوڈ نہیں ہو سکے", "agentSessions": "ایجنٹ سیشنز", - "showingSavedSessions": "محفوظ شدہ سیشن دکھا رہے ہیں — لائیو سٹیٹس پرانی ہو سکتی ہے", "startNewAgentSession": "نیا Kilo ایجنٹ سیشن شروع کریں", - "aiCodingSessions": "AI کوڈنگ سیشنز", - "startCodingTaskFromPhone": "اپنے فون سے کوڈنگ کا کام شروع کریں یا اپنے CLI سے سیشن جاری رکھیں۔", - "tryIt": "آزمائیں", "newCodingTask": "نیا کوڈنگ کام", "explore": "دریافت کریں", "seeAll": "سب دیکھیں", - "kiloAgents": "Kilo ایجنٹس", "greetingMorning": "صبح بخیر", "greetingAfternoon": "دوپہر بخیر", "greetingEvening": "شام بخیر" diff --git a/apps/mobile/src/i18n/locales/uz.json b/apps/mobile/src/i18n/locales/uz.json index db7fea5702..7c2f7fc1d1 100644 --- a/apps/mobile/src/i18n/locales/uz.json +++ b/apps/mobile/src/i18n/locales/uz.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Sessiyalarni yuklab bo'lmadi", "couldNotLoadActiveSessions": "Faol sessiyalarni yuklab bo'lmadi", "agentSessions": "Agent sessiyalari", - "showingSavedSessions": "Saqlangan sessiyalar ko'rsatilmoqda — jonli holat eskirgan bo'lishi mumkin", "startNewAgentSession": "Yangi Kilo Agent sessiyasini boshlash", - "aiCodingSessions": "AI kodlash sessiyalari", - "startCodingTaskFromPhone": "Telefoningizdan kodlash vazifasini boshlang yoki CLI'ingizdan sessiyani davom ettiring.", - "tryIt": "Sinab ko'ring", "newCodingTask": "Yangi kodlash vazifasi", "explore": "O'rganish", "seeAll": "Barchasini ko'rish", - "kiloAgents": "Kilo Agents", "greetingMorning": "Xayrli tong", "greetingAfternoon": "Xayrli kun", "greetingEvening": "Xayrli oqshom" diff --git a/apps/mobile/src/i18n/locales/vi.json b/apps/mobile/src/i18n/locales/vi.json index 6c95e1cc18..317760afa2 100644 --- a/apps/mobile/src/i18n/locales/vi.json +++ b/apps/mobile/src/i18n/locales/vi.json @@ -1914,15 +1914,10 @@ "couldNotLoadSessions": "Không thể tải các phiên", "couldNotLoadActiveSessions": "Không thể tải các phiên đang hoạt động", "agentSessions": "Phiên tác nhân", - "showingSavedSessions": "Đang hiển thị các phiên đã lưu — trạng thái trực tiếp có thể đã cũ", "startNewAgentSession": "Bắt đầu phiên Kilo Agent mới", - "aiCodingSessions": "Phiên lập trình AI", - "startCodingTaskFromPhone": "Bắt đầu tác vụ lập trình từ điện thoại hoặc tiếp tục phiên từ CLI của bạn.", - "tryIt": "Thử ngay", "newCodingTask": "Tác vụ lập trình mới", "explore": "Khám phá", "seeAll": "Xem tất cả", - "kiloAgents": "Tác nhân Kilo", "greetingMorning": "Chào buổi sáng", "greetingAfternoon": "Chào buổi chiều", "greetingEvening": "Chào buổi tối" diff --git a/apps/mobile/src/i18n/locales/yo.json b/apps/mobile/src/i18n/locales/yo.json index 0d024e36b3..6acc8be044 100644 --- a/apps/mobile/src/i18n/locales/yo.json +++ b/apps/mobile/src/i18n/locales/yo.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Ko le ṣagbewọ awọn igba-ijiroro", "couldNotLoadActiveSessions": "Ko le ṣagbewọ awọn igba-ijiroro ti n ṣiṣẹ", "agentSessions": "Awọn igba-ijiroro aṣoju", - "showingSavedSessions": "Nfi awọn igba-ijiroro ti o ti fi pamọ han — ipo laaye le ti atijo", "startNewAgentSession": "Bẹrẹ igba-ijiroro Kilo Agent tuntun", - "aiCodingSessions": "Awọn igba-ijiroro koodu AI", - "startCodingTaskFromPhone": "Bẹrẹ iṣẹ-ṣiṣe koodu lati foonu rẹ tabi tẹsiwaju igba-ijiroro lati CLI rẹ.", - "tryIt": "Gbiyanju", "newCodingTask": "Iṣẹ-ṣiṣe koodu tuntun", "explore": "Ṣàwárí", "seeAll": "Wo gbogbo", - "kiloAgents": "Kilo Agents", "greetingMorning": "Ẹ káàárọ̀", "greetingAfternoon": "Ẹ káàsán", "greetingEvening": "Ẹ káalẹ́" diff --git a/apps/mobile/src/i18n/locales/zh-Hans.json b/apps/mobile/src/i18n/locales/zh-Hans.json index 6872c7848b..9ba5097fd4 100644 --- a/apps/mobile/src/i18n/locales/zh-Hans.json +++ b/apps/mobile/src/i18n/locales/zh-Hans.json @@ -1914,15 +1914,10 @@ "couldNotLoadSessions": "无法加载会话", "couldNotLoadActiveSessions": "无法加载活动会话", "agentSessions": "智能体会话", - "showingSavedSessions": "显示已保存的会话 — 实时状态可能已过时", "startNewAgentSession": "开始新的 Kilo Agent 会话", - "aiCodingSessions": "AI 编程会话", - "startCodingTaskFromPhone": "从手机开始编程任务,或从 CLI 继续会话。", - "tryIt": "试一试", "newCodingTask": "新编程任务", "explore": "探索", "seeAll": "查看全部", - "kiloAgents": "Kilo 代理", "greetingMorning": "早上好", "greetingAfternoon": "下午好", "greetingEvening": "晚上好" diff --git a/apps/mobile/src/i18n/locales/zh-Hant.json b/apps/mobile/src/i18n/locales/zh-Hant.json index f01f151e3b..85f52a814f 100644 --- a/apps/mobile/src/i18n/locales/zh-Hant.json +++ b/apps/mobile/src/i18n/locales/zh-Hant.json @@ -1914,15 +1914,10 @@ "couldNotLoadSessions": "無法載入工作階段", "couldNotLoadActiveSessions": "無法載入使用中的工作階段", "agentSessions": "代理工作階段", - "showingSavedSessions": "顯示已儲存的工作階段 — 即時狀態可能已過時", "startNewAgentSession": "開始新的 Kilo Agent 工作階段", - "aiCodingSessions": "AI 程式設計工作階段", - "startCodingTaskFromPhone": "從手機開始程式設計任務,或從 CLI 繼續工作階段。", - "tryIt": "試試看", "newCodingTask": "新程式設計任務", "explore": "探索", "seeAll": "查看全部", - "kiloAgents": "Kilo Agents", "greetingMorning": "早上好", "greetingAfternoon": "下午好", "greetingEvening": "晚上好" diff --git a/apps/mobile/src/i18n/locales/zu.json b/apps/mobile/src/i18n/locales/zu.json index 474a7bfe91..866ff5ad68 100644 --- a/apps/mobile/src/i18n/locales/zu.json +++ b/apps/mobile/src/i18n/locales/zu.json @@ -2286,15 +2286,10 @@ "couldNotLoadSessions": "Asikwazanga ukulayisha amaseshini", "couldNotLoadActiveSessions": "Asikwazanga ukulayisha amaseshini asebenzayo", "agentSessions": "Amaseshini e-agent", - "showingSavedSessions": "Kuboniswa amaseshini agciniwe — isimo esibukhoma singase siphelelwe yisikhathi", "startNewAgentSession": "Qala iseshini entsha ye-Kilo Agent", - "aiCodingSessions": "Amaseshini okubhala ikhodi e-AI", - "startCodingTaskFromPhone": "Qala umsebenzi wokubhala ikhodi usuka kufoni yakho noma uqhubeke ngeseshini esuka ku-CLI yakho.", - "tryIt": "Zama", "newCodingTask": "Umsebenzi omusha wokubhala ikhodi", "explore": "Hlola", "seeAll": "Bona konke", - "kiloAgents": "Ama-Kilo Agents", "greetingMorning": "Sawubona ekuseni", "greetingAfternoon": "Sawubona ntambama", "greetingEvening": "Sawubona kusihlwa" From b37331a05660abd28bd46c95589826a878f27b22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Igor=20=C5=A0=C4=87eki=C4=87?= Date: Tue, 25 Aug 2026 04:48:26 +0200 Subject: [PATCH 03/13] fix(session-ingest): replace stale same-host remote sockets --- .../agents/use-remote-spawn-dispatch.test.ts | 212 +++++++++++++++--- .../agents/use-remote-spawn-dispatch.ts | 176 +++++++++------ .../src/lib/resolve-live-instance.test.ts | 45 ++++ apps/mobile/src/lib/resolve-live-instance.ts | 31 +++ .../src/dos/UserConnectionDO.test.ts | 69 ++++++ .../src/dos/UserConnectionDO.ts | 37 +++ 6 files changed, 475 insertions(+), 95 deletions(-) create mode 100644 apps/mobile/src/lib/resolve-live-instance.test.ts create mode 100644 apps/mobile/src/lib/resolve-live-instance.ts diff --git a/apps/mobile/src/components/agents/use-remote-spawn-dispatch.test.ts b/apps/mobile/src/components/agents/use-remote-spawn-dispatch.test.ts index f317f0d916..276aa4f14b 100644 --- a/apps/mobile/src/components/agents/use-remote-spawn-dispatch.test.ts +++ b/apps/mobile/src/components/agents/use-remote-spawn-dispatch.test.ts @@ -1,7 +1,7 @@ /* eslint-disable max-lines -- spawn-input, navigation, and admission suites share the hook harness. */ import * as React from 'react'; import { beforeEach, describe, expect, it, vi } from 'vitest'; -import { type ModelSelection } from '@kilocode/cloud-agent-sdk'; +import { type KiloSessionId, type ModelSelection } from '@kilocode/cloud-agent-sdk'; import { type InstancePickerInstance } from '@/lib/picker-bridge'; import { @@ -9,17 +9,21 @@ import { peekSharePayload, type SharePayload, } from '@/lib/share-payload'; -import { buildCreateRemoteSessionInput } from '@/lib/hooks/remote-instance-spawn-classifier'; +import { + buildCreateRemoteSessionInput, + type CreateSessionOutcome, +} from '@/lib/hooks/remote-instance-spawn-classifier'; import { REMOTE_SPAWN_FILES_NOT_SUPPORTED_TOAST } from '@/lib/remote-spawn-admission'; +import { remoteSpawnRetryableToast } from '@/lib/remote-submit-outcome'; import { useRemoteSpawnDispatch } from './use-remote-spawn-dispatch'; const spawnMock = vi.hoisted(() => - vi.fn(async () => { + vi.fn(async (): Promise => { await Promise.resolve(); return { status: 'ready' as const, - sessionID: 'ses_12345678901234567890123456', + sessionID: 'ses_12345678901234567890123456' as KiloSessionId, }; }) ); @@ -125,7 +129,11 @@ function runHook(args: { selection?: ModelSelection; getSubmitPayload?: () => SharePayload | null; onSpawnAdmitted?: () => void; + onSpawnFailed?: () => void; runOnInstance?: InstancePickerInstance | null; + setRunOnInstance?: (next: InstancePickerInstance | null) => void; + refetchInstances?: () => Promise<{ data: { instances: InstancePickerInstance[] } | undefined }>; + instanceList?: InstancePickerInstance[]; }) { const reactInternals = React as typeof React & ReactInternals; const hookState: unknown[] = []; @@ -170,30 +178,50 @@ function runHook(args: { }, }; - const previousDispatcher = - reactInternals.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE.H; - hookIndex = 0; - refIndex = 0; - reactInternals.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE.H = dispatcher; - try { - const mountDispatch = useRemoteSpawnDispatch; - return mountDispatch({ - organizationId: args.organizationId, - mode: args.mode, - selection: args.selection, - runOnInstance: args.runOnInstance === undefined ? INSTANCE : args.runOnInstance, - // eslint-disable-next-line no-empty-function -- no-op setter for harness - setRunOnInstance: (_next: InstancePickerInstance | null) => {}, - // eslint-disable-next-line promise-function-async, prefer-await-to-then -- tension between lint rules - refetchInstances: () => Promise.resolve({ data: { instances: [INSTANCE] } }), - instanceList: [INSTANCE], - getSubmitPayload: args.getSubmitPayload, - onSpawnAdmitted: args.onSpawnAdmitted, - }); - } finally { - reactInternals.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE.H = - previousDispatcher; - } + // `runOnInstance` is parent state in the real route: `setRunOnInstance` + // re-renders the hook with the new value so the `runOnInstanceRef` effect + // sees it. Mirror that here; otherwise the async tail's remap would leave + // the ref on the stale press-time id and the reset guard (which reads the + // ref) could never be exercised by a remap test. + let currentRunOnInstance: InstancePickerInstance | null = + args.runOnInstance === undefined ? INSTANCE : args.runOnInstance; + + const render = () => { + hookIndex = 0; + refIndex = 0; + const previousDispatcher = + reactInternals.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE.H; + reactInternals.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE.H = dispatcher; + try { + const mountDispatch = useRemoteSpawnDispatch; + return mountDispatch({ + organizationId: args.organizationId, + mode: args.mode, + selection: args.selection, + runOnInstance: currentRunOnInstance, + setRunOnInstance: next => { + args.setRunOnInstance?.(next); + if (next !== currentRunOnInstance) { + currentRunOnInstance = next; + render(); + } + }, + refetchInstances: + args.refetchInstances ?? + // eslint-disable-next-line promise-function-async, prefer-await-to-then -- tension between lint rules + (() => Promise.resolve({ data: { instances: [INSTANCE] } })), + instanceList: args.instanceList ?? [INSTANCE], + getSubmitPayload: args.getSubmitPayload, + onSpawnAdmitted: args.onSpawnAdmitted, + onSpawnFailed: args.onSpawnFailed, + }); + } finally { + reactInternals.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE.H = + previousDispatcher; + } + }; + + return render(); } describe('useRemoteSpawnDispatch spawn input chain', () => { @@ -428,3 +456,131 @@ describe('useRemoteSpawnDispatch spawn input chain', () => { expect(spawnMock).not.toHaveBeenCalled(); }); }); + +describe('useRemoteSpawnDispatch live-instance remap', () => { + const LIVE_INSTANCE: InstancePickerInstance = { + connectionId: 'conn-live', + name: 'laptop', + projectName: 'kilo', + }; + + beforeEach(() => { + spawnMock.mockClear(); + useRemoteInstanceSpawnMock.mockClear(); + routerReplace.mockClear(); + toastErrorMock.mockClear(); + __resetSharePayloadStoreForTests(); + }); + + it('spawns with the same connectionId when the refetched list still has it', async () => { + const { onStart } = runHook({ + organizationId: 'org-xyz', + // eslint-disable-next-line promise-function-async, prefer-await-to-then -- tension between lint rules + refetchInstances: () => Promise.resolve({ data: { instances: [INSTANCE] } }), + }); + + expect(await captureSpawnCall(onStart)).toEqual([ + 'conn-abc', + { orgId: 'org-xyz' }, + { operationKey: expect.any(String) }, + ]); + }); + + it('remaps to the live connectionId when the id changed but name + project match', async () => { + const setRunOnInstanceMock = vi.fn(); + const { onStart } = runHook({ + organizationId: 'org-xyz', + setRunOnInstance: next => { + setRunOnInstanceMock(next); + }, + // eslint-disable-next-line promise-function-async, prefer-await-to-then -- tension between lint rules + refetchInstances: () => Promise.resolve({ data: { instances: [LIVE_INSTANCE] } }), + }); + + expect(await captureSpawnCall(onStart)).toEqual([ + 'conn-live', + { orgId: 'org-xyz' }, + { operationKey: expect.any(String) }, + ]); + expect(setRunOnInstanceMock).toHaveBeenCalledWith(LIVE_INSTANCE); + }); + + it('falls back to the last-known instanceList when the refetch throws', async () => { + const { onStart } = runHook({ + organizationId: 'org-xyz', + // eslint-disable-next-line promise-function-async, prefer-await-to-then -- tension between lint rules + refetchInstances: () => Promise.reject(new Error('network down')), + instanceList: [INSTANCE], + }); + + expect(await captureSpawnCall(onStart)).toEqual([ + 'conn-abc', + { orgId: 'org-xyz' }, + { operationKey: expect.any(String) }, + ]); + }); + + it('keeps the live selection when a remap is followed by a failing post-spawn refetch', async () => { + const setRunOnInstanceMock = vi.fn(); + // First (pre-spawn) refetch resolves the live row so the id remaps; the + // second (post-spawn) refetch fails. + const refetchInstancesMock = vi + .fn() + .mockResolvedValueOnce({ data: { instances: [LIVE_INSTANCE] } }) + .mockRejectedValueOnce(new Error('network down')); + spawnMock.mockResolvedValueOnce({ + status: 'retryable', + reason: 'transport failure', + cause: new Error('socket gone'), + }); + + const { onStart } = runHook({ + organizationId: 'org-xyz', + setRunOnInstance: next => { + setRunOnInstanceMock(next); + }, + refetchInstances: refetchInstancesMock, + instanceList: [INSTANCE], + }); + + onStart(); + await vi.waitFor(() => { + expect(refetchInstancesMock).toHaveBeenCalledTimes(2); + }); + // Flush the rejected-refetch continuation (outcome classification and the + // reset guard) before asserting the selection did not move to null. + await new Promise(resolve => { + setTimeout(resolve, 0); + }); + + // The remap applied the live row... + expect(setRunOnInstanceMock).toHaveBeenCalledWith(LIVE_INSTANCE); + // ...and the failing refetch must not reset the selection to Cloud Agent. + expect(setRunOnInstanceMock).toHaveBeenCalledTimes(1); + expect(setRunOnInstanceMock).not.toHaveBeenCalledWith(null); + }); + + it('toasts the retryable copy and calls onSpawnFailed when no live instance resolves', async () => { + const onSpawnFailedMock = vi.fn(); + const setRunOnInstanceMock = vi.fn(); + const { onStart } = runHook({ + organizationId: 'org-xyz', + setRunOnInstance: next => { + setRunOnInstanceMock(next); + }, + // eslint-disable-next-line promise-function-async, prefer-await-to-then -- tension between lint rules + refetchInstances: () => Promise.resolve({ data: { instances: [] } }), + onSpawnFailed: () => { + onSpawnFailedMock(); + }, + }); + + onStart(); + await vi.waitFor(() => { + expect(onSpawnFailedMock).toHaveBeenCalledTimes(1); + }); + expect(toastErrorMock).toHaveBeenCalledWith(remoteSpawnRetryableToast()); + expect(spawnMock).not.toHaveBeenCalled(); + expect(setRunOnInstanceMock).not.toHaveBeenCalled(); + }); +}); diff --git a/apps/mobile/src/components/agents/use-remote-spawn-dispatch.ts b/apps/mobile/src/components/agents/use-remote-spawn-dispatch.ts index 904c4b9b72..75b4359d27 100644 --- a/apps/mobile/src/components/agents/use-remote-spawn-dispatch.ts +++ b/apps/mobile/src/components/agents/use-remote-spawn-dispatch.ts @@ -14,6 +14,7 @@ import { useRemoteInstanceSpawn, } from '@/lib/hooks/use-remote-instance-spawn'; import { useHoistedOperationKey } from '@/lib/operation-key'; +import { resolveLiveInstance } from '@/lib/resolve-live-instance'; import { remoteSpawnNonRetryableToast, remoteSpawnRetryableToast, @@ -158,6 +159,10 @@ export function useRemoteSpawnDispatch({ ) => Promise; } = useRemoteInstanceSpawn(organizationId ?? null); const [showInstanceDisconnectedNote, setShowInstanceDisconnectedNote] = useState(false); + // `true` while `onStart`'s async head refetches the instance list and + // resolves the live instance (a rebooted host's new connectionId). Surfaced + // so the route keeps the Start button disabled during that window. + const [isResolvingInstance, setIsResolvingInstance] = useState(false); // P1-A-08b: one `operationKey` per spawn intent, so a retryable failure keeps // the key and the relay dedupes the retry. const { getKey, rotateKey } = useHoistedOperationKey(); @@ -193,7 +198,6 @@ export function useRemoteSpawnDispatch({ if (runOnInstance === null) { return; } - const selectedConnectionId = runOnInstance.connectionId; const fields = spawnFieldsRef.current; // Press-time snapshot. Read once, here, before any await. const submitPayload = getSubmitPayloadRef.current?.() ?? null; @@ -214,76 +218,114 @@ export function useRemoteSpawnDispatch({ selection: fields.selection, organizationId: fields.organizationId, }); - const operationKey = getKey( - JSON.stringify({ - connectionId: selectedConnectionId, - mode: fields.mode, - selection: fields.selection, - organizationId: fields.organizationId, - }) - ); void (async () => { - const outcome = await remoteSpawn.spawn(selectedConnectionId, createInput, { operationKey }); - if (outcome.status === 'ready') { - // The spawn settled; the next submit is a fresh intent. - rotateKey(); - const spawnedPath = getSpawnedAgentSessionPath(outcome.sessionID, organizationId); - if (submitPayload === null) { - router.replace(spawnedPath); + setIsResolvingInstance(true); + try { + // Refetch the live instance list so a rebooted host's new + // connectionId replaces the stale selection before spawn. + let freshList = instanceList; + try { + const result = await refetchInstances(); + freshList = result.data?.instances ?? instanceList; + } catch { + // Refetch failed; continue with the last-known list. + } + const live = resolveLiveInstance(runOnInstance, freshList); + if (live === null) { + // No live row matches the selection (neither the connectionId nor + // the name + projectName pair). Surface the retryable copy and let + // the next Start tap re-resolve against a refreshed list. + toast.error(remoteSpawnRetryableToast()); + onSpawnFailedRef.current?.(); return; } - const shareId = putSharePayload(submitPayload); - router.replace( - appendShareParams(spawnedPath as string, shareId, { - autoSend: true, + const selectedConnectionId = live.connectionId; + // A rebooted host advertises the same name + projectName on a new + // connectionId. Remap the selection to the live row so the spawn and + // a later refetch agree. The unchanged-id case keeps the same id and + // the same hoisted operation key. + if (live.connectionId !== runOnInstance.connectionId) { + setRunOnInstance(live); + } + const operationKey = getKey( + JSON.stringify({ + connectionId: selectedConnectionId, mode: fields.mode, - }) as Href + selection: fields.selection, + organizationId: fields.organizationId, + }) ); - return; - } - // Not ready: the spawn settled without navigating. Re-arm the caller's - // abandon guard so a later back/swipe still confirms. - onSpawnFailedRef.current?.(); - if (outcome.status === 'nonRetryable') { - // A typed non-retryable rejection ends the intent. - rotateKey(); - toast.error(remoteSpawnNonRetryableToast()); - return; - } - // outcome.status === 'retryable': refetch the instance list and - // re-evaluate whether the previously-selected instance is still - // present. - toast.error(remoteSpawnRetryableToast()); - let refetchedInstances: InstancePickerInstance[] = instanceList; - try { - const result = await refetchInstances(); - refetchedInstances = result.data?.instances ?? instanceList; - } catch { - // Refetch failed; fall through with the last-known list. The - // mapping helper treats an empty list as "disconnected", which - // is the right conservative default for a network blip. - } - const action = resolveRemoteSubmitOutcome({ - outcome, - refetchedInstances, - selectedConnectionId, - }); - if (action.kind !== 'retryable') { - // Defensive: outcome.status === 'retryable' must produce a - // retryable action. If this ever changes we'll want to know. - return; - } - // kilocode_change - only apply the reset if the selection this - // dispatch was FOR is still the CURRENT one (read from the ref, not - // the closure-captured `runOnInstance` — see the ref's comment - // above). Without this check, a stale tail's reset could clobber a - // newer, unrelated selection the user already made. - if ( - action.shouldResetSelectionToCloudAgent && - runOnInstanceRef.current?.connectionId === selectedConnectionId - ) { - setRunOnInstance(null); - setShowInstanceDisconnectedNote(action.showInstanceDisconnectedNote); + const outcome = await remoteSpawn.spawn(selectedConnectionId, createInput, { + operationKey, + }); + if (outcome.status === 'ready') { + // The spawn settled; the next submit is a fresh intent. + rotateKey(); + const spawnedPath = getSpawnedAgentSessionPath(outcome.sessionID, organizationId); + if (submitPayload === null) { + router.replace(spawnedPath); + return; + } + const shareId = putSharePayload(submitPayload); + router.replace( + appendShareParams(spawnedPath as string, shareId, { + autoSend: true, + mode: fields.mode, + }) as Href + ); + return; + } + // Not ready: the spawn settled without navigating. Re-arm the caller's + // abandon guard so a later back/swipe still confirms. + onSpawnFailedRef.current?.(); + if (outcome.status === 'nonRetryable') { + // A typed non-retryable rejection ends the intent. + rotateKey(); + toast.error(remoteSpawnNonRetryableToast()); + return; + } + // outcome.status === 'retryable': refetch the instance list and + // re-evaluate whether the previously-selected instance is still + // present. + toast.error(remoteSpawnRetryableToast()); + // Seed from the fresh pre-spawn list, not the press-time + // `instanceList`: if the spawn remapped the selection to a live + // connectionId above, the press-time list still holds the stale id. A + // post-spawn refetch throw would then make the live id look missing + // and reset the selection to Cloud Agent even though the host is live. + let refetchedInstances: InstancePickerInstance[] = freshList; + try { + const result = await refetchInstances(); + refetchedInstances = result.data?.instances ?? freshList; + } catch { + // Refetch failed; fall through with the fresh pre-spawn list. The + // mapping helper treats an empty list as "disconnected", which + // is the right conservative default for a network blip. + } + const action = resolveRemoteSubmitOutcome({ + outcome, + refetchedInstances, + selectedConnectionId, + }); + if (action.kind !== 'retryable') { + // Defensive: outcome.status === 'retryable' must produce a + // retryable action. If this ever changes we'll want to know. + return; + } + // kilocode_change - only apply the reset if the selection this + // dispatch was FOR is still the CURRENT one (read from the ref, not + // the closure-captured `runOnInstance` — see the ref's comment + // above). Without this check, a stale tail's reset could clobber a + // newer, unrelated selection the user already made. + if ( + action.shouldResetSelectionToCloudAgent && + runOnInstanceRef.current?.connectionId === selectedConnectionId + ) { + setRunOnInstance(null); + setShowInstanceDisconnectedNote(action.showInstanceDisconnectedNote); + } + } finally { + setIsResolvingInstance(false); } })(); }, [ @@ -309,7 +351,7 @@ export function useRemoteSpawnDispatch({ ); return { - isSpawningRemote: remoteSpawn.status.status === 'inFlight', + isSpawningRemote: remoteSpawn.status.status === 'inFlight' || isResolvingInstance, showInstanceDisconnectedNote, onStart, onChangeRunOnInstance, diff --git a/apps/mobile/src/lib/resolve-live-instance.test.ts b/apps/mobile/src/lib/resolve-live-instance.test.ts new file mode 100644 index 0000000000..0f00165318 --- /dev/null +++ b/apps/mobile/src/lib/resolve-live-instance.test.ts @@ -0,0 +1,45 @@ +import { describe, expect, it } from 'vitest'; + +import { type InstancePickerInstance } from '@/lib/picker-bridge'; + +import { resolveLiveInstance } from './resolve-live-instance'; + +const SELECTED: InstancePickerInstance = { + connectionId: 'conn-stale', + name: 'host-a', + projectName: 'proj', +}; + +describe('resolveLiveInstance', () => { + it('returns the instance with the same connectionId', () => { + const live: InstancePickerInstance = { + connectionId: 'conn-stale', + name: 'host-a', + projectName: 'proj', + version: '1.2.3', + }; + + expect(resolveLiveInstance(SELECTED, [live])).toBe(live); + }); + + it('returns the instance with the same name and projectName when the id differs', () => { + const live: InstancePickerInstance = { + connectionId: 'conn-live', + name: 'host-a', + projectName: 'proj', + }; + + expect(resolveLiveInstance(SELECTED, [live])).toBe(live); + }); + + it('returns null when no instance matches the id or the name/project pair', () => { + const unrelated: InstancePickerInstance = { + connectionId: 'conn-other', + name: 'host-b', + projectName: 'other', + }; + + expect(resolveLiveInstance(SELECTED, [unrelated])).toBeNull(); + expect(resolveLiveInstance(SELECTED, [])).toBeNull(); + }); +}); diff --git a/apps/mobile/src/lib/resolve-live-instance.ts b/apps/mobile/src/lib/resolve-live-instance.ts new file mode 100644 index 0000000000..37ae5705d0 --- /dev/null +++ b/apps/mobile/src/lib/resolve-live-instance.ts @@ -0,0 +1,31 @@ +import { type InstancePickerInstance } from '@/lib/picker-bridge'; + +/** + * Resolve the live instance row for a press-time selection against a freshly + * refetched instance list. + * + * A host reboot reconnects its CLI with the same instance `name` and + * `projectName` but a new `connectionId`. The selector keeps the old + * `connectionId`; the refetched list carries the live one. This helper maps + * the selection onto the live row: + * + * - identical `connectionId` -> the live row for that id + * - same `name`+`projectName` -> the live row (connectionId remapped) + * - otherwise -> null (the host has fully disconnected) + */ +export function resolveLiveInstance( + selected: InstancePickerInstance, + instances: InstancePickerInstance[] +): InstancePickerInstance | null { + const sameConnectionId = instances.find( + instance => instance.connectionId === selected.connectionId + ); + if (sameConnectionId) { + return sameConnectionId; + } + + const sameHost = instances.find( + instance => instance.name === selected.name && instance.projectName === selected.projectName + ); + return sameHost ?? null; +} diff --git a/services/session-ingest/src/dos/UserConnectionDO.test.ts b/services/session-ingest/src/dos/UserConnectionDO.test.ts index eeb0571fd0..9672f1e68d 100644 --- a/services/session-ingest/src/dos/UserConnectionDO.test.ts +++ b/services/session-ingest/src/dos/UserConnectionDO.test.ts @@ -4117,6 +4117,75 @@ describe('UserConnectionDO', () => { }); }); + // ------------------------------------------------------------------------- + // Same-host reconnect: a rebooted host advertises the same instance name and + // projectName on a fresh connectionId. The stale socket must be closed so + // `getConnectedInstances` lists the host exactly once. + // ------------------------------------------------------------------------- + + describe('same-host replace', () => { + it('closes the stale socket when a second connectionId heartbeats the same instance identity', async () => { + const { doInstance, mockCtx } = setup(); + const first = addCliSocket(mockCtx, 'conn-1'); + const second = addCliSocket(mockCtx, 'conn-2'); + + sendHeartbeat(doInstance, first, [], { + instance: { name: 'host-a', projectName: 'proj' }, + }); + sendHeartbeat(doInstance, second, [], { + instance: { name: 'host-a', projectName: 'proj' }, + }); + + expect(first.close).toHaveBeenCalledWith(1000, 'replaced by same-host reconnect'); + expect(second.close).not.toHaveBeenCalled(); + + // The mock close does not drop the socket; remove it to mirror the + // runtime close before asserting the live-instance scan. + mockCtx.removeSocket(first); + + const { instances } = doInstance.getConnectedInstances(); + expect(instances).toHaveLength(1); + expect(instances[0].connectionId).toBe('conn-2'); + expect(instances[0]).toEqual({ + connectionId: 'conn-2', + name: 'host-a', + projectName: 'proj', + }); + }); + + it('keeps both sockets open when the projectName differs', async () => { + const { doInstance, mockCtx } = setup(); + const first = addCliSocket(mockCtx, 'conn-1'); + const second = addCliSocket(mockCtx, 'conn-2'); + + sendHeartbeat(doInstance, first, [], { + instance: { name: 'host-a', projectName: 'proj-1' }, + }); + sendHeartbeat(doInstance, second, [], { + instance: { name: 'host-a', projectName: 'proj-2' }, + }); + + expect(first.close).not.toHaveBeenCalled(); + expect(second.close).not.toHaveBeenCalled(); + }); + + it('keeps both sockets open when the name differs', async () => { + const { doInstance, mockCtx } = setup(); + const first = addCliSocket(mockCtx, 'conn-1'); + const second = addCliSocket(mockCtx, 'conn-2'); + + sendHeartbeat(doInstance, first, [], { + instance: { name: 'host-a', projectName: 'proj' }, + }); + sendHeartbeat(doInstance, second, [], { + instance: { name: 'host-b', projectName: 'proj' }, + }); + + expect(first.close).not.toHaveBeenCalled(); + expect(second.close).not.toHaveBeenCalled(); + }); + }); + // ------------------------------------------------------------------------- // WS attachment size guardrail (W3) // ------------------------------------------------------------------------- diff --git a/services/session-ingest/src/dos/UserConnectionDO.ts b/services/session-ingest/src/dos/UserConnectionDO.ts index 0f090233a6..04bb739695 100644 --- a/services/session-ingest/src/dos/UserConnectionDO.ts +++ b/services/session-ingest/src/dos/UserConnectionDO.ts @@ -575,6 +575,11 @@ export class UserConnectionDO extends DurableObject { instance: Instance | undefined ): void { const { connectionId } = attachment; + // Legacy CLIs omit `instance` entirely; only close a stale same-host + // socket when the heartbeat actually carries an instance identity. + if (instance) { + this.closeStaleSocketsForInstance(instance.name, instance.projectName, connectionId); + } const now = Date.now(); this.lastHeartbeatAt.set(connectionId, now); this.connectionProtocolVersion.set(connectionId, protocolVersion); @@ -2025,6 +2030,38 @@ export class UserConnectionDO extends DurableObject { return false; } + // Old form: one live CLI socket per connectionId, including a rebooted host's stale socket. Remove when every CLI advertises a stable host id. + private closeStaleSocketsForInstance( + name: string, + projectName: string, + keepConnectionId: string + ): void { + if (!name || !projectName) return; + + for (const ws of this.ctx.getWebSockets('cli')) { + const att = ws.deserializeAttachment() as WSAttachment | null; + if (att?.role !== 'cli' || att.connectionId === keepConnectionId) continue; + if (att.instance?.name !== name || att.instance?.projectName !== projectName) continue; + + console.log('Closing stale CLI socket for same-host reconnect', { + connectionId: att.connectionId, + name, + projectName, + }); + this.ctx.waitUntil( + this.failPendingCommandsForSocket(ws, false).catch((error: unknown) => { + console.error('Failed to persist terminal commands for stale socket', { + connectionId: att.connectionId, + error: error instanceof Error ? error.message : String(error), + }); + }) + ); + // Preserve session ownership — the rebooting host's replacement socket + // re-claims the same sessions in its first heartbeat. + ws.close(1000, 'replaced by same-host reconnect'); + } + } + private replaceWebSocket(connectionId: string): void { for (const ws of this.ctx.getWebSockets('web')) { const attachment = ws.deserializeAttachment() as WSAttachment | null; From 6c53f2b1144b85a46ef86b8cf027de1f2fb3fe8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Igor=20=C5=A0=C4=87eki=C4=87?= Date: Tue, 25 Aug 2026 05:13:13 +0200 Subject: [PATCH 04/13] fix(mobile): align summary skeleton height and preference title voice --- apps/mobile/src/components/pr-review/pr-review-submit.tsx | 2 +- apps/mobile/src/i18n/locales/af.json | 2 +- apps/mobile/src/i18n/locales/am.json | 2 +- apps/mobile/src/i18n/locales/ar.json | 2 +- apps/mobile/src/i18n/locales/az.json | 2 +- apps/mobile/src/i18n/locales/be.json | 2 +- apps/mobile/src/i18n/locales/bg.json | 2 +- apps/mobile/src/i18n/locales/bn.json | 2 +- apps/mobile/src/i18n/locales/bs.json | 2 +- apps/mobile/src/i18n/locales/ca.json | 2 +- apps/mobile/src/i18n/locales/ckb.json | 2 +- apps/mobile/src/i18n/locales/cs.json | 2 +- apps/mobile/src/i18n/locales/cy.json | 2 +- apps/mobile/src/i18n/locales/da.json | 2 +- apps/mobile/src/i18n/locales/de.json | 2 +- apps/mobile/src/i18n/locales/el.json | 2 +- apps/mobile/src/i18n/locales/en.json | 2 +- apps/mobile/src/i18n/locales/es.json | 2 +- apps/mobile/src/i18n/locales/et.json | 2 +- apps/mobile/src/i18n/locales/eu.json | 2 +- apps/mobile/src/i18n/locales/fa.json | 2 +- apps/mobile/src/i18n/locales/fi.json | 2 +- apps/mobile/src/i18n/locales/fil.json | 2 +- apps/mobile/src/i18n/locales/fr.json | 2 +- apps/mobile/src/i18n/locales/ga.json | 2 +- apps/mobile/src/i18n/locales/gl.json | 2 +- apps/mobile/src/i18n/locales/gu.json | 2 +- apps/mobile/src/i18n/locales/ha.json | 2 +- apps/mobile/src/i18n/locales/he.json | 2 +- apps/mobile/src/i18n/locales/hi.json | 2 +- apps/mobile/src/i18n/locales/hr.json | 2 +- apps/mobile/src/i18n/locales/ht.json | 2 +- apps/mobile/src/i18n/locales/hu.json | 2 +- apps/mobile/src/i18n/locales/hy.json | 2 +- apps/mobile/src/i18n/locales/id.json | 2 +- apps/mobile/src/i18n/locales/ig.json | 2 +- apps/mobile/src/i18n/locales/is.json | 2 +- apps/mobile/src/i18n/locales/it.json | 2 +- apps/mobile/src/i18n/locales/ja.json | 2 +- apps/mobile/src/i18n/locales/ka.json | 2 +- apps/mobile/src/i18n/locales/kk.json | 2 +- apps/mobile/src/i18n/locales/km.json | 2 +- apps/mobile/src/i18n/locales/kn.json | 2 +- apps/mobile/src/i18n/locales/ko.json | 2 +- apps/mobile/src/i18n/locales/lo.json | 2 +- apps/mobile/src/i18n/locales/lt.json | 2 +- apps/mobile/src/i18n/locales/lv.json | 2 +- apps/mobile/src/i18n/locales/mg.json | 2 +- apps/mobile/src/i18n/locales/mi.json | 2 +- apps/mobile/src/i18n/locales/mk.json | 2 +- apps/mobile/src/i18n/locales/ml.json | 2 +- apps/mobile/src/i18n/locales/mn.json | 2 +- apps/mobile/src/i18n/locales/mr.json | 2 +- apps/mobile/src/i18n/locales/ms.json | 2 +- apps/mobile/src/i18n/locales/mt.json | 2 +- apps/mobile/src/i18n/locales/my.json | 2 +- apps/mobile/src/i18n/locales/nb.json | 2 +- apps/mobile/src/i18n/locales/ne.json | 2 +- apps/mobile/src/i18n/locales/nl.json | 2 +- apps/mobile/src/i18n/locales/om.json | 2 +- apps/mobile/src/i18n/locales/or.json | 2 +- apps/mobile/src/i18n/locales/pa.json | 2 +- apps/mobile/src/i18n/locales/pl.json | 2 +- apps/mobile/src/i18n/locales/ps.json | 2 +- apps/mobile/src/i18n/locales/pt-BR.json | 2 +- apps/mobile/src/i18n/locales/pt.json | 2 +- apps/mobile/src/i18n/locales/ro.json | 2 +- apps/mobile/src/i18n/locales/ru.json | 2 +- apps/mobile/src/i18n/locales/si.json | 2 +- apps/mobile/src/i18n/locales/sk.json | 2 +- apps/mobile/src/i18n/locales/sl.json | 2 +- apps/mobile/src/i18n/locales/so.json | 2 +- apps/mobile/src/i18n/locales/sq.json | 2 +- apps/mobile/src/i18n/locales/sr.json | 2 +- apps/mobile/src/i18n/locales/sv.json | 2 +- apps/mobile/src/i18n/locales/sw.json | 2 +- apps/mobile/src/i18n/locales/ta.json | 2 +- apps/mobile/src/i18n/locales/te.json | 2 +- apps/mobile/src/i18n/locales/th.json | 2 +- apps/mobile/src/i18n/locales/tr.json | 2 +- apps/mobile/src/i18n/locales/uk.json | 2 +- apps/mobile/src/i18n/locales/ur.json | 2 +- apps/mobile/src/i18n/locales/uz.json | 2 +- apps/mobile/src/i18n/locales/vi.json | 2 +- apps/mobile/src/i18n/locales/yo.json | 2 +- apps/mobile/src/i18n/locales/zh-Hans.json | 2 +- apps/mobile/src/i18n/locales/zh-Hant.json | 2 +- apps/mobile/src/i18n/locales/zu.json | 2 +- 88 files changed, 88 insertions(+), 88 deletions(-) diff --git a/apps/mobile/src/components/pr-review/pr-review-submit.tsx b/apps/mobile/src/components/pr-review/pr-review-submit.tsx index 6164561fb8..845ffc687b 100644 --- a/apps/mobile/src/components/pr-review/pr-review-submit.tsx +++ b/apps/mobile/src/components/pr-review/pr-review-submit.tsx @@ -294,7 +294,7 @@ export function PrReviewSubmit(props: PrReviewSubmitProps) { }} /> ) : ( - + )} diff --git a/apps/mobile/src/i18n/locales/af.json b/apps/mobile/src/i18n/locales/af.json index 50d4318626..782974fa33 100644 --- a/apps/mobile/src/i18n/locales/af.json +++ b/apps/mobile/src/i18n/locales/af.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Wys die agent se denke uitgevou wanneer dit klaarmaak.", "keepScreenOn": "Hou skerm aan op sessiebladsy", "keepScreenOnSubtitle": "Hou die skerm wakker terwyl die sessie werk.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Voorkoms", "notifications": "Kennisgewings", diff --git a/apps/mobile/src/i18n/locales/am.json b/apps/mobile/src/i18n/locales/am.json index 688a1a0780..80687b31dd 100644 --- a/apps/mobile/src/i18n/locales/am.json +++ b/apps/mobile/src/i18n/locales/am.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "ወኪሉ ሲጨርስ የወኪሉን አስተሳሰብ በሰፊው አሳይ።", "keepScreenOn": "በክፍለ ጊዜ ገጽ ላይ ሲሆኑ ስክሪኑን አብራ", "keepScreenOnSubtitle": "ክፍለ ጊዜው በሚሰራበት ጊዜ ስክሪኑን ነቅቶ ያዝ።", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "መልክ", "notifications": "ማሳወቂያዎች", diff --git a/apps/mobile/src/i18n/locales/ar.json b/apps/mobile/src/i18n/locales/ar.json index 21bc762232..7086a0ffbb 100644 --- a/apps/mobile/src/i18n/locales/ar.json +++ b/apps/mobile/src/i18n/locales/ar.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "إظهار تفكير الوكيل موسّعًا عند انتهائه.", "keepScreenOn": "إبقاء الشاشة مضاءة أثناء صفحة الجلسة", "keepScreenOnSubtitle": "إبقاء الشاشة مستيقظة أثناء عمل الجلسة.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "المظهر", "notifications": "الإشعارات", diff --git a/apps/mobile/src/i18n/locales/az.json b/apps/mobile/src/i18n/locales/az.json index dc7e689919..5e79526241 100644 --- a/apps/mobile/src/i18n/locales/az.json +++ b/apps/mobile/src/i18n/locales/az.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Bitəndə agentin düşüncəsini genişləndirilmiş göstər.", "keepScreenOn": "Sessiya səhifəsində ikən ekranı açıq saxla", "keepScreenOnSubtitle": "Sessiya işləyərkən ekranı oyaq saxla.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Görünüş", "notifications": "Bildirişlər", diff --git a/apps/mobile/src/i18n/locales/be.json b/apps/mobile/src/i18n/locales/be.json index 1285ac9746..86b5b93f53 100644 --- a/apps/mobile/src/i18n/locales/be.json +++ b/apps/mobile/src/i18n/locales/be.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Паказваць развагі агента разгорнутымі, калі ён скончыць.", "keepScreenOn": "Трымаць экран уключаным на старонцы сесіі", "keepScreenOnSubtitle": "Трымаць экран уключаным, пакуль сесія працуе.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Знешні выгляд", "notifications": "Апавяшчэнні", diff --git a/apps/mobile/src/i18n/locales/bg.json b/apps/mobile/src/i18n/locales/bg.json index 720f8c3435..7c8a9953f0 100644 --- a/apps/mobile/src/i18n/locales/bg.json +++ b/apps/mobile/src/i18n/locales/bg.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Показвай мисленето на агента разгънато, когато приключи.", "keepScreenOn": "Дръж екрана включен на страницата на сесията", "keepScreenOnSubtitle": "Дръж екрана буден, докато сесията работи.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Изглед", "notifications": "Известия", diff --git a/apps/mobile/src/i18n/locales/bn.json b/apps/mobile/src/i18n/locales/bn.json index b4e7396e11..70aa17afe9 100644 --- a/apps/mobile/src/i18n/locales/bn.json +++ b/apps/mobile/src/i18n/locales/bn.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "শেষ হলে এজেন্টের চিন্তাভাবনা প্রসারিত দেখান।", "keepScreenOn": "সেশন পেজে থাকাকালীন স্ক্রিন চালু রাখুন", "keepScreenOnSubtitle": "সেশন কাজ করার সময় স্ক্রিন জাগ্রত রাখুন।", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "চেহারা", "notifications": "বিজ্ঞপ্তি", diff --git a/apps/mobile/src/i18n/locales/bs.json b/apps/mobile/src/i18n/locales/bs.json index eb306b6827..0826231c90 100644 --- a/apps/mobile/src/i18n/locales/bs.json +++ b/apps/mobile/src/i18n/locales/bs.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Prikaži agentovo razmišljanje prošireno kada završi.", "keepScreenOn": "Zadrži ekran uključen na stranici sesije", "keepScreenOnSubtitle": "Održavaj ekran budnim dok sesija radi.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Izgled", "notifications": "Obavijesti", diff --git a/apps/mobile/src/i18n/locales/ca.json b/apps/mobile/src/i18n/locales/ca.json index e9c3294d7b..044782377b 100644 --- a/apps/mobile/src/i18n/locales/ca.json +++ b/apps/mobile/src/i18n/locales/ca.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Mostra el raonament de l'agent ampliat quan acaba.", "keepScreenOn": "Mantén la pantalla encesa a la pàgina de sessió", "keepScreenOnSubtitle": "Mantén la pantalla activa mentre la sessió treballa.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Aparença", "notifications": "Notificacions", diff --git a/apps/mobile/src/i18n/locales/ckb.json b/apps/mobile/src/i18n/locales/ckb.json index 862b156c72..6bc7c01629 100644 --- a/apps/mobile/src/i18n/locales/ckb.json +++ b/apps/mobile/src/i18n/locales/ckb.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "بیرکردنەوەی ئەجێنتەکە پیشان بدە کە کاتێک تەواو دەبێت فراوان کراوە.", "keepScreenOn": "شاشەکە بەردەوام ڕاگرە لە پەڕەی دانیشتن", "keepScreenOnSubtitle": "شاشەکە بەخەبەر ڕابگرە کاتێک دانیشتنەکە کار دەکات.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "ڕووکار", "notifications": "ئاگادارکردنەوەکان", diff --git a/apps/mobile/src/i18n/locales/cs.json b/apps/mobile/src/i18n/locales/cs.json index da57db7206..1c641f61a8 100644 --- a/apps/mobile/src/i18n/locales/cs.json +++ b/apps/mobile/src/i18n/locales/cs.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Po dokončení zobrazí rozbalené myšlení agenta.", "keepScreenOn": "Udržet obrazovku zapnutou na stránce relace", "keepScreenOnSubtitle": "Udržuje obrazovku zapnutou, dokud relace pracuje.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Vzhled", "notifications": "Oznámení", diff --git a/apps/mobile/src/i18n/locales/cy.json b/apps/mobile/src/i18n/locales/cy.json index 993fdb92c3..fa92cac6db 100644 --- a/apps/mobile/src/i18n/locales/cy.json +++ b/apps/mobile/src/i18n/locales/cy.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Dangos meddwl yr asiant wedi'i ehangu pan fydd yn gorffen.", "keepScreenOn": "Cadw'r sgrin ymlaen ar dudalen y sesiwn", "keepScreenOnSubtitle": "Cadw'r sgrin yn effro tra bydd y sesiwn yn gweithio.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Ymddangosiad", "notifications": "Hysbysiadau", diff --git a/apps/mobile/src/i18n/locales/da.json b/apps/mobile/src/i18n/locales/da.json index 8d8890dd2d..09e5ae8191 100644 --- a/apps/mobile/src/i18n/locales/da.json +++ b/apps/mobile/src/i18n/locales/da.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Vis agentens tænkning udvidet, når den er færdig.", "keepScreenOn": "Hold skærmen tændt på sessionssiden", "keepScreenOnSubtitle": "Hold skærmen vågen, mens sessionen arbejder.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Udseende", "notifications": "Meddelelser", diff --git a/apps/mobile/src/i18n/locales/de.json b/apps/mobile/src/i18n/locales/de.json index 6010f8ea7b..bc34f6bcb6 100644 --- a/apps/mobile/src/i18n/locales/de.json +++ b/apps/mobile/src/i18n/locales/de.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Das Denken des Agenten erweitert anzeigen, wenn es fertig ist.", "keepScreenOn": "Bildschirm auf der Sitzungsseite anlassen", "keepScreenOnSubtitle": "Den Bildschirm wach halten, während die Sitzung arbeitet.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Erscheinungsbild", "notifications": "Benachrichtigungen", diff --git a/apps/mobile/src/i18n/locales/el.json b/apps/mobile/src/i18n/locales/el.json index 2dd8cb3ebd..9b41e8cf3f 100644 --- a/apps/mobile/src/i18n/locales/el.json +++ b/apps/mobile/src/i18n/locales/el.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Εμφάνιση της σκέψης του πράκτορα σε πλήρη επέκταση όταν ολοκληρωθεί.", "keepScreenOn": "Κρατήστε την οθόνη ενεργή στη σελίδα συνεδρίας", "keepScreenOnSubtitle": "Κρατήστε την οθόνη ανοιχτή όσο η συνεδρία εργάζεται.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Εμφάνιση", "notifications": "Ειδοποιήσεις", diff --git a/apps/mobile/src/i18n/locales/en.json b/apps/mobile/src/i18n/locales/en.json index 2399093f8f..f2313ef576 100644 --- a/apps/mobile/src/i18n/locales/en.json +++ b/apps/mobile/src/i18n/locales/en.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Show the agent's thinking expanded when it finishes.", "keepScreenOn": "Keep screen on while on session page", "keepScreenOnSubtitle": "Hold the screen awake while the session is working.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Appearance", "notifications": "Notifications", diff --git a/apps/mobile/src/i18n/locales/es.json b/apps/mobile/src/i18n/locales/es.json index 45363b2cf1..27259380d6 100644 --- a/apps/mobile/src/i18n/locales/es.json +++ b/apps/mobile/src/i18n/locales/es.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Mostrar el pensamiento del agente expandido cuando termine.", "keepScreenOn": "Mantener la pantalla encendida en la página de sesión", "keepScreenOnSubtitle": "Mantener la pantalla activa mientras la sesión trabaja.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Apariencia", "notifications": "Notificaciones", diff --git a/apps/mobile/src/i18n/locales/et.json b/apps/mobile/src/i18n/locales/et.json index ab1cbe7be0..834a3897d7 100644 --- a/apps/mobile/src/i18n/locales/et.json +++ b/apps/mobile/src/i18n/locales/et.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Näita agendi mõtlemist laiendatuna, kui see lõpeb.", "keepScreenOn": "Hoia ekraan sees sessioonilehel", "keepScreenOnSubtitle": "Hoia ekraan ärkvel, kui sessioon töötab.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Välimus", "notifications": "Teavitused", diff --git a/apps/mobile/src/i18n/locales/eu.json b/apps/mobile/src/i18n/locales/eu.json index d1d4289341..f32ab6067d 100644 --- a/apps/mobile/src/i18n/locales/eu.json +++ b/apps/mobile/src/i18n/locales/eu.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Erakutsi agentearen pentsamendua zabalduta amaitzen denean.", "keepScreenOn": "Mantendu pantaila piztuta saio-orrian", "keepScreenOnSubtitle": "Mantendu pantaila esnatuta saioa lanean ari den bitartean.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Itxura", "notifications": "Jakinarazpenak", diff --git a/apps/mobile/src/i18n/locales/fa.json b/apps/mobile/src/i18n/locales/fa.json index 4d4809f18f..43e61e6a04 100644 --- a/apps/mobile/src/i18n/locales/fa.json +++ b/apps/mobile/src/i18n/locales/fa.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "هنگام پایان کار عامل، تفکر او را باز شده نشان بده.", "keepScreenOn": "روشن نگه داشتن صفحه در صفحهٔ نشست", "keepScreenOnSubtitle": "در حالی که نشست کار می‌کند، صفحه را بیدار نگه دار.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "ظاهر", "notifications": "اعلان‌ها", diff --git a/apps/mobile/src/i18n/locales/fi.json b/apps/mobile/src/i18n/locales/fi.json index abdcaae6de..917eab3e89 100644 --- a/apps/mobile/src/i18n/locales/fi.json +++ b/apps/mobile/src/i18n/locales/fi.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Näytä agentin ajattelu laajennettuna, kun se on valmis.", "keepScreenOn": "Pidä näyttö päällä istuntosivulla", "keepScreenOnSubtitle": "Pidä näyttö hereillä istunnon työskennellessä.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Ulkoasu", "notifications": "Ilmoitukset", diff --git a/apps/mobile/src/i18n/locales/fil.json b/apps/mobile/src/i18n/locales/fil.json index 6692604167..e95550cc8d 100644 --- a/apps/mobile/src/i18n/locales/fil.json +++ b/apps/mobile/src/i18n/locales/fil.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Ipakita ang pag-iisip ng agent na naka-expand kapag ito ay natapos.", "keepScreenOn": "Panatilihing naka-on ang screen habang nasa session page", "keepScreenOnSubtitle": "Panatilihing gising ang screen habang gumagawa ang session.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Hitsura", "notifications": "Mga Notipikasyon", diff --git a/apps/mobile/src/i18n/locales/fr.json b/apps/mobile/src/i18n/locales/fr.json index 21f14e831e..ccad7c2344 100644 --- a/apps/mobile/src/i18n/locales/fr.json +++ b/apps/mobile/src/i18n/locales/fr.json @@ -1819,7 +1819,7 @@ "autoExpandThinkingSubtitle": "Afficher la réflexion de l'agent développée lorsqu'elle se termine.", "keepScreenOn": "Garder l'écran allumé sur la page de session", "keepScreenOnSubtitle": "Maintenir l'écran éveillé pendant que la session travaille.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Apparence", "notifications": "Notifications", diff --git a/apps/mobile/src/i18n/locales/ga.json b/apps/mobile/src/i18n/locales/ga.json index 846555944c..34f11b12ef 100644 --- a/apps/mobile/src/i18n/locales/ga.json +++ b/apps/mobile/src/i18n/locales/ga.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Taispeáin smaointeoireacht an ghníomhaire leathnaithe nuair a chríochnaíonn sé.", "keepScreenOn": "Coinnigh an scáileán ar siúl ar leathanach an tseisiúin", "keepScreenOnSubtitle": "Coinnigh an scáileán dúisithe agus an seisiún ag obair.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Dealramh", "notifications": "Fógraí", diff --git a/apps/mobile/src/i18n/locales/gl.json b/apps/mobile/src/i18n/locales/gl.json index 14fe03aca4..d662e027aa 100644 --- a/apps/mobile/src/i18n/locales/gl.json +++ b/apps/mobile/src/i18n/locales/gl.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Mostra o pensamento do axente expandido cando remate.", "keepScreenOn": "Manter a pantalla acesa na páxina de sesión", "keepScreenOnSubtitle": "Mantén a pantalla esperta mentres a sesión traballa.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Aparencia", "notifications": "Notificacións", diff --git a/apps/mobile/src/i18n/locales/gu.json b/apps/mobile/src/i18n/locales/gu.json index 83a9423467..933828a8aa 100644 --- a/apps/mobile/src/i18n/locales/gu.json +++ b/apps/mobile/src/i18n/locales/gu.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "પૂરું થાય ત્યારે એજન્ટનું વિચાર વિસ્તૃત બતાવો.", "keepScreenOn": "સત્ર પૃષ્ઠ પર હોય ત્યારે સ્ક્રીન ચાલુ રાખો", "keepScreenOnSubtitle": "સત્ર કામ કરી રહ્યું હોય ત્યારે સ્ક્રીન જાગતી રાખો.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "દેખાવ", "notifications": "સૂચનાઓ", diff --git a/apps/mobile/src/i18n/locales/ha.json b/apps/mobile/src/i18n/locales/ha.json index a50f3781cf..68afb4b47a 100644 --- a/apps/mobile/src/i18n/locales/ha.json +++ b/apps/mobile/src/i18n/locales/ha.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Nuna tunanin wakilin ya fadada idan ya gama.", "keepScreenOn": "Tsare allo a kunne a shafin zama", "keepScreenOnSubtitle": "Rike allo a farke yayin da zama ke aiki.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Kamanni", "notifications": "Sanarwa", diff --git a/apps/mobile/src/i18n/locales/he.json b/apps/mobile/src/i18n/locales/he.json index 52729d1ae4..0dd1d640e3 100644 --- a/apps/mobile/src/i18n/locales/he.json +++ b/apps/mobile/src/i18n/locales/he.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "הצג את החשיבה של הסוכן מורחבת כשהיא מסתיימת.", "keepScreenOn": "השאר את המסך דלוק בדף ההפעלה", "keepScreenOnSubtitle": "החזק את המסך ער בזמן שההפעלה עובדת.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "מראה", "notifications": "התראות", diff --git a/apps/mobile/src/i18n/locales/hi.json b/apps/mobile/src/i18n/locales/hi.json index 0f77668fd4..b7dd99d91b 100644 --- a/apps/mobile/src/i18n/locales/hi.json +++ b/apps/mobile/src/i18n/locales/hi.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "एजेंट की सोच समाप्त होने पर उसे विस्तारित दिखाएँ।", "keepScreenOn": "सत्र पेज पर स्क्रीन चालू रखें", "keepScreenOnSubtitle": "सत्र के काम करते समय स्क्रीन को जाग्रत रखें।", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "दिखावट", "notifications": "सूचनाएँ", diff --git a/apps/mobile/src/i18n/locales/hr.json b/apps/mobile/src/i18n/locales/hr.json index c7c3162c9b..50485700e5 100644 --- a/apps/mobile/src/i18n/locales/hr.json +++ b/apps/mobile/src/i18n/locales/hr.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Prikaži agentovo razmišljanje prošireno kada završi.", "keepScreenOn": "Drži zaslon uključen na stranici sesije", "keepScreenOnSubtitle": "Drži zaslon budnim dok sesija radi.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Izgled", "notifications": "Obavijesti", diff --git a/apps/mobile/src/i18n/locales/ht.json b/apps/mobile/src/i18n/locales/ht.json index 706fc61edb..605592e7fb 100644 --- a/apps/mobile/src/i18n/locales/ht.json +++ b/apps/mobile/src/i18n/locales/ht.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Montre panse ajans lan elaji lè li fini.", "keepScreenOn": "Kenbe ekran an limen sou paj sesyon an", "keepScreenOnSubtitle": "Kenbe ekran an reveye pandan sesyon an ap travay.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Aparans", "notifications": "Notifikasyon", diff --git a/apps/mobile/src/i18n/locales/hu.json b/apps/mobile/src/i18n/locales/hu.json index 9a27ab34b3..aeb6cca253 100644 --- a/apps/mobile/src/i18n/locales/hu.json +++ b/apps/mobile/src/i18n/locales/hu.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Az ügynök gondolkodásának kibontott megjelenítése, amikor befejezi.", "keepScreenOn": "Képernyő bekapcsolva tartása a munkamenet oldalán", "keepScreenOnSubtitle": "Tartsa ébren a képernyőt, amíg a munkamenet dolgozik.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Megjelenés", "notifications": "Értesítések", diff --git a/apps/mobile/src/i18n/locales/hy.json b/apps/mobile/src/i18n/locales/hy.json index 6ecc893bff..03443da354 100644 --- a/apps/mobile/src/i18n/locales/hy.json +++ b/apps/mobile/src/i18n/locales/hy.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Ցույց տալ գործակալի մտածումը ընդլայնված, երբ այն ավարտվի:", "keepScreenOn": "Էկրանը միացված պահել նիստի էջում", "keepScreenOnSubtitle": "Էկրանն արթուն պահել, մինչ նիստն աշխատում է:", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Արտաքին տեսք", "notifications": "Ծանուցումներ", diff --git a/apps/mobile/src/i18n/locales/id.json b/apps/mobile/src/i18n/locales/id.json index 69e7b4ec59..048d186368 100644 --- a/apps/mobile/src/i18n/locales/id.json +++ b/apps/mobile/src/i18n/locales/id.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Tampilkan pemikiran agen dalam keadaan diperluas saat selesai.", "keepScreenOn": "Biarkan layar menyala saat di halaman sesi", "keepScreenOnSubtitle": "Jaga layar tetap aktif saat sesi berjalan.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Tampilan", "notifications": "Notifikasi", diff --git a/apps/mobile/src/i18n/locales/ig.json b/apps/mobile/src/i18n/locales/ig.json index 23d3437184..13eaa38d6c 100644 --- a/apps/mobile/src/i18n/locales/ig.json +++ b/apps/mobile/src/i18n/locales/ig.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Gosipụta echiche onye ọrụ gbasaa mgbe ọ gwụchara.", "keepScreenOn": "Mee ka enyo nọrọ mgbe nọ na ibe oge", "keepScreenOnSubtitle": "Mee ka enyo nọrọ teta mgbe oge na-arụ ọrụ.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Ọdịdị", "notifications": "Ọkwa", diff --git a/apps/mobile/src/i18n/locales/is.json b/apps/mobile/src/i18n/locales/is.json index 3a7be0a563..0fb2742caa 100644 --- a/apps/mobile/src/i18n/locales/is.json +++ b/apps/mobile/src/i18n/locales/is.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Sýna hugsun umboðsins stækkaða þegar það lýkur.", "keepScreenOn": "Halda skjá kveiktum á fundarsíðu", "keepScreenOnSubtitle": "Halda skjánum vakandi á meðan fundin er í gangi.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Útlit", "notifications": "Tilkynningar", diff --git a/apps/mobile/src/i18n/locales/it.json b/apps/mobile/src/i18n/locales/it.json index 6158b0773c..b202dfb9e0 100644 --- a/apps/mobile/src/i18n/locales/it.json +++ b/apps/mobile/src/i18n/locales/it.json @@ -1870,7 +1870,7 @@ "autoExpandThinkingSubtitle": "Mostra il pensiero dell'agente espanso quando termina.", "keepScreenOn": "Mantieni lo schermo acceso nella pagina della sessione", "keepScreenOnSubtitle": "Tieni lo schermo attivo mentre la sessione lavora.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Aspetto", "notifications": "Notifiche", diff --git a/apps/mobile/src/i18n/locales/ja.json b/apps/mobile/src/i18n/locales/ja.json index f3f5e7ef48..fd439d11de 100644 --- a/apps/mobile/src/i18n/locales/ja.json +++ b/apps/mobile/src/i18n/locales/ja.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "エージェントの思考が終了したときに展開して表示します。", "keepScreenOn": "セッションページで画面を常時オン", "keepScreenOnSubtitle": "セッションの動作中は画面を起動したままにします。", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "外観", "notifications": "通知", diff --git a/apps/mobile/src/i18n/locales/ka.json b/apps/mobile/src/i18n/locales/ka.json index d79ae5372b..9cd75315a3 100644 --- a/apps/mobile/src/i18n/locales/ka.json +++ b/apps/mobile/src/i18n/locales/ka.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "აჩვენე აგენტის ფიქრი გაფართოებულად, როცა დასრულდება.", "keepScreenOn": "ეკრანის ჩართული დატოვება სესიის გვერდზე", "keepScreenOnSubtitle": "შეინახე ეკრანი ჩართული, სანამ სესია მუშაობს.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "გარეგნობა", "notifications": "შეტყობინებები", diff --git a/apps/mobile/src/i18n/locales/kk.json b/apps/mobile/src/i18n/locales/kk.json index 9385ebf46f..6c8b45c554 100644 --- a/apps/mobile/src/i18n/locales/kk.json +++ b/apps/mobile/src/i18n/locales/kk.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Агент аяқтағанда оның ойлауын ашылған күйде көрсету.", "keepScreenOn": "Сессия бетінде экранды қосулы ұстау", "keepScreenOnSubtitle": "Сессия жұмыс істеп тұрғанда экранды ояу ұстау.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Көрініс", "notifications": "Хабарландырулар", diff --git a/apps/mobile/src/i18n/locales/km.json b/apps/mobile/src/i18n/locales/km.json index 57f63a49fb..a8cb9ed25d 100644 --- a/apps/mobile/src/i18n/locales/km.json +++ b/apps/mobile/src/i18n/locales/km.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "បង្ហាញការគិតរបស់ភ្នាក់ងារពង្រីក នៅពេលវាបញ្ចប់។", "keepScreenOn": "រក្សាអេក្រង់បើក ពេលស្ថិតនៅលើទំព័រសម័យការ", "keepScreenOnSubtitle": "រក្សាអេក្រង់ភ្ញាក់ ពេលសម័យការកំពុងដំណើរការ។", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "រូបរាង", "notifications": "ការជូនដំណឹង", diff --git a/apps/mobile/src/i18n/locales/kn.json b/apps/mobile/src/i18n/locales/kn.json index 92f7017a4c..8e69eb7c30 100644 --- a/apps/mobile/src/i18n/locales/kn.json +++ b/apps/mobile/src/i18n/locales/kn.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "ಏಜೆಂಟ್ ಮುಗಿಸಿದಾಗ ಅದರ ಯೋಚನೆಯನ್ನು ವಿಸ್ತರಿಸಿ ತೋರಿಸಿ.", "keepScreenOn": "ಸೆಷನ್ ಪುಟದಲ್ಲಿ ಪರದೆಯನ್ನು ಆನ್ ಆಗಿ ಇರಿಸಿ", "keepScreenOnSubtitle": "ಸೆಷನ್ ಕೆಲಸ ಮಾಡುತ್ತಿರುವಾಗ ಪರದೆಯನ್ನು ಎಚ್ಚರವಾಗಿ ಹಿಡಿಯಿರಿ.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "ನೋಟ", "notifications": "ಅಧಿಸೂಚನೆಗಳು", diff --git a/apps/mobile/src/i18n/locales/ko.json b/apps/mobile/src/i18n/locales/ko.json index de72e3496b..f288299562 100644 --- a/apps/mobile/src/i18n/locales/ko.json +++ b/apps/mobile/src/i18n/locales/ko.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "에이전트가 완료되면 사고를 펼쳐서 표시합니다.", "keepScreenOn": "세션 페이지에서 화면 켜짐 유지", "keepScreenOnSubtitle": "세션이 작업하는 동안 화면을 깨어 있게 유지합니다.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "모양", "notifications": "알림", diff --git a/apps/mobile/src/i18n/locales/lo.json b/apps/mobile/src/i18n/locales/lo.json index 1f6531e857..c9494731a1 100644 --- a/apps/mobile/src/i18n/locales/lo.json +++ b/apps/mobile/src/i18n/locales/lo.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "ສະແດງການຄິດຂອງເອເຈນໃຫ້ຂະຫຍາຍເມື່ອມັນສຳເລັດ.", "keepScreenOn": "ເປີດໜ້າຈໍໄວ້ໃນຂະນະຢູ່ໜ້າເຊສຊັນ", "keepScreenOnSubtitle": "ຖືໜ້າຈໍໃຫ້ຕື່ນໃນຂະນະທີ່ເຊສຊັນກຳລັງເຮັດວຽກ.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "ຮູບລັກສະນະ", "notifications": "ການແຈ້ງເຕືອນ", diff --git a/apps/mobile/src/i18n/locales/lt.json b/apps/mobile/src/i18n/locales/lt.json index d157fb1dfa..9a56d97fd9 100644 --- a/apps/mobile/src/i18n/locales/lt.json +++ b/apps/mobile/src/i18n/locales/lt.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Parodyti agento mąstymą išskleistą, kai jis baigia.", "keepScreenOn": "Laikyti ekraną įjungtą sesijos puslapyje", "keepScreenOnSubtitle": "Laikyti ekraną įjungtą, kol sesija dirba.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Išvaizda", "notifications": "Pranešimai", diff --git a/apps/mobile/src/i18n/locales/lv.json b/apps/mobile/src/i18n/locales/lv.json index 20c8608b3b..9c8e015621 100644 --- a/apps/mobile/src/i18n/locales/lv.json +++ b/apps/mobile/src/i18n/locales/lv.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Rādīt aģenta domāšanu izvērstu, kad tas beidzas.", "keepScreenOn": "Saglabāt ekrānu ieslēgtu sesijas lapā", "keepScreenOnSubtitle": "Noturēt ekrānu nomodā, kamēr sesija darbojas.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Izskats", "notifications": "Paziņojumi", diff --git a/apps/mobile/src/i18n/locales/mg.json b/apps/mobile/src/i18n/locales/mg.json index d02fb3a589..788eb90e6a 100644 --- a/apps/mobile/src/i18n/locales/mg.json +++ b/apps/mobile/src/i18n/locales/mg.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Aseho mivelatra ny fisainan'ny agent rehefa vita.", "keepScreenOn": "Hitehirizana ny efijery mandritra ny fotoam-pivoriana", "keepScreenOnSubtitle": "Tehirizo mifoha ny efijery raha mbola miasa ny fotoam-pivoriana.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Bika", "notifications": "Fampandrenesana", diff --git a/apps/mobile/src/i18n/locales/mi.json b/apps/mobile/src/i18n/locales/mi.json index d7ff31abcb..e1d520743c 100644 --- a/apps/mobile/src/i18n/locales/mi.json +++ b/apps/mobile/src/i18n/locales/mi.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Whakaatuhia te whakaaro o te kaiāwhina kia whakawhānuihia ina mutu.", "keepScreenOn": "Kia mārama tonu te mata i te whārangi huinga", "keepScreenOnSubtitle": "Kia mārama tonu te mata i te wā e mahi ana te huinga.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Te Āhua", "notifications": "Ngā Pānui", diff --git a/apps/mobile/src/i18n/locales/mk.json b/apps/mobile/src/i18n/locales/mk.json index 9459f31846..fe02c52593 100644 --- a/apps/mobile/src/i18n/locales/mk.json +++ b/apps/mobile/src/i18n/locales/mk.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Покажи го размислувањето на агентот проширено кога ќе заврши.", "keepScreenOn": "Држи го екранот вклучен на страницата на сесијата", "keepScreenOnSubtitle": "Држи го екранот буден додека сесијата работи.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Изглед", "notifications": "Известувања", diff --git a/apps/mobile/src/i18n/locales/ml.json b/apps/mobile/src/i18n/locales/ml.json index 5d96633140..c27f48606d 100644 --- a/apps/mobile/src/i18n/locales/ml.json +++ b/apps/mobile/src/i18n/locales/ml.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "പൂർത്തിയാകുമ്പോൾ ഏജന്റിന്റെ ചിന്ത വികസിപ്പിച്ച് കാണിക്കുക.", "keepScreenOn": "സെഷൻ പേജിൽ സ്ക്രീൻ ഓണായി നിർത്തുക", "keepScreenOnSubtitle": "സെഷൻ പ്രവർത്തിക്കുമ്പോൾ സ്ക്രീൻ ഉണർന്നിരിക്കുക.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "രൂപം", "notifications": "അറിയിപ്പുകൾ", diff --git a/apps/mobile/src/i18n/locales/mn.json b/apps/mobile/src/i18n/locales/mn.json index 459e39ae21..9d3151dcea 100644 --- a/apps/mobile/src/i18n/locales/mn.json +++ b/apps/mobile/src/i18n/locales/mn.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Дууссаны дараа агентын бодлыг дэлгэсэн байдлаар харуулна.", "keepScreenOn": "Сесс хуудсан дээр дэлгэцийг асаалттай байлгах", "keepScreenOnSubtitle": "Сесс ажиллаж байх үед дэлгэцийг унтраахгүй байлгах.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Гадаад байдал", "notifications": "Мэдэгдэлүүд", diff --git a/apps/mobile/src/i18n/locales/mr.json b/apps/mobile/src/i18n/locales/mr.json index c6da911176..7da845796f 100644 --- a/apps/mobile/src/i18n/locales/mr.json +++ b/apps/mobile/src/i18n/locales/mr.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "एजंट पूर्ण झाल्यावर त्याचा विस्तारित विचार दाखवा.", "keepScreenOn": "सत्र पृष्ठावर असताना स्क्रीन चालू ठेवा", "keepScreenOnSubtitle": "सत्र कार्यरत असताना स्क्रीन जागी ठेवा.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "स्वरूप", "notifications": "सूचना", diff --git a/apps/mobile/src/i18n/locales/ms.json b/apps/mobile/src/i18n/locales/ms.json index cbcdafbbbe..535f809185 100644 --- a/apps/mobile/src/i18n/locales/ms.json +++ b/apps/mobile/src/i18n/locales/ms.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Paparkan pemikiran ejen yang dikembangkan apabila ia selesai.", "keepScreenOn": "Kekalkan skrin hidup semasa pada halaman sesi", "keepScreenOnSubtitle": "Kekalkan skrin hidup semasa sesi berfungsi.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Penampilan", "notifications": "Pemberitahuan", diff --git a/apps/mobile/src/i18n/locales/mt.json b/apps/mobile/src/i18n/locales/mt.json index 771a40dfc9..f5fd692ad0 100644 --- a/apps/mobile/src/i18n/locales/mt.json +++ b/apps/mobile/src/i18n/locales/mt.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Uri l-ħsieb tal-aġent espandut meta jispiċċa.", "keepScreenOn": "Żomm l-iskrin mixgħul fil-paġna tas-sessjoni", "keepScreenOnSubtitle": "Żomm l-iskrin imqajjem waqt li s-sessjoni tkun qed taħdem.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Dehra", "notifications": "Notifiki", diff --git a/apps/mobile/src/i18n/locales/my.json b/apps/mobile/src/i18n/locales/my.json index 10e716976e..1cdd63a114 100644 --- a/apps/mobile/src/i18n/locales/my.json +++ b/apps/mobile/src/i18n/locales/my.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "ပြီးဆုံးသောအခါ agent ၏ တွေးခေါ်မှုကို ချဲ့ပြီး ပြပါ။", "keepScreenOn": "ဆက်ရှင်စာမျက်နှာပေါ်တွင် စခရင်ဖွင့်ထားပါ", "keepScreenOnSubtitle": "ဆက်ရှင်အလုပ်လုပ်နေစဉ် စခရင်ကို ဖွင့်ထားပါ။", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "အသွင်အပြင်", "notifications": "အကြောင်းကြားချက်များ", diff --git a/apps/mobile/src/i18n/locales/nb.json b/apps/mobile/src/i18n/locales/nb.json index 27b6cea493..05d42bc959 100644 --- a/apps/mobile/src/i18n/locales/nb.json +++ b/apps/mobile/src/i18n/locales/nb.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Vis agentens tenking utvidet når den er ferdig.", "keepScreenOn": "Hold skjermen på mens du er på sesjonssiden", "keepScreenOnSubtitle": "Hold skjermen våken mens sesjonen jobber.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Utseende", "notifications": "Varsler", diff --git a/apps/mobile/src/i18n/locales/ne.json b/apps/mobile/src/i18n/locales/ne.json index 97170e3719..a1876a8c64 100644 --- a/apps/mobile/src/i18n/locales/ne.json +++ b/apps/mobile/src/i18n/locales/ne.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "समाप्त हुँदा एजेन्टको सोच विस्तार गरेर देखाउनुहोस्।", "keepScreenOn": "सत्र पृष्ठमा रहँदा स्क्रिन खुला राख्नुहोस्", "keepScreenOnSubtitle": "सत्र काम गर्दै गर्दा स्क्रिन जगाएर राख्नुहोस्।", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "रूप", "notifications": "सूचनाहरू", diff --git a/apps/mobile/src/i18n/locales/nl.json b/apps/mobile/src/i18n/locales/nl.json index 4e20b9836c..c3361a3403 100644 --- a/apps/mobile/src/i18n/locales/nl.json +++ b/apps/mobile/src/i18n/locales/nl.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Toon het denken van de agent uitgevouwen wanneer het klaar is.", "keepScreenOn": "Scherm aan houden op de sessiepagina", "keepScreenOnSubtitle": "Houd het scherm wakker terwijl de sessie werkt.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Weergave", "notifications": "Meldingen", diff --git a/apps/mobile/src/i18n/locales/om.json b/apps/mobile/src/i18n/locales/om.json index 44b2dd74e4..089a8d8951 100644 --- a/apps/mobile/src/i18n/locales/om.json +++ b/apps/mobile/src/i18n/locales/om.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Yeroo xumuuru, yaada ejentichaa bal'ifame agarsiisi.", "keepScreenOn": "Fuula session irratti yeroo jirtu sareen ifaa eegi", "keepScreenOnSubtitle": "Yeroo session hojiirraa jiru, sareen hiikkaa eegi.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Bifa", "notifications": "Beeksisa", diff --git a/apps/mobile/src/i18n/locales/or.json b/apps/mobile/src/i18n/locales/or.json index fc2a3686c4..7e1b5b6c04 100644 --- a/apps/mobile/src/i18n/locales/or.json +++ b/apps/mobile/src/i18n/locales/or.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "ସମାପ୍ତ ହେଲେ ଏଜେଣ୍ଟର ଚିନ୍ତା ବିସ୍ତାର ହୋଇ ଦେଖାନ୍ତୁ।", "keepScreenOn": "ସେସନ୍ ପୃଷ୍ଠାରେ ଥିବା ସମୟରେ ସ୍କ୍ରିନ୍ ଚାଲୁ ରଖନ୍ତୁ", "keepScreenOnSubtitle": "ସେସନ୍ କାର୍ଯ୍ୟ କରୁଥିବା ସମୟରେ ସ୍କ୍ରିନ୍ ଜାଗ୍ରତ ରଖନ୍ତୁ।", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "ରୂପ", "notifications": "ବିଜ୍ଞପ୍ତି", diff --git a/apps/mobile/src/i18n/locales/pa.json b/apps/mobile/src/i18n/locales/pa.json index 35c67b95ae..c7f7a8ebb8 100644 --- a/apps/mobile/src/i18n/locales/pa.json +++ b/apps/mobile/src/i18n/locales/pa.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "ਖਤਮ ਹੋਣ 'ਤੇ ਏਜੰਟ ਦੀ ਸੋਚ ਵਿਸਤਾਰ ਵਿੱਚ ਦਿਖਾਓ।", "keepScreenOn": "ਸੈਸ਼ਨ ਪੰਨੇ 'ਤੇ ਸਕ੍ਰੀਨ ਚਾਲੂ ਰੱਖੋ", "keepScreenOnSubtitle": "ਜਦੋਂ ਸੈਸ਼ਨ ਕੰਮ ਕਰ ਰਿਹਾ ਹੋਵੇ ਸਕ੍ਰੀਨ ਨੂੰ ਜਾਗਦੀ ਰੱਖੋ।", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "ਦਿੱਖ", "notifications": "ਸੂਚਨਾਵਾਂ", diff --git a/apps/mobile/src/i18n/locales/pl.json b/apps/mobile/src/i18n/locales/pl.json index 82c30fd655..e247747f89 100644 --- a/apps/mobile/src/i18n/locales/pl.json +++ b/apps/mobile/src/i18n/locales/pl.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Pokaż myślenie agenta rozwinięte po zakończeniu.", "keepScreenOn": "Trzymaj ekran włączony na stronie sesji", "keepScreenOnSubtitle": "Utrzymuj ekran włączony, gdy sesja pracuje.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Wygląd", "notifications": "Powiadomienia", diff --git a/apps/mobile/src/i18n/locales/ps.json b/apps/mobile/src/i18n/locales/ps.json index 4a6a0384cb..06b34ff8ee 100644 --- a/apps/mobile/src/i18n/locales/ps.json +++ b/apps/mobile/src/i18n/locales/ps.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "کله چې بشپړ شي د اجنټ فکر پراخ ښودل شوی.", "keepScreenOn": "په ناستې پاڼه کې سکرین فعال وساتئ", "keepScreenOnSubtitle": "پداسې حال کې چې ناسته کار کوي سکرین ویښ وساتئ.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "بڼه", "notifications": "خبرتیاوې", diff --git a/apps/mobile/src/i18n/locales/pt-BR.json b/apps/mobile/src/i18n/locales/pt-BR.json index f6c597378e..f3b485dfba 100644 --- a/apps/mobile/src/i18n/locales/pt-BR.json +++ b/apps/mobile/src/i18n/locales/pt-BR.json @@ -1870,7 +1870,7 @@ "autoExpandThinkingSubtitle": "Mostrar o raciocínio do agente expandido quando ele terminar.", "keepScreenOn": "Manter a tela ligada na página da sessão", "keepScreenOnSubtitle": "Mantenha a tela ativa enquanto a sessão trabalha.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Aparência", "notifications": "Notificações", diff --git a/apps/mobile/src/i18n/locales/pt.json b/apps/mobile/src/i18n/locales/pt.json index a85d696fb9..080ae40cd2 100644 --- a/apps/mobile/src/i18n/locales/pt.json +++ b/apps/mobile/src/i18n/locales/pt.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Mostrar o raciocínio do agente expandido quando termina.", "keepScreenOn": "Manter o ecrã ligado na página da sessão", "keepScreenOnSubtitle": "Manter o ecrã ativo enquanto a sessão está a trabalhar.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Aparência", "notifications": "Notificações", diff --git a/apps/mobile/src/i18n/locales/ro.json b/apps/mobile/src/i18n/locales/ro.json index e329362db9..3e57217721 100644 --- a/apps/mobile/src/i18n/locales/ro.json +++ b/apps/mobile/src/i18n/locales/ro.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Afișează gândirea agentului extinsă atunci când termină.", "keepScreenOn": "Menține ecranul pornit pe pagina sesiunii", "keepScreenOnSubtitle": "Menține ecranul activ cât timp sesiunea lucrează.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Aspect", "notifications": "Notificări", diff --git a/apps/mobile/src/i18n/locales/ru.json b/apps/mobile/src/i18n/locales/ru.json index 8a26a2e86c..3bf6419533 100644 --- a/apps/mobile/src/i18n/locales/ru.json +++ b/apps/mobile/src/i18n/locales/ru.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Показывать мышление агента раскрытым по завершении.", "keepScreenOn": "Не выключать экран на странице сеанса", "keepScreenOnSubtitle": "Держать экран включенным, пока сеанс работает.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Внешний вид", "notifications": "Уведомления", diff --git a/apps/mobile/src/i18n/locales/si.json b/apps/mobile/src/i18n/locales/si.json index 94a6b58c76..74cb13563d 100644 --- a/apps/mobile/src/i18n/locales/si.json +++ b/apps/mobile/src/i18n/locales/si.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "අවසන් වූ විට නියෝජිතයාගේ චින්තනය පුළුල් කර පෙන්වන්න.", "keepScreenOn": "සැසි පිටුවේ සිටින විට තිරය දැල්වෙන්න තබන්න", "keepScreenOnSubtitle": "සැසිය ක්‍රියාත්මක වන අතරතුර තිරය අවදියෙන් තබන්න.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "පෙනුම", "notifications": "දැනුම්දීම්", diff --git a/apps/mobile/src/i18n/locales/sk.json b/apps/mobile/src/i18n/locales/sk.json index 166c29cd71..fe448901e2 100644 --- a/apps/mobile/src/i18n/locales/sk.json +++ b/apps/mobile/src/i18n/locales/sk.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Po dokončení zobrazí myslenie agenta rozbalené.", "keepScreenOn": "Ponechať obrazovku zapnutú na stránke relácie", "keepScreenOnSubtitle": "Udržiava obrazovku zapnutú, kým relácia pracuje.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Vzhľad", "notifications": "Upozornenia", diff --git a/apps/mobile/src/i18n/locales/sl.json b/apps/mobile/src/i18n/locales/sl.json index 14c59ba7a1..3b69501a80 100644 --- a/apps/mobile/src/i18n/locales/sl.json +++ b/apps/mobile/src/i18n/locales/sl.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Ko agent konča, prikaži njegovo razmišljanje razširjeno.", "keepScreenOn": "Pusti zaslon prižgan na strani seje", "keepScreenOnSubtitle": "Drži zaslon prižgan, medtem ko seja deluje.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Videz", "notifications": "Obvestila", diff --git a/apps/mobile/src/i18n/locales/so.json b/apps/mobile/src/i18n/locales/so.json index 98a33629f3..cac7d067e2 100644 --- a/apps/mobile/src/i18n/locales/so.json +++ b/apps/mobile/src/i18n/locales/so.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Muuji fikirka wakiilka oo balaadhan markay dhammeeyaan.", "keepScreenOn": "Shaashadda ha ahaato mid hurdaynaysa bogga fadhiga", "keepScreenOnSubtitle": "Shaashadda u hay oo hurdaynaysa inta fadhigu shaqeynayo.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Muuqaal", "notifications": "Ogaysiisyada", diff --git a/apps/mobile/src/i18n/locales/sq.json b/apps/mobile/src/i18n/locales/sq.json index f1ec228ba6..2873e3aceb 100644 --- a/apps/mobile/src/i18n/locales/sq.json +++ b/apps/mobile/src/i18n/locales/sq.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Trego të menduarit e agjentit të zgjeruar kur të përfundojë.", "keepScreenOn": "Mbaje ekranin ndezur në faqen e sesionit", "keepScreenOnSubtitle": "Mbaje ekranin zgjuar ndërsa sesioni po punon.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Pamja", "notifications": "Njoftimet", diff --git a/apps/mobile/src/i18n/locales/sr.json b/apps/mobile/src/i18n/locales/sr.json index 173730ad9f..147deaf02b 100644 --- a/apps/mobile/src/i18n/locales/sr.json +++ b/apps/mobile/src/i18n/locales/sr.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Prikaži prošireno razmišljanje agenta kada završi.", "keepScreenOn": "Zadrži uključen ekran na stranici sesije", "keepScreenOnSubtitle": "Zadrži budan ekran dok sesija radi.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Izgled", "notifications": "Obaveštenja", diff --git a/apps/mobile/src/i18n/locales/sv.json b/apps/mobile/src/i18n/locales/sv.json index e029766bd5..21ea1daecb 100644 --- a/apps/mobile/src/i18n/locales/sv.json +++ b/apps/mobile/src/i18n/locales/sv.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Visa agentens tänkande utökat när den är klar.", "keepScreenOn": "Håll skärmen på under sessionen", "keepScreenOnSubtitle": "Håll skärmen vaken medan sessionen arbetar.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Utseende", "notifications": "Aviseringar", diff --git a/apps/mobile/src/i18n/locales/sw.json b/apps/mobile/src/i18n/locales/sw.json index 0fbe633108..9db1fbac31 100644 --- a/apps/mobile/src/i18n/locales/sw.json +++ b/apps/mobile/src/i18n/locales/sw.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Onyesha kufikiri kwa wakala kikiwa kimepanuliwa kinapomaliza.", "keepScreenOn": "Weka skrini ikiwa kwenye ukurasa wa kipindi", "keepScreenOnSubtitle": "Weka skrini macho wakati kipindi kinafanya kazi.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Muonekano", "notifications": "Arifa", diff --git a/apps/mobile/src/i18n/locales/ta.json b/apps/mobile/src/i18n/locales/ta.json index 9f494ec025..1bdb218fde 100644 --- a/apps/mobile/src/i18n/locales/ta.json +++ b/apps/mobile/src/i18n/locales/ta.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "முடிவடையும் போது முகவரின் சிந்தனையை விரிவாகக் காட்டவும்.", "keepScreenOn": "அமர்வு பக்கத்தில் இருக்கும் போது திரையை இயக்கத்தில் வை", "keepScreenOnSubtitle": "அமர்வு வேலை செய்யும் போது திரையை விழித்திருக்க வை.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "தோற்றம்", "notifications": "அறிவிப்புகள்", diff --git a/apps/mobile/src/i18n/locales/te.json b/apps/mobile/src/i18n/locales/te.json index f5039377cd..d08fbf2b0b 100644 --- a/apps/mobile/src/i18n/locales/te.json +++ b/apps/mobile/src/i18n/locales/te.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "పూర్తయినప్పుడు ఏజెంట్ యొక్క ఆలోచనను విస్తరించి చూపించండి.", "keepScreenOn": "సెషన్ పేజీలో స్క్రీన్ ఆన్లో ఉంచండి", "keepScreenOnSubtitle": "సెషన్ పని చేస్తున్నప్పుడు స్క్రీన్ను మేల్కొని ఉంచండి.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "రూపం", "notifications": "నోటిఫికేషన్లు", diff --git a/apps/mobile/src/i18n/locales/th.json b/apps/mobile/src/i18n/locales/th.json index 8036d762a1..ee3a122573 100644 --- a/apps/mobile/src/i18n/locales/th.json +++ b/apps/mobile/src/i18n/locales/th.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "แสดงการคิดของเอเจนต์ที่ขยายไว้เมื่อเสร็จสิ้น", "keepScreenOn": "เปิดหน้าจอไว้ขณะอยู่ในหน้าของเซสชัน", "keepScreenOnSubtitle": "ค้างหน้าจอให้ตื่นอยู่ขณะที่เซสชันกำลังทำงาน", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "ลักษณะที่ปรากฏ", "notifications": "การแจ้งเตือน", diff --git a/apps/mobile/src/i18n/locales/tr.json b/apps/mobile/src/i18n/locales/tr.json index d284f3b7e9..26327ebbc6 100644 --- a/apps/mobile/src/i18n/locales/tr.json +++ b/apps/mobile/src/i18n/locales/tr.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Ajanın düşünmesi bittiğinde genişletilmiş olarak göster.", "keepScreenOn": "Oturum sayfasındayken ekranı açık tut", "keepScreenOnSubtitle": "Oturum çalışırken ekranı uyanık tut.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Görünüm", "notifications": "Bildirimler", diff --git a/apps/mobile/src/i18n/locales/uk.json b/apps/mobile/src/i18n/locales/uk.json index be2766dee1..35e4d3b147 100644 --- a/apps/mobile/src/i18n/locales/uk.json +++ b/apps/mobile/src/i18n/locales/uk.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Показувати мислення агента розгорнутим після завершення.", "keepScreenOn": "Тримати екран увімкненим на сторінці сеансу", "keepScreenOnSubtitle": "Тримати екран активним, поки сеанс працює.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Зовнішній вигляд", "notifications": "Сповіщення", diff --git a/apps/mobile/src/i18n/locales/ur.json b/apps/mobile/src/i18n/locales/ur.json index 47c9ccaa0d..30660d8282 100644 --- a/apps/mobile/src/i18n/locales/ur.json +++ b/apps/mobile/src/i18n/locales/ur.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "ایجنٹ مکمل ہونے پر اس کی سوچ کو پھیلا کر دکھائیں۔", "keepScreenOn": "سیشن صفحہ پر اسکرین کو آن رکھیں", "keepScreenOnSubtitle": "سیشن کام کرتے وقت اسکرین کو جاگتی رکھیں۔", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "ظاہری شکل", "notifications": "اطلاعیں", diff --git a/apps/mobile/src/i18n/locales/uz.json b/apps/mobile/src/i18n/locales/uz.json index 7c2f7fc1d1..224d06fd5a 100644 --- a/apps/mobile/src/i18n/locales/uz.json +++ b/apps/mobile/src/i18n/locales/uz.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Tugaganda agentning fikrlashini kengaytirilgan holda ko'rsatish.", "keepScreenOn": "Seans sahifasida ekranni yoqilgan holda ushlab turish", "keepScreenOnSubtitle": "Seans ishlayotganda ekranni yoqilgan holda ushlab turish.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Ko'rinish", "notifications": "Bildirishnomalar", diff --git a/apps/mobile/src/i18n/locales/vi.json b/apps/mobile/src/i18n/locales/vi.json index 317760afa2..a19222ebcd 100644 --- a/apps/mobile/src/i18n/locales/vi.json +++ b/apps/mobile/src/i18n/locales/vi.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Hiển thị suy nghĩ của tác nhân được mở rộng khi hoàn tất.", "keepScreenOn": "Giữ màn hình bật khi ở trang phiên", "keepScreenOnSubtitle": "Giữ màn hình bật khi phiên đang hoạt động.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Giao diện", "notifications": "Thông báo", diff --git a/apps/mobile/src/i18n/locales/yo.json b/apps/mobile/src/i18n/locales/yo.json index 6acc8be044..d25c8c2c9a 100644 --- a/apps/mobile/src/i18n/locales/yo.json +++ b/apps/mobile/src/i18n/locales/yo.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Fi ironu aṣoju han ti o fẹ̀ nigbati o ba pari.", "keepScreenOn": "Pa iboju mọ́ nigba ti o ba wa lori oju-iwe akoko", "keepScreenOnSubtitle": "Mu iboju ṣiṣẹ nigba ti akoko n ṣiṣẹ.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Irisi", "notifications": "Awọn ifitonileti", diff --git a/apps/mobile/src/i18n/locales/zh-Hans.json b/apps/mobile/src/i18n/locales/zh-Hans.json index 9ba5097fd4..743601c997 100644 --- a/apps/mobile/src/i18n/locales/zh-Hans.json +++ b/apps/mobile/src/i18n/locales/zh-Hans.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "代理完成时展开显示其思考过程。", "keepScreenOn": "在会话页面保持屏幕常亮", "keepScreenOnSubtitle": "会话运行期间保持屏幕唤醒。", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "外观", "notifications": "通知", diff --git a/apps/mobile/src/i18n/locales/zh-Hant.json b/apps/mobile/src/i18n/locales/zh-Hant.json index 85f52a814f..ace46cfb59 100644 --- a/apps/mobile/src/i18n/locales/zh-Hant.json +++ b/apps/mobile/src/i18n/locales/zh-Hant.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "代理完成時,以展開狀態顯示其思考內容。", "keepScreenOn": "在工作階段頁面保持螢幕開啟", "keepScreenOnSubtitle": "工作階段運作時保持螢幕喚醒。", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "外觀", "notifications": "通知", diff --git a/apps/mobile/src/i18n/locales/zu.json b/apps/mobile/src/i18n/locales/zu.json index 866ff5ad68..ce168506d1 100644 --- a/apps/mobile/src/i18n/locales/zu.json +++ b/apps/mobile/src/i18n/locales/zu.json @@ -137,7 +137,7 @@ "autoExpandThinkingSubtitle": "Khombisa ukucabanga kwe-agent kuvulekile uma kuqeda.", "keepScreenOn": "Gcina isikrini sivuliwe usekhasini leseshini", "keepScreenOnSubtitle": "Gcina isikrini sivuliwe ngenkathi iseshini isebenza.", - "prReviewAttribution": "Add app attribution to PR reviews.", + "prReviewAttribution": "Add app attribution to PR reviews", "prReviewAttributionSubtitle": "Append a Reviewed via Kilo footer when you submit a review.", "appearance": "Ukubukeka", "notifications": "Izaziso", From 1abf04157470fbd037ada95217df64bdbffced8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Igor=20=C5=A0=C4=87eki=C4=87?= Date: Tue, 25 Aug 2026 12:38:54 +0200 Subject: [PATCH 05/13] feat(mobile): name /remote in the new-session remote hint The hint now names both entry points: `kilo remote` for a dedicated process, and `/remote` inside a running CLI session. --- .../components/agents/new-session-configure-form.test.ts | 6 +++--- apps/mobile/src/i18n/locales/af.json | 2 +- apps/mobile/src/i18n/locales/am.json | 2 +- apps/mobile/src/i18n/locales/ar.json | 2 +- apps/mobile/src/i18n/locales/az.json | 2 +- apps/mobile/src/i18n/locales/be.json | 2 +- apps/mobile/src/i18n/locales/bg.json | 2 +- apps/mobile/src/i18n/locales/bn.json | 2 +- apps/mobile/src/i18n/locales/bs.json | 2 +- apps/mobile/src/i18n/locales/ca.json | 2 +- apps/mobile/src/i18n/locales/ckb.json | 2 +- apps/mobile/src/i18n/locales/cs.json | 2 +- apps/mobile/src/i18n/locales/cy.json | 2 +- apps/mobile/src/i18n/locales/da.json | 2 +- apps/mobile/src/i18n/locales/de.json | 2 +- apps/mobile/src/i18n/locales/el.json | 2 +- apps/mobile/src/i18n/locales/en.json | 2 +- apps/mobile/src/i18n/locales/es.json | 2 +- apps/mobile/src/i18n/locales/et.json | 2 +- apps/mobile/src/i18n/locales/eu.json | 2 +- apps/mobile/src/i18n/locales/fa.json | 2 +- apps/mobile/src/i18n/locales/fi.json | 2 +- apps/mobile/src/i18n/locales/fil.json | 2 +- apps/mobile/src/i18n/locales/fr.json | 2 +- apps/mobile/src/i18n/locales/ga.json | 2 +- apps/mobile/src/i18n/locales/gl.json | 2 +- apps/mobile/src/i18n/locales/gu.json | 2 +- apps/mobile/src/i18n/locales/ha.json | 2 +- apps/mobile/src/i18n/locales/he.json | 2 +- apps/mobile/src/i18n/locales/hi.json | 2 +- apps/mobile/src/i18n/locales/hr.json | 2 +- apps/mobile/src/i18n/locales/ht.json | 2 +- apps/mobile/src/i18n/locales/hu.json | 2 +- apps/mobile/src/i18n/locales/hy.json | 2 +- apps/mobile/src/i18n/locales/id.json | 2 +- apps/mobile/src/i18n/locales/ig.json | 2 +- apps/mobile/src/i18n/locales/is.json | 2 +- apps/mobile/src/i18n/locales/it.json | 2 +- apps/mobile/src/i18n/locales/ja.json | 2 +- apps/mobile/src/i18n/locales/ka.json | 2 +- apps/mobile/src/i18n/locales/kk.json | 2 +- apps/mobile/src/i18n/locales/km.json | 2 +- apps/mobile/src/i18n/locales/kn.json | 2 +- apps/mobile/src/i18n/locales/ko.json | 2 +- apps/mobile/src/i18n/locales/lo.json | 2 +- apps/mobile/src/i18n/locales/lt.json | 2 +- apps/mobile/src/i18n/locales/lv.json | 2 +- apps/mobile/src/i18n/locales/mg.json | 2 +- apps/mobile/src/i18n/locales/mi.json | 2 +- apps/mobile/src/i18n/locales/mk.json | 2 +- apps/mobile/src/i18n/locales/ml.json | 2 +- apps/mobile/src/i18n/locales/mn.json | 2 +- apps/mobile/src/i18n/locales/mr.json | 2 +- apps/mobile/src/i18n/locales/ms.json | 2 +- apps/mobile/src/i18n/locales/mt.json | 2 +- apps/mobile/src/i18n/locales/my.json | 2 +- apps/mobile/src/i18n/locales/nb.json | 2 +- apps/mobile/src/i18n/locales/ne.json | 2 +- apps/mobile/src/i18n/locales/nl.json | 2 +- apps/mobile/src/i18n/locales/om.json | 2 +- apps/mobile/src/i18n/locales/or.json | 2 +- apps/mobile/src/i18n/locales/pa.json | 2 +- apps/mobile/src/i18n/locales/pl.json | 2 +- apps/mobile/src/i18n/locales/ps.json | 2 +- apps/mobile/src/i18n/locales/pt-BR.json | 2 +- apps/mobile/src/i18n/locales/pt.json | 2 +- apps/mobile/src/i18n/locales/ro.json | 2 +- apps/mobile/src/i18n/locales/ru.json | 2 +- apps/mobile/src/i18n/locales/si.json | 2 +- apps/mobile/src/i18n/locales/sk.json | 2 +- apps/mobile/src/i18n/locales/sl.json | 2 +- apps/mobile/src/i18n/locales/so.json | 2 +- apps/mobile/src/i18n/locales/sq.json | 2 +- apps/mobile/src/i18n/locales/sr.json | 2 +- apps/mobile/src/i18n/locales/sv.json | 2 +- apps/mobile/src/i18n/locales/sw.json | 2 +- apps/mobile/src/i18n/locales/ta.json | 2 +- apps/mobile/src/i18n/locales/te.json | 2 +- apps/mobile/src/i18n/locales/th.json | 2 +- apps/mobile/src/i18n/locales/tr.json | 2 +- apps/mobile/src/i18n/locales/uk.json | 2 +- apps/mobile/src/i18n/locales/ur.json | 2 +- apps/mobile/src/i18n/locales/uz.json | 2 +- apps/mobile/src/i18n/locales/vi.json | 2 +- apps/mobile/src/i18n/locales/yo.json | 2 +- apps/mobile/src/i18n/locales/zh-Hans.json | 2 +- apps/mobile/src/i18n/locales/zh-Hant.json | 2 +- apps/mobile/src/i18n/locales/zu.json | 2 +- 88 files changed, 90 insertions(+), 90 deletions(-) diff --git a/apps/mobile/src/components/agents/new-session-configure-form.test.ts b/apps/mobile/src/components/agents/new-session-configure-form.test.ts index 5045985487..cf30f7bf8d 100644 --- a/apps/mobile/src/components/agents/new-session-configure-form.test.ts +++ b/apps/mobile/src/components/agents/new-session-configure-form.test.ts @@ -550,7 +550,7 @@ describe('NewSessionConfigureForm', () => { }); // ── Case 12: kilo remote hint ── - it('renders the kilo remote hint for both cloud and remote targets', async () => { + it('names both `kilo remote` and `/remote` for cloud and remote targets', async () => { const { NewSessionConfigureForm } = await import('./new-session-configure-form'); // eslint-disable-next-line new-cap -- plain function call, matching repo test convention @@ -559,7 +559,7 @@ describe('NewSessionConfigureForm', () => { runOnInstance: null, showRunOnSelector: true, }) as Node; - expect(findTextContent(cloud, t => t.includes('kilo remote'))).toBe(true); + expect(findTextContent(cloud, t => t.includes('kilo remote') && t.includes('/remote'))).toBe(true); // eslint-disable-next-line new-cap -- plain function call, matching repo test convention const remote = NewSessionConfigureForm({ @@ -567,6 +567,6 @@ describe('NewSessionConfigureForm', () => { runOnInstance: INSTANCE, showRunOnSelector: false, }) as Node; - expect(findTextContent(remote, t => t.includes('kilo remote'))).toBe(true); + expect(findTextContent(remote, t => t.includes('kilo remote') && t.includes('/remote'))).toBe(true); }); }); diff --git a/apps/mobile/src/i18n/locales/af.json b/apps/mobile/src/i18n/locales/af.json index 782974fa33..cf1414baa5 100644 --- a/apps/mobile/src/i18n/locales/af.json +++ b/apps/mobile/src/i18n/locales/af.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub gekoppel", "noRepositoriesVisible": "Geen bewaarplekke sigbaar nie. Kontroleer bewaarplektoegang vir die Kilo GitHub App, en verfris dan.", "runOnWithTarget": "Loop op: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Omgewing", "couldNotLoadEnvironment": "Kon jou omgewing nie laai nie", "retryLoadingEnvironment": "Probeer omgewing weer laai", diff --git a/apps/mobile/src/i18n/locales/am.json b/apps/mobile/src/i18n/locales/am.json index 80687b31dd..46f3bdad97 100644 --- a/apps/mobile/src/i18n/locales/am.json +++ b/apps/mobile/src/i18n/locales/am.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub ተገናኝቷል", "noRepositoriesVisible": "ምንም ማከማቻዎች አይታዩም። የKilo GitHub Appን የማከማቻ መዳረሻ ይፈትሹ፣ ከዚያ ያድሱ።", "runOnWithTarget": "በርቷል ላይ ያሂዱ: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "አካባቢ", "couldNotLoadEnvironment": "አካባቢዎን ማግኘት አልተቻለም", "retryLoadingEnvironment": "አካባቢን መጫን እንደገና ይሞክሩ", diff --git a/apps/mobile/src/i18n/locales/ar.json b/apps/mobile/src/i18n/locales/ar.json index 7086a0ffbb..6f01266159 100644 --- a/apps/mobile/src/i18n/locales/ar.json +++ b/apps/mobile/src/i18n/locales/ar.json @@ -1422,7 +1422,7 @@ "githubConnected": "تم ربط GitHub", "noRepositoriesVisible": "لا توجد مستودعات مرئية. تحقق من وصول المستودع لتطبيق Kilo GitHub، ثم حدّث.", "runOnWithTarget": "التشغيل على: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "البيئة", "couldNotLoadEnvironment": "تعذّر تحميل بيئتك", "retryLoadingEnvironment": "إعادة محاولة تحميل البيئة", diff --git a/apps/mobile/src/i18n/locales/az.json b/apps/mobile/src/i18n/locales/az.json index 5e79526241..032ebb8d72 100644 --- a/apps/mobile/src/i18n/locales/az.json +++ b/apps/mobile/src/i18n/locales/az.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub qoşuldu", "noRepositoriesVisible": "Görünən repozitoriya yoxdur. Kilo GitHub App üçün repozitoriya girişini yoxlayın, sonra yeniləyin.", "runOnWithTarget": "İşə salın: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Mühit", "couldNotLoadEnvironment": "Mühitiniz yüklənə bilmədi", "retryLoadingEnvironment": "Mühiti yükləməyi yenidən cəhd et", diff --git a/apps/mobile/src/i18n/locales/be.json b/apps/mobile/src/i18n/locales/be.json index 86b5b93f53..6f502a52ef 100644 --- a/apps/mobile/src/i18n/locales/be.json +++ b/apps/mobile/src/i18n/locales/be.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub падключаны", "noRepositoriesVisible": "Няма бачных рэпазіторыяў. Праверце доступ да рэпазіторыяў для Kilo GitHub App, затым абнавіце.", "runOnWithTarget": "Запуск на: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Асяроддзе", "couldNotLoadEnvironment": "Не атрымалася загрузіць ваша асяроддзе", "retryLoadingEnvironment": "Паўтарыць загрузку асяроддзя", diff --git a/apps/mobile/src/i18n/locales/bg.json b/apps/mobile/src/i18n/locales/bg.json index 7c8a9953f0..327cebda8b 100644 --- a/apps/mobile/src/i18n/locales/bg.json +++ b/apps/mobile/src/i18n/locales/bg.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub е свързан", "noRepositoriesVisible": "Няма видими хранилища. Провери достъпа до хранилищата за Kilo GitHub App, след което опресни.", "runOnWithTarget": "Изпълни в: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Среда", "couldNotLoadEnvironment": "Не можа да се зареди твоята среда", "retryLoadingEnvironment": "Опитай отново да заредиш средата", diff --git a/apps/mobile/src/i18n/locales/bn.json b/apps/mobile/src/i18n/locales/bn.json index 70aa17afe9..fa51f25a2b 100644 --- a/apps/mobile/src/i18n/locales/bn.json +++ b/apps/mobile/src/i18n/locales/bn.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub সংযুক্ত", "noRepositoriesVisible": "কোনো রিপোজিটরি দৃশ্যমান নেই। কিলো GitHub অ্যাপের জন্য রিপোজিটরি অ্যাক্সেস পরীক্ষা করুন, তারপর রিফ্রেশ করুন।", "runOnWithTarget": "চলবে: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "পরিবেশ", "couldNotLoadEnvironment": "আপনার পরিবেশ লোড করা যায়নি", "retryLoadingEnvironment": "পরিবেশ লোড আবার চেষ্টা করুন", diff --git a/apps/mobile/src/i18n/locales/bs.json b/apps/mobile/src/i18n/locales/bs.json index 0826231c90..7fe6c86e6b 100644 --- a/apps/mobile/src/i18n/locales/bs.json +++ b/apps/mobile/src/i18n/locales/bs.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub povezan", "noRepositoriesVisible": "Nijedan repozitorij nije vidljiv. Provjerite pristup repozitoriju za Kilo GitHub aplikaciju, zatim osvježite.", "runOnWithTarget": "Pokreni na: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Okruženje", "couldNotLoadEnvironment": "Nije moguće učitati vaše okruženje", "retryLoadingEnvironment": "Pokušaj ponovo učitati okruženje", diff --git a/apps/mobile/src/i18n/locales/ca.json b/apps/mobile/src/i18n/locales/ca.json index 044782377b..71c216d4a2 100644 --- a/apps/mobile/src/i18n/locales/ca.json +++ b/apps/mobile/src/i18n/locales/ca.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub connectat", "noRepositoriesVisible": "No es veu cap repositori. Comprova l'accés als repositoris de l'aplicació de GitHub de Kilo i actualitza.", "runOnWithTarget": "Executa a: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Entorn", "couldNotLoadEnvironment": "No s'ha pogut carregar el teu entorn", "retryLoadingEnvironment": "Torna a provar de carregar l'entorn", diff --git a/apps/mobile/src/i18n/locales/ckb.json b/apps/mobile/src/i18n/locales/ckb.json index 6bc7c01629..e5e82e2745 100644 --- a/apps/mobile/src/i18n/locales/ckb.json +++ b/apps/mobile/src/i18n/locales/ckb.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub بەسترایەوە", "noRepositoriesVisible": "هیچ کۆگایەک نەبینراوە. دەستپێگەیشتنی کۆگای GitHub Appی Kilo بپشکنە، پاشان نوێ بکەرەوە.", "runOnWithTarget": "جێبەجێ بکە لەسەر: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "ژینگە", "couldNotLoadEnvironment": "نەتوانرا ژینگەکەت بار بکرێت", "retryLoadingEnvironment": "هەوڵدانەوەی بارکردنی ژینگە", diff --git a/apps/mobile/src/i18n/locales/cs.json b/apps/mobile/src/i18n/locales/cs.json index 1c641f61a8..f73b631731 100644 --- a/apps/mobile/src/i18n/locales/cs.json +++ b/apps/mobile/src/i18n/locales/cs.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub připojen", "noRepositoriesVisible": "Žádné repozitáře nejsou viditelné. Zkontrolujte přístup k repozitářům pro aplikaci Kilo GitHub a pak obnovte.", "runOnWithTarget": "Spustit na: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Prostředí", "couldNotLoadEnvironment": "Vaše prostředí se nepodařilo načíst", "retryLoadingEnvironment": "Opakovat načtení prostředí", diff --git a/apps/mobile/src/i18n/locales/cy.json b/apps/mobile/src/i18n/locales/cy.json index fa92cac6db..fffe81c411 100644 --- a/apps/mobile/src/i18n/locales/cy.json +++ b/apps/mobile/src/i18n/locales/cy.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub wedi'i gysylltu", "noRepositoriesVisible": "Dim ystorfeydd i'w gweld. Gwiriwch fynediad ystorfa ar gyfer Ap GitHub Kilo, yna adnewyddwch.", "runOnWithTarget": "Rhedeg ar: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Amgylchedd", "couldNotLoadEnvironment": "Methwyd llwytho'ch amgylchedd", "retryLoadingEnvironment": "Ailgeisio llwytho'r amgylchedd", diff --git a/apps/mobile/src/i18n/locales/da.json b/apps/mobile/src/i18n/locales/da.json index 09e5ae8191..abdbcbffc3 100644 --- a/apps/mobile/src/i18n/locales/da.json +++ b/apps/mobile/src/i18n/locales/da.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub forbundet", "noRepositoriesVisible": "Ingen repositories synlige. Tjek repository-adgang for Kilo GitHub App, og opdatér derefter.", "runOnWithTarget": "Kør på: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Miljø", "couldNotLoadEnvironment": "Kunne ikke indlæse dit miljø", "retryLoadingEnvironment": "Prøv at indlæse miljøet igen", diff --git a/apps/mobile/src/i18n/locales/de.json b/apps/mobile/src/i18n/locales/de.json index bc34f6bcb6..f087931596 100644 --- a/apps/mobile/src/i18n/locales/de.json +++ b/apps/mobile/src/i18n/locales/de.json @@ -1422,7 +1422,7 @@ "githubConnected": "GitHub verbunden", "noRepositoriesVisible": "Keine Repositories sichtbar. Prüfe den Repository-Zugriff für die Kilo GitHub App und aktualisiere dann.", "runOnWithTarget": "Ausführen auf: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Umgebung", "couldNotLoadEnvironment": "Deine Umgebung konnte nicht geladen werden", "retryLoadingEnvironment": "Laden der Umgebung erneut versuchen", diff --git a/apps/mobile/src/i18n/locales/el.json b/apps/mobile/src/i18n/locales/el.json index 9b41e8cf3f..91a5f4b5d5 100644 --- a/apps/mobile/src/i18n/locales/el.json +++ b/apps/mobile/src/i18n/locales/el.json @@ -1794,7 +1794,7 @@ "githubConnected": "Σύνδεση GitHub επιτυχής", "noRepositoriesVisible": "Κανένα ορατό αποθετήριο. Ελέγξτε την πρόσβαση αποθετηρίων για την εφαρμογή Kilo GitHub και ανανεώστε.", "runOnWithTarget": "Εκτέλεση σε: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Περιβάλλον", "couldNotLoadEnvironment": "Δεν ήταν δυνατή η φόρτωση του περιβάλλοντός σας", "retryLoadingEnvironment": "Επανάληψη φόρτωσης περιβάλλοντος", diff --git a/apps/mobile/src/i18n/locales/en.json b/apps/mobile/src/i18n/locales/en.json index f2313ef576..8df008acae 100644 --- a/apps/mobile/src/i18n/locales/en.json +++ b/apps/mobile/src/i18n/locales/en.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub connected", "noRepositoriesVisible": "No repositories visible. Check repository access for the Kilo GitHub App, then refresh.", "runOnWithTarget": "Run on: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Environment", "couldNotLoadEnvironment": "Couldn't load your environment", "retryLoadingEnvironment": "Retry loading environment", diff --git a/apps/mobile/src/i18n/locales/es.json b/apps/mobile/src/i18n/locales/es.json index 27259380d6..b050d3aec3 100644 --- a/apps/mobile/src/i18n/locales/es.json +++ b/apps/mobile/src/i18n/locales/es.json @@ -1422,7 +1422,7 @@ "githubConnected": "GitHub conectado", "noRepositoriesVisible": "No hay repositorios visibles. Comprueba el acceso a repositorios de la Kilo GitHub App y actualiza.", "runOnWithTarget": "Ejecutar en: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Entorno", "couldNotLoadEnvironment": "No se pudo cargar tu entorno", "retryLoadingEnvironment": "Reintentar la carga del entorno", diff --git a/apps/mobile/src/i18n/locales/et.json b/apps/mobile/src/i18n/locales/et.json index 834a3897d7..31962b9ceb 100644 --- a/apps/mobile/src/i18n/locales/et.json +++ b/apps/mobile/src/i18n/locales/et.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub on ühendatud", "noRepositoriesVisible": "Ühtegi hoidlat pole nähtav. Kontrolli Kilo GitHub App'i hoidlajuurdepääsu ja värskenda seejärel.", "runOnWithTarget": "Käitamine: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Keskkond", "couldNotLoadEnvironment": "Sinu keskkonna laadimine ebaõnnestus", "retryLoadingEnvironment": "Proovi keskkonna laadimist uuesti", diff --git a/apps/mobile/src/i18n/locales/eu.json b/apps/mobile/src/i18n/locales/eu.json index f32ab6067d..4044afcf91 100644 --- a/apps/mobile/src/i18n/locales/eu.json +++ b/apps/mobile/src/i18n/locales/eu.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub konektatuta", "noRepositoriesVisible": "Ez dago biltegi ikusgarririk. Egiaztatu Kilo GitHub App-aren biltegi-sarbidea, eta gero freskatu.", "runOnWithTarget": "Exekutatu honetan: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Ingurunea", "couldNotLoadEnvironment": "Ezin da zure ingurunea kargatu", "retryLoadingEnvironment": "Saiatu berriro ingurunea kargatzen", diff --git a/apps/mobile/src/i18n/locales/fa.json b/apps/mobile/src/i18n/locales/fa.json index 43e61e6a04..1c2e086d47 100644 --- a/apps/mobile/src/i18n/locales/fa.json +++ b/apps/mobile/src/i18n/locales/fa.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub وصل شد", "noRepositoriesVisible": "هیچ مخزنی قابل مشاهده نیست. دسترسی مخزن GitHub App کیلا را بررسی کنید، سپس تازهسازی کنید.", "runOnWithTarget": "اجرا بر روی: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "محیط", "couldNotLoadEnvironment": "بارگذاری محیط شما ممکن نشد", "retryLoadingEnvironment": "تلاش دوباره برای بارگذاری محیط", diff --git a/apps/mobile/src/i18n/locales/fi.json b/apps/mobile/src/i18n/locales/fi.json index 917eab3e89..90426a6b98 100644 --- a/apps/mobile/src/i18n/locales/fi.json +++ b/apps/mobile/src/i18n/locales/fi.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub yhdistetty", "noRepositoriesVisible": "Ei näkyviä arkistoja. Tarkista Kilo GitHub Appin arkistopääsy ja päivitä sitten.", "runOnWithTarget": "Aja kohteessa: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Ympäristö", "couldNotLoadEnvironment": "Ympäristöäsi ei voitu ladata", "retryLoadingEnvironment": "Yritä ladata ympäristö uudelleen", diff --git a/apps/mobile/src/i18n/locales/fil.json b/apps/mobile/src/i18n/locales/fil.json index e95550cc8d..19bd9f1514 100644 --- a/apps/mobile/src/i18n/locales/fil.json +++ b/apps/mobile/src/i18n/locales/fil.json @@ -1794,7 +1794,7 @@ "githubConnected": "Konektado ang GitHub", "noRepositoriesVisible": "Walang nakikitang repository. I-check ang access sa repository para sa Kilo GitHub App, pagkatapos ay i-refresh.", "runOnWithTarget": "Patakbuhin sa: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Environment", "couldNotLoadEnvironment": "Hindi ma-load ang iyong environment", "retryLoadingEnvironment": "Subukan ulit i-load ang environment", diff --git a/apps/mobile/src/i18n/locales/fr.json b/apps/mobile/src/i18n/locales/fr.json index ccad7c2344..65a981bf35 100644 --- a/apps/mobile/src/i18n/locales/fr.json +++ b/apps/mobile/src/i18n/locales/fr.json @@ -1355,7 +1355,7 @@ "githubConnected": "GitHub connecté", "noRepositoriesVisible": "Aucun dépôt visible. Vérifiez l'accès au dépôt de la Kilo GitHub App, puis actualisez.", "runOnWithTarget": "Exécuter sur : {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Environnement", "couldNotLoadEnvironment": "Impossible de charger votre environnement", "retryLoadingEnvironment": "Réessayer le chargement de l'environnement", diff --git a/apps/mobile/src/i18n/locales/ga.json b/apps/mobile/src/i18n/locales/ga.json index 34f11b12ef..402520fe9a 100644 --- a/apps/mobile/src/i18n/locales/ga.json +++ b/apps/mobile/src/i18n/locales/ga.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub ceangailte", "noRepositoriesVisible": "Níl aon stórtha le feiceáil. Seiceáil rochtain stóir do Kilo GitHub App, ansin athnuaigh.", "runOnWithTarget": "Rith ar: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Timpeallacht", "couldNotLoadEnvironment": "Níorbh fhéidir do thimpeallacht a lódáil", "retryLoadingEnvironment": "Bain triail as an timpeallacht a lódáil arís", diff --git a/apps/mobile/src/i18n/locales/gl.json b/apps/mobile/src/i18n/locales/gl.json index d662e027aa..cf1c062419 100644 --- a/apps/mobile/src/i18n/locales/gl.json +++ b/apps/mobile/src/i18n/locales/gl.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub conectado", "noRepositoriesVisible": "Non se ve ningún repositorio. Comproba o acceso aos repositorios da app de GitHub de Kilo e despois actualiza.", "runOnWithTarget": "Executar en: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Ambiente", "couldNotLoadEnvironment": "Non se puido cargar o teu ambiente", "retryLoadingEnvironment": "Reintentar cargar o ambiente", diff --git a/apps/mobile/src/i18n/locales/gu.json b/apps/mobile/src/i18n/locales/gu.json index 933828a8aa..e5ce927160 100644 --- a/apps/mobile/src/i18n/locales/gu.json +++ b/apps/mobile/src/i18n/locales/gu.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub કનેક્ટ થયેલ", "noRepositoriesVisible": "કોઈ રિપોઝિટરી દેખાતી નથી. Kilo GitHub App માટે રિપોઝિટરી ઍક્સેસ ચકાસો, પછી રિફ્રેશ કરો.", "runOnWithTarget": "પર ચલાવો: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "પર્યાવરણ", "couldNotLoadEnvironment": "તમારું પર્યાવરણ લોડ થઈ શક્યું નથી", "retryLoadingEnvironment": "પર્યાવરણ લોડ કરવા ફરી પ્રયાસ કરો", diff --git a/apps/mobile/src/i18n/locales/ha.json b/apps/mobile/src/i18n/locales/ha.json index 68afb4b47a..7c187d42e2 100644 --- a/apps/mobile/src/i18n/locales/ha.json +++ b/apps/mobile/src/i18n/locales/ha.json @@ -1794,7 +1794,7 @@ "githubConnected": "An haɗa GitHub", "noRepositoriesVisible": "Babu ma'ajiyoyi da ake gani. Duba damar ma'ajiya ga GitHub App na Kilo, sannan sabunta.", "runOnWithTarget": "Gudanar a: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Muhalli", "couldNotLoadEnvironment": "An kasa loda muhallinka", "retryLoadingEnvironment": "Sake gwada loda muhalli", diff --git a/apps/mobile/src/i18n/locales/he.json b/apps/mobile/src/i18n/locales/he.json index 0dd1d640e3..a5de87c6d9 100644 --- a/apps/mobile/src/i18n/locales/he.json +++ b/apps/mobile/src/i18n/locales/he.json @@ -1422,7 +1422,7 @@ "githubConnected": "GitHub מחובר", "noRepositoriesVisible": "לא נראים מאגרים. בדוק את גישת המאגרים של אפליקציית Kilo GitHub, ואז רענן.", "runOnWithTarget": "הרץ על: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "סביבה", "couldNotLoadEnvironment": "לא ניתן היה לטעון את הסביבה שלך", "retryLoadingEnvironment": "נסה שוב לטעון את הסביבה", diff --git a/apps/mobile/src/i18n/locales/hi.json b/apps/mobile/src/i18n/locales/hi.json index b7dd99d91b..52b88b692f 100644 --- a/apps/mobile/src/i18n/locales/hi.json +++ b/apps/mobile/src/i18n/locales/hi.json @@ -1422,7 +1422,7 @@ "githubConnected": "GitHub कनेक्ट हो गया", "noRepositoriesVisible": "कोई रिपॉज़िटरी दिखाई नहीं दे रही। Kilo GitHub ऐप के लिए रिपॉज़िटरी पहुँच जाँचें, फिर रीफ़्रेश करें।", "runOnWithTarget": "इस पर चलाएँ: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "एनवायरनमेंट", "couldNotLoadEnvironment": "आपका एनवायरनमेंट लोड नहीं हो सका", "retryLoadingEnvironment": "एनवायरनमेंट फिर से लोड करें", diff --git a/apps/mobile/src/i18n/locales/hr.json b/apps/mobile/src/i18n/locales/hr.json index 50485700e5..572ff046e9 100644 --- a/apps/mobile/src/i18n/locales/hr.json +++ b/apps/mobile/src/i18n/locales/hr.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub povezan", "noRepositoriesVisible": "Nema vidljivih repozitorija. Provjerite pristup repozitorijima za Kilo GitHub aplikaciju, a zatim osvježite.", "runOnWithTarget": "Pokreni na: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Okruženje", "couldNotLoadEnvironment": "Nije bilo moguće učitati vaše okruženje", "retryLoadingEnvironment": "Pokušaj ponovno učitati okruženje", diff --git a/apps/mobile/src/i18n/locales/ht.json b/apps/mobile/src/i18n/locales/ht.json index 605592e7fb..d299afe8ed 100644 --- a/apps/mobile/src/i18n/locales/ht.json +++ b/apps/mobile/src/i18n/locales/ht.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub konekte", "noRepositoriesVisible": "Pa gen repo ki vizib. Tcheke aksè repo pou GitHub App Kilo a, epi rafrechi.", "runOnWithTarget": "Kouri sou: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Anviwònman", "couldNotLoadEnvironment": "Pa t 'kapab chaje anviwònman ou", "retryLoadingEnvironment": "Rekòmanse chaje anviwònman an", diff --git a/apps/mobile/src/i18n/locales/hu.json b/apps/mobile/src/i18n/locales/hu.json index aeb6cca253..d6cd0e669f 100644 --- a/apps/mobile/src/i18n/locales/hu.json +++ b/apps/mobile/src/i18n/locales/hu.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub csatlakoztatva", "noRepositoriesVisible": "Nincs látható adattár. Ellenőrizze a Kilo GitHub App adattár-hozzáférését, majd frissítsen.", "runOnWithTarget": "Futtatás a következőn: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Környezet", "couldNotLoadEnvironment": "A környezet betöltése nem sikerült", "retryLoadingEnvironment": "Környezet betöltésének újrapróbálása", diff --git a/apps/mobile/src/i18n/locales/hy.json b/apps/mobile/src/i18n/locales/hy.json index 03443da354..7605afdcec 100644 --- a/apps/mobile/src/i18n/locales/hy.json +++ b/apps/mobile/src/i18n/locales/hy.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub-ը միացված է", "noRepositoriesVisible": "Պահոցներ չեն երևում։ Ստուգեք Kilo GitHub App-ի պահոցի հասանելիությունը, ապա թարմացրեք։", "runOnWithTarget": "Գործարկել՝ {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Միջավայր", "couldNotLoadEnvironment": "Չհաջողվեց բեռնել ձեր միջավայրը", "retryLoadingEnvironment": "Կրկին փորձել միջավայրը բեռնել", diff --git a/apps/mobile/src/i18n/locales/id.json b/apps/mobile/src/i18n/locales/id.json index 048d186368..7c11c3dea0 100644 --- a/apps/mobile/src/i18n/locales/id.json +++ b/apps/mobile/src/i18n/locales/id.json @@ -1422,7 +1422,7 @@ "githubConnected": "GitHub terhubung", "noRepositoriesVisible": "Tidak ada repositori terlihat. Periksa akses repositori untuk Aplikasi Kilo GitHub, lalu muat ulang.", "runOnWithTarget": "Jalankan di: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Lingkungan", "couldNotLoadEnvironment": "Tidak dapat memuat lingkungan Anda", "retryLoadingEnvironment": "Coba lagi memuat lingkungan", diff --git a/apps/mobile/src/i18n/locales/ig.json b/apps/mobile/src/i18n/locales/ig.json index 13eaa38d6c..1a52fa9d61 100644 --- a/apps/mobile/src/i18n/locales/ig.json +++ b/apps/mobile/src/i18n/locales/ig.json @@ -1794,7 +1794,7 @@ "githubConnected": "Ejikọrọ GitHub", "noRepositoriesVisible": "Enweghị ebe nchekwa a na-ahụ anya. Lelee ohere ebe nchekwa maka Kilo GitHub App, wee megharịa.", "runOnWithTarget": "Gbaa na: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Gburugburu", "couldNotLoadEnvironment": "Enweghị ike ibudata gburugburu gị", "retryLoadingEnvironment": "Nwaa ibudata gburugburu ọzọ", diff --git a/apps/mobile/src/i18n/locales/is.json b/apps/mobile/src/i18n/locales/is.json index 0fb2742caa..f69ee13b01 100644 --- a/apps/mobile/src/i18n/locales/is.json +++ b/apps/mobile/src/i18n/locales/is.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub tengt", "noRepositoriesVisible": "Engar geymslur sýnilegar. Athugaðu geymsluaðgang fyrir Kilo GitHub App og endurnýjaðu svo.", "runOnWithTarget": "Keyra á: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Umhverfi", "couldNotLoadEnvironment": "Ekki tókst að hlaða umhverfið þitt", "retryLoadingEnvironment": "Reyna að hlaða umhverfi aftur", diff --git a/apps/mobile/src/i18n/locales/it.json b/apps/mobile/src/i18n/locales/it.json index b202dfb9e0..71af662697 100644 --- a/apps/mobile/src/i18n/locales/it.json +++ b/apps/mobile/src/i18n/locales/it.json @@ -1406,7 +1406,7 @@ "githubConnected": "GitHub collegato", "noRepositoriesVisible": "Nessun repository visibile. Controlla l'accesso ai repository per la Kilo GitHub App, poi aggiorna.", "runOnWithTarget": "Esegui su: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Ambiente", "couldNotLoadEnvironment": "Impossibile caricare il tuo ambiente", "retryLoadingEnvironment": "Riprova a caricare l'ambiente", diff --git a/apps/mobile/src/i18n/locales/ja.json b/apps/mobile/src/i18n/locales/ja.json index fd439d11de..b5a56aba93 100644 --- a/apps/mobile/src/i18n/locales/ja.json +++ b/apps/mobile/src/i18n/locales/ja.json @@ -1422,7 +1422,7 @@ "githubConnected": "GitHub接続済み", "noRepositoriesVisible": "リポジトリが表示されません。Kilo GitHub Appのリポジトリアクセスを確認してから更新してください。", "runOnWithTarget": "実行先: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "環境", "couldNotLoadEnvironment": "環境を読み込めませんでした", "retryLoadingEnvironment": "環境の読み込みを再試行", diff --git a/apps/mobile/src/i18n/locales/ka.json b/apps/mobile/src/i18n/locales/ka.json index 9cd75315a3..438fe1ea1e 100644 --- a/apps/mobile/src/i18n/locales/ka.json +++ b/apps/mobile/src/i18n/locales/ka.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub დაკავშირებულია", "noRepositoriesVisible": "რეპოზიტორები არ ჩანს. შეამოწმეთ რეპოზიტორის წვდომა Kilo GitHub App-ისთვის, შემდეგ განაახლეთ.", "runOnWithTarget": "გაშვება: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "გარემო", "couldNotLoadEnvironment": "თქვენი გარემო ვერ ჩაირთო", "retryLoadingEnvironment": "გარემოს ჩატვირთვის ხელახლა ცდა", diff --git a/apps/mobile/src/i18n/locales/kk.json b/apps/mobile/src/i18n/locales/kk.json index 6c8b45c554..1ff0bed567 100644 --- a/apps/mobile/src/i18n/locales/kk.json +++ b/apps/mobile/src/i18n/locales/kk.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub қосылды", "noRepositoriesVisible": "Көрінетін репозиторийлер жоқ. Kilo GitHub App үшін репозиторий қолжетімділігін тексеріп, содан кейін жаңартыңыз.", "runOnWithTarget": "Іске қосу орны: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Орта", "couldNotLoadEnvironment": "Ортаңызды жүктеу мүмкін болмады", "retryLoadingEnvironment": "Ортаны жүктеуді қайталау", diff --git a/apps/mobile/src/i18n/locales/km.json b/apps/mobile/src/i18n/locales/km.json index a8cb9ed25d..27d880087f 100644 --- a/apps/mobile/src/i18n/locales/km.json +++ b/apps/mobile/src/i18n/locales/km.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub ត្រូវបានភ្ជាប់", "noRepositoriesVisible": "គ្មានឃ្លាំងកូដដែលអាចមើលឃើញទេ។ ពិនិត្យសិទ្ធិចូលប្រើឃ្លាំងកូដសម្រាប់ Kilo GitHub App បន្ទាប់មកធ្វើឱ្យថ្មី។", "runOnWithTarget": "ដំណើរការលើ: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "បរិស្ថាន", "couldNotLoadEnvironment": "មិនអាចផ្ទុកបរិស្ថានរបស់អ្នក", "retryLoadingEnvironment": "ព្យាយាមផ្ទុកបរិស្ថានម្តងទៀត", diff --git a/apps/mobile/src/i18n/locales/kn.json b/apps/mobile/src/i18n/locales/kn.json index 8e69eb7c30..9e847d355a 100644 --- a/apps/mobile/src/i18n/locales/kn.json +++ b/apps/mobile/src/i18n/locales/kn.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub ಸಂಪರ್ಕಗೊಂಡಿದೆ", "noRepositoriesVisible": "ಯಾವುದೇ ರೆಪೊಸಿಟರಿಗಳು ಗೋಚರಿಸುವುದಿಲ್ಲ. Kilo GitHub App ಗಾಗಿ ರೆಪೊಸಿಟರಿ ಪ್ರವೇಶವನ್ನು ಪರಿಶೀಲಿಸಿ, ನಂತರ ರಿಫ್ರೆಶ್ ಮಾಡಿ.", "runOnWithTarget": "ಇದರ ಮೇಲೆ ಚಲಾಯಿಸಿ: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "ಪರಿಸರ", "couldNotLoadEnvironment": "ನಿಮ್ಮ ಪರಿಸರವನ್ನು ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ", "retryLoadingEnvironment": "ಪರಿಸರ ಲೋಡ್ ಮಾಡಲು ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ", diff --git a/apps/mobile/src/i18n/locales/ko.json b/apps/mobile/src/i18n/locales/ko.json index f288299562..5a330d9db3 100644 --- a/apps/mobile/src/i18n/locales/ko.json +++ b/apps/mobile/src/i18n/locales/ko.json @@ -1422,7 +1422,7 @@ "githubConnected": "GitHub 연결됨", "noRepositoriesVisible": "표시되는 리포지토리가 없습니다. Kilo GitHub 앱의 리포지토리 액세스를 확인한 다음 새로고침하세요.", "runOnWithTarget": "실행 위치: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "환경", "couldNotLoadEnvironment": "환경을 불러올 수 없습니다", "retryLoadingEnvironment": "환경 로드 다시 시도", diff --git a/apps/mobile/src/i18n/locales/lo.json b/apps/mobile/src/i18n/locales/lo.json index c9494731a1..b361067d2e 100644 --- a/apps/mobile/src/i18n/locales/lo.json +++ b/apps/mobile/src/i18n/locales/lo.json @@ -1794,7 +1794,7 @@ "githubConnected": "ເຊື່ອມຕໍ່ GitHub ແລ້ວ", "noRepositoriesVisible": "ບໍ່ມີບ່ອນເກັບລະຫັດທີ່ເຫັນໄດ້. ກວດການເຂົ້າເຖິງບ່ອນເກັບລະຫັດສຳລັບ Kilo GitHub App, ແລ້ວໂຫຼດຄືນ.", "runOnWithTarget": "ດຳເນີນການໃນ: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "ສະພາບແວດລ້ອມ", "couldNotLoadEnvironment": "ບໍ່ສາມາດໂຫຼດສະພາບແວດລ້ອມຂອງທ່ານ", "retryLoadingEnvironment": "ລອງໂຫຼດສະພາບແວດລ້ອມໃໝ່", diff --git a/apps/mobile/src/i18n/locales/lt.json b/apps/mobile/src/i18n/locales/lt.json index 9a56d97fd9..1c1698ac04 100644 --- a/apps/mobile/src/i18n/locales/lt.json +++ b/apps/mobile/src/i18n/locales/lt.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub prijungtas", "noRepositoriesVisible": "Saugyklų nematoma. Patikrinkite Kilo GitHub App saugyklų prieigą, tada atnaujinkite.", "runOnWithTarget": "Vykdyti: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Aplinka", "couldNotLoadEnvironment": "Nepavyko įkelti jūsų aplinkos", "retryLoadingEnvironment": "Bandyti įkelti aplinką iš naujo", diff --git a/apps/mobile/src/i18n/locales/lv.json b/apps/mobile/src/i18n/locales/lv.json index 9c8e015621..35471836b2 100644 --- a/apps/mobile/src/i18n/locales/lv.json +++ b/apps/mobile/src/i18n/locales/lv.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub savienots", "noRepositoriesVisible": "Nav redzamu repozitoriju. Pārbaudi repozitorija piekļuvi Kilo GitHub App, tad atsvaidzini.", "runOnWithTarget": "Palaist uz: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Vide", "couldNotLoadEnvironment": "Neizdevās ielādēt tavu vidi", "retryLoadingEnvironment": "Mēģināt ielādēt vidi vēlreiz", diff --git a/apps/mobile/src/i18n/locales/mg.json b/apps/mobile/src/i18n/locales/mg.json index 788eb90e6a..d9abb31cd5 100644 --- a/apps/mobile/src/i18n/locales/mg.json +++ b/apps/mobile/src/i18n/locales/mg.json @@ -1794,7 +1794,7 @@ "githubConnected": "Voampifandraisina ny GitHub", "noRepositoriesVisible": "Tsy misy repository hita. Jereo ny fidirana repository ho an'ny Kilo GitHub App, dia avereno vaovao.", "runOnWithTarget": "Ampandeho amin'ny: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Tontolo iainana", "couldNotLoadEnvironment": "Tsy afaka namaky ny tontolo iainanao", "retryLoadingEnvironment": "Andramo indray ny famakiana tontolo iainana", diff --git a/apps/mobile/src/i18n/locales/mi.json b/apps/mobile/src/i18n/locales/mi.json index e1d520743c..b32fcff4e3 100644 --- a/apps/mobile/src/i18n/locales/mi.json +++ b/apps/mobile/src/i18n/locales/mi.json @@ -1794,7 +1794,7 @@ "githubConnected": "Kua hono a GitHub", "noRepositoriesVisible": "Kāore he pūranga e kitea ana. Tirohia te wāhi atu pūranga mō te Kilo GitHub App, kātahi whakahou.", "runOnWithTarget": "Oma i runga i: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Te taiao", "couldNotLoadEnvironment": "Kāore i taea te uta tō taiao", "retryLoadingEnvironment": "Whakamātau anō te uta taiao", diff --git a/apps/mobile/src/i18n/locales/mk.json b/apps/mobile/src/i18n/locales/mk.json index fe02c52593..7f03674678 100644 --- a/apps/mobile/src/i18n/locales/mk.json +++ b/apps/mobile/src/i18n/locales/mk.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub е поврзан", "noRepositoriesVisible": "Нема видливи складишта. Провери го пристапот до складиштата за Kilo GitHub App, а потоа освежи.", "runOnWithTarget": "Изврши на: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Околина", "couldNotLoadEnvironment": "Не можеше да се вчита твојата околина", "retryLoadingEnvironment": "Обиди се повторно со вчитување на околината", diff --git a/apps/mobile/src/i18n/locales/ml.json b/apps/mobile/src/i18n/locales/ml.json index c27f48606d..656670d088 100644 --- a/apps/mobile/src/i18n/locales/ml.json +++ b/apps/mobile/src/i18n/locales/ml.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub കണക്റ്റ് ചെയ്തു", "noRepositoriesVisible": "റിപ്പോസിറ്ററികളൊന്നും ദൃശ്യമല്ല. Kilo GitHub App-നുള്ള റിപ്പോസിറ്ററി ആക്സസ് പരിശോധിച്ച് പുതുക്കുക.", "runOnWithTarget": "ഇതിൽ പ്രവർത്തിപ്പിക്കുക: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "എൻവയോൺമെന്റ്", "couldNotLoadEnvironment": "നിങ്ങളുടെ എൻവയോൺമെന്റ് ലോഡ് ചെയ്യാനായില്ല", "retryLoadingEnvironment": "എൻവയോൺമെന്റ് ലോഡ് ചെയ്യാൻ വീണ്ടും ശ്രമിക്കുക", diff --git a/apps/mobile/src/i18n/locales/mn.json b/apps/mobile/src/i18n/locales/mn.json index 9d3151dcea..9e84adef5f 100644 --- a/apps/mobile/src/i18n/locales/mn.json +++ b/apps/mobile/src/i18n/locales/mn.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub холбогдсон", "noRepositoriesVisible": "Үзэгдэх репозитори байхгүй. Kilo GitHub App-ийн репозиторийн хандалтыг шалгаад, сэргээнэ үү.", "runOnWithTarget": "Дээр ажиллуулах: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Орчин", "couldNotLoadEnvironment": "Таны орчныг ачаалж чадсангүй", "retryLoadingEnvironment": "Орчныг ачаалахыг дахин оролдох", diff --git a/apps/mobile/src/i18n/locales/mr.json b/apps/mobile/src/i18n/locales/mr.json index 7da845796f..8f73232934 100644 --- a/apps/mobile/src/i18n/locales/mr.json +++ b/apps/mobile/src/i18n/locales/mr.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub कनेक्ट केले", "noRepositoriesVisible": "कोणतीही भांडारे दिसत नाहीत. Kilo GitHub App साठी भांडार प्रवेश तपासा, नंतर रिफ्रेश करा.", "runOnWithTarget": "यावर चालवा: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "वातावरण", "couldNotLoadEnvironment": "तुमचे वातावरण लोड करता आले नाही", "retryLoadingEnvironment": "वातावरण लोड करणे पुन्हा प्रयत्न करा", diff --git a/apps/mobile/src/i18n/locales/ms.json b/apps/mobile/src/i18n/locales/ms.json index 535f809185..3ef2c9bdbe 100644 --- a/apps/mobile/src/i18n/locales/ms.json +++ b/apps/mobile/src/i18n/locales/ms.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub disambungkan", "noRepositoriesVisible": "Tiada repositori kelihatan. Semak akses repositori untuk GitHub App Kilo, kemudian segarkan.", "runOnWithTarget": "Jalankan pada: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Persekitaran", "couldNotLoadEnvironment": "Tidak dapat memuatkan persekitaran anda", "retryLoadingEnvironment": "Cuba lagi memuatkan persekitaran", diff --git a/apps/mobile/src/i18n/locales/mt.json b/apps/mobile/src/i18n/locales/mt.json index f5fd692ad0..e276c24361 100644 --- a/apps/mobile/src/i18n/locales/mt.json +++ b/apps/mobile/src/i18n/locales/mt.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub imqabbad", "noRepositoriesVisible": "L-ebda repożitorju viżibbli. Iċċekkja l-aċċess tar-repożitorji għall-Kilo GitHub App, imbagħad aġġorna.", "runOnWithTarget": "Mexxi fuq: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Ambjent", "couldNotLoadEnvironment": "Ma setax jintgħabba l-ambjent tiegħek", "retryLoadingEnvironment": "Erġa' pprova tgħabbi l-ambjent", diff --git a/apps/mobile/src/i18n/locales/my.json b/apps/mobile/src/i18n/locales/my.json index 1cdd63a114..f229603573 100644 --- a/apps/mobile/src/i18n/locales/my.json +++ b/apps/mobile/src/i18n/locales/my.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub ချိတ်ဆက်ပြီး", "noRepositoriesVisible": "မြင်နိုင်သော သိုလှောင်မှုများ မရှိပါ။ Kilo GitHub App အတွက် သိုလှောင်မှုဝင်ရောက်ခွင့်ကို စစ်ဆေးပြီး ပြန်လည်စတင်ပါ။", "runOnWithTarget": "လုပ်ဆောင်မည့်နေရာ- {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "ပတ်ဝန်းကျင်", "couldNotLoadEnvironment": "သင့်ပတ်ဝန်းကျင်ကို မဖွင့်နိုင်ခဲ့ပါ", "retryLoadingEnvironment": "ပတ်ဝန်းကျင် ဖွင့်ရန် ထပ်ကြိုးစားပါ", diff --git a/apps/mobile/src/i18n/locales/nb.json b/apps/mobile/src/i18n/locales/nb.json index 05d42bc959..92f0c180ab 100644 --- a/apps/mobile/src/i18n/locales/nb.json +++ b/apps/mobile/src/i18n/locales/nb.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub tilkoblet", "noRepositoriesVisible": "Ingen repositories synlige. Sjekk repository-tilgangen for Kilo GitHub App, og oppdater deretter.", "runOnWithTarget": "Kjør på: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Miljø", "couldNotLoadEnvironment": "Kunne ikke laste inn miljøet ditt", "retryLoadingEnvironment": "Prøv å laste inn miljøet på nytt", diff --git a/apps/mobile/src/i18n/locales/ne.json b/apps/mobile/src/i18n/locales/ne.json index a1876a8c64..19d737a444 100644 --- a/apps/mobile/src/i18n/locales/ne.json +++ b/apps/mobile/src/i18n/locales/ne.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub जडान भयो", "noRepositoriesVisible": "कुनै भण्डार देखिँदैन। Kilo GitHub App का लागि भण्डार पहुँच जाँच्नुहोस्, त्यसपछि रिफ्रेस गर्नुहोस्।", "runOnWithTarget": "मा चलाउनुहोस्: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "वातावरण", "couldNotLoadEnvironment": "तपाईंको वातावरण लोड गर्न सकिएन", "retryLoadingEnvironment": "वातावरण लोड गर्न पुनः प्रयास गर्नुहोस्", diff --git a/apps/mobile/src/i18n/locales/nl.json b/apps/mobile/src/i18n/locales/nl.json index c3361a3403..9d5de944f9 100644 --- a/apps/mobile/src/i18n/locales/nl.json +++ b/apps/mobile/src/i18n/locales/nl.json @@ -1422,7 +1422,7 @@ "githubConnected": "GitHub verbonden", "noRepositoriesVisible": "Geen repositories zichtbaar. Controleer de repositorytoegang voor de Kilo GitHub-app en vernieuw daarna.", "runOnWithTarget": "Uitvoeren op: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Omgeving", "couldNotLoadEnvironment": "Kon je omgeving niet laden", "retryLoadingEnvironment": "Opnieuw omgeving laden", diff --git a/apps/mobile/src/i18n/locales/om.json b/apps/mobile/src/i18n/locales/om.json index 089a8d8951..8f72ae04c2 100644 --- a/apps/mobile/src/i18n/locales/om.json +++ b/apps/mobile/src/i18n/locales/om.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub wal qabame", "noRepositoriesVisible": "Repository mul'atu hin jiru. Kilo GitHub App'tti argama repository ilaaliitii haaromsi.", "runOnWithTarget": "Irratti hojjedhu: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Naannoo", "couldNotLoadEnvironment": "Naannoo kee dhiisuu hin dandeenyne", "retryLoadingEnvironment": "Naannoo dhiisuu irra deebi'i", diff --git a/apps/mobile/src/i18n/locales/or.json b/apps/mobile/src/i18n/locales/or.json index 7e1b5b6c04..560a9ef984 100644 --- a/apps/mobile/src/i18n/locales/or.json +++ b/apps/mobile/src/i18n/locales/or.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub ସଂଯୋଜିତ", "noRepositoriesVisible": "କୌଣସି ରିପୋଜିଟୋରୀ ଦେଖାଯାଉନାହିଁ। Kilo GitHub ଆପ୍ ପାଇଁ ରିପୋଜିଟୋରୀ ଉପଲବ୍ଧତା ଯାଞ୍ଚ କରନ୍ତୁ, ତା'ପରେ ରିଫ୍ରେସ୍ କରନ୍ତୁ।", "runOnWithTarget": "ଚଲାନ୍ତୁ: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "ପରିବେଶ", "couldNotLoadEnvironment": "ଆପଣଙ୍କ ପରିବେଶ ଲୋଡ୍ ହୋଇପାରିଲା ନାହିଁ", "retryLoadingEnvironment": "ପରିବେଶ ଲୋଡ୍ କରିବା ପୁନଃଚେଷ୍ଟା କରନ୍ତୁ", diff --git a/apps/mobile/src/i18n/locales/pa.json b/apps/mobile/src/i18n/locales/pa.json index c7f7a8ebb8..92f9a93e3a 100644 --- a/apps/mobile/src/i18n/locales/pa.json +++ b/apps/mobile/src/i18n/locales/pa.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub ਕਨੈਕਟ ਹੋਇਆ", "noRepositoriesVisible": "ਕੋਈ ਰਿਪੋਜ਼ਟਰੀ ਦਿਖਾਈ ਨਹੀਂ ਦੇ ਰਹੀ। Kilo GitHub ਐਪ ਲਈ ਰਿਪੋਜ਼ਟਰੀ ਪਹੁੰਚ ਜਾਂਚ ਕਰੋ, ਫਿਰ ਰਿਫਰੈਸ਼ ਕਰੋ।", "runOnWithTarget": "ਇਸ 'ਤੇ ਚਲਾਓ: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "ਵਾਤਾਵਰਣ", "couldNotLoadEnvironment": "ਤੁਹਾਡਾ ਵਾਤਾਵਰਣ ਲੋਡ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ", "retryLoadingEnvironment": "ਵਾਤਾਵਰਣ ਲੋਡ ਕਰਨ ਦੀ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ", diff --git a/apps/mobile/src/i18n/locales/pl.json b/apps/mobile/src/i18n/locales/pl.json index e247747f89..79b009896e 100644 --- a/apps/mobile/src/i18n/locales/pl.json +++ b/apps/mobile/src/i18n/locales/pl.json @@ -1422,7 +1422,7 @@ "githubConnected": "GitHub połączony", "noRepositoriesVisible": "Brak widocznych repozytoriów. Sprawdź dostęp repozytoriów dla aplikacji Kilo GitHub, a następnie odśwież.", "runOnWithTarget": "Uruchom na: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Środowisko", "couldNotLoadEnvironment": "Nie udało się załadować Twojego środowiska", "retryLoadingEnvironment": "Spróbuj ponownie załadować środowisko", diff --git a/apps/mobile/src/i18n/locales/ps.json b/apps/mobile/src/i18n/locales/ps.json index 06b34ff8ee..600a8efb14 100644 --- a/apps/mobile/src/i18n/locales/ps.json +++ b/apps/mobile/src/i18n/locales/ps.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub وصل شو", "noRepositoriesVisible": "هیڅ ذخیره نه ښکاري. د Kilo GitHub اپ لپاره د ذخیرې لاسرسی وګورئ، بیا تازه کړئ.", "runOnWithTarget": "پر باندې پرمخ یوسئ: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "چاپېریال", "couldNotLoadEnvironment": "ستاسو چاپېریال بار نه شو", "retryLoadingEnvironment": "د چاپېریال بارولو بیا هڅه کړئ", diff --git a/apps/mobile/src/i18n/locales/pt-BR.json b/apps/mobile/src/i18n/locales/pt-BR.json index f3b485dfba..ddf2195018 100644 --- a/apps/mobile/src/i18n/locales/pt-BR.json +++ b/apps/mobile/src/i18n/locales/pt-BR.json @@ -1406,7 +1406,7 @@ "githubConnected": "GitHub conectado", "noRepositoriesVisible": "Nenhum repositório visível. Verifique o acesso ao repositório do Kilo GitHub App e atualize.", "runOnWithTarget": "Executar em: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Ambiente", "couldNotLoadEnvironment": "Não foi possível carregar seu ambiente", "retryLoadingEnvironment": "Tentar carregar o ambiente novamente", diff --git a/apps/mobile/src/i18n/locales/pt.json b/apps/mobile/src/i18n/locales/pt.json index 080ae40cd2..29dfea2afb 100644 --- a/apps/mobile/src/i18n/locales/pt.json +++ b/apps/mobile/src/i18n/locales/pt.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub ligado", "noRepositoriesVisible": "Nenhum repositório visível. Verifique o acesso aos repositórios da aplicação Kilo GitHub e depois atualize.", "runOnWithTarget": "Executar em: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Ambiente", "couldNotLoadEnvironment": "Não foi possível carregar o seu ambiente", "retryLoadingEnvironment": "Tentar carregar o ambiente novamente", diff --git a/apps/mobile/src/i18n/locales/ro.json b/apps/mobile/src/i18n/locales/ro.json index 3e57217721..7e5da6f116 100644 --- a/apps/mobile/src/i18n/locales/ro.json +++ b/apps/mobile/src/i18n/locales/ro.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub conectat", "noRepositoriesVisible": "Nu este vizibil niciun depozit. Verifică accesul la depozite pentru Kilo GitHub App, apoi reîmprospătează.", "runOnWithTarget": "Rulează pe: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Mediu", "couldNotLoadEnvironment": "Nu s-a putut încărca mediul tău", "retryLoadingEnvironment": "Reîncearcă încărcarea mediului", diff --git a/apps/mobile/src/i18n/locales/ru.json b/apps/mobile/src/i18n/locales/ru.json index 3bf6419533..f42d08db25 100644 --- a/apps/mobile/src/i18n/locales/ru.json +++ b/apps/mobile/src/i18n/locales/ru.json @@ -1422,7 +1422,7 @@ "githubConnected": "GitHub подключен", "noRepositoriesVisible": "Репозитории не видны. Проверьте доступ к репозиториям для приложения Kilo GitHub, затем обновите.", "runOnWithTarget": "Запустить на: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Окружение", "couldNotLoadEnvironment": "Не удалось загрузить ваше окружение", "retryLoadingEnvironment": "Повторить загрузку окружения", diff --git a/apps/mobile/src/i18n/locales/si.json b/apps/mobile/src/i18n/locales/si.json index 74cb13563d..6f2c08178e 100644 --- a/apps/mobile/src/i18n/locales/si.json +++ b/apps/mobile/src/i18n/locales/si.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub සම්බන්ධ විය", "noRepositoriesVisible": "දෘශ්යමාන ගබඩා නැත. Kilo GitHub App සඳහා ගබඩා ප්රවේශය පරීක්ෂා කරන්න, පසුව නැවුම් කරන්න.", "runOnWithTarget": "ධාවනය කරන්න: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "පරිසරය", "couldNotLoadEnvironment": "ඔබේ පරිසරය පූරණය කළ නොහැකි විය", "retryLoadingEnvironment": "පරිසරය පූරණය කිරීම නැවත උත්සාහ කරන්න", diff --git a/apps/mobile/src/i18n/locales/sk.json b/apps/mobile/src/i18n/locales/sk.json index fe448901e2..4be1643b0e 100644 --- a/apps/mobile/src/i18n/locales/sk.json +++ b/apps/mobile/src/i18n/locales/sk.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub pripojený", "noRepositoriesVisible": "Žiadne repozitáre nie sú viditeľné. Skontrolujte prístup k repozitárom pre aplikáciu Kilo GitHub App a potom obnovte.", "runOnWithTarget": "Spustiť na: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Prostredie", "couldNotLoadEnvironment": "Vaše prostredie sa nepodarilo načítať", "retryLoadingEnvironment": "Skúsiť znova načítať prostredie", diff --git a/apps/mobile/src/i18n/locales/sl.json b/apps/mobile/src/i18n/locales/sl.json index 3b69501a80..7cc607bda2 100644 --- a/apps/mobile/src/i18n/locales/sl.json +++ b/apps/mobile/src/i18n/locales/sl.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub povezan", "noRepositoriesVisible": "Ni vidnih skladišč. Preveri dostop do skladišč za aplikacijo Kilo GitHub App in nato osveži.", "runOnWithTarget": "Zaženi na: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Okolje", "couldNotLoadEnvironment": "Tvojega okolja ni bilo mogoče naložiti", "retryLoadingEnvironment": "Poskusi znova naložiti okolje", diff --git a/apps/mobile/src/i18n/locales/so.json b/apps/mobile/src/i18n/locales/so.json index cac7d067e2..8505eb57d5 100644 --- a/apps/mobile/src/i18n/locales/so.json +++ b/apps/mobile/src/i18n/locales/so.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub waa la xidhay", "noRepositoriesVisible": "Ma jiraan kayd la arki karo. Hubi helitaanka kaydka ee App-ka Kilo GitHub, ka dib cusboonaysii.", "runOnWithTarget": "Ku socodsii: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Deegaanka", "couldNotLoadEnvironment": "Deegaankaaga lama shubay", "retryLoadingEnvironment": "Mar kale isku day inaad shubto deegaanka", diff --git a/apps/mobile/src/i18n/locales/sq.json b/apps/mobile/src/i18n/locales/sq.json index 2873e3aceb..682d555ebf 100644 --- a/apps/mobile/src/i18n/locales/sq.json +++ b/apps/mobile/src/i18n/locales/sq.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub u lidh", "noRepositoriesVisible": "Asnjë depo e dukshme. Kontrolloni aksesin në depo për Kilo GitHub App, pastaj rifreskoni.", "runOnWithTarget": "Ekzekuto në: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Mjedisi", "couldNotLoadEnvironment": "Nuk u ngarkua mjedisi juaj", "retryLoadingEnvironment": "Provo përsëri ngarkimin e mjedisit", diff --git a/apps/mobile/src/i18n/locales/sr.json b/apps/mobile/src/i18n/locales/sr.json index 147deaf02b..57400e08e7 100644 --- a/apps/mobile/src/i18n/locales/sr.json +++ b/apps/mobile/src/i18n/locales/sr.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub je povezan", "noRepositoriesVisible": "Nema vidljivih repozitorijuma. Proveri pristup repozitorijumu za Kilo GitHub aplikaciju, a zatim osveži.", "runOnWithTarget": "Pokreni na: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Okruženje", "couldNotLoadEnvironment": "Tvoje okruženje se ne može učitati", "retryLoadingEnvironment": "Pokušaj ponovo učitavanje okruženja", diff --git a/apps/mobile/src/i18n/locales/sv.json b/apps/mobile/src/i18n/locales/sv.json index 21ea1daecb..ece41594ff 100644 --- a/apps/mobile/src/i18n/locales/sv.json +++ b/apps/mobile/src/i18n/locales/sv.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub ansluten", "noRepositoriesVisible": "Inga arkiv synliga. Kontrollera arkivåtkomsten för Kilo GitHub App och uppdatera sedan.", "runOnWithTarget": "Kör på: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Miljö", "couldNotLoadEnvironment": "Kunde inte läsa in din miljö", "retryLoadingEnvironment": "Försök läsa in miljön igen", diff --git a/apps/mobile/src/i18n/locales/sw.json b/apps/mobile/src/i18n/locales/sw.json index 9db1fbac31..f78cf90a38 100644 --- a/apps/mobile/src/i18n/locales/sw.json +++ b/apps/mobile/src/i18n/locales/sw.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub imeunganishwa", "noRepositoriesVisible": "Hakuna hazina zinazoonekana. Angalia ufikiaji wa hazina kwa Kilo GitHub App, kisha sasisha.", "runOnWithTarget": "Endesha kwenye: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Mazingira", "couldNotLoadEnvironment": "Haikuweza kupakia mazingira yako", "retryLoadingEnvironment": "Jaribu tena kupakia mazingira", diff --git a/apps/mobile/src/i18n/locales/ta.json b/apps/mobile/src/i18n/locales/ta.json index 1bdb218fde..51f4ac2e7b 100644 --- a/apps/mobile/src/i18n/locales/ta.json +++ b/apps/mobile/src/i18n/locales/ta.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub இணைக்கப்பட்டது", "noRepositoriesVisible": "களஞ்சியங்கள் தெரியவில்லை. Kilo GitHub App க்கான களஞ்சிய அணுகலைச் சரிபார்த்து, பின்னர் புதுப்பிக்கவும்.", "runOnWithTarget": "இதில் இயக்கு: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "சூழல்", "couldNotLoadEnvironment": "உங்கள் சூழலை ஏற்ற முடியவில்லை", "retryLoadingEnvironment": "சூழலை ஏற்றுவதை மீண்டும் முயற்சி செய்", diff --git a/apps/mobile/src/i18n/locales/te.json b/apps/mobile/src/i18n/locales/te.json index d08fbf2b0b..e724cc25eb 100644 --- a/apps/mobile/src/i18n/locales/te.json +++ b/apps/mobile/src/i18n/locales/te.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub కనెక్ట్ అయింది", "noRepositoriesVisible": "రిపోజిటరీలు కనిపించడం లేదు. Kilo GitHub App కోసం రిపోజిటరీ యాక్సెస్‌ను తనిఖీ చేయండి, ఆపై రిఫ్రెష్ చేయండి.", "runOnWithTarget": "అమలు చేయండి: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "ఎన్విరాన్మెంట్", "couldNotLoadEnvironment": "మీ ఎన్విరాన్మెంట్‌ను లోడ్ చేయలేకపోయింది", "retryLoadingEnvironment": "ఎన్విరాన్మెంట్ లోడింగ్ మళ్ళీ ప్రయత్నించండి", diff --git a/apps/mobile/src/i18n/locales/th.json b/apps/mobile/src/i18n/locales/th.json index ee3a122573..4292e420b1 100644 --- a/apps/mobile/src/i18n/locales/th.json +++ b/apps/mobile/src/i18n/locales/th.json @@ -1794,7 +1794,7 @@ "githubConnected": "เชื่อมต่อ GitHub แล้ว", "noRepositoriesVisible": "ไม่มี repositories ที่มองเห็น ตรวจสอบสิทธิ์การเข้าถึง repository สำหรับ Kilo GitHub App แล้วรีเฟรช", "runOnWithTarget": "รันบน: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "สภาพแวดล้อม", "couldNotLoadEnvironment": "ไม่สามารถโหลดสภาพแวดล้อมของคุณได้", "retryLoadingEnvironment": "ลองโหลดสภาพแวดล้อมใหม่", diff --git a/apps/mobile/src/i18n/locales/tr.json b/apps/mobile/src/i18n/locales/tr.json index 26327ebbc6..df78341e97 100644 --- a/apps/mobile/src/i18n/locales/tr.json +++ b/apps/mobile/src/i18n/locales/tr.json @@ -1422,7 +1422,7 @@ "githubConnected": "GitHub bağlandı", "noRepositoriesVisible": "Görünür depo yok. Kilo GitHub Uygulaması için depo erişimini kontrol edin, ardından yenileyin.", "runOnWithTarget": "Çalıştırma yeri: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Ortam", "couldNotLoadEnvironment": "Ortamınız yüklenemedi", "retryLoadingEnvironment": "Ortamı yüklemeyi tekrar dene", diff --git a/apps/mobile/src/i18n/locales/uk.json b/apps/mobile/src/i18n/locales/uk.json index 35e4d3b147..fb3fd4482a 100644 --- a/apps/mobile/src/i18n/locales/uk.json +++ b/apps/mobile/src/i18n/locales/uk.json @@ -1422,7 +1422,7 @@ "githubConnected": "GitHub підключено", "noRepositoriesVisible": "Репозиторіїв не видно. Перевірте доступ до репозиторіїв для застосунку Kilo GitHub, потім оновіть.", "runOnWithTarget": "Запустити на: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Середовище", "couldNotLoadEnvironment": "Не вдалося завантажити ваше середовище", "retryLoadingEnvironment": "Повторити завантаження середовища", diff --git a/apps/mobile/src/i18n/locales/ur.json b/apps/mobile/src/i18n/locales/ur.json index 30660d8282..924506decf 100644 --- a/apps/mobile/src/i18n/locales/ur.json +++ b/apps/mobile/src/i18n/locales/ur.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub جڑ گیا", "noRepositoriesVisible": "کوئی ریپوزٹری نظر نہیں آتی۔ Kilo GitHub App کے لیے ریپوزٹری رسائی چیک کریں، پھر تازہ کریں۔", "runOnWithTarget": "چلائیں: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "ماحول", "couldNotLoadEnvironment": "آپ کا ماحول لوڈ نہیں ہو سکا", "retryLoadingEnvironment": "ماحول لوڈ کرنا دوبارہ آزمائیں", diff --git a/apps/mobile/src/i18n/locales/uz.json b/apps/mobile/src/i18n/locales/uz.json index 224d06fd5a..17b26ce87d 100644 --- a/apps/mobile/src/i18n/locales/uz.json +++ b/apps/mobile/src/i18n/locales/uz.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub ulandi", "noRepositoriesVisible": "Ko'rinadigan repozitoriyalar yo'q. Kilo GitHub App'i uchun repozitoriya kirishini tekshiring, so'ng yangilang.", "runOnWithTarget": "Yurgizish: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Muhit", "couldNotLoadEnvironment": "Muhitingizni yuklab bo'lmadi", "retryLoadingEnvironment": "Muhitni yuklashni qayta urinish", diff --git a/apps/mobile/src/i18n/locales/vi.json b/apps/mobile/src/i18n/locales/vi.json index a19222ebcd..631a92179d 100644 --- a/apps/mobile/src/i18n/locales/vi.json +++ b/apps/mobile/src/i18n/locales/vi.json @@ -1422,7 +1422,7 @@ "githubConnected": "Đã kết nối GitHub", "noRepositoriesVisible": "Không thấy kho lưu trữ nào. Kiểm tra quyền truy cập kho lưu trữ cho ứng dụng Kilo GitHub, sau đó làm mới.", "runOnWithTarget": "Chạy trên: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Môi trường", "couldNotLoadEnvironment": "Không thể tải môi trường của bạn", "retryLoadingEnvironment": "Thử tải lại môi trường", diff --git a/apps/mobile/src/i18n/locales/yo.json b/apps/mobile/src/i18n/locales/yo.json index d25c8c2c9a..1094b6bb63 100644 --- a/apps/mobile/src/i18n/locales/yo.json +++ b/apps/mobile/src/i18n/locales/yo.json @@ -1794,7 +1794,7 @@ "githubConnected": "GitHub ti sopọ", "noRepositoriesVisible": "Ko si awọn ibi ipamọ ti o han. Ṣayẹwo iraye ibi ipamọ fun Kilo GitHub App, lẹhinna tun ṣe.", "runOnWithTarget": "Ṣiṣẹ lori: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Ayika", "couldNotLoadEnvironment": "Ko le ṣe ikojọpọ ayika rẹ", "retryLoadingEnvironment": "Tun gbiyanju ikojọpọ ayika", diff --git a/apps/mobile/src/i18n/locales/zh-Hans.json b/apps/mobile/src/i18n/locales/zh-Hans.json index 743601c997..377654b0d3 100644 --- a/apps/mobile/src/i18n/locales/zh-Hans.json +++ b/apps/mobile/src/i18n/locales/zh-Hans.json @@ -1422,7 +1422,7 @@ "githubConnected": "GitHub 已连接", "noRepositoriesVisible": "看不到任何仓库。请检查 Kilo GitHub App 的仓库访问权限,然后刷新。", "runOnWithTarget": "运行于:{{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "环境", "couldNotLoadEnvironment": "无法加载您的环境", "retryLoadingEnvironment": "重试加载环境", diff --git a/apps/mobile/src/i18n/locales/zh-Hant.json b/apps/mobile/src/i18n/locales/zh-Hant.json index ace46cfb59..09584a5135 100644 --- a/apps/mobile/src/i18n/locales/zh-Hant.json +++ b/apps/mobile/src/i18n/locales/zh-Hant.json @@ -1422,7 +1422,7 @@ "githubConnected": "GitHub 已連接", "noRepositoriesVisible": "看不到任何存放庫。請檢查 Kilo GitHub App 的存放庫存取權限,然後重新整理。", "runOnWithTarget": "執行於:{{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "環境", "couldNotLoadEnvironment": "無法載入您的環境", "retryLoadingEnvironment": "重試載入環境", diff --git a/apps/mobile/src/i18n/locales/zu.json b/apps/mobile/src/i18n/locales/zu.json index ce168506d1..7ea36bc433 100644 --- a/apps/mobile/src/i18n/locales/zu.json +++ b/apps/mobile/src/i18n/locales/zu.json @@ -1794,7 +1794,7 @@ "githubConnected": "I-GitHub ixhunyiwe", "noRepositoriesVisible": "Akukho ma-repository abonakalayo. Bheka ukufinyelela kwe-repository ye-Kilo GitHub App, bese uvuselela.", "runOnWithTarget": "Sebenza ku: {{target}}", - "remoteHint": "Run `kilo remote` on your computer to control a local kilo process.", + "remoteHint": "Run `kilo remote` on your computer, or `/remote` in a running CLI session, to control a local kilo process.", "environment": "Imvelo", "couldNotLoadEnvironment": "Akukwazanga ukulayisha imvelo yakho", "retryLoadingEnvironment": "Zama ukulayisha imvelo futhi", From a524c77bdcd5adbd2ceeef95305c879dd01a1b81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Igor=20=C5=A0=C4=87eki=C4=87?= Date: Tue, 25 Aug 2026 12:45:46 +0200 Subject: [PATCH 06/13] fix(mobile,extension): use the real cloud agent prompt cap The mobile and extension composers capped the prompt at 4000 characters. The cloud agent accepts 100000 (`Limits.MAX_PROMPT_LENGTH` in `services/cloud-agent-next/src/schema.ts`), and the web composer already uses that number. On mobile the cap sat on the native `TextInput`, so a long paste lost its tail with no toast and no counter. The cap now lives once in `@kilocode/cloud-agent-sdk/limits`. The web constant re-exports it, and mobile and the extension import it in place of the copied literal. --- .../entrypoints/sidepanel/agents-new-session.test.ts | 5 +++-- .../entrypoints/sidepanel/agents-new-session.tsx | 3 ++- .../src/components/agents/chat-composer-input-row.tsx | 3 ++- apps/mobile/src/components/agents/chat-composer.tsx | 7 ++++--- .../src/components/agents/new-session-prompt.tsx | 3 ++- apps/mobile/src/lib/share-payload.ts | 5 +++-- apps/web/src/lib/cloud-agent/constants.ts | 10 +++------- packages/cloud-agent-sdk/src/limits.ts | 8 ++++++++ 8 files changed, 27 insertions(+), 17 deletions(-) create mode 100644 packages/cloud-agent-sdk/src/limits.ts diff --git a/apps/extension/entrypoints/sidepanel/agents-new-session.test.ts b/apps/extension/entrypoints/sidepanel/agents-new-session.test.ts index 77ad8b2d87..5c88e09614 100644 --- a/apps/extension/entrypoints/sidepanel/agents-new-session.test.ts +++ b/apps/extension/entrypoints/sidepanel/agents-new-session.test.ts @@ -1,3 +1,4 @@ +import { CLOUD_AGENT_PROMPT_MAX_LENGTH } from '@kilocode/cloud-agent-sdk/limits'; import { describe, expect, it, vi } from 'vitest'; import { @@ -73,8 +74,8 @@ describe('constants', () => { expect(PROMPT_MIN_LENGTH).toBe(3); }); - it('promptMaxLength is 4000', () => { - expect(PROMPT_MAX_LENGTH).toBe(4000); + it('promptMaxLength is the shared cloud agent prompt cap', () => { + expect(PROMPT_MAX_LENGTH).toBe(CLOUD_AGENT_PROMPT_MAX_LENGTH); }); it('mode is "code"', () => { diff --git a/apps/extension/entrypoints/sidepanel/agents-new-session.tsx b/apps/extension/entrypoints/sidepanel/agents-new-session.tsx index 96869881d5..2395304f52 100644 --- a/apps/extension/entrypoints/sidepanel/agents-new-session.tsx +++ b/apps/extension/entrypoints/sidepanel/agents-new-session.tsx @@ -32,6 +32,7 @@ import { fetchModelPreferences } from '@/src/shared/model-preferences-client'; import { isGatewayModelId } from '@/src/shared/model-picker-rows'; import { getModelPreferencesQueryKey } from '@/src/shared/side-panel-query-options'; import { thinkingEffortLabel } from '@/src/shared/kilo-api-client'; +import { CLOUD_AGENT_PROMPT_MAX_LENGTH } from '@kilocode/cloud-agent-sdk/limits'; import type { KiloGatewayModelOption } from '@/src/shared/kilo-api-client'; import { useExtensionAgents } from './agents-provider'; import { activeSessionsQueryKey, sessionHistoryQueryKey } from './agents-session-list'; @@ -43,7 +44,7 @@ import { useGatewayModels } from './use-gateway-models'; // --------------------------------------------------------------------------- const PROMPT_MIN_LENGTH = 3; -const PROMPT_MAX_LENGTH = 4000; +const PROMPT_MAX_LENGTH = CLOUD_AGENT_PROMPT_MAX_LENGTH; const MODE = 'code' as const; /** diff --git a/apps/mobile/src/components/agents/chat-composer-input-row.tsx b/apps/mobile/src/components/agents/chat-composer-input-row.tsx index edbe988e10..9b878c3949 100644 --- a/apps/mobile/src/components/agents/chat-composer-input-row.tsx +++ b/apps/mobile/src/components/agents/chat-composer-input-row.tsx @@ -1,4 +1,5 @@ import { ArrowUp, Paperclip, Square } from '@/components/ui/icons'; +import { CLOUD_AGENT_PROMPT_MAX_LENGTH } from '@kilocode/cloud-agent-sdk/limits'; import { type RefObject } from 'react'; import { useTranslation } from 'react-i18next'; import { @@ -119,7 +120,7 @@ export function ChatComposerInputRow({ placeholder={placeholder} placeholderTextColor={colors.mutedForeground} multiline - maxLength={4000} + maxLength={CLOUD_AGENT_PROMPT_MAX_LENGTH} onChangeText={onChangeText} onFocus={onInputFocus} onBlur={onInputBlur} diff --git a/apps/mobile/src/components/agents/chat-composer.tsx b/apps/mobile/src/components/agents/chat-composer.tsx index 3824d3bdbe..4d4b3d7cf2 100644 --- a/apps/mobile/src/components/agents/chat-composer.tsx +++ b/apps/mobile/src/components/agents/chat-composer.tsx @@ -6,6 +6,7 @@ import * as Haptics from 'expo-haptics'; import { useActionSheet } from '@expo/react-native-action-sheet'; import { type SlashCommandInfo } from '@kilocode/cloud-agent-sdk'; +import { CLOUD_AGENT_PROMPT_MAX_LENGTH } from '@kilocode/cloud-agent-sdk/limits'; import { type RemoteCommandState } from '@kilocode/cloud-agent-sdk/remote-command-catalog'; import { type Ref, @@ -474,7 +475,7 @@ export function ChatComposer({ useSharePrefill({ shareId, inputRef, - maxLength: 4000, + maxLength: CLOUD_AGENT_PROMPT_MAX_LENGTH, onChangeText: handleChangeText, addCandidates, onDelivered: () => { @@ -500,7 +501,7 @@ export function ChatComposer({ applyVoiceDraftToInput({ input: inputRef.current, draft, - maxLength: 4000, + maxLength: CLOUD_AGENT_PROMPT_MAX_LENGTH, onChangeText: handleChangeText, }); }, @@ -537,7 +538,7 @@ export function ChatComposer({ input: inputRef.current, draft: textRef.current, selection: selectionRef.current, - maxLength: 4000, + maxLength: CLOUD_AGENT_PROMPT_MAX_LENGTH, onChangeText: handleChangeText, }); }, diff --git a/apps/mobile/src/components/agents/new-session-prompt.tsx b/apps/mobile/src/components/agents/new-session-prompt.tsx index 3b72185977..2c536b145f 100644 --- a/apps/mobile/src/components/agents/new-session-prompt.tsx +++ b/apps/mobile/src/components/agents/new-session-prompt.tsx @@ -1,3 +1,4 @@ +import { CLOUD_AGENT_PROMPT_MAX_LENGTH } from '@kilocode/cloud-agent-sdk/limits'; import { useCallback, useEffect, useRef, useState } from 'react'; import { type LayoutChangeEvent, @@ -45,7 +46,7 @@ const PROMPT_INPUT_LINE_HEIGHT = 24; const PROMPT_INPUT_VERTICAL_PADDING = 16; const PROMPT_INPUT_HORIZONTAL_PADDING = Platform.OS === 'android' ? 48 : 16; const PROMPT_INPUT_ANDROID_HORIZONTAL_INSET = 24; -const PROMPT_INPUT_MAX_CHARS = 4000; +const PROMPT_INPUT_MAX_CHARS = CLOUD_AGENT_PROMPT_MAX_LENGTH; const PROMPT_INPUT_MIN_HEIGHT = PROMPT_INPUT_LINE_HEIGHT * PROMPT_INPUT_DEFAULT_LINES + PROMPT_INPUT_VERTICAL_PADDING; const PROMPT_INPUT_MAX_HEIGHT = diff --git a/apps/mobile/src/lib/share-payload.ts b/apps/mobile/src/lib/share-payload.ts index 595d4ad490..9a46e03901 100644 --- a/apps/mobile/src/lib/share-payload.ts +++ b/apps/mobile/src/lib/share-payload.ts @@ -1,3 +1,4 @@ +import { CLOUD_AGENT_PROMPT_MAX_LENGTH } from '@kilocode/cloud-agent-sdk/limits'; import * as Crypto from 'expo-crypto'; import { cacheDirectory, copyAsync, deleteAsync } from 'expo-file-system/legacy'; import { type ShareIntent } from 'expo-share-intent'; @@ -13,8 +14,8 @@ export type SharePayload = { failedFiles: string[]; }; -/** Mirrors PROMPT_INPUT_MAX_CHARS in new-session-prompt.tsx (module-local; composer clamps again). */ -export const SHARE_TEXT_MAX_CHARS = 4000; +/** The cloud agent prompt cap; the composer clamps again on delivery. */ +export const SHARE_TEXT_MAX_CHARS = CLOUD_AGENT_PROMPT_MAX_LENGTH; export const SHARE_PAYLOAD_MAX_ENTRIES = 5; diff --git a/apps/web/src/lib/cloud-agent/constants.ts b/apps/web/src/lib/cloud-agent/constants.ts index 3e5c5fe9b9..cb88aea974 100644 --- a/apps/web/src/lib/cloud-agent/constants.ts +++ b/apps/web/src/lib/cloud-agent/constants.ts @@ -178,11 +178,7 @@ export function normalizeAttachmentExtension(extension: string | undefined | nul export type { CloudAgentAttachments } from '@kilocode/app-shared/cloud-agent'; /** - * Maximum prompt length (in characters) accepted by the cloud agent. - * - * Mirrors the server-side cap in `services/cloud-agent-next/src/schema.ts` - * (`Limits.MAX_PROMPT_LENGTH`). Prompts exceeding this would be rejected by - * the worker, so we enforce the same limit client-side to give users - * immediate feedback. + * Maximum prompt length (in characters) accepted by the cloud agent. Defined + * once in the SDK so the web, mobile, and extension composers share it. */ -export const CLOUD_AGENT_PROMPT_MAX_LENGTH = 100_000; +export { CLOUD_AGENT_PROMPT_MAX_LENGTH } from '@kilocode/cloud-agent-sdk/limits'; diff --git a/packages/cloud-agent-sdk/src/limits.ts b/packages/cloud-agent-sdk/src/limits.ts new file mode 100644 index 0000000000..e41f2601a3 --- /dev/null +++ b/packages/cloud-agent-sdk/src/limits.ts @@ -0,0 +1,8 @@ +/** + * Maximum prompt length (in characters) accepted by the cloud agent. + * + * Mirrors the server-side cap in `services/cloud-agent-next/src/schema.ts` + * (`Limits.MAX_PROMPT_LENGTH`). Every client enforces the same limit so a + * composer never silently drops text the worker would have accepted. + */ +export const CLOUD_AGENT_PROMPT_MAX_LENGTH = 100_000; From 5f9e024286b3e85dd99d4184e282e98b830c5626 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Igor=20=C5=A0=C4=87eki=C4=87?= Date: Tue, 25 Aug 2026 12:55:55 +0200 Subject: [PATCH 07/13] fix(mobile): mock the new PR-review footer preference in sign-out and preferences tests The preference hook was unmocked, so both tests loaded the real react-native graph and failed on module resolution. Also formats the remote-hint test line. --- .../components/agents/new-session-configure-form.test.ts | 8 ++++++-- .../src/components/preferences-screen.mounted.test.tsx | 8 ++++++++ apps/mobile/src/lib/auth/credentials.test.ts | 3 +++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/apps/mobile/src/components/agents/new-session-configure-form.test.ts b/apps/mobile/src/components/agents/new-session-configure-form.test.ts index cf30f7bf8d..a296fdac63 100644 --- a/apps/mobile/src/components/agents/new-session-configure-form.test.ts +++ b/apps/mobile/src/components/agents/new-session-configure-form.test.ts @@ -559,7 +559,9 @@ describe('NewSessionConfigureForm', () => { runOnInstance: null, showRunOnSelector: true, }) as Node; - expect(findTextContent(cloud, t => t.includes('kilo remote') && t.includes('/remote'))).toBe(true); + expect(findTextContent(cloud, t => t.includes('kilo remote') && t.includes('/remote'))).toBe( + true + ); // eslint-disable-next-line new-cap -- plain function call, matching repo test convention const remote = NewSessionConfigureForm({ @@ -567,6 +569,8 @@ describe('NewSessionConfigureForm', () => { runOnInstance: INSTANCE, showRunOnSelector: false, }) as Node; - expect(findTextContent(remote, t => t.includes('kilo remote') && t.includes('/remote'))).toBe(true); + expect(findTextContent(remote, t => t.includes('kilo remote') && t.includes('/remote'))).toBe( + true + ); }); }); diff --git a/apps/mobile/src/components/preferences-screen.mounted.test.tsx b/apps/mobile/src/components/preferences-screen.mounted.test.tsx index 2eaebc9f68..399a1c0321 100644 --- a/apps/mobile/src/components/preferences-screen.mounted.test.tsx +++ b/apps/mobile/src/components/preferences-screen.mounted.test.tsx @@ -17,6 +17,7 @@ vi.mock('@/components/ui/icons', () => ({ Bell: 'Bell', Brain: 'Brain', Globe: 'Globe', + MessageSquare: 'MessageSquare', Smartphone: 'Smartphone', })); vi.mock('@/components/language-picker-sheet', () => ({ @@ -44,6 +45,13 @@ vi.mock('@/lib/hooks/use-keep-screen-on-preference', () => ({ setKeepScreenOn: vi.fn(), }), })); +vi.mock('@/lib/hooks/use-pr-review-footer-preference', () => ({ + usePrReviewFooterPreference: () => ({ + prReviewFooter: true, + hasLoaded: true, + setPrReviewFooter: vi.fn(), + }), +})); vi.mock('@/lib/hooks/use-reasoning-preference', () => ({ useReasoningPreference: () => ({ defaultExpanded: false, diff --git a/apps/mobile/src/lib/auth/credentials.test.ts b/apps/mobile/src/lib/auth/credentials.test.ts index b8a572b75c..df7048efb2 100644 --- a/apps/mobile/src/lib/auth/credentials.test.ts +++ b/apps/mobile/src/lib/auth/credentials.test.ts @@ -55,6 +55,9 @@ vi.mock('@/lib/hooks/use-persisted-agent-model', () => ({ clearAgentModelPrefere vi.mock('@/lib/hooks/use-keep-screen-on-preference', () => ({ clearKeepScreenOnPreference: vi.fn(), })); +vi.mock('@/lib/hooks/use-pr-review-footer-preference', () => ({ + clearPrReviewFooterPreference: vi.fn(), +})); vi.mock('@/lib/hooks/use-reasoning-preference', () => ({ clearReasoningPreference: vi.fn() })); vi.mock('@/lib/kiloclaw-tab-ownership', () => ({ gateKiloClawOwned: vi.fn(), From f300c751d7c2010488e191a8a02c4f63aa419c0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Igor=20=C5=A0=C4=87eki=C4=87?= Date: Tue, 25 Aug 2026 20:44:25 +0200 Subject: [PATCH 08/13] fix(mobile): center single-line input text, replace empty Live now slots The shared FormField sized itself with vertical padding. iOS insets the already-centered text rect of a single-line input by that padding, so the login placeholder and the typed email sat below the middle of the box. The field now takes its height from min-h-11 and carries no vertical padding. Home no longer pads the Live now section with three dashed cards. It shows one row per live session, and a single card that reads "Nothing running right now" when nothing is live. The loading skeleton drops to one slot to match. --- apps/mobile/AGENTS.md | 1 + .../home/agent-sessions-section.test.ts | 43 +++++++++++-------- .../home/agent-sessions-section.tsx | 39 ++++------------- .../src/components/home/home-screen.tsx | 8 ++-- apps/mobile/src/components/ui/form-field.tsx | 6 ++- apps/mobile/src/i18n/locales/af.json | 1 + apps/mobile/src/i18n/locales/am.json | 1 + apps/mobile/src/i18n/locales/ar.json | 1 + apps/mobile/src/i18n/locales/az.json | 1 + apps/mobile/src/i18n/locales/be.json | 1 + apps/mobile/src/i18n/locales/bg.json | 1 + apps/mobile/src/i18n/locales/bn.json | 1 + apps/mobile/src/i18n/locales/bs.json | 1 + apps/mobile/src/i18n/locales/ca.json | 1 + apps/mobile/src/i18n/locales/ckb.json | 1 + apps/mobile/src/i18n/locales/cs.json | 1 + apps/mobile/src/i18n/locales/cy.json | 1 + apps/mobile/src/i18n/locales/da.json | 1 + apps/mobile/src/i18n/locales/de.json | 1 + apps/mobile/src/i18n/locales/el.json | 1 + apps/mobile/src/i18n/locales/en.json | 1 + apps/mobile/src/i18n/locales/es.json | 1 + apps/mobile/src/i18n/locales/et.json | 1 + apps/mobile/src/i18n/locales/eu.json | 1 + apps/mobile/src/i18n/locales/fa.json | 1 + apps/mobile/src/i18n/locales/fi.json | 1 + apps/mobile/src/i18n/locales/fil.json | 1 + apps/mobile/src/i18n/locales/fr.json | 1 + apps/mobile/src/i18n/locales/ga.json | 1 + apps/mobile/src/i18n/locales/gl.json | 1 + apps/mobile/src/i18n/locales/gu.json | 1 + apps/mobile/src/i18n/locales/ha.json | 1 + apps/mobile/src/i18n/locales/he.json | 1 + apps/mobile/src/i18n/locales/hi.json | 1 + apps/mobile/src/i18n/locales/hr.json | 1 + apps/mobile/src/i18n/locales/ht.json | 1 + apps/mobile/src/i18n/locales/hu.json | 1 + apps/mobile/src/i18n/locales/hy.json | 1 + apps/mobile/src/i18n/locales/id.json | 1 + apps/mobile/src/i18n/locales/ig.json | 1 + apps/mobile/src/i18n/locales/is.json | 1 + apps/mobile/src/i18n/locales/it.json | 1 + apps/mobile/src/i18n/locales/ja.json | 1 + apps/mobile/src/i18n/locales/ka.json | 1 + apps/mobile/src/i18n/locales/kk.json | 1 + apps/mobile/src/i18n/locales/km.json | 1 + apps/mobile/src/i18n/locales/kn.json | 1 + apps/mobile/src/i18n/locales/ko.json | 1 + apps/mobile/src/i18n/locales/lo.json | 1 + apps/mobile/src/i18n/locales/lt.json | 1 + apps/mobile/src/i18n/locales/lv.json | 1 + apps/mobile/src/i18n/locales/mg.json | 1 + apps/mobile/src/i18n/locales/mi.json | 1 + apps/mobile/src/i18n/locales/mk.json | 1 + apps/mobile/src/i18n/locales/ml.json | 1 + apps/mobile/src/i18n/locales/mn.json | 1 + apps/mobile/src/i18n/locales/mr.json | 1 + apps/mobile/src/i18n/locales/ms.json | 1 + apps/mobile/src/i18n/locales/mt.json | 1 + apps/mobile/src/i18n/locales/my.json | 1 + apps/mobile/src/i18n/locales/nb.json | 1 + apps/mobile/src/i18n/locales/ne.json | 1 + apps/mobile/src/i18n/locales/nl.json | 1 + apps/mobile/src/i18n/locales/om.json | 1 + apps/mobile/src/i18n/locales/or.json | 1 + apps/mobile/src/i18n/locales/pa.json | 1 + apps/mobile/src/i18n/locales/pl.json | 1 + apps/mobile/src/i18n/locales/ps.json | 1 + apps/mobile/src/i18n/locales/pt-BR.json | 1 + apps/mobile/src/i18n/locales/pt.json | 1 + apps/mobile/src/i18n/locales/ro.json | 1 + apps/mobile/src/i18n/locales/ru.json | 1 + apps/mobile/src/i18n/locales/si.json | 1 + apps/mobile/src/i18n/locales/sk.json | 1 + apps/mobile/src/i18n/locales/sl.json | 1 + apps/mobile/src/i18n/locales/so.json | 1 + apps/mobile/src/i18n/locales/sq.json | 1 + apps/mobile/src/i18n/locales/sr.json | 1 + apps/mobile/src/i18n/locales/sv.json | 1 + apps/mobile/src/i18n/locales/sw.json | 1 + apps/mobile/src/i18n/locales/ta.json | 1 + apps/mobile/src/i18n/locales/te.json | 1 + apps/mobile/src/i18n/locales/th.json | 1 + apps/mobile/src/i18n/locales/tr.json | 1 + apps/mobile/src/i18n/locales/uk.json | 1 + apps/mobile/src/i18n/locales/ur.json | 1 + apps/mobile/src/i18n/locales/uz.json | 1 + apps/mobile/src/i18n/locales/vi.json | 1 + apps/mobile/src/i18n/locales/yo.json | 1 + apps/mobile/src/i18n/locales/zh-Hans.json | 1 + apps/mobile/src/i18n/locales/zh-Hant.json | 1 + apps/mobile/src/i18n/locales/zu.json | 1 + 92 files changed, 129 insertions(+), 55 deletions(-) diff --git a/apps/mobile/AGENTS.md b/apps/mobile/AGENTS.md index 5e259f6f74..36d657321f 100644 --- a/apps/mobile/AGENTS.md +++ b/apps/mobile/AGENTS.md @@ -68,6 +68,7 @@ git diff --check - iOS: never control text with `value` plus state. Store text in a ref via `onChangeText`, use state only for derived UI, read the ref on submit. - Use `defaultValue` only for initial content. - Single-line inputs: use `leading-[normal]`. A `lineHeight` above the font's natural one (which `text-sm`/`text-base` set on their own) makes iOS draw the placeholder lower than the typed text and clip it. Multi-line inputs keep an explicit `leading-*`. +- Single-line inputs: set the height with `min-h-*`, not `py-*`. iOS insets the already-centered text rect by the padding, so vertical padding draws the text and the placeholder low. - Put input screens in a `ScrollView` with `automaticallyAdjustKeyboardInsets`. ## UI and UX Rules diff --git a/apps/mobile/src/components/home/agent-sessions-section.test.ts b/apps/mobile/src/components/home/agent-sessions-section.test.ts index 2a1f309913..c2e25dc057 100644 --- a/apps/mobile/src/components/home/agent-sessions-section.test.ts +++ b/apps/mobile/src/components/home/agent-sessions-section.test.ts @@ -20,12 +20,12 @@ vi.mock('@/components/agents/remote-session-row', () => ({ RemoteSessionRow: () => null, })); -vi.mock('@/components/agents/session-row', () => ({ - StoredSessionRow: () => null, +vi.mock('@/components/ui/text', () => ({ + Text: () => null, })); -vi.mock('@/components/ui/icons', () => ({ - Plus: () => null, +vi.mock('@/components/agents/session-row', () => ({ + StoredSessionRow: () => null, })); vi.mock('@/lib/hooks/use-agent-sessions', () => ({ @@ -69,53 +69,58 @@ function makeStored(over: Partial = {}): StoredSession { } describe('buildRows', () => { - it('yields three placeholders when there are no live sessions', () => { + it('yields no rows when there are no live sessions', () => { const rows = buildRows({ activeSessions: [], storedSessions: [], activeSessionIds: new Set(), }); - expect(rows).toHaveLength(3); - expect(rows.every(row => row.kind === 'placeholder')).toBe(true); - expect(rows.map(row => row.key)).toEqual(['placeholder:0', 'placeholder:1', 'placeholder:2']); + expect(rows).toEqual([]); }); - it('yields one live row and two placeholders for one active session', () => { + it('yields one row for one active session', () => { const active = makeActive(); const rows = buildRows({ activeSessions: [active], storedSessions: [], activeSessionIds: new Set([active.id]), }); - expect(rows).toHaveLength(3); - expect(rows.filter(row => row.kind === 'active')).toHaveLength(1); - expect(rows.filter(row => row.kind === 'placeholder')).toHaveLength(2); + expect(rows.map(row => row.key)).toEqual(['active:a1']); }); - it('yields three live rows and zero placeholders for three active sessions', () => { + it('caps the rows at three live sessions', () => { const activeSessions = [ makeActive({ id: 'a1' }), makeActive({ id: 'a2' }), makeActive({ id: 'a3' }), + makeActive({ id: 'a4' }), ]; const rows = buildRows({ activeSessions, storedSessions: [], - activeSessionIds: new Set(['a1', 'a2', 'a3']), + activeSessionIds: new Set(['a1', 'a2', 'a3', 'a4']), }); expect(rows).toHaveLength(3); - expect(rows.filter(row => row.kind === 'active')).toHaveLength(3); - expect(rows.filter(row => row.kind === 'placeholder')).toHaveLength(0); + expect(rows.every(row => row.kind === 'active')).toBe(true); }); - it('does not occupy a slot with an offline stored session', () => { + it('drops an offline stored session', () => { const offline = makeStored({ session_id: 'off1', created_on_platform: 'cloud-agent' }); const rows = buildRows({ activeSessions: [], storedSessions: [offline], activeSessionIds: new Set(), }); - expect(rows).toHaveLength(3); - expect(rows.every(row => row.kind === 'placeholder')).toBe(true); + expect(rows).toEqual([]); + }); + + it('keeps a live cloud-agent stored session', () => { + const live = makeStored({ session_id: 'on1', created_on_platform: 'cloud-agent' }); + const rows = buildRows({ + activeSessions: [], + storedSessions: [live], + activeSessionIds: new Set(['on1']), + }); + expect(rows.map(row => row.key)).toEqual(['stored:on1']); }); }); diff --git a/apps/mobile/src/components/home/agent-sessions-section.tsx b/apps/mobile/src/components/home/agent-sessions-section.tsx index 9cc8b2bbcf..c6368f60bf 100644 --- a/apps/mobile/src/components/home/agent-sessions-section.tsx +++ b/apps/mobile/src/components/home/agent-sessions-section.tsx @@ -1,20 +1,18 @@ import { type Href, useRouter } from 'expo-router'; import { useTranslation } from 'react-i18next'; -import { Pressable, View } from 'react-native'; +import { View } from 'react-native'; import { RemoteSessionRow } from '@/components/agents/remote-session-row'; -import { getNewAgentSessionPath } from '@/components/agents/session-list-routes'; import { expandPlatformFilter } from '@/components/agents/session-list-helpers'; import { StoredSessionRow } from '@/components/agents/session-row'; import { useAgentSessionNavigator } from '@/components/agents/use-agent-session-navigator'; import { SectionHeader } from '@/components/home/section-header'; -import { Plus } from '@/components/ui/icons'; +import { Text } from '@/components/ui/text'; import { type ActiveSession, type StoredSession, useAgentSessions, } from '@/lib/hooks/use-agent-sessions'; -import { useThemeColors } from '@/lib/hooks/use-theme-colors'; import { cn, parseTimestamp } from '@/lib/utils'; export const HOME_LIVE_SLOT_MIN_CLASS = 'min-h-[72px]'; @@ -32,10 +30,6 @@ type Row = key: string; kind: 'stored'; session: StoredSession; - } - | { - key: string; - kind: 'placeholder'; }; export function buildRows(params: { @@ -75,12 +69,6 @@ export function buildRows(params: { } } - // Fill the remaining slots with empty placeholders so Home always renders - // exactly three Live now slots. - while (rows.length < MAX_ROWS) { - rows.push({ key: `placeholder:${rows.length}`, kind: 'placeholder' }); - } - return rows; } @@ -108,10 +96,8 @@ export function AgentSessionsSection({ organizationId }: Readonly + {rows.length === 0 && } {rows.map(row => { - if (row.kind === 'placeholder') { - return ; - } if (row.kind === 'active') { const { session } = row; return ( @@ -159,28 +145,19 @@ export function AgentSessionsSection({ organizationId }: Readonly) { - const router = useRouter(); +function LiveNowEmpty() { const { t } = useTranslation(); - const colors = useThemeColors(); return ( - { - router.push(getNewAgentSessionPath(organizationId) as Href); - }} - className="flex-1 items-center justify-center py-[13px] pl-[18px] pr-3 active:opacity-70" - accessibilityRole="button" - accessibilityLabel={t('home.startNewAgentSession')} - > - - + + {t('home.noLiveSessions')} + ); } diff --git a/apps/mobile/src/components/home/home-screen.tsx b/apps/mobile/src/components/home/home-screen.tsx index 4e9a673328..589c529046 100644 --- a/apps/mobile/src/components/home/home-screen.tsx +++ b/apps/mobile/src/components/home/home-screen.tsx @@ -67,8 +67,8 @@ export function HomeScreen() { - - + {/* One slot: the loaded state is one row per live session, or a + single empty card, so a single skeleton avoids a jump. */} @@ -104,8 +104,8 @@ function renderSessionsOrError(params: { }) { // A stored-list failure blocks all sessions, so it wins. A cold active poll // failure is retryable but still hides the section until it recovers. - // Otherwise Home always renders the section, whose placeholders cover the - // empty Live-now state. + // Otherwise Home always renders the section, which shows an empty card when + // nothing is live. if (params.storedIsError) { return ( Date: Tue, 25 Aug 2026 20:49:24 +0200 Subject: [PATCH 09/13] fix(mobile): drop the unused Live now placeholder label key The empty Live now card replaced the plus placeholders, so home.startNewAgentSession has no source use and check-catalogs fails. Remove the key from every locale. --- apps/mobile/src/i18n/locales/af.json | 1 - apps/mobile/src/i18n/locales/am.json | 1 - apps/mobile/src/i18n/locales/ar.json | 1 - apps/mobile/src/i18n/locales/az.json | 1 - apps/mobile/src/i18n/locales/be.json | 1 - apps/mobile/src/i18n/locales/bg.json | 1 - apps/mobile/src/i18n/locales/bn.json | 1 - apps/mobile/src/i18n/locales/bs.json | 1 - apps/mobile/src/i18n/locales/ca.json | 1 - apps/mobile/src/i18n/locales/ckb.json | 1 - apps/mobile/src/i18n/locales/cs.json | 1 - apps/mobile/src/i18n/locales/cy.json | 1 - apps/mobile/src/i18n/locales/da.json | 1 - apps/mobile/src/i18n/locales/de.json | 1 - apps/mobile/src/i18n/locales/el.json | 1 - apps/mobile/src/i18n/locales/en.json | 1 - apps/mobile/src/i18n/locales/es.json | 1 - apps/mobile/src/i18n/locales/et.json | 1 - apps/mobile/src/i18n/locales/eu.json | 1 - apps/mobile/src/i18n/locales/fa.json | 1 - apps/mobile/src/i18n/locales/fi.json | 1 - apps/mobile/src/i18n/locales/fil.json | 1 - apps/mobile/src/i18n/locales/fr.json | 1 - apps/mobile/src/i18n/locales/ga.json | 1 - apps/mobile/src/i18n/locales/gl.json | 1 - apps/mobile/src/i18n/locales/gu.json | 1 - apps/mobile/src/i18n/locales/ha.json | 1 - apps/mobile/src/i18n/locales/he.json | 1 - apps/mobile/src/i18n/locales/hi.json | 1 - apps/mobile/src/i18n/locales/hr.json | 1 - apps/mobile/src/i18n/locales/ht.json | 1 - apps/mobile/src/i18n/locales/hu.json | 1 - apps/mobile/src/i18n/locales/hy.json | 1 - apps/mobile/src/i18n/locales/id.json | 1 - apps/mobile/src/i18n/locales/ig.json | 1 - apps/mobile/src/i18n/locales/is.json | 1 - apps/mobile/src/i18n/locales/it.json | 1 - apps/mobile/src/i18n/locales/ja.json | 1 - apps/mobile/src/i18n/locales/ka.json | 1 - apps/mobile/src/i18n/locales/kk.json | 1 - apps/mobile/src/i18n/locales/km.json | 1 - apps/mobile/src/i18n/locales/kn.json | 1 - apps/mobile/src/i18n/locales/ko.json | 1 - apps/mobile/src/i18n/locales/lo.json | 1 - apps/mobile/src/i18n/locales/lt.json | 1 - apps/mobile/src/i18n/locales/lv.json | 1 - apps/mobile/src/i18n/locales/mg.json | 1 - apps/mobile/src/i18n/locales/mi.json | 1 - apps/mobile/src/i18n/locales/mk.json | 1 - apps/mobile/src/i18n/locales/ml.json | 1 - apps/mobile/src/i18n/locales/mn.json | 1 - apps/mobile/src/i18n/locales/mr.json | 1 - apps/mobile/src/i18n/locales/ms.json | 1 - apps/mobile/src/i18n/locales/mt.json | 1 - apps/mobile/src/i18n/locales/my.json | 1 - apps/mobile/src/i18n/locales/nb.json | 1 - apps/mobile/src/i18n/locales/ne.json | 1 - apps/mobile/src/i18n/locales/nl.json | 1 - apps/mobile/src/i18n/locales/om.json | 1 - apps/mobile/src/i18n/locales/or.json | 1 - apps/mobile/src/i18n/locales/pa.json | 1 - apps/mobile/src/i18n/locales/pl.json | 1 - apps/mobile/src/i18n/locales/ps.json | 1 - apps/mobile/src/i18n/locales/pt-BR.json | 1 - apps/mobile/src/i18n/locales/pt.json | 1 - apps/mobile/src/i18n/locales/ro.json | 1 - apps/mobile/src/i18n/locales/ru.json | 1 - apps/mobile/src/i18n/locales/si.json | 1 - apps/mobile/src/i18n/locales/sk.json | 1 - apps/mobile/src/i18n/locales/sl.json | 1 - apps/mobile/src/i18n/locales/so.json | 1 - apps/mobile/src/i18n/locales/sq.json | 1 - apps/mobile/src/i18n/locales/sr.json | 1 - apps/mobile/src/i18n/locales/sv.json | 1 - apps/mobile/src/i18n/locales/sw.json | 1 - apps/mobile/src/i18n/locales/ta.json | 1 - apps/mobile/src/i18n/locales/te.json | 1 - apps/mobile/src/i18n/locales/th.json | 1 - apps/mobile/src/i18n/locales/tr.json | 1 - apps/mobile/src/i18n/locales/uk.json | 1 - apps/mobile/src/i18n/locales/ur.json | 1 - apps/mobile/src/i18n/locales/uz.json | 1 - apps/mobile/src/i18n/locales/vi.json | 1 - apps/mobile/src/i18n/locales/yo.json | 1 - apps/mobile/src/i18n/locales/zh-Hans.json | 1 - apps/mobile/src/i18n/locales/zh-Hant.json | 1 - apps/mobile/src/i18n/locales/zu.json | 1 - 87 files changed, 87 deletions(-) diff --git a/apps/mobile/src/i18n/locales/af.json b/apps/mobile/src/i18n/locales/af.json index ab8f44c0bd..bde6e4248c 100644 --- a/apps/mobile/src/i18n/locales/af.json +++ b/apps/mobile/src/i18n/locales/af.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Kon nie aktiewe sessies laai nie", "agentSessions": "Agentsessies", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Begin 'n nuwe Kilo Agent-sessie", "newCodingTask": "Nuwe koderingstaak", "explore": "Verken", "seeAll": "Sien alles", diff --git a/apps/mobile/src/i18n/locales/am.json b/apps/mobile/src/i18n/locales/am.json index fe16c652ce..5dc02422a3 100644 --- a/apps/mobile/src/i18n/locales/am.json +++ b/apps/mobile/src/i18n/locales/am.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "ንቁ ክፍለ-ጊዜዎችን መጫን አልተቻለም", "agentSessions": "የወኪል ክፍለ-ጊዜዎች", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "አዲስ የKilo Agent ክፍለ-ጊዜ ይጀምሩ", "newCodingTask": "አዲስ የኮዲንግ ተግባር", "explore": "ይቃኙ", "seeAll": "ሁሉንም ይመልከቱ", diff --git a/apps/mobile/src/i18n/locales/ar.json b/apps/mobile/src/i18n/locales/ar.json index 9c5c219b26..6fd19d8801 100644 --- a/apps/mobile/src/i18n/locales/ar.json +++ b/apps/mobile/src/i18n/locales/ar.json @@ -1915,7 +1915,6 @@ "couldNotLoadActiveSessions": "تعذّر تحميل الجلسات النشطة", "agentSessions": "جلسات الوكيل", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "بدء جلسة Kilo Agent جديدة", "newCodingTask": "مهمة برمجة جديدة", "explore": "استكشف", "seeAll": "عرض الكل", diff --git a/apps/mobile/src/i18n/locales/az.json b/apps/mobile/src/i18n/locales/az.json index 4f7637749d..17ed92e29e 100644 --- a/apps/mobile/src/i18n/locales/az.json +++ b/apps/mobile/src/i18n/locales/az.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Aktiv sessiyalar yüklənə bilmədi", "agentSessions": "Agent sessiyaları", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Yeni Kilo Agent sessiyasına başla", "newCodingTask": "Yeni kodlaşdırma tapşırığı", "explore": "Kəşf et", "seeAll": "Hamısına bax", diff --git a/apps/mobile/src/i18n/locales/be.json b/apps/mobile/src/i18n/locales/be.json index 38e6806d17..2cefaf28fd 100644 --- a/apps/mobile/src/i18n/locales/be.json +++ b/apps/mobile/src/i18n/locales/be.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Не ўдалося загрузіць актыўныя сеансы", "agentSessions": "Сеансы агента", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Пачаць новы сеанс агента Kilo", "newCodingTask": "Новая задача праграмавання", "explore": "Даследаваць", "seeAll": "Паказаць усё", diff --git a/apps/mobile/src/i18n/locales/bg.json b/apps/mobile/src/i18n/locales/bg.json index 184f9b56f0..9dd7b9400b 100644 --- a/apps/mobile/src/i18n/locales/bg.json +++ b/apps/mobile/src/i18n/locales/bg.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Не можаха да се заредят активните сесии", "agentSessions": "Агентни сесии", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Започнете нова сесия на Kilo Agent", "newCodingTask": "Нова задача за кодиране", "explore": "Разгледайте", "seeAll": "Вижте всички", diff --git a/apps/mobile/src/i18n/locales/bn.json b/apps/mobile/src/i18n/locales/bn.json index 2b7cbf677c..8f5e91eea8 100644 --- a/apps/mobile/src/i18n/locales/bn.json +++ b/apps/mobile/src/i18n/locales/bn.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "সক্রিয় সেশন লোড করা যায়নি", "agentSessions": "এজেন্ট সেশন", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "একটি নতুন Kilo Agent সেশন শুরু করুন", "newCodingTask": "নতুন কোডিং কাজ", "explore": "অন্বেষণ", "seeAll": "সব দেখুন", diff --git a/apps/mobile/src/i18n/locales/bs.json b/apps/mobile/src/i18n/locales/bs.json index 88f39ada5b..299e9d9ad4 100644 --- a/apps/mobile/src/i18n/locales/bs.json +++ b/apps/mobile/src/i18n/locales/bs.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Aktivne sesije nisu mogle biti učitane", "agentSessions": "Sesije agenta", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Započni novu sesiju Kilo Agenta", "newCodingTask": "Novi zadatak kodiranja", "explore": "Istraži", "seeAll": "Pogledaj sve", diff --git a/apps/mobile/src/i18n/locales/ca.json b/apps/mobile/src/i18n/locales/ca.json index f98e449abf..645e596d45 100644 --- a/apps/mobile/src/i18n/locales/ca.json +++ b/apps/mobile/src/i18n/locales/ca.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "No s'han pogut carregar les sessions actives", "agentSessions": "Sessions d'agent", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Inicia una nova sessió d'agent Kilo", "newCodingTask": "Nova tasca de programació", "explore": "Explora", "seeAll": "Veure-ho tot", diff --git a/apps/mobile/src/i18n/locales/ckb.json b/apps/mobile/src/i18n/locales/ckb.json index 213d598a45..de516f5d40 100644 --- a/apps/mobile/src/i18n/locales/ckb.json +++ b/apps/mobile/src/i18n/locales/ckb.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "نەتوانرا دانیشتنە چالاکەکان باربکرێن", "agentSessions": "دانیشتنەکانی ئەجێنت", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "دەستپێکردنی دانیشتنێکی نوێی ئەجێنتی Kilo", "newCodingTask": "ئەرکی کۆدکردنی نوێ", "explore": "گەڕان", "seeAll": "بینینی هەموو", diff --git a/apps/mobile/src/i18n/locales/cs.json b/apps/mobile/src/i18n/locales/cs.json index d99e814356..b38549a18f 100644 --- a/apps/mobile/src/i18n/locales/cs.json +++ b/apps/mobile/src/i18n/locales/cs.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Aktivní relace se nepodařilo načíst", "agentSessions": "Relace agenta", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Zahájit novou relaci Kilo Agent", "newCodingTask": "Nový programovací úkol", "explore": "Prozkoumat", "seeAll": "Zobrazit vše", diff --git a/apps/mobile/src/i18n/locales/cy.json b/apps/mobile/src/i18n/locales/cy.json index a88e0c006e..2f76418826 100644 --- a/apps/mobile/src/i18n/locales/cy.json +++ b/apps/mobile/src/i18n/locales/cy.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Methwyd llwytho sesiynau gweithredol", "agentSessions": "Sesiynau asiant", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Dechrau sesiwn Kilo Agent newydd", "newCodingTask": "Tasg codio newydd", "explore": "Archwilio", "seeAll": "Gweld y cyfan", diff --git a/apps/mobile/src/i18n/locales/da.json b/apps/mobile/src/i18n/locales/da.json index ad2103211f..e068a1e90b 100644 --- a/apps/mobile/src/i18n/locales/da.json +++ b/apps/mobile/src/i18n/locales/da.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Kunne ikke indlæse aktive sessioner", "agentSessions": "Agentsessioner", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Start en ny Kilo Agent-session", "newCodingTask": "Ny kodningsopgave", "explore": "Udforsk", "seeAll": "Se alle", diff --git a/apps/mobile/src/i18n/locales/de.json b/apps/mobile/src/i18n/locales/de.json index b87790315c..b17282e867 100644 --- a/apps/mobile/src/i18n/locales/de.json +++ b/apps/mobile/src/i18n/locales/de.json @@ -1915,7 +1915,6 @@ "couldNotLoadActiveSessions": "Aktive Sitzungen konnten nicht geladen werden", "agentSessions": "Agentensitzungen", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Neue Kilo-Agent-Sitzung starten", "newCodingTask": "Neue Codieraufgabe", "explore": "Entdecken", "seeAll": "Alle ansehen", diff --git a/apps/mobile/src/i18n/locales/el.json b/apps/mobile/src/i18n/locales/el.json index 190dc51acb..e4d1d68aac 100644 --- a/apps/mobile/src/i18n/locales/el.json +++ b/apps/mobile/src/i18n/locales/el.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Δεν ήταν δυνατή η φόρτωση ενεργών συνεδριών", "agentSessions": "Συνεδρίες πράκτορα", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Έναρξη νέας συνεδρίας Kilo Agent", "newCodingTask": "Νέα εργασία προγραμματισμού", "explore": "Εξερεύνηση", "seeAll": "Προβολή όλων", diff --git a/apps/mobile/src/i18n/locales/en.json b/apps/mobile/src/i18n/locales/en.json index 6efd77e758..1777ee9632 100644 --- a/apps/mobile/src/i18n/locales/en.json +++ b/apps/mobile/src/i18n/locales/en.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Couldn't load active sessions", "agentSessions": "Live now", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Start a new Kilo Agent session", "newCodingTask": "New coding task", "explore": "Explore", "seeAll": "See all", diff --git a/apps/mobile/src/i18n/locales/es.json b/apps/mobile/src/i18n/locales/es.json index a74336e23b..6667ea5d31 100644 --- a/apps/mobile/src/i18n/locales/es.json +++ b/apps/mobile/src/i18n/locales/es.json @@ -1915,7 +1915,6 @@ "couldNotLoadActiveSessions": "No se pudieron cargar las sesiones activas", "agentSessions": "Sesiones de agentes", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Iniciar una nueva sesión de Kilo Agent", "newCodingTask": "Nueva tarea de codificación", "explore": "Explorar", "seeAll": "Ver todo", diff --git a/apps/mobile/src/i18n/locales/et.json b/apps/mobile/src/i18n/locales/et.json index d3464e5a45..dda6bb1b87 100644 --- a/apps/mobile/src/i18n/locales/et.json +++ b/apps/mobile/src/i18n/locales/et.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Aktiivseid seansse ei õnnestunud laadida", "agentSessions": "Agendi seansid", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Alusta uut Kilo Agent seanssi", "newCodingTask": "Uus kodeerimisülesanne", "explore": "Avasta", "seeAll": "Vaata kõiki", diff --git a/apps/mobile/src/i18n/locales/eu.json b/apps/mobile/src/i18n/locales/eu.json index 1e923c9b0e..eaae68091b 100644 --- a/apps/mobile/src/i18n/locales/eu.json +++ b/apps/mobile/src/i18n/locales/eu.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Ezin izan dira saio aktiboak kargatu", "agentSessions": "Agentearen saioak", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Hasi Kilo Agent saio berri bat", "newCodingTask": "Kodetze-lan berria", "explore": "Arakatu", "seeAll": "Ikusi guztiak", diff --git a/apps/mobile/src/i18n/locales/fa.json b/apps/mobile/src/i18n/locales/fa.json index 224643c5a6..4d5cf3b60a 100644 --- a/apps/mobile/src/i18n/locales/fa.json +++ b/apps/mobile/src/i18n/locales/fa.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "جلسات فعال بارگذاری نشدند", "agentSessions": "جلسات عامل", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "شروع یک جلسه جدید Kilo Agent", "newCodingTask": "کار کدنویسی جدید", "explore": "کاوش", "seeAll": "مشاهده همه", diff --git a/apps/mobile/src/i18n/locales/fi.json b/apps/mobile/src/i18n/locales/fi.json index 66a9d2c871..05f94838c5 100644 --- a/apps/mobile/src/i18n/locales/fi.json +++ b/apps/mobile/src/i18n/locales/fi.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Aktiivisia istuntoja ei voitu ladata", "agentSessions": "Agentti-istunnot", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Aloita uusi Kilo Agent -istunto", "newCodingTask": "Uusi koodaustehtävä", "explore": "Tutustu", "seeAll": "Näytä kaikki", diff --git a/apps/mobile/src/i18n/locales/fil.json b/apps/mobile/src/i18n/locales/fil.json index 2098078594..4e42da2d5e 100644 --- a/apps/mobile/src/i18n/locales/fil.json +++ b/apps/mobile/src/i18n/locales/fil.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Hindi ma-load ang mga aktibong session", "agentSessions": "Mga agent session", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Magsimula ng bagong Kilo Agent session", "newCodingTask": "Bagong coding task", "explore": "Mag-explore", "seeAll": "Tingnan lahat", diff --git a/apps/mobile/src/i18n/locales/fr.json b/apps/mobile/src/i18n/locales/fr.json index c9090592f7..cddf3d4557 100644 --- a/apps/mobile/src/i18n/locales/fr.json +++ b/apps/mobile/src/i18n/locales/fr.json @@ -1864,7 +1864,6 @@ "couldNotLoadActiveSessions": "Impossible de charger les sessions actives", "agentSessions": "Sessions d'agents", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Démarrer une nouvelle session Kilo Agent", "newCodingTask": "Nouvelle tâche de codage", "explore": "Explorer", "seeAll": "Tout voir", diff --git a/apps/mobile/src/i18n/locales/ga.json b/apps/mobile/src/i18n/locales/ga.json index a5f2d9e777..bb189ee1cb 100644 --- a/apps/mobile/src/i18n/locales/ga.json +++ b/apps/mobile/src/i18n/locales/ga.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Níorbh fhéidir seisiúin ghníomhacha a lódáil", "agentSessions": "Seisiúin ghníomhaire", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Tosaigh seisiún Kilo Agent nua", "newCodingTask": "Tasc códaithe nua", "explore": "Taiscéal", "seeAll": "Féach ar gach ceann", diff --git a/apps/mobile/src/i18n/locales/gl.json b/apps/mobile/src/i18n/locales/gl.json index 48b4334370..53a4e67209 100644 --- a/apps/mobile/src/i18n/locales/gl.json +++ b/apps/mobile/src/i18n/locales/gl.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Non se puideron cargar as sesións activas", "agentSessions": "Sesións de axente", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Iniciar unha nova sesión de Kilo Agent", "newCodingTask": "Nova tarefa de codificación", "explore": "Explorar", "seeAll": "Ver todo", diff --git a/apps/mobile/src/i18n/locales/gu.json b/apps/mobile/src/i18n/locales/gu.json index 9c44c6963a..92f2e5e79d 100644 --- a/apps/mobile/src/i18n/locales/gu.json +++ b/apps/mobile/src/i18n/locales/gu.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "સક્રિય સત્રો લોડ કરી શકાયા નહીં", "agentSessions": "એજન્ટ સત્રો", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "નવું Kilo એજન્ટ સત્ર શરૂ કરો", "newCodingTask": "નવું કોડિંગ કાર્ય", "explore": "શોધો", "seeAll": "બધા જુઓ", diff --git a/apps/mobile/src/i18n/locales/ha.json b/apps/mobile/src/i18n/locales/ha.json index 0c927a90bd..4d3e15ad90 100644 --- a/apps/mobile/src/i18n/locales/ha.json +++ b/apps/mobile/src/i18n/locales/ha.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "An kasa ɗora zaman aiki", "agentSessions": "Zaman wakilai", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Fara sabon zaman Kilo Agent", "newCodingTask": "Sabon aikin shirye-shirye", "explore": "Bincika", "seeAll": "Duba duka", diff --git a/apps/mobile/src/i18n/locales/he.json b/apps/mobile/src/i18n/locales/he.json index 835ec6a991..b0f3c2fbb9 100644 --- a/apps/mobile/src/i18n/locales/he.json +++ b/apps/mobile/src/i18n/locales/he.json @@ -1915,7 +1915,6 @@ "couldNotLoadActiveSessions": "לא ניתן לטעון הפעלות פעילות", "agentSessions": "הפעלות סוכן", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "התחל הפעלת Kilo Agent חדשה", "newCodingTask": "משימת קידוד חדשה", "explore": "חקור", "seeAll": "ראה הכל", diff --git a/apps/mobile/src/i18n/locales/hi.json b/apps/mobile/src/i18n/locales/hi.json index a966154b6d..dc341f5318 100644 --- a/apps/mobile/src/i18n/locales/hi.json +++ b/apps/mobile/src/i18n/locales/hi.json @@ -1915,7 +1915,6 @@ "couldNotLoadActiveSessions": "सक्रिय सत्र लोड नहीं हो सके", "agentSessions": "एजेंट सत्र", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "नया Kilo एजेंट सत्र शुरू करें", "newCodingTask": "नया कोडिंग कार्य", "explore": "एक्सप्लोर करें", "seeAll": "सभी देखें", diff --git a/apps/mobile/src/i18n/locales/hr.json b/apps/mobile/src/i18n/locales/hr.json index b596556924..65ffceac9a 100644 --- a/apps/mobile/src/i18n/locales/hr.json +++ b/apps/mobile/src/i18n/locales/hr.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Nije moguće učitati aktivne sesije", "agentSessions": "Sesije agenata", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Pokreni novu Kilo Agent sesiju", "newCodingTask": "Novi zadatak kodiranja", "explore": "Istraži", "seeAll": "Prikaži sve", diff --git a/apps/mobile/src/i18n/locales/ht.json b/apps/mobile/src/i18n/locales/ht.json index 4ab48be2fe..344b7a405b 100644 --- a/apps/mobile/src/i18n/locales/ht.json +++ b/apps/mobile/src/i18n/locales/ht.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Pa t ka chaje sesyon aktif", "agentSessions": "Sesyon ajant", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Kòmanse yon nouvo sesyon Kilo Ajant", "newCodingTask": "Nouvo travay kodaj", "explore": "Eksplore", "seeAll": "Wè tout", diff --git a/apps/mobile/src/i18n/locales/hu.json b/apps/mobile/src/i18n/locales/hu.json index 9adaf7e318..e46cd4f032 100644 --- a/apps/mobile/src/i18n/locales/hu.json +++ b/apps/mobile/src/i18n/locales/hu.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Az aktív munkameneteket nem sikerült betölteni", "agentSessions": "Ügynök munkamenetek", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Új Kilo Agent munkamenet indítása", "newCodingTask": "Új kódolási feladat", "explore": "Felfedezés", "seeAll": "Összes megtekintése", diff --git a/apps/mobile/src/i18n/locales/hy.json b/apps/mobile/src/i18n/locales/hy.json index 8de0c4b41d..273065790b 100644 --- a/apps/mobile/src/i18n/locales/hy.json +++ b/apps/mobile/src/i18n/locales/hy.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Հնարավոր չեղավ բեռնել ակտիվ նիստերը", "agentSessions": "Գործակալի նիստեր", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Սկսել նոր Kilo Agent նիստ", "newCodingTask": "Նոր ծրագրավորման առաջադրանք", "explore": "Ուսումնասիրել", "seeAll": "Տեսնել բոլորը", diff --git a/apps/mobile/src/i18n/locales/id.json b/apps/mobile/src/i18n/locales/id.json index 977074f3f9..65e53e25af 100644 --- a/apps/mobile/src/i18n/locales/id.json +++ b/apps/mobile/src/i18n/locales/id.json @@ -1915,7 +1915,6 @@ "couldNotLoadActiveSessions": "Tidak dapat memuat sesi aktif", "agentSessions": "Sesi agen", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Mulai sesi Agen Kilo baru", "newCodingTask": "Tugas coding baru", "explore": "Jelajahi", "seeAll": "Lihat semua", diff --git a/apps/mobile/src/i18n/locales/ig.json b/apps/mobile/src/i18n/locales/ig.json index de209eb9d9..426ad68e5b 100644 --- a/apps/mobile/src/i18n/locales/ig.json +++ b/apps/mobile/src/i18n/locales/ig.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Enweghị ike ibutu nnọkọ na-arụ ọrụ", "agentSessions": "Nnọkọ onye nnọchite", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Malite nnọkọ Kilo Agent ọhụrụ", "newCodingTask": "Ọrụ ịde koodu ọhụrụ", "explore": "Chọpụta", "seeAll": "Hụ niile", diff --git a/apps/mobile/src/i18n/locales/is.json b/apps/mobile/src/i18n/locales/is.json index 97813fdca0..a6fa616c7c 100644 --- a/apps/mobile/src/i18n/locales/is.json +++ b/apps/mobile/src/i18n/locales/is.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Ekki tókst að hlaða virkar lotur", "agentSessions": "Umboðslotur", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Byrja nýja Kilo-umboðslotu", "newCodingTask": "Nýtt forritunarverkefni", "explore": "Kanna", "seeAll": "Sjá allt", diff --git a/apps/mobile/src/i18n/locales/it.json b/apps/mobile/src/i18n/locales/it.json index d9439ca70c..537b378293 100644 --- a/apps/mobile/src/i18n/locales/it.json +++ b/apps/mobile/src/i18n/locales/it.json @@ -1915,7 +1915,6 @@ "couldNotLoadActiveSessions": "Impossibile caricare le sessioni attive", "agentSessions": "Sessioni agente", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Avvia una nuova sessione Kilo Agent", "newCodingTask": "Nuova attività di codifica", "explore": "Esplora", "seeAll": "Vedi tutto", diff --git a/apps/mobile/src/i18n/locales/ja.json b/apps/mobile/src/i18n/locales/ja.json index 1c1cdd2e3c..d5fb03b35e 100644 --- a/apps/mobile/src/i18n/locales/ja.json +++ b/apps/mobile/src/i18n/locales/ja.json @@ -1915,7 +1915,6 @@ "couldNotLoadActiveSessions": "アクティブなセッションを読み込めませんでした", "agentSessions": "エージェントセッション", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "新しいKiloエージェントセッションを開始", "newCodingTask": "新しいコーディングタスク", "explore": "探索", "seeAll": "すべて表示", diff --git a/apps/mobile/src/i18n/locales/ka.json b/apps/mobile/src/i18n/locales/ka.json index 7902222374..b5759bd428 100644 --- a/apps/mobile/src/i18n/locales/ka.json +++ b/apps/mobile/src/i18n/locales/ka.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "აქტიური სესიების ჩატვირთვა ვერ მოხერხდა", "agentSessions": "აგენტის სესიები", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "ახალი Kilo აგენტის სესიის დაწყება", "newCodingTask": "ახალი კოდირების ამოცანა", "explore": "გამოკვლევა", "seeAll": "ყველას ნახვა", diff --git a/apps/mobile/src/i18n/locales/kk.json b/apps/mobile/src/i18n/locales/kk.json index 7f6312759d..548be1911f 100644 --- a/apps/mobile/src/i18n/locales/kk.json +++ b/apps/mobile/src/i18n/locales/kk.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Белсенді сессияларды жүктеу мүмкін болмады", "agentSessions": "Агент сессиялары", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Жаңа Kilo Agent сессиясын бастау", "newCodingTask": "Жаңа бағдарламалау тапсырмасы", "explore": "Зерттеу", "seeAll": "Барлығын қарау", diff --git a/apps/mobile/src/i18n/locales/km.json b/apps/mobile/src/i18n/locales/km.json index 17ed4263b0..b33076311a 100644 --- a/apps/mobile/src/i18n/locales/km.json +++ b/apps/mobile/src/i18n/locales/km.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "មិនអាចផ្ទុកវគ្គសកម្មបានទេ", "agentSessions": "វគ្គភ្នាក់ងារ", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "ចាប់ផ្តើមវគ្គ Kilo Agent ថ្មី", "newCodingTask": "កិច្ចការសរសេរកូដថ្មី", "explore": "ស្វែងយល់", "seeAll": "មើលទាំងអស់", diff --git a/apps/mobile/src/i18n/locales/kn.json b/apps/mobile/src/i18n/locales/kn.json index 78a212c213..39194a9af7 100644 --- a/apps/mobile/src/i18n/locales/kn.json +++ b/apps/mobile/src/i18n/locales/kn.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "ಸಕ್ರಿಯ ಸೆಷನ್‌ಗಳನ್ನು ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ", "agentSessions": "ಏಜೆಂಟ್ ಸೆಷನ್‌ಗಳು", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "ಹೊಸ Kilo Agent ಸೆಷನ್ ಪ್ರಾರಂಭಿಸಿ", "newCodingTask": "ಹೊಸ ಕೋಡಿಂಗ್ ಕಾರ್ಯ", "explore": "ಅನ್ವೇಷಿಸಿ", "seeAll": "ಎಲ್ಲವನ್ನೂ ನೋಡಿ", diff --git a/apps/mobile/src/i18n/locales/ko.json b/apps/mobile/src/i18n/locales/ko.json index d6f4d3ae03..76c93b670d 100644 --- a/apps/mobile/src/i18n/locales/ko.json +++ b/apps/mobile/src/i18n/locales/ko.json @@ -1915,7 +1915,6 @@ "couldNotLoadActiveSessions": "활성 세션을 불러올 수 없습니다", "agentSessions": "에이전트 세션", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "새 Kilo 에이전트 세션 시작", "newCodingTask": "새 코딩 작업", "explore": "탐색", "seeAll": "모두 보기", diff --git a/apps/mobile/src/i18n/locales/lo.json b/apps/mobile/src/i18n/locales/lo.json index 27e6df5486..29dd276efa 100644 --- a/apps/mobile/src/i18n/locales/lo.json +++ b/apps/mobile/src/i18n/locales/lo.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "ບໍ່ສາມາດໂຫລດເຊດຊັນທີ່ໃຊ້ງານ", "agentSessions": "ເຊດຊັນຕົວແທນ", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "ເລີ່ມເຊດຊັນ Kilo Agent ໃໝ່", "newCodingTask": "ວຽກການຂຽນໂຄ້ດໃໝ່", "explore": "ສຳຫຼວດ", "seeAll": "ເບິ່ງທັງໝົດ", diff --git a/apps/mobile/src/i18n/locales/lt.json b/apps/mobile/src/i18n/locales/lt.json index 8a067ee190..5101906712 100644 --- a/apps/mobile/src/i18n/locales/lt.json +++ b/apps/mobile/src/i18n/locales/lt.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Nepavyko įkelti aktyvių sesijų", "agentSessions": "Agentų sesijos", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Pradėti naują Kilo agento sesiją", "newCodingTask": "Nauja kodavimo užduotis", "explore": "Naršyti", "seeAll": "Rodyti viską", diff --git a/apps/mobile/src/i18n/locales/lv.json b/apps/mobile/src/i18n/locales/lv.json index b30a4f72f5..6f98ebba25 100644 --- a/apps/mobile/src/i18n/locales/lv.json +++ b/apps/mobile/src/i18n/locales/lv.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Neizdevās ielādēt aktīvās sesijas", "agentSessions": "Aģenta sesijas", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Sākt jaunu Kilo Agent sesiju", "newCodingTask": "Jauns kodēšanas uzdevums", "explore": "Izpētīt", "seeAll": "Skatīt visus", diff --git a/apps/mobile/src/i18n/locales/mg.json b/apps/mobile/src/i18n/locales/mg.json index a37014b9e7..1fc10d06d0 100644 --- a/apps/mobile/src/i18n/locales/mg.json +++ b/apps/mobile/src/i18n/locales/mg.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Tsy afaka nampidirina ny session mavitrika", "agentSessions": "Session agent", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Atombohy session Kilo Agent vaovao", "newCodingTask": "Asa coding vaovao", "explore": "Mijerena", "seeAll": "Jereo daholo", diff --git a/apps/mobile/src/i18n/locales/mi.json b/apps/mobile/src/i18n/locales/mi.json index 5fb5f8b72e..464fe7a445 100644 --- a/apps/mobile/src/i18n/locales/mi.json +++ b/apps/mobile/src/i18n/locales/mi.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Kāore i taea te uta ngā wātū mahi", "agentSessions": "Ngā wātū kaihoko", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Tīmata he wātū Kaihoko Kilo hōu", "newCodingTask": "Mahi whakawaehere hōu", "explore": "Torotoro", "seeAll": "Tirohia katoa", diff --git a/apps/mobile/src/i18n/locales/mk.json b/apps/mobile/src/i18n/locales/mk.json index 1b210b6f4d..4d00101faa 100644 --- a/apps/mobile/src/i18n/locales/mk.json +++ b/apps/mobile/src/i18n/locales/mk.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Не можев да ги вчитам активните сесии", "agentSessions": "Сесии на агенти", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Започни нова сесија на Kilo Agent", "newCodingTask": "Нова задача за кодирање", "explore": "Истражувај", "seeAll": "Види ги сите", diff --git a/apps/mobile/src/i18n/locales/ml.json b/apps/mobile/src/i18n/locales/ml.json index cf6b00a7f2..0d57f5ff8c 100644 --- a/apps/mobile/src/i18n/locales/ml.json +++ b/apps/mobile/src/i18n/locales/ml.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "സജീവ സെഷനുകൾ ലോഡ് ചെയ്യാൻ കഴിഞ്ഞില്ല", "agentSessions": "ഏജന്റ് സെഷനുകൾ", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "ഒരു പുതിയ Kilo ഏജന്റ് സെഷൻ ആരംഭിക്കുക", "newCodingTask": "പുതിയ കോഡിംഗ് ടാസ്ക്", "explore": "പര്യവേക്ഷണം ചെയ്യുക", "seeAll": "എല്ലാം കാണുക", diff --git a/apps/mobile/src/i18n/locales/mn.json b/apps/mobile/src/i18n/locales/mn.json index cf941bf477..d4cb79d39c 100644 --- a/apps/mobile/src/i18n/locales/mn.json +++ b/apps/mobile/src/i18n/locales/mn.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Идэвхтэй сессийг ачаалж чадсангүй", "agentSessions": "Агентын сессий", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Шинэ Kilo Agent сесси эхлүүлэх", "newCodingTask": "Шинэ кодчилолын даалгавар", "explore": "Судлах", "seeAll": "Бүгдийг үзэх", diff --git a/apps/mobile/src/i18n/locales/mr.json b/apps/mobile/src/i18n/locales/mr.json index 703af8f173..df9412878e 100644 --- a/apps/mobile/src/i18n/locales/mr.json +++ b/apps/mobile/src/i18n/locales/mr.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "सक्रिय सत्रे लोड करता आली नाहीत", "agentSessions": "एजंट सत्रे", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "नवीन Kilo एजंट सत्र सुरू करा", "newCodingTask": "नवीन कोडिंग कार्य", "explore": "एक्सप्लोर करा", "seeAll": "सर्व पहा", diff --git a/apps/mobile/src/i18n/locales/ms.json b/apps/mobile/src/i18n/locales/ms.json index 407bbe50f0..37ddb67426 100644 --- a/apps/mobile/src/i18n/locales/ms.json +++ b/apps/mobile/src/i18n/locales/ms.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Tidak dapat memuatkan sesi aktif", "agentSessions": "Sesi ejen", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Mulakan sesi Kilo Agent baharu", "newCodingTask": "Tugas pengekodan baharu", "explore": "Teroka", "seeAll": "Lihat semua", diff --git a/apps/mobile/src/i18n/locales/mt.json b/apps/mobile/src/i18n/locales/mt.json index ac1eedebb4..32ad76484e 100644 --- a/apps/mobile/src/i18n/locales/mt.json +++ b/apps/mobile/src/i18n/locales/mt.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Ma setgħux jitgħabbew is-sessjonijiet attivi", "agentSessions": "Sessjonijiet tal-aġent", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Ibda sessjoni ġdida ta' Kilo Agent", "newCodingTask": "Kompitu ġdid ta' kodifikazzjoni", "explore": "Esplora", "seeAll": "Ara kollha", diff --git a/apps/mobile/src/i18n/locales/my.json b/apps/mobile/src/i18n/locales/my.json index 5241eb6c62..dff1c734b3 100644 --- a/apps/mobile/src/i18n/locales/my.json +++ b/apps/mobile/src/i18n/locales/my.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "လက်ရှိ session များကို မတင်နိုင်ပါ", "agentSessions": "Agent session များ", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Kilo Agent session အသစ် စတင်ရန်", "newCodingTask": "coding အလုပ်အသစ်", "explore": "ရှာဖွေပါ", "seeAll": "အားလုံး ကြည့်ရန်", diff --git a/apps/mobile/src/i18n/locales/nb.json b/apps/mobile/src/i18n/locales/nb.json index ee1de0cb32..fe2a427e1b 100644 --- a/apps/mobile/src/i18n/locales/nb.json +++ b/apps/mobile/src/i18n/locales/nb.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Kunne ikke laste aktive økter", "agentSessions": "Agentøkter", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Start en ny Kilo Agent-økt", "newCodingTask": "Ny kodeoppgave", "explore": "Utforsk", "seeAll": "Se alle", diff --git a/apps/mobile/src/i18n/locales/ne.json b/apps/mobile/src/i18n/locales/ne.json index 62b530eba7..bf3f929284 100644 --- a/apps/mobile/src/i18n/locales/ne.json +++ b/apps/mobile/src/i18n/locales/ne.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "सक्रिय सत्रहरू लोड गर्न सकिएन", "agentSessions": "एजेन्ट सत्रहरू", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "नयाँ Kilo Agent सत्र सुरु गर्नुहोस्", "newCodingTask": "नयाँ कोडिङ कार्य", "explore": "अन्वेषण", "seeAll": "सबै हेर्नुहोस्", diff --git a/apps/mobile/src/i18n/locales/nl.json b/apps/mobile/src/i18n/locales/nl.json index 54187583b5..f8efbf1ea0 100644 --- a/apps/mobile/src/i18n/locales/nl.json +++ b/apps/mobile/src/i18n/locales/nl.json @@ -1915,7 +1915,6 @@ "couldNotLoadActiveSessions": "Actieve sessies konden niet worden geladen", "agentSessions": "Agentsessies", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Een nieuwe Kilo Agent-sessie starten", "newCodingTask": "Nieuwe codeertaak", "explore": "Verkennen", "seeAll": "Alles bekijken", diff --git a/apps/mobile/src/i18n/locales/om.json b/apps/mobile/src/i18n/locales/om.json index dd237e74ea..0eda7e7dac 100644 --- a/apps/mobile/src/i18n/locales/om.json +++ b/apps/mobile/src/i18n/locales/om.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Shumarra hojii fudhachuu hin danda'ine", "agentSessions": "Shumarra agent", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Shumarra Kilo Agent haaraa jalqabi", "newCodingTask": "Hojii code haaraa", "explore": "Qoradhu", "seeAll": "Hunda ilaali", diff --git a/apps/mobile/src/i18n/locales/or.json b/apps/mobile/src/i18n/locales/or.json index 95e05b71c2..af407171d3 100644 --- a/apps/mobile/src/i18n/locales/or.json +++ b/apps/mobile/src/i18n/locales/or.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "ସକ୍ରିୟ ସେସନ୍ ଲୋଡ୍ ହୋଇପାରିଲା ନାହିଁ", "agentSessions": "ଏଜେଣ୍ଟ ସେସନ୍", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "ନୂତନ Kilo Agent ସେସନ୍ ଆରମ୍ଭ କରନ୍ତୁ", "newCodingTask": "ନୂତନ କୋଡିଂ କାର୍ଯ୍ୟ", "explore": "ଅନୁସନ୍ଧାନ", "seeAll": "ସବୁ ଦେଖନ୍ତୁ", diff --git a/apps/mobile/src/i18n/locales/pa.json b/apps/mobile/src/i18n/locales/pa.json index 23958dc0a8..50d1e00f3b 100644 --- a/apps/mobile/src/i18n/locales/pa.json +++ b/apps/mobile/src/i18n/locales/pa.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "ਸਰਗਰਮ ਸੈਸ਼ਨ ਲੋਡ ਨਹੀਂ ਹੋ ਸਕੇ", "agentSessions": "ਏਜੰਟ ਸੈਸ਼ਨ", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "ਨਵਾਂ Kilo ਏਜੰਟ ਸੈਸ਼ਨ ਸ਼ੁਰੂ ਕਰੋ", "newCodingTask": "ਨਵਾਂ ਕੋਡਿੰਗ ਕੰਮ", "explore": "ਪੜਚੋਲ ਕਰੋ", "seeAll": "ਸਭ ਵੇਖੋ", diff --git a/apps/mobile/src/i18n/locales/pl.json b/apps/mobile/src/i18n/locales/pl.json index b8c7cde70c..589827e0f6 100644 --- a/apps/mobile/src/i18n/locales/pl.json +++ b/apps/mobile/src/i18n/locales/pl.json @@ -1915,7 +1915,6 @@ "couldNotLoadActiveSessions": "Nie można załadować aktywnych sesji", "agentSessions": "Sesje agenta", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Rozpocznij nową sesję agenta Kilo", "newCodingTask": "Nowe zadanie kodowania", "explore": "Odkrywaj", "seeAll": "Zobacz wszystkie", diff --git a/apps/mobile/src/i18n/locales/ps.json b/apps/mobile/src/i18n/locales/ps.json index 7a8abf5771..b3da752ed8 100644 --- a/apps/mobile/src/i18n/locales/ps.json +++ b/apps/mobile/src/i18n/locales/ps.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "فعالې غونډې نه شول پورته کېدلای", "agentSessions": "د اجنټ غونډې", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "د Kilo اجنټ نوې غونډه پیل کړئ", "newCodingTask": "د کوډ کولو نوې دنده", "explore": "وپلټئ", "seeAll": "ټول وګورئ", diff --git a/apps/mobile/src/i18n/locales/pt-BR.json b/apps/mobile/src/i18n/locales/pt-BR.json index 4f8125e038..e2bcb39c34 100644 --- a/apps/mobile/src/i18n/locales/pt-BR.json +++ b/apps/mobile/src/i18n/locales/pt-BR.json @@ -1915,7 +1915,6 @@ "couldNotLoadActiveSessions": "Não foi possível carregar as sessões ativas", "agentSessions": "Sessões de agentes", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Iniciar uma nova sessão do Kilo Agent", "newCodingTask": "Nova tarefa de codificação", "explore": "Explorar", "seeAll": "Ver tudo", diff --git a/apps/mobile/src/i18n/locales/pt.json b/apps/mobile/src/i18n/locales/pt.json index ddfc490a20..37e884449b 100644 --- a/apps/mobile/src/i18n/locales/pt.json +++ b/apps/mobile/src/i18n/locales/pt.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Não foi possível carregar as sessões ativas", "agentSessions": "Sessões de agente", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Iniciar uma nova sessão do Kilo Agent", "newCodingTask": "Nova tarefa de programação", "explore": "Explorar", "seeAll": "Ver tudo", diff --git a/apps/mobile/src/i18n/locales/ro.json b/apps/mobile/src/i18n/locales/ro.json index 196339ad14..6f71e09326 100644 --- a/apps/mobile/src/i18n/locales/ro.json +++ b/apps/mobile/src/i18n/locales/ro.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Sesiunile active nu au putut fi încărcate", "agentSessions": "Sesiuni de agent", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Începe o sesiune nouă de Kilo Agent", "newCodingTask": "Sarcină de codare nouă", "explore": "Explorează", "seeAll": "Vezi tot", diff --git a/apps/mobile/src/i18n/locales/ru.json b/apps/mobile/src/i18n/locales/ru.json index 9bab5cab56..c9c2b144fc 100644 --- a/apps/mobile/src/i18n/locales/ru.json +++ b/apps/mobile/src/i18n/locales/ru.json @@ -1915,7 +1915,6 @@ "couldNotLoadActiveSessions": "Не удалось загрузить активные сеансы", "agentSessions": "Сеансы агента", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Начать новый сеанс агента Kilo", "newCodingTask": "Новая задача кодирования", "explore": "Исследовать", "seeAll": "Смотреть все", diff --git a/apps/mobile/src/i18n/locales/si.json b/apps/mobile/src/i18n/locales/si.json index 56f9fd80c0..5891227069 100644 --- a/apps/mobile/src/i18n/locales/si.json +++ b/apps/mobile/src/i18n/locales/si.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "ක්‍රියාකාරී සැසි පූරණය කළ නොහැකි විය", "agentSessions": "ඒජන්ත සැසි", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "නව Kilo Agent සැසියක් ආරම්භ කරන්න", "newCodingTask": "නව කේතීකරණ කාර්යය", "explore": "ගවේෂණය", "seeAll": "සියල්ල බලන්න", diff --git a/apps/mobile/src/i18n/locales/sk.json b/apps/mobile/src/i18n/locales/sk.json index f062846547..c74db3c001 100644 --- a/apps/mobile/src/i18n/locales/sk.json +++ b/apps/mobile/src/i18n/locales/sk.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Aktívne relácie sa nepodarilo načítať", "agentSessions": "Relácie agenta", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Spustiť novú reláciu agenta Kilo", "newCodingTask": "Nová programovacia úloha", "explore": "Preskúmať", "seeAll": "Zobraziť všetko", diff --git a/apps/mobile/src/i18n/locales/sl.json b/apps/mobile/src/i18n/locales/sl.json index eb0dc50c79..452748c61f 100644 --- a/apps/mobile/src/i18n/locales/sl.json +++ b/apps/mobile/src/i18n/locales/sl.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Aktivnih sej ni bilo mogoče naložiti", "agentSessions": "Seje agenta", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Začni novo sejo Kilo Agenta", "newCodingTask": "Nova naloga kodiranja", "explore": "Razišči", "seeAll": "Prikaži vse", diff --git a/apps/mobile/src/i18n/locales/so.json b/apps/mobile/src/i18n/locales/so.json index fce798caf7..35ea57aba4 100644 --- a/apps/mobile/src/i18n/locales/so.json +++ b/apps/mobile/src/i18n/locales/so.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Kalfadhiyada firfircoon lama soo dejin karin", "agentSessions": "Kalfadhiyada wakiilka", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Bilow kalfadhi cusub oo Kilo Agent", "newCodingTask": "Hawshooda cusub ee codeynta", "explore": "Sahan", "seeAll": "Fiiri dhammaan", diff --git a/apps/mobile/src/i18n/locales/sq.json b/apps/mobile/src/i18n/locales/sq.json index 84de9437da..4034b2870a 100644 --- a/apps/mobile/src/i18n/locales/sq.json +++ b/apps/mobile/src/i18n/locales/sq.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Seancat aktive nuk u ngarkuan", "agentSessions": "Seancat e agjentit", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Filloni një seancë të re Kilo Agent", "newCodingTask": "Detyrë e re kodimi", "explore": "Eksploro", "seeAll": "Shiko të gjitha", diff --git a/apps/mobile/src/i18n/locales/sr.json b/apps/mobile/src/i18n/locales/sr.json index c472b5a12c..9c0a1300bb 100644 --- a/apps/mobile/src/i18n/locales/sr.json +++ b/apps/mobile/src/i18n/locales/sr.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Učitavanje aktivnih sesija nije uspelo", "agentSessions": "Agentske sesije", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Pokreni novu Kilo Agent sesiju", "newCodingTask": "Novi zadatak kodiranja", "explore": "Istraži", "seeAll": "Vidi sve", diff --git a/apps/mobile/src/i18n/locales/sv.json b/apps/mobile/src/i18n/locales/sv.json index 024470a5b1..a533899fe7 100644 --- a/apps/mobile/src/i18n/locales/sv.json +++ b/apps/mobile/src/i18n/locales/sv.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Det gick inte att läsa in aktiva sessioner", "agentSessions": "Agentsessioner", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Starta en ny Kilo Agent-session", "newCodingTask": "Ny kodningsuppgift", "explore": "Utforska", "seeAll": "Visa alla", diff --git a/apps/mobile/src/i18n/locales/sw.json b/apps/mobile/src/i18n/locales/sw.json index 2aab26626f..a2cff96113 100644 --- a/apps/mobile/src/i18n/locales/sw.json +++ b/apps/mobile/src/i18n/locales/sw.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Haikuweza kupakia vikao vya sasa", "agentSessions": "Vikao vya wakala", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Anza kikao kipya cha Kilo Agent", "newCodingTask": "Kazi mpya ya kuandika msimbo", "explore": "Chunguza", "seeAll": "Ona zote", diff --git a/apps/mobile/src/i18n/locales/ta.json b/apps/mobile/src/i18n/locales/ta.json index 1cb8e65d67..3337a2b283 100644 --- a/apps/mobile/src/i18n/locales/ta.json +++ b/apps/mobile/src/i18n/locales/ta.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "செயலில் உள்ள அமர்வுகளை ஏற்ற முடியவில்லை", "agentSessions": "முகவர் அமர்வுகள்", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "புதிய Kilo முகவர் அமர்வைத் தொடங்கு", "newCodingTask": "புதிய குறியீட்டு பணி", "explore": "ஆராய்க", "seeAll": "அனைத்தையும் காண்க", diff --git a/apps/mobile/src/i18n/locales/te.json b/apps/mobile/src/i18n/locales/te.json index 851818f24d..3d7028d578 100644 --- a/apps/mobile/src/i18n/locales/te.json +++ b/apps/mobile/src/i18n/locales/te.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "యాక్టివ్ సెషన్లను లోడ్ చేయలేకపోయాము", "agentSessions": "ఏజెంట్ సెషన్లు", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "కొత్త Kilo ఏజెంట్ సెషన్ను ప్రారంభించండి", "newCodingTask": "కొత్త కోడింగ్ పని", "explore": "అన్వేషించండి", "seeAll": "అన్నీ చూడండి", diff --git a/apps/mobile/src/i18n/locales/th.json b/apps/mobile/src/i18n/locales/th.json index 32cfd3eed9..afd4e9acbf 100644 --- a/apps/mobile/src/i18n/locales/th.json +++ b/apps/mobile/src/i18n/locales/th.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "โหลดเซสชันที่ใช้งานอยู่ไม่สำเร็จ", "agentSessions": "เซสชันเอเจนต์", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "เริ่มเซสชัน Kilo Agent ใหม่", "newCodingTask": "งานการเขียนโค้ดใหม่", "explore": "สำรวจ", "seeAll": "ดูทั้งหมด", diff --git a/apps/mobile/src/i18n/locales/tr.json b/apps/mobile/src/i18n/locales/tr.json index e03098d0e3..175d48d414 100644 --- a/apps/mobile/src/i18n/locales/tr.json +++ b/apps/mobile/src/i18n/locales/tr.json @@ -1915,7 +1915,6 @@ "couldNotLoadActiveSessions": "Etkin oturumlar yüklenemedi", "agentSessions": "Ajan oturumları", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Yeni bir Kilo Ajanı oturumu başlat", "newCodingTask": "Yeni kodlama görevi", "explore": "Keşfet", "seeAll": "Tümünü gör", diff --git a/apps/mobile/src/i18n/locales/uk.json b/apps/mobile/src/i18n/locales/uk.json index 5ed6148c3f..58a532bb53 100644 --- a/apps/mobile/src/i18n/locales/uk.json +++ b/apps/mobile/src/i18n/locales/uk.json @@ -1915,7 +1915,6 @@ "couldNotLoadActiveSessions": "Не вдалося завантажити активні сеанси", "agentSessions": "Сеанси агента", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Розпочати новий сеанс Kilo Agent", "newCodingTask": "Нове завдання кодування", "explore": "Дослідити", "seeAll": "Показати всі", diff --git a/apps/mobile/src/i18n/locales/ur.json b/apps/mobile/src/i18n/locales/ur.json index 73b8f683c8..7841eb0385 100644 --- a/apps/mobile/src/i18n/locales/ur.json +++ b/apps/mobile/src/i18n/locales/ur.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "فعال سیشنز لوڈ نہیں ہو سکے", "agentSessions": "ایجنٹ سیشنز", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "نیا Kilo ایجنٹ سیشن شروع کریں", "newCodingTask": "نیا کوڈنگ کام", "explore": "دریافت کریں", "seeAll": "سب دیکھیں", diff --git a/apps/mobile/src/i18n/locales/uz.json b/apps/mobile/src/i18n/locales/uz.json index 2df04cc75d..90a02e776b 100644 --- a/apps/mobile/src/i18n/locales/uz.json +++ b/apps/mobile/src/i18n/locales/uz.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Faol sessiyalarni yuklab bo'lmadi", "agentSessions": "Agent sessiyalari", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Yangi Kilo Agent sessiyasini boshlash", "newCodingTask": "Yangi kodlash vazifasi", "explore": "O'rganish", "seeAll": "Barchasini ko'rish", diff --git a/apps/mobile/src/i18n/locales/vi.json b/apps/mobile/src/i18n/locales/vi.json index ee9401b667..aa6e16c840 100644 --- a/apps/mobile/src/i18n/locales/vi.json +++ b/apps/mobile/src/i18n/locales/vi.json @@ -1915,7 +1915,6 @@ "couldNotLoadActiveSessions": "Không thể tải các phiên đang hoạt động", "agentSessions": "Phiên tác nhân", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Bắt đầu phiên Kilo Agent mới", "newCodingTask": "Tác vụ lập trình mới", "explore": "Khám phá", "seeAll": "Xem tất cả", diff --git a/apps/mobile/src/i18n/locales/yo.json b/apps/mobile/src/i18n/locales/yo.json index af9fcb9fe1..4f4fa3d42c 100644 --- a/apps/mobile/src/i18n/locales/yo.json +++ b/apps/mobile/src/i18n/locales/yo.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Ko le ṣagbewọ awọn igba-ijiroro ti n ṣiṣẹ", "agentSessions": "Awọn igba-ijiroro aṣoju", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Bẹrẹ igba-ijiroro Kilo Agent tuntun", "newCodingTask": "Iṣẹ-ṣiṣe koodu tuntun", "explore": "Ṣàwárí", "seeAll": "Wo gbogbo", diff --git a/apps/mobile/src/i18n/locales/zh-Hans.json b/apps/mobile/src/i18n/locales/zh-Hans.json index 32479b5f99..a3e937a73b 100644 --- a/apps/mobile/src/i18n/locales/zh-Hans.json +++ b/apps/mobile/src/i18n/locales/zh-Hans.json @@ -1915,7 +1915,6 @@ "couldNotLoadActiveSessions": "无法加载活动会话", "agentSessions": "智能体会话", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "开始新的 Kilo Agent 会话", "newCodingTask": "新编程任务", "explore": "探索", "seeAll": "查看全部", diff --git a/apps/mobile/src/i18n/locales/zh-Hant.json b/apps/mobile/src/i18n/locales/zh-Hant.json index f85604e307..eb90049820 100644 --- a/apps/mobile/src/i18n/locales/zh-Hant.json +++ b/apps/mobile/src/i18n/locales/zh-Hant.json @@ -1915,7 +1915,6 @@ "couldNotLoadActiveSessions": "無法載入使用中的工作階段", "agentSessions": "代理工作階段", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "開始新的 Kilo Agent 工作階段", "newCodingTask": "新程式設計任務", "explore": "探索", "seeAll": "查看全部", diff --git a/apps/mobile/src/i18n/locales/zu.json b/apps/mobile/src/i18n/locales/zu.json index 6a50bd5096..97698afd7e 100644 --- a/apps/mobile/src/i18n/locales/zu.json +++ b/apps/mobile/src/i18n/locales/zu.json @@ -2287,7 +2287,6 @@ "couldNotLoadActiveSessions": "Asikwazanga ukulayisha amaseshini asebenzayo", "agentSessions": "Amaseshini e-agent", "noLiveSessions": "Nothing running right now", - "startNewAgentSession": "Qala iseshini entsha ye-Kilo Agent", "newCodingTask": "Umsebenzi omusha wokubhala ikhodi", "explore": "Hlola", "seeAll": "Bona konke", From e52e6d7249cedd0f28f422b692db3338e070359d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Igor=20=C5=A0=C4=87eki=C4=87?= Date: Wed, 26 Aug 2026 04:49:13 +0200 Subject: [PATCH 10/13] fix(session-ingest): mark replaced before same-host stale socket close --- .../src/dos/UserConnectionDO.test.ts | 65 +++++++++++++++++++ .../src/dos/UserConnectionDO.ts | 23 +++++-- 2 files changed, 83 insertions(+), 5 deletions(-) diff --git a/services/session-ingest/src/dos/UserConnectionDO.test.ts b/services/session-ingest/src/dos/UserConnectionDO.test.ts index 9672f1e68d..5b4714ed36 100644 --- a/services/session-ingest/src/dos/UserConnectionDO.test.ts +++ b/services/session-ingest/src/dos/UserConnectionDO.test.ts @@ -4184,6 +4184,71 @@ describe('UserConnectionDO', () => { expect(first.close).not.toHaveBeenCalled(); expect(second.close).not.toHaveBeenCalled(); }); + + it('does not broadcast cli.disconnected or overwrite the owner-change terminal result for a same-host replaced socket', async () => { + const { doInstance, mockCtx } = setup(); + const first = addCliSocket(mockCtx, 'conn-1'); + const webWs = addWebSocket(mockCtx, 'web-1'); + + sendHeartbeat(doInstance, first, [makeSession('s1')], { + instance: { name: 'host-a', projectName: 'proj' }, + }); + + // An owner-fenced pending command targets the first socket. + await sendCommand(doInstance, webWs, { + id: 'cmd-1', + command: 'send_message', + sessionId: 's1', + connectionId: 'conn-1', + }); + const correlationId = getCorrelationId(first); + webWs.send.mockClear(); + + // A second socket on a different connectionId claims the same host. + const second = addCliSocket(mockCtx, 'conn-2'); + sendHeartbeat(doInstance, second, [], { + instance: { name: 'host-a', projectName: 'proj' }, + }); + + expect(first.close).toHaveBeenCalledWith(1000, 'replaced by same-host reconnect'); + + // Drain the stale-close failPendingCommandsForSocket waitUntil so the + // owner-change terminal result settles before the close event runs. + await flushAsync(); + + // The stale close delivers the owner-change error, not 'CLI disconnected'. + const preClose = allSent(webWs); + expect(preClose.find(m => m.type === 'response' && m.id === 'cmd-1')).toEqual({ + type: 'response', + id: 'cmd-1', + error: { + source: 'relay', + code: 'SESSION_OWNER_CHANGED', + message: 'Session owner changed', + }, + }); + webWs.send.mockClear(); + + // The close event for the stale first socket now fires. + mockCtx.removeSocket(first); + await disconnectCli(doInstance, first); + + const msgs = allSent(webWs); + expect(msgs.some(m => m.type === 'system' && m.event === 'cli.disconnected')).toBe(false); + expect(msgs.filter(m => m.type === 'response' && m.id === 'cmd-1')).toHaveLength(0); + + // Durable terminal entry keeps the owner-change error. + const durable = mockCtx.storage.store.get(`pendingCommand/${correlationId}`) as { + state: string; + error?: unknown; + }; + expect(durable.state).toBe('done'); + expect(durable.error).toEqual({ + source: 'relay', + code: 'SESSION_OWNER_CHANGED', + message: 'Session owner changed', + }); + }); }); // ------------------------------------------------------------------------- diff --git a/services/session-ingest/src/dos/UserConnectionDO.ts b/services/session-ingest/src/dos/UserConnectionDO.ts index 04bb739695..3e33ec9a42 100644 --- a/services/session-ingest/src/dos/UserConnectionDO.ts +++ b/services/session-ingest/src/dos/UserConnectionDO.ts @@ -42,6 +42,11 @@ type WSAttachment = role: 'cli'; connectionId: string; sessions: HeartbeatSession[]; + // Set on a stale same-host socket just before its close so + // `handleCliDisconnect` treats the close as a replacement (the new + // socket already heartbeated) and skips the `cliGone` pending-command + // sweep and the `cli.disconnected` broadcast. + replaced?: true; // Undefined means no protocolVersion has been reported yet — either the // CLI hasn't sent its first heartbeat, or it's a legacy build that // predates this field entirely. Both cases fall back to legacy behavior. @@ -1736,11 +1741,16 @@ export class UserConnectionDO extends DurableObject { // Exclude the closing socket: under wrangler/workerd, getWebSockets() still // includes it during webSocketClose, so matching self would always look "replaced" // and skip ownership cleanup + attention reset (DEF-5 E2E failure). - const replaced = this.ctx.getWebSockets('cli').some(ws => { - if (ws === disconnectedWs) return false; - const att = ws.deserializeAttachment() as WSAttachment | null; - return att?.role === 'cli' && att.connectionId === connectionId; - }); + // A same-host replacement sets the `replaced` marker on this socket's own + // attachment before closing (see closeStaleSocketsForInstance), because its + // replacement carries a different connectionId. + const replaced = + attachment.replaced || + this.ctx.getWebSockets('cli').some(ws => { + if (ws === disconnectedWs) return false; + const att = ws.deserializeAttachment() as WSAttachment | null; + return att?.role === 'cli' && att.connectionId === connectionId; + }); // Fail pending commands that targeted this specific socket. // Await so the durable terminal entries are persisted before we proceed @@ -2058,6 +2068,9 @@ export class UserConnectionDO extends DurableObject { ); // Preserve session ownership — the rebooting host's replacement socket // re-claims the same sessions in its first heartbeat. + // Mark the attachment so `handleCliDisconnect` routes this close through + // the `replaced` early-return (the replacement already heartbeated). + ws.serializeAttachment({ ...att, replaced: true }); ws.close(1000, 'replaced by same-host reconnect'); } } From eefe81b8cb5dfdf9e6e0d5931fefaeaf52835b3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Igor=20=C5=A0=C4=87eki=C4=87?= Date: Wed, 26 Aug 2026 05:23:02 +0200 Subject: [PATCH 11/13] chore: retrigger review From 01a0c481e51e81993d83ef7588052659cb5142af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Igor=20=C5=A0=C4=87eki=C4=87?= Date: Wed, 26 Aug 2026 05:39:53 +0200 Subject: [PATCH 12/13] chore: retrigger review From 47cc336ca9c0f3c7ab619ad123fc9d24bf476f76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Igor=20=C5=A0=C4=87eki=C4=87?= Date: Wed, 26 Aug 2026 06:45:45 +0200 Subject: [PATCH 13/13] fix(mobile): give single-line form fields the 44pt touch height --- apps/mobile/src/components/ui/form-field.tsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/mobile/src/components/ui/form-field.tsx b/apps/mobile/src/components/ui/form-field.tsx index ad12df3a2e..fa89f4633f 100644 --- a/apps/mobile/src/components/ui/form-field.tsx +++ b/apps/mobile/src/components/ui/form-field.tsx @@ -77,11 +77,11 @@ function FormField({ } }} className={cn( - // min-h with no vertical padding: iOS insets the already-centered - // text rect of a single-line input by the padding, which pushes the - // text and the placeholder below the middle. The height centers them - // instead, and min-h (not h) still lets Dynamic Type grow the field. - 'min-h-11 rounded-md border border-input bg-background px-3 text-sm leading-[normal] text-foreground', + // min-h-[44px] with no vertical padding: the 44pt height meets the + // Apple HIG touch floor and centers the text, while the padding + // draws the single-line text below the middle. min-h (not h) still + // lets Dynamic Type grow the field past the floor. + 'min-h-[44px] rounded-md border border-input bg-background px-3 text-sm leading-[normal] text-foreground', 'focus:border-ring', displayedError && 'border-destructive', disabled && 'opacity-50',