From 78102b27eb04db6acd60aa68058d41164b241347 Mon Sep 17 00:00:00 2001 From: code-crusher Date: Sun, 4 Jan 2026 20:12:14 +0530 Subject: [PATCH 1/2] release indexing backpressure --- .../prompts/tools/native-tools/edit_file.ts | 2 +- src/package.json | 2 +- src/services/code-index/constants/index.ts | 4 ++-- .../code-index/processors/file-watcher.ts | 17 ++--------------- src/services/code-index/processors/scanner.ts | 17 ++--------------- 5 files changed, 8 insertions(+), 34 deletions(-) diff --git a/src/core/prompts/tools/native-tools/edit_file.ts b/src/core/prompts/tools/native-tools/edit_file.ts index f4dcfeeaa4..565ca7cc1c 100644 --- a/src/core/prompts/tools/native-tools/edit_file.ts +++ b/src/core/prompts/tools/native-tools/edit_file.ts @@ -5,7 +5,7 @@ export default { function: { name: "edit_file", description: - "Use this tool to make an edit to a file. A less intelligent apply model will read your request, so be clear about the change while minimizing unchanged code. Specify each edit sequentially and replace omitted sections with // ... existing code ... placeholders. Provide enough surrounding context to avoid ambiguity, always use the placeholder when skipping existing content, show before-and-after context when deleting, and gather all edits for the file in a single request.", + "Use this tool to make an edit to a file. A less intelligent apply model will read your request, so be clear about the change while minimizing unchanged code. Specify each edit sequentially and replace omitted sections with // ... existing code ... placeholders. Provide enough surrounding context to avoid ambiguity, always use the placeholder when skipping existing content, show before-and-after context when deleting, and gather all edits for the file in a single request. Before calling file_edit, always use read_file to fetch and confirm the exact old_string matches the current file content. If it doesn't, adjust and retry. Do not proceed with file_edit until verified.", strict: true, parameters: { type: "object", diff --git a/src/package.json b/src/package.json index d2bab9eae9..0688a5a29e 100644 --- a/src/package.json +++ b/src/package.json @@ -3,7 +3,7 @@ "displayName": "%extension.displayName%", "description": "%extension.description%", "publisher": "matterai", - "version": "4.210.0", + "version": "4.210.1", "icon": "assets/icons/matterai-ic.png", "galleryBanner": { "color": "#FFFFFF", diff --git a/src/services/code-index/constants/index.ts b/src/services/code-index/constants/index.ts index 6f0e0fe7e6..a69eaf159f 100644 --- a/src/services/code-index/constants/index.ts +++ b/src/services/code-index/constants/index.ts @@ -16,11 +16,11 @@ export const MAX_FILE_SIZE_BYTES = 1 * 1024 * 1024 // 1MB /**Directory Scanner */ export const MAX_LIST_FILES_LIMIT_CODE_INDEX = 50_000 -export const BATCH_SEGMENT_THRESHOLD = 60 // Number of code segments to batch for embeddings/upserts +export const BATCH_SEGMENT_THRESHOLD = 10 // Number of code segments to batch for embeddings/upserts export const MAX_BATCH_RETRIES = 3 export const INITIAL_RETRY_DELAY_MS = 500 export const PARSING_CONCURRENCY = 10 -export const MAX_PENDING_BATCHES = 20 // Maximum number of batches to accumulate before waiting +export const MAX_PENDING_BATCHES = 50 // Maximum number of batches to accumulate before waiting /**OpenAI Embedder */ export const MAX_BATCH_TOKENS = 100000 diff --git a/src/services/code-index/processors/file-watcher.ts b/src/services/code-index/processors/file-watcher.ts index 6cce3b3048..94b4fbd456 100644 --- a/src/services/code-index/processors/file-watcher.ts +++ b/src/services/code-index/processors/file-watcher.ts @@ -80,26 +80,13 @@ export class FileWatcher implements IFileWatcher { private vectorStore?: IVectorStore, ignoreInstance?: Ignore, ignoreController?: RooIgnoreController, - batchSegmentThreshold?: number, + _batchSegmentThreshold?: number, ) { this.ignoreController = ignoreController || new RooIgnoreController(workspacePath) if (ignoreInstance) { this.ignoreInstance = ignoreInstance } - // Get the configurable batch size from VSCode settings, fallback to default - // If not provided in constructor, try to get from VSCode settings - if (batchSegmentThreshold !== undefined) { - this.batchSegmentThreshold = batchSegmentThreshold - } else { - try { - this.batchSegmentThreshold = vscode.workspace - .getConfiguration(Package.name) - .get("codeIndex.embeddingBatchSize", BATCH_SEGMENT_THRESHOLD) - } catch { - // In test environment, vscode.workspace might not be available - this.batchSegmentThreshold = BATCH_SEGMENT_THRESHOLD - } - } + this.batchSegmentThreshold = BATCH_SEGMENT_THRESHOLD } /** diff --git a/src/services/code-index/processors/scanner.ts b/src/services/code-index/processors/scanner.ts index 05cce130f4..669bf2a972 100644 --- a/src/services/code-index/processors/scanner.ts +++ b/src/services/code-index/processors/scanner.ts @@ -41,22 +41,9 @@ export class DirectoryScanner implements IDirectoryScanner { private readonly codeParser: ICodeParser, private readonly cacheManager: CacheManager, private readonly ignoreInstance: Ignore, - batchSegmentThreshold?: number, + _batchSegmentThreshold?: number, ) { - // Get the configurable batch size from VSCode settings, fallback to default - // If not provided in constructor, try to get from VSCode settings - if (batchSegmentThreshold !== undefined) { - this.batchSegmentThreshold = batchSegmentThreshold - } else { - try { - this.batchSegmentThreshold = vscode.workspace - .getConfiguration(Package.name) - .get("codeIndex.embeddingBatchSize", BATCH_SEGMENT_THRESHOLD) - } catch { - // In test environment, vscode.workspace might not be available - this.batchSegmentThreshold = BATCH_SEGMENT_THRESHOLD - } - } + this.batchSegmentThreshold = BATCH_SEGMENT_THRESHOLD } // kilocode_change start From ff7ecbe68ff88affbbfa4ddb79918519892a958c Mon Sep 17 00:00:00 2001 From: code-crusher Date: Sun, 4 Jan 2026 20:28:16 +0530 Subject: [PATCH 2/2] update profile theme --- .../helpers/test-setup-helpers.ts | 2 +- apps/playwright-e2e/tests/chat.test.ts | 2 +- .../kilocode/common/KiloCodeAuth.tsx | 24 +++++++++++++------ webview-ui/src/i18n/locales/en/kilocode.json | 9 +++---- 4 files changed, 24 insertions(+), 13 deletions(-) diff --git a/apps/playwright-e2e/helpers/test-setup-helpers.ts b/apps/playwright-e2e/helpers/test-setup-helpers.ts index 02370838fb..324d89fb6f 100644 --- a/apps/playwright-e2e/helpers/test-setup-helpers.ts +++ b/apps/playwright-e2e/helpers/test-setup-helpers.ts @@ -6,7 +6,7 @@ export async function setupTestEnvironment(page: Page): Promise { await waitForAllExtensionActivation(page) await verifyExtensionInstalled(page) - await waitForWebviewText(page, "Welcome to Axon Code!") + await waitForWebviewText(page, "Welcome to Axon Code") await configureApiKeyThroughUI(page) await waitForWebviewText(page, "Generate, refactor, and debug code with AI assistance") diff --git a/apps/playwright-e2e/tests/chat.test.ts b/apps/playwright-e2e/tests/chat.test.ts index 40d091e984..e03ba078a7 100644 --- a/apps/playwright-e2e/tests/chat.test.ts +++ b/apps/playwright-e2e/tests/chat.test.ts @@ -11,7 +11,7 @@ import { test.describe("E2E Chat Test", () => { test("should configure credentials and send a message", async ({ workbox: page, takeScreenshot }: TestFixtures) => { await verifyExtensionInstalled(page) - await waitForWebviewText(page, "Welcome to Axon Code!") + await waitForWebviewText(page, "Welcome to Axon Code") await configureApiKeyThroughUI(page) await waitForWebviewText(page, "Generate, refactor, and debug code with AI assistance") diff --git a/webview-ui/src/components/kilocode/common/KiloCodeAuth.tsx b/webview-ui/src/components/kilocode/common/KiloCodeAuth.tsx index 454bf07e20..761d64e671 100644 --- a/webview-ui/src/components/kilocode/common/KiloCodeAuth.tsx +++ b/webview-ui/src/components/kilocode/common/KiloCodeAuth.tsx @@ -17,15 +17,23 @@ const KiloCodeAuth: React.FC = ({ onManualConfigClick, classN const { t } = useAppTranslation() return ( -
+
-

{t("kilocode:welcome.greeting")}

-

{t("kilocode:welcome.introText1")}

-

{t("kilocode:welcome.introText2")}

-

{t("kilocode:welcome.introText3")}

- -
+

+ {t("kilocode:welcome.greeting")} +

+

+ {t("kilocode:welcome.tagline")} +

+

+ {t("kilocode:welcome.introText1")} +

+

+ {t("kilocode:welcome.introText2")} +

+ +
{ @@ -36,6 +44,8 @@ const KiloCodeAuth: React.FC = ({ onManualConfigClick, classN {t("kilocode:welcome.ctaButton")} + {t("kilocode:welcome.exploreMatterAI")} + {/* {!!onManualConfigClick && ( onManualConfigClick && onManualConfigClick()}> {t("kilocode:welcome.manualModeButton")} diff --git a/webview-ui/src/i18n/locales/en/kilocode.json b/webview-ui/src/i18n/locales/en/kilocode.json index eceada355c..37b37989e8 100644 --- a/webview-ui/src/i18n/locales/en/kilocode.json +++ b/webview-ui/src/i18n/locales/en/kilocode.json @@ -1,10 +1,11 @@ { "welcome": { - "greeting": "Welcome to Axon Code!", - "introText1": "Axon Code is a free, open source AI coding agent.", - "introText2": "Powered by Axon models by MatterAI.", - "introText3": "Create a free account and get 7-day free trial!", + "greeting": "Welcome to Axon Code, By MatterAI", + "tagline": "The AI Engineering Agent", + "introText1": "Boost your engineering productivity with the complete AI Engineer to Build, Debug and Review your code.", + "introText2": "Create a free account with $5 credits (~100 tasks) every month!", "ctaButton": "Get Started", + "exploreMatterAI": "Explore MatterAI", "manualModeButton": "Use your own API key", "alreadySignedUp": "Already signed up?", "loginText": "Log in here"