Skip to content

Conversation

@Mingholy
Copy link
Collaborator

TLDR

This PR adds comprehensive telemetry logging for user cancellation events, including both request cancellations and tool call cancellations. It also fixes missing trace information in the content generation pipeline by ensuring essential response properties are properly copied during response merging.

Dive Deeper

Key Changes

1. Added User Cancellation Logging

  • Log when users cancel requests or tool calls
  • Track cancellation events in telemetry for better debugging
  • Added tests to ensure cancellation events work correctly

2. Fixed Missing Trace Information

  • Response properties like responseId and createTime were getting lost
  • Fixed the pipeline to preserve all essential trace data
  • Improves debugging and monitoring capabilities

3. Updated Telemetry System

  • Added new cancellation event types and logging functions
  • Extended existing telemetry infrastructure to handle cancellations
  • Maintains compatibility with current telemetry setup

Reviewer Test Plan

Testing User Cancellation Events

  1. Request Cancellation Testing

    • Start a conversation with qwen-code
    • Send a prompt that triggers a response
    • Cancel the request while the AI is responding (Ctrl+C or cancel button)
    • Verify that cancellation events are logged in telemetry
  2. Tool Call Cancellation Testing

    • Send a prompt that triggers tool calls (e.g., "read this file and analyze it")
    • Cancel the operation while tools are executing
    • Check that tool call cancellation events are properly logged

Testing Matrix

🍏 🪟 🐧
npm run
npx
Docker
Podman - -
Seatbelt - -

Linked issues / bugs

None

@github-actions
Copy link
Contributor

📋 Review Summary

This PR introduces valuable telemetry improvements by adding user cancellation event logging for both request cancellations and tool call cancellations. It also fixes an important issue where trace information was being lost during response merging in the content generation pipeline. The changes are well-structured and include appropriate test coverage.

🔍 General Feedback

  • The implementation is clean and well-organized across the codebase
  • Good separation of concerns with new telemetry types and logging functions
  • Comprehensive test coverage for the new cancellation event logging functionality
  • Proper handling of optional fields in the new telemetry events
  • Good attention to detail in updating dependency arrays in React hooks

🎯 Specific Feedback

🟢 Medium

  • File: packages/cli/src/ui/hooks/useGeminiStream.ts:454 - The prompt_id generation uses a hardcoded separator string '########'. Consider defining this as a constant to avoid duplication and potential typos.
  • File: packages/core/src/core/coreToolScheduler.ts:407 - The variable name cancelledCall would be more descriptive as cancelledToolCall for consistency with the type name.

🔵 Low

  • File: packages/core/src/telemetry/loggers.ts:606 - Consider extracting the log record creation into a separate function for better testability and separation of concerns.
  • File: packages/core/src/telemetry/qwen-logger/qwen-logger.ts:690 - The import type syntax import('../types.js').UserCancellationEvent is a bit verbose. Consider adding a regular import at the top of the file for better readability.

✅ Highlights

  • Excellent test coverage for the new cancellation event logging functionality with multiple test cases covering different scenarios
  • Well-designed telemetry events with appropriate optional fields and clear enum values
  • Proper integration with both the QwenLogger and the standard telemetry SDK
  • Good fix for the missing trace information in the content generation pipeline
  • Clean implementation of cancellation logging in both the UI hook and the tool scheduler

@github-actions
Copy link
Contributor

github-actions bot commented Oct 10, 2025

Code Coverage Summary

Package Lines Statements Functions Branches
CLI 69.48% 69.48% 74.01% 80.05%
Core 75.96% 75.96% 78.32% 83.96%
CLI Package - Full Text Report
-------------------|---------|----------|---------|---------|-------------------
File               | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s 
-------------------|---------|----------|---------|---------|-------------------
All files          |   69.48 |    80.05 |   74.01 |   69.48 |                   
 src               |   57.75 |    68.33 |   61.53 |   57.75 |                   
  gemini.tsx       |   41.69 |       50 |    62.5 |   41.69 | ...71,381-387,399 
  ...ractiveCli.ts |   90.38 |    73.68 |   33.33 |   90.38 | 36-39,58-61,88-90 
  ...ActiveAuth.ts |     100 |      100 |     100 |     100 |                   
 src/commands      |    72.5 |      100 |      25 |    72.5 |                   
  extensions.tsx   |   56.52 |      100 |       0 |   56.52 | 19-27,31          
  mcp.ts           |   94.11 |      100 |      50 |   94.11 | 26                
 ...nds/extensions |   35.65 |       75 |   11.11 |   35.65 |                   
  disable.ts       |    28.2 |      100 |       0 |    28.2 | 17-27,33-44,46-50 
  enable.ts        |    23.4 |      100 |       0 |    23.4 | 17-35,41-52,54-58 
  install.ts       |   55.31 |    66.66 |   33.33 |   55.31 | 20-34,56,59-63    
  list.ts          |   32.14 |      100 |       0 |   32.14 | 11-27,34-35       
  uninstall.ts     |   45.71 |      100 |   33.33 |   45.71 | 15-23,35-40,43-46 
  update.ts        |   26.47 |      100 |       0 |   26.47 | 15-30,36-41,43-46 
 src/commands/mcp  |   95.62 |       80 |    90.9 |   95.62 |                   
  add.ts           |    97.4 |    83.33 |     100 |    97.4 | 109-112,119       
  list.ts          |   90.56 |    80.76 |      80 |   90.56 | ...07-109,134-135 
  remove.ts        |     100 |    66.66 |     100 |     100 | 19-23             
 src/config        |   92.56 |    83.14 |   87.32 |   92.56 |                   
  auth.ts          |   83.33 |       95 |      25 |   83.33 | ...60,63-64,67-68 
  config.ts        |   96.17 |    85.24 |   83.33 |   96.17 | ...58,515,710-714 
  extension.ts     |   83.72 |    83.87 |   91.66 |   83.72 | ...68-469,476-480 
  keyBindings.ts   |     100 |      100 |     100 |     100 |                   
  sandboxConfig.ts |   54.16 |    23.07 |   66.66 |   54.16 | ...44,54-68,73-89 
  settings.ts      |    89.4 |    82.44 |   95.45 |    89.4 | ...74-775,847-848 
  ...ingsSchema.ts |     100 |      100 |     100 |     100 |                   
  ...tedFolders.ts |   92.43 |       90 |     100 |   92.43 | ...10,126-131,149 
 ...fig/extensions |    87.5 |    66.66 |     100 |    87.5 |                   
  ...ableSchema.ts |     100 |      100 |     100 |     100 |                   
  variables.ts     |   83.72 |    66.66 |     100 |   83.72 | ...40,53-54,64-65 
 src/generated     |     100 |      100 |     100 |     100 |                   
  git-commit.ts    |     100 |      100 |     100 |     100 |                   
 src/patches       |       0 |        0 |       0 |       0 |                   
  is-in-ci.ts      |       0 |        0 |       0 |       0 | 1-17              
 src/services      |   71.94 |    88.15 |   82.35 |   71.94 |                   
  ...mandLoader.ts |     100 |      100 |     100 |     100 |                   
  ...andService.ts |     100 |      100 |     100 |     100 |                   
  ...mandLoader.ts |    92.7 |     92.5 |     100 |    92.7 | 177-182,265-272   
  ...omptLoader.ts |   34.37 |    72.72 |      50 |   34.37 | ...43-244,247-251 
  types.ts         |     100 |      100 |     100 |     100 |                   
 ...mpt-processors |   97.03 |     93.5 |     100 |   97.03 |                   
  ...tProcessor.ts |     100 |      100 |     100 |     100 |                   
  ...eProcessor.ts |   94.44 |    84.21 |     100 |   94.44 | 43-44,90-91       
  ...tionParser.ts |     100 |      100 |     100 |     100 |                   
  ...lProcessor.ts |   96.96 |    94.87 |     100 |   96.96 | 93-96             
  types.ts         |     100 |      100 |     100 |     100 |                   
 src/test-utils    |   91.52 |    83.33 |      80 |   91.52 |                   
  ...omMatchers.ts |   69.69 |       50 |      50 |   69.69 | 32-35,37-39,45-47 
  ...andContext.ts |     100 |      100 |     100 |     100 |                   
  render.tsx       |     100 |      100 |     100 |     100 |                   
 src/ui            |   61.06 |    65.32 |   59.52 |   61.06 |                   
  App.tsx          |   60.02 |    56.41 |   35.29 |   60.02 | ...1559,1585-1614 
  ...tionNudge.tsx |    8.33 |      100 |       0 |    8.33 | 24-96             
  colors.ts        |   79.59 |      100 |   66.66 |   79.59 | ...43,45-46,48-49 
  constants.ts     |     100 |      100 |     100 |     100 |                   
  keyMatchers.ts   |   95.65 |    95.83 |     100 |   95.65 | 25-26             
  ...tic-colors.ts |     100 |      100 |     100 |     100 |                   
  textConstants.ts |     100 |      100 |     100 |     100 |                   
  types.ts         |     100 |      100 |     100 |     100 |                   
 src/ui/commands   |   77.64 |    80.75 |    82.5 |   77.64 |                   
  aboutCommand.ts  |     100 |       60 |     100 |     100 | 24-31             
  agentsCommand.ts |   77.77 |      100 |       0 |   77.77 | 23-25,32-34       
  ...odeCommand.ts |   79.23 |    75.53 |     100 |   79.23 | ...14-415,429-430 
  authCommand.ts   |     100 |      100 |     100 |     100 |                   
  bugCommand.ts    |   79.72 |     37.5 |     100 |   79.72 | 33-36,43,81-90    
  chatCommand.ts   |   94.23 |    83.33 |     100 |   94.23 | ...11-212,214-215 
  clearCommand.ts  |     100 |      100 |     100 |     100 |                   
  ...essCommand.ts |     100 |    88.88 |     100 |     100 | 73                
  copyCommand.ts   |     100 |      100 |     100 |     100 |                   
  corgiCommand.ts  |     100 |      100 |     100 |     100 |                   
  ...ryCommand.tsx |   69.69 |    73.07 |     100 |   69.69 | ...24-125,160-168 
  docsCommand.ts   |     100 |      100 |     100 |     100 |                   
  editorCommand.ts |     100 |      100 |     100 |     100 |                   
  ...onsCommand.ts |     100 |      100 |     100 |     100 |                   
  helpCommand.ts   |     100 |      100 |     100 |     100 |                   
  ideCommand.ts    |   62.19 |    66.66 |      60 |   62.19 | ...34-248,256-270 
  initCommand.ts   |   83.54 |       70 |     100 |   83.54 | 64,78-83,85-90    
  mcpCommand.ts    |   82.33 |    82.95 |   83.33 |   82.33 | ...84-385,438-445 
  memoryCommand.ts |   60.88 |     86.2 |   42.85 |   60.88 | ...12,219-240,264 
  modelCommand.ts  |     100 |      100 |     100 |     100 |                   
  ...acyCommand.ts |     100 |      100 |     100 |     100 |                   
  quitCommand.ts   |   64.81 |      100 |      50 |   64.81 | 15-34             
  ...oreCommand.ts |      92 |    87.09 |     100 |      92 | ...,82-87,128-129 
  ...ngsCommand.ts |     100 |      100 |     100 |     100 |                   
  ...hubCommand.ts |   83.66 |    66.66 |     100 |   83.66 | ...54-157,160-163 
  statsCommand.ts  |   84.48 |       75 |     100 |   84.48 | 25-33             
  ...aryCommand.ts |    8.33 |      100 |       0 |    8.33 | 23-188            
  ...tupCommand.ts |     100 |      100 |     100 |     100 |                   
  themeCommand.ts  |     100 |      100 |     100 |     100 |                   
  toolsCommand.ts  |     100 |      100 |     100 |     100 |                   
  types.ts         |     100 |      100 |     100 |     100 |                   
  vimCommand.ts    |   44.44 |      100 |       0 |   44.44 | 15-25             
 src/ui/components |   65.54 |    79.66 |   70.66 |   65.54 |                   
  AboutBox.tsx     |     100 |       50 |     100 |     100 | 104               
  AsciiArt.ts      |     100 |      100 |     100 |     100 |                   
  AuthDialog.tsx   |   74.65 |       90 |      50 |   74.65 | ...15-116,138-144 
  ...nProgress.tsx |   16.66 |      100 |       0 |   16.66 | 19-63             
  ...Indicator.tsx |   13.15 |      100 |       0 |   13.15 | 17-52             
  ...ryDisplay.tsx |   89.47 |    33.33 |     100 |   89.47 | 20-21             
  ...ryDisplay.tsx |   92.13 |    94.44 |     100 |   92.13 | 82-87,92          
  ...geDisplay.tsx |     100 |      100 |     100 |     100 |                   
  ...gProfiler.tsx |      24 |      100 |       0 |      24 | 13-36             
  ...esDisplay.tsx |   10.52 |      100 |       0 |   10.52 | 24-82             
  ...ngsDialog.tsx |    6.99 |      100 |       0 |    6.99 | 30-181            
  ...ustDialog.tsx |     100 |      100 |     100 |     100 |                   
  Footer.tsx       |   84.82 |    82.35 |     100 |   84.82 | ...,89-91,136-143 
  ...ngSpinner.tsx |   76.19 |       60 |     100 |   76.19 | 34,39-44          
  Header.tsx       |   87.23 |    57.14 |     100 |   87.23 | 36-39,55,64       
  Help.tsx         |    3.38 |      100 |       0 |    3.38 | 17-167            
  ...emDisplay.tsx |   82.05 |    55.55 |     100 |   82.05 | ...8,61-66,87,100 
  InputPrompt.tsx  |   77.82 |    74.85 |     100 |   77.82 | ...78-780,788-799 
  ...Indicator.tsx |     100 |      100 |     100 |     100 |                   
  ...geDisplay.tsx |   25.92 |      100 |       0 |   25.92 | 15-37             
  ...ionDialog.tsx |     100 |      100 |     100 |     100 |                   
  ...tsDisplay.tsx |     100 |      100 |     100 |     100 |                   
  ...tchDialog.tsx |     100 |      100 |     100 |     100 |                   
  ...KeyPrompt.tsx |   62.33 |    31.25 |     100 |   62.33 | ...59-112,116-124 
  ...ryDisplay.tsx |      20 |      100 |       0 |      20 | 20-41             
  PrepareLabel.tsx |      60 |       80 |     100 |      60 | 35-48             
  ...ionDialog.tsx |   20.75 |      100 |       0 |   20.75 | 28-74             
  ...hProgress.tsx |     100 |      100 |     100 |     100 |                   
  ...ryDisplay.tsx |     100 |      100 |     100 |     100 |                   
  ...ngsDialog.tsx |   58.49 |    70.19 |      75 |   58.49 | ...03-704,738,749 
  ...ionDialog.tsx |    85.5 |      100 |   33.33 |    85.5 | 35-38,43-50       
  ...Indicator.tsx |   44.44 |      100 |       0 |   44.44 | 12-17             
  ...MoreLines.tsx |      60 |       25 |     100 |      60 | 24-27,33-40       
  StatsDisplay.tsx |    98.5 |    93.33 |     100 |    98.5 | 180-182           
  ...nsDisplay.tsx |   84.61 |    68.42 |     100 |   84.61 | ...08-112,122-124 
  ThemeDialog.tsx  |    5.33 |      100 |       0 |    5.33 | 36-312            
  Tips.tsx         |   19.23 |      100 |       0 |   19.23 | 17-45             
  TodoDisplay.tsx  |     100 |      100 |     100 |     100 |                   
  ...tsDisplay.tsx |     100 |     87.5 |     100 |     100 | 30-31             
  ...ification.tsx |   36.36 |      100 |       0 |   36.36 | 15-22             
  ...ackDialog.tsx |    7.95 |      100 |       0 |    7.95 | 23-123            
  ...ionDialog.tsx |    8.75 |      100 |       0 |    8.75 | 20-108            
 ...nents/messages |   80.01 |    85.12 |   64.28 |   80.01 |                   
  ...onMessage.tsx |   20.68 |      100 |       0 |   20.68 | 23-51             
  DiffRenderer.tsx |   93.44 |    82.79 |     100 |   93.44 | ...29-230,234,296 
  ErrorMessage.tsx |     100 |      100 |     100 |     100 |                   
  ...niMessage.tsx |   18.75 |      100 |       0 |   18.75 | 21-49             
  ...geContent.tsx |   19.04 |      100 |       0 |   19.04 | 25-43             
  InfoMessage.tsx  |    90.9 |       50 |     100 |    90.9 | 19-20             
  ...ryMessage.tsx |   12.82 |      100 |       0 |   12.82 | 22-59             
  ...onMessage.tsx |   76.49 |    78.26 |      40 |   76.49 | ...49-164,178-181 
  ...upMessage.tsx |     100 |      100 |     100 |     100 |                   
  ToolMessage.tsx  |   88.28 |       86 |      80 |   88.28 | ...60-264,357-359 
  UserMessage.tsx  |     100 |      100 |     100 |     100 |                   
  ...llMessage.tsx |   36.36 |      100 |       0 |   36.36 | 17-25             
 ...ponents/shared |   77.16 |    76.34 |   93.18 |   77.16 |                   
  MaxSizedBox.tsx  |   81.62 |     82.5 |   88.88 |   81.62 | ...08-509,614-615 
  ...tonSelect.tsx |   86.45 |    67.44 |     100 |   86.45 | ...52,155-156,230 
  TextInput.tsx    |    7.94 |      100 |       0 |    7.94 | 32-194            
  text-buffer.ts   |   77.86 |    78.03 |   96.66 |   77.86 | ...1800,1827,1877 
  ...er-actions.ts |   86.71 |    67.79 |     100 |   86.71 | ...07-608,809-811 
 ...ents/subagents |    32.1 |      100 |       0 |    32.1 |                   
  constants.ts     |     100 |      100 |     100 |     100 |                   
  index.ts         |     100 |      100 |     100 |     100 |                   
  reducers.tsx     |    12.1 |      100 |       0 |    12.1 | 33-190            
  types.ts         |     100 |      100 |     100 |     100 |                   
  utils.ts         |   10.95 |      100 |       0 |   10.95 | ...1,56-57,60-102 
 ...bagents/create |    8.77 |      100 |       0 |    8.77 |                   
  ...ionWizard.tsx |    6.87 |      100 |       0 |    6.87 | 34-319            
  ...rSelector.tsx |      15 |      100 |       0 |      15 | 26-84             
  ...onSummary.tsx |    3.03 |      100 |       0 |    3.03 | 22-306            
  ...tionInput.tsx |    9.09 |      100 |       0 |    9.09 | 23-173            
  ...dSelector.tsx |   35.89 |      100 |       0 |   35.89 | 31-57             
  ...nSelector.tsx |   41.17 |      100 |       0 |   41.17 | 31-52             
  ...EntryStep.tsx |   12.76 |      100 |       0 |   12.76 | 34-78             
  ToolSelector.tsx |    3.74 |      100 |       0 |    3.74 | 30-249            
 ...bagents/manage |    9.16 |      100 |       0 |    9.16 |                   
  ...ctionStep.tsx |   13.72 |      100 |       0 |   13.72 | 20-74             
  ...eleteStep.tsx |   15.78 |      100 |       0 |   15.78 | 19-57             
  ...tEditStep.tsx |   28.75 |      100 |       0 |   28.75 | 44-111            
  ...ctionStep.tsx |    3.23 |      100 |       0 |    3.23 | 27-329            
  ...iewerStep.tsx |   13.33 |      100 |       0 |   13.33 | 17-65             
  ...gerDialog.tsx |    6.17 |      100 |       0 |    6.17 | 32-332            
 ...agents/runtime |    8.08 |      100 |       0 |    8.08 |                   
  ...onDisplay.tsx |    8.08 |      100 |       0 |    8.08 | ...73-503,512-550 
 src/ui/contexts   |   83.44 |    83.45 |     100 |   83.44 |                   
  ...ssContext.tsx |   81.79 |    85.32 |     100 |   81.79 | ...76-478,481-483 
  ...owContext.tsx |   91.07 |    81.81 |     100 |   91.07 | 47-48,60-62       
  ...onContext.tsx |    94.2 |      100 |     100 |    94.2 | 103-106           
  ...gsContext.tsx |   83.33 |       50 |     100 |   83.33 | 17-18             
  ...ngContext.tsx |   71.42 |       50 |     100 |   71.42 | 17-20             
  ...deContext.tsx |   76.08 |       50 |     100 |   76.08 | 47-48,52-59,77-78 
 src/ui/editors    |   93.18 |    85.71 |   66.66 |   93.18 |                   
  ...ngsManager.ts |   93.18 |    85.71 |   66.66 |   93.18 | 48,62-63          
 src/ui/hooks      |   78.82 |    80.98 |   85.86 |   78.82 |                   
  ...dProcessor.ts |   78.76 |    80.19 |     100 |   78.76 | ...47-450,461-479 
  ...dProcessor.ts |   96.34 |    76.31 |     100 |   96.34 | ...12-213,218-219 
  ...dProcessor.ts |   72.35 |    69.79 |    62.5 |   72.35 | ...38-507,563-591 
  ...agerDialog.ts |   88.23 |      100 |     100 |   88.23 | 20,24             
  ...Completion.ts |   92.77 |    89.47 |     100 |   92.77 | ...85-186,219-222 
  ...uthCommand.ts |    8.82 |      100 |       0 |    8.82 | 17-91             
  ...tIndicator.ts |     100 |    88.88 |     100 |     100 | 43                
  ...ketedPaste.ts |     100 |      100 |     100 |     100 |                   
  ...ompletion.tsx |    95.3 |    80.48 |     100 |    95.3 | ...24-225,227-228 
  useCompletion.ts |    92.4 |     87.5 |     100 |    92.4 | 68-69,93-94,98-99 
  ...leMessages.ts |   98.68 |       95 |     100 |   98.68 | 55                
  ...ialogClose.ts |    42.1 |    22.22 |     100 |    42.1 | ...,94-96,100-102 
  ...orSettings.ts |     100 |      100 |     100 |     100 |                   
  useFocus.ts      |     100 |      100 |     100 |     100 |                   
  ...olderTrust.ts |     100 |    85.71 |     100 |     100 | 25-27             
  ...miniStream.ts |   73.23 |    72.95 |     100 |   73.23 | ...2-953,986-1088 
  ...BranchName.ts |   91.66 |    84.61 |     100 |   91.66 | 57-63             
  ...oryManager.ts |   98.41 |    93.33 |     100 |   98.41 | 43                
  ...putHistory.ts |    92.5 |    85.71 |     100 |    92.5 | 62-63,71,93-95    
  useKeypress.ts   |     100 |      100 |     100 |     100 |                   
  ...rdProtocol.ts |     100 |      100 |     100 |     100 |                   
  ...unchEditor.ts |   11.53 |      100 |       0 |   11.53 | 16-30,37-82       
  ...gIndicator.ts |     100 |      100 |     100 |     100 |                   
  useLogger.ts     |      25 |      100 |       0 |      25 | 15-33             
  ...ssageQueue.ts |     100 |      100 |     100 |     100 |                   
  ...raseCycler.ts |   95.45 |       75 |     100 |   95.45 | ...64-165,183-185 
  ...cySettings.ts |   85.08 |       75 |     100 |   85.08 | ...15-116,127-138 
  ...Completion.ts |   40.64 |    58.33 |     100 |   40.64 | ...23-224,226-227 
  ...nfirmation.ts |   55.55 |      100 |     100 |   55.55 | 14,18-31          
  useQwenAuth.ts   |     100 |      100 |     100 |     100 |                   
  ...lScheduler.ts |   78.82 |    94.44 |     100 |   78.82 | ...00-203,289-299 
  ...oryCommand.ts |       0 |        0 |       0 |       0 | 1-7               
  ...ompletion.tsx |     100 |     92.3 |     100 |     100 | 77                
  ...ngsCommand.ts |    87.5 |      100 |     100 |    87.5 | 13,17             
  ...ellHistory.ts |   91.66 |       80 |     100 |   91.66 | ...69,117-118,128 
  ...oryCommand.ts |       0 |        0 |       0 |       0 | 1-76              
  ...Completion.ts |      94 |    92.53 |     100 |      94 | 58-61,69-72,93    
  ...tateAndRef.ts |   13.63 |      100 |       0 |   13.63 | 16-36             
  ...eateDialog.ts |   88.23 |      100 |     100 |   88.23 | 14,18             
  ...rminalSize.ts |   18.18 |      100 |       0 |   18.18 | 12-32             
  ...emeCommand.ts |   46.98 |       75 |     100 |   46.98 | ...4,70-71,77-100 
  useTimer.ts      |   88.09 |    85.71 |     100 |   88.09 | 44-45,51-53       
  ...AutoSwitch.ts |   91.84 |    88.57 |     100 |   91.84 | ...07,173,233-241 
  ...elcomeBack.ts |   69.44 |    44.44 |     100 |   69.44 | ...85,89-90,96-98 
  ...eMigration.ts |    53.7 |       50 |   33.33 |    53.7 | ...35,42-57,60-61 
  vim.ts           |   83.57 |    79.67 |     100 |   83.57 | ...38,742-750,759 
 src/ui/models     |   62.96 |      100 |      50 |   62.96 |                   
  ...ableModels.ts |   62.96 |      100 |      50 |   62.96 | 25-31,38-40       
 src/ui/privacy    |   14.52 |      100 |       0 |   14.52 |                   
  ...acyNotice.tsx |   10.38 |      100 |       0 |   10.38 | 21-117            
  ...acyNotice.tsx |   14.28 |      100 |       0 |   14.28 | 16-59             
  ...acyNotice.tsx |   12.19 |      100 |       0 |   12.19 | 16-62             
  ...acyNotice.tsx |   30.76 |      100 |       0 |   30.76 | 19-36,39-41       
 src/ui/themes     |   99.01 |    67.71 |     100 |   99.01 |                   
  ansi-light.ts    |     100 |      100 |     100 |     100 |                   
  ansi.ts          |     100 |      100 |     100 |     100 |                   
  atom-one-dark.ts |     100 |      100 |     100 |     100 |                   
  ayu-light.ts     |     100 |      100 |     100 |     100 |                   
  ayu.ts           |     100 |      100 |     100 |     100 |                   
  color-utils.ts   |     100 |      100 |     100 |     100 |                   
  default-light.ts |     100 |      100 |     100 |     100 |                   
  default.ts       |     100 |      100 |     100 |     100 |                   
  dracula.ts       |     100 |      100 |     100 |     100 |                   
  github-dark.ts   |     100 |      100 |     100 |     100 |                   
  github-light.ts  |     100 |      100 |     100 |     100 |                   
  googlecode.ts    |     100 |      100 |     100 |     100 |                   
  no-color.ts      |     100 |      100 |     100 |     100 |                   
  qwen-dark.ts     |     100 |      100 |     100 |     100 |                   
  qwen-light.ts    |     100 |      100 |     100 |     100 |                   
  ...tic-tokens.ts |     100 |      100 |     100 |     100 |                   
  ...-of-purple.ts |     100 |      100 |     100 |     100 |                   
  theme-manager.ts |   87.23 |    77.77 |     100 |   87.23 | ...00-306,311-312 
  theme.ts         |     100 |    42.55 |     100 |     100 | 255-270           
  xcode.ts         |     100 |      100 |     100 |     100 |                   
 src/ui/utils      |   65.97 |    79.93 |   82.25 |   65.97 |                   
  ...Colorizer.tsx |   79.31 |    84.37 |     100 |   79.31 | ...51-154,190-216 
  ...olePatcher.ts |      96 |       75 |     100 |      96 | 59-60             
  ...nRenderer.tsx |   52.85 |    27.27 |     100 |   52.85 | ...26-132,142-144 
  ...wnDisplay.tsx |   85.84 |    87.69 |     100 |   85.84 | ...72-280,313-336 
  ...eRenderer.tsx |   78.09 |    76.19 |     100 |   78.09 | 55-83             
  ...boardUtils.ts |   32.25 |     37.5 |     100 |   32.25 | ...55-114,129-145 
  commandUtils.ts  |   92.79 |    88.63 |     100 |   92.79 | ...12,116,118-119 
  computeStats.ts  |     100 |      100 |     100 |     100 |                   
  displayUtils.ts  |     100 |      100 |     100 |     100 |                   
  formatters.ts    |   90.47 |    95.83 |     100 |   90.47 | 57-60             
  isNarrowWidth.ts |     100 |      100 |     100 |     100 |                   
  ...olDetector.ts |   13.88 |      100 |      50 |   13.88 | 16-97             
  ...nUtilities.ts |   69.84 |    85.71 |     100 |   69.84 | 75-91,100-101     
  ...mConstants.ts |     100 |      100 |     100 |     100 |                   
  terminalSetup.ts |       4 |      100 |       0 |       4 | 40-342            
  textUtils.ts     |   94.11 |    82.35 |     100 |   94.11 | 17-18             
  updateCheck.ts   |     100 |    80.95 |     100 |     100 | 27-39             
 src/utils         |   46.87 |    90.82 |   83.87 |   46.87 |                   
  checks.ts        |   33.33 |      100 |       0 |   33.33 | 23-28             
  cleanup.ts       |   65.38 |      100 |   66.66 |   65.38 | 28-37             
  ...ScopeUtils.ts |   79.06 |    66.66 |     100 |   79.06 | 55-64             
  errors.ts        |   28.57 |      100 |       0 |   28.57 | 8-12              
  events.ts        |     100 |      100 |     100 |     100 |                   
  gitUtils.ts      |   94.66 |    82.35 |     100 |   94.66 | 75-78             
  ...AutoUpdate.ts |    81.6 |    95.83 |   66.66 |    81.6 | 89-103,129-136    
  ...lationInfo.ts |     100 |      100 |     100 |     100 |                   
  package.ts       |   88.88 |       80 |     100 |   88.88 | 33-34             
  readStdin.ts     |   79.24 |       90 |      80 |   79.24 | 31-38,50-52       
  resolvePath.ts   |   66.66 |       25 |     100 |   66.66 | 12-13,16,18-19    
  sandbox.ts       |       0 |        0 |       0 |       0 | 1-962             
  settingsUtils.ts |   86.94 |    92.13 |   96.66 |   86.94 | ...78-405,444-445 
  spawnWrapper.ts  |     100 |      100 |     100 |     100 |                   
  ...upWarnings.ts |   23.07 |      100 |       0 |   23.07 | 14-40             
  ...entEmitter.ts |     100 |      100 |     100 |     100 |                   
  ...upWarnings.ts |     100 |      100 |     100 |     100 |                   
  version.ts       |     100 |       50 |     100 |     100 | 11                
 ...ed-integration |   24.24 |        0 |       0 |   24.24 |                   
  acp.ts           |    3.29 |        0 |       0 |    3.29 | ...53-289,292-339 
  ...temService.ts |   19.35 |      100 |       0 |   19.35 | 15-19,22-34,37-46 
  schema.ts        |     100 |      100 |     100 |     100 |                   
  ...ntegration.ts |    2.96 |        0 |       0 |    2.96 | ...30-909,924-983 
-------------------|---------|----------|---------|---------|-------------------
Core Package - Full Text Report
-------------------|---------|----------|---------|---------|-------------------
File               | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s 
-------------------|---------|----------|---------|---------|-------------------
All files          |   75.96 |    83.96 |   78.32 |   75.96 |                   
 src               |     100 |      100 |     100 |     100 |                   
  index.ts         |     100 |      100 |     100 |     100 |                   
 src/__mocks__/fs  |     100 |      100 |     100 |     100 |                   
  promises.ts      |     100 |      100 |     100 |     100 |                   
 src/code_assist   |   75.15 |    78.78 |      80 |   75.15 |                   
  codeAssist.ts    |   18.51 |      100 |       0 |   18.51 | 15-37             
  converter.ts     |   94.93 |    93.02 |     100 |   94.93 | ...83,197,214-215 
  oauth2.ts        |   78.19 |    66.66 |   91.66 |   78.19 | ...39-445,450-451 
  server.ts        |   50.29 |       80 |   53.84 |   50.29 | ...75-216,219-222 
  setup.ts         |   86.66 |    78.94 |     100 |   86.66 | ...,92-94,118-124 
  types.ts         |     100 |      100 |     100 |     100 |                   
 src/config        |   77.22 |    88.97 |      50 |   77.22 |                   
  config.ts        |   75.93 |    87.17 |   44.76 |   75.93 | ...1046,1062-1063 
  models.ts        |     100 |      100 |     100 |     100 |                   
  storage.ts       |   85.88 |      100 |   73.91 |   85.88 | ...08-109,112-113 
 src/core          |   78.72 |     83.6 |   75.37 |   78.72 |                   
  client.ts        |   80.46 |    81.11 |   75.86 |   80.46 | ...1075,1082-1131 
  ...tGenerator.ts |   70.62 |    72.41 |     100 |   70.62 | ...51,185,206-245 
  ...lScheduler.ts |   84.43 |    84.41 |      92 |   84.43 | ...,969,1049-1053 
  geminiChat.ts    |   73.45 |     87.5 |   58.62 |   73.45 | ...22-823,826-827 
  geminiRequest.ts |     100 |      100 |     100 |     100 |                   
  logger.ts        |   83.42 |    84.07 |     100 |   83.42 | ...63-367,407-418 
  ...tGenerator.ts |    16.1 |      100 |      20 |    16.1 | ...52-184,187-188 
  ...olExecutor.ts |     100 |      100 |      50 |     100 |                   
  prompts.ts       |   86.16 |    82.27 |   77.77 |   86.16 | ...25-826,829-830 
  tokenLimits.ts   |     100 |    85.71 |     100 |     100 | 41-42             
  turn.ts          |   86.16 |    86.04 |     100 |   86.16 | ...14-315,328-329 
 ...ntentGenerator |   56.64 |    79.24 |   81.81 |   56.64 |                   
  constants.ts     |     100 |      100 |     100 |     100 |                   
  converter.ts     |   21.41 |    25.49 |   54.54 |   21.41 | ...8-971,990-1027 
  errorHandler.ts  |     100 |      100 |     100 |     100 |                   
  index.ts         |       0 |        0 |       0 |       0 | 1-92              
  ...tGenerator.ts |   49.58 |     87.5 |    87.5 |   49.58 | 86-98,102-155     
  pipeline.ts      |    97.2 |    92.06 |     100 |    97.2 | ...27-228,403-407 
  ...CallParser.ts |   90.14 |    86.66 |     100 |   90.14 | ...15-319,349-350 
  ...tryService.ts |   98.75 |    95.23 |     100 |   98.75 | 153-154           
 ...rator/provider |   97.22 |    89.24 |     100 |   97.22 |                   
  dashscope.ts     |   98.26 |     92.3 |     100 |   98.26 | 191-192,272-273   
  deepseek.ts      |   89.83 |    70.58 |     100 |   89.83 | 34-35,39-40,53-54 
  default.ts       |     100 |      100 |     100 |     100 |                   
  index.ts         |     100 |      100 |     100 |     100 |                   
  openrouter.ts    |     100 |      100 |     100 |     100 |                   
  types.ts         |       0 |        0 |       0 |       0 |                   
 src/generated     |     100 |      100 |     100 |     100 |                   
  git-commit.ts    |     100 |      100 |     100 |     100 |                   
 src/ide           |   75.99 |    84.31 |   79.16 |   75.99 |                   
  constants.ts     |     100 |      100 |     100 |     100 |                   
  detect-ide.ts    |   96.96 |    97.29 |     100 |   96.96 | 63-65             
  ide-client.ts    |   62.04 |    76.36 |   64.28 |   62.04 | ...00-508,533-541 
  ide-installer.ts |   91.45 |       84 |     100 |   91.45 | ...95,130-134,147 
  ideContext.ts    |   83.65 |      100 |     100 |   83.65 | 74-90             
  process-utils.ts |   88.03 |    78.57 |     100 |   88.03 | ...18,149,159-160 
 src/mcp           |   76.51 |    68.55 |   81.57 |   76.51 |                   
  ...h-provider.ts |   86.36 |      100 |   33.33 |   86.36 | ...85,89,93,97-98 
  ...h-provider.ts |   74.19 |    51.64 |     100 |   74.19 | ...05-809,816-818 
  ...en-storage.ts |     100 |      100 |     100 |     100 |                   
  oauth-utils.ts   |   67.78 |    78.57 |    90.9 |   67.78 | ...61-282,307-330 
 .../token-storage |   96.87 |    93.33 |   83.33 |   96.87 |                   
  ...en-storage.ts |     100 |      100 |     100 |     100 |                   
  types.ts         |       0 |        0 |       0 |       0 | 1                 
 src/mocks         |     100 |      100 |     100 |     100 |                   
  msw.ts           |     100 |      100 |     100 |     100 |                   
 src/prompts       |   26.41 |      100 |      25 |   26.41 |                   
  mcp-prompts.ts   |   18.18 |      100 |       0 |   18.18 | 11-19             
  ...t-registry.ts |   28.57 |      100 |   28.57 |   28.57 | ...42,48-55,68-73 
 src/qwen          |   86.68 |     80.2 |   97.01 |   86.68 |                   
  ...tGenerator.ts |   98.63 |    98.18 |     100 |   98.63 | 106-107           
  qwenOAuth2.ts    |   85.85 |    76.06 |    92.3 |   85.85 | ...67,797-808,847 
  ...kenManager.ts |   84.24 |    76.03 |     100 |   84.24 | ...52-757,778-783 
 src/services      |   88.15 |    85.29 |   91.66 |   88.15 |                   
  ...ingService.ts |   77.01 |     61.9 |     100 |   77.01 | ...06-408,435-437 
  ...eryService.ts |   93.33 |    88.46 |   85.71 |   93.33 | 32,40,85,110-111  
  ...temService.ts |     100 |      100 |     100 |     100 |                   
  gitService.ts    |      70 |    93.33 |      60 |      70 | ...14-124,127-131 
  ...ionService.ts |   97.53 |     92.1 |     100 |   97.53 | ...44-345,351-352 
  ...ionService.ts |   92.21 |    88.15 |     100 |   92.21 | ...69-370,446-460 
 src/subagents     |   85.83 |    80.13 |   84.21 |   85.83 |                   
  ...tin-agents.ts |     100 |      100 |     100 |     100 |                   
  index.ts         |     100 |      100 |     100 |     100 |                   
  ...ent-events.ts |   83.33 |      100 |      50 |   83.33 | 124-125,128-129   
  ...gent-hooks.ts |       0 |        0 |       0 |       0 | 1                 
  ...nt-manager.ts |   85.03 |    81.06 |   95.45 |   85.03 | ...24-725,794-795 
  ...statistics.ts |   97.97 |    82.92 |     100 |   97.97 | 111,131,168,201   
  subagent.ts      |   78.83 |    63.02 |      68 |   78.83 | ...82-883,889-890 
  types.ts         |     100 |      100 |     100 |     100 |                   
  validation.ts    |    92.4 |    96.59 |     100 |    92.4 | 54-59,63-68,72-77 
 src/telemetry     |   64.33 |    85.86 |   69.69 |   64.33 |                   
  constants.ts     |     100 |      100 |     100 |     100 |                   
  ...-exporters.ts |   26.47 |        0 |       0 |   26.47 | ...84,87-88,91-92 
  index.ts         |     100 |      100 |     100 |     100 |                   
  ...t.circular.ts |       0 |        0 |       0 |       0 | 1-111             
  ...t.circular.ts |       0 |        0 |       0 |       0 | 1-128             
  loggers.ts       |    50.9 |    75.86 |      50 |    50.9 | ...74-593,602-621 
  metrics.ts       |   62.09 |    93.54 |   46.15 |   62.09 | ...85-287,293-311 
  sdk.ts           |   78.08 |    47.05 |     100 |   78.08 | ...82,186-187,189 
  ...etry-utils.ts |     100 |      100 |     100 |     100 |                   
  ...l-decision.ts |     100 |      100 |     100 |     100 |                   
  types.ts         |   87.39 |    93.05 |   89.74 |   87.39 | ...89-398,418-429 
  uiTelemetry.ts   |    99.3 |    95.83 |     100 |    99.3 | 130               
 ...learcut-logger |   41.02 |       66 |   41.17 |   41.02 |                   
  ...cut-logger.ts |   34.35 |     65.3 |   41.17 |   34.35 | ...52-953,956-959 
  ...tadata-key.ts |     100 |      100 |     100 |     100 |                   
 ...ry/qwen-logger |   67.15 |    83.07 |   68.29 |   67.15 |                   
  event-types.ts   |       0 |        0 |       0 |       0 |                   
  qwen-logger.ts   |   67.15 |    82.81 |    67.5 |   67.15 | ...30-735,777-778 
 src/test-utils    |   96.87 |       96 |   81.81 |   96.87 |                   
  config.ts        |     100 |      100 |     100 |     100 |                   
  ...aceContext.ts |     100 |      100 |     100 |     100 |                   
  tools.ts         |   95.86 |    95.23 |      80 |   95.86 | 60-61,129,133-134 
 src/tools         |   74.12 |    83.27 |   82.97 |   74.12 |                   
  diffOptions.ts   |     100 |      100 |     100 |     100 |                   
  edit.ts          |      81 |    86.81 |   86.66 |      81 | ...54-455,545-588 
  exitPlanMode.ts  |   93.66 |    86.95 |     100 |   93.66 | 88-90,102-107     
  glob.ts          |   91.63 |    82.69 |    87.5 |   91.63 | ...27-228,319-320 
  grep.ts          |   62.07 |       84 |      80 |   62.07 | ...57-661,671-672 
  ls.ts            |   97.37 |    91.66 |     100 |   97.37 | 140-145           
  ...nt-manager.ts |   79.74 |    83.33 |      80 |   79.74 | ...98-105,113-114 
  mcp-client.ts    |   31.05 |    78.26 |      50 |   31.05 | ...1356,1360-1363 
  mcp-tool.ts      |    94.9 |    92.85 |   94.11 |    94.9 | 199-209,271-272   
  memoryTool.ts    |   75.87 |    84.37 |   90.47 |   75.87 | ...41-352,490-574 
  ...iable-tool.ts |     100 |    84.61 |     100 |     100 | 99,106            
  read-file.ts     |   98.67 |    96.96 |    87.5 |   98.67 | 64-65             
  ...many-files.ts |   80.17 |    78.37 |   85.71 |   80.17 | ...90-491,498-499 
  ripGrep.ts       |   89.72 |    86.17 |   92.85 |   89.72 | ...42-443,464-465 
  shell.ts         |   88.34 |    78.88 |     100 |   88.34 | ...73-474,485-486 
  task.ts          |    66.4 |    86.53 |     100 |    66.4 | ...00-501,522-529 
  todoWrite.ts     |   78.21 |    79.48 |   71.42 |   78.21 | ...70-395,416-417 
  tool-error.ts    |     100 |      100 |     100 |     100 |                   
  tool-names.ts    |     100 |      100 |     100 |     100 |                   
  tool-registry.ts |   69.11 |    65.38 |   70.37 |   69.11 | ...18-423,431-439 
  tools.ts         |   89.32 |    89.58 |    87.5 |   89.32 | ...69-370,386-392 
  web-fetch.ts     |   84.97 |    63.63 |      90 |   84.97 | ...30-231,233-234 
  web-search.ts    |   79.43 |    82.14 |    87.5 |   79.43 | ...,92-98,117-121 
  write-file.ts    |   82.19 |    78.68 |      75 |   82.19 | ...31-434,446-480 
 src/utils         |   84.31 |     89.4 |   85.57 |   84.31 |                   
  LruCache.ts      |       0 |        0 |       0 |       0 | 1-41              
  bfsFileSearch.ts |   89.02 |    90.47 |     100 |   89.02 | 86-94             
  browser.ts       |    7.69 |      100 |       0 |    7.69 | 17-56             
  editor.ts        |   97.63 |    94.54 |     100 |   97.63 | 154,224,227-228   
  ...entContext.ts |     100 |      100 |     100 |     100 |                   
  errorParsing.ts  |     100 |     92.3 |     100 |     100 | 76,80,86          
  ...rReporting.ts |   83.72 |    84.61 |     100 |   83.72 | 82-86,107-115     
  errors.ts        |   45.94 |       60 |      30 |   45.94 | ...0,76-92,96-102 
  fetch.ts         |   34.04 |      100 |       0 |   34.04 | 22-27,31-57       
  fileUtils.ts     |   94.65 |       90 |     100 |   94.65 | ...08-113,322-328 
  formatters.ts    |   54.54 |       50 |     100 |   54.54 | 12-16             
  ...eUtilities.ts |    95.4 |    94.87 |     100 |    95.4 | 16-17,45-46       
  ...rStructure.ts |   95.96 |    94.93 |     100 |   95.96 | ...14-117,345-347 
  getPty.ts        |    12.5 |      100 |       0 |    12.5 | 21-34             
  ...noreParser.ts |     100 |    89.47 |     100 |     100 | 27,47             
  gitUtils.ts      |   51.21 |     90.9 |      50 |   51.21 | 40-41,50-73       
  ...rePatterns.ts |     100 |      100 |     100 |     100 |                   
  ...ionManager.ts |     100 |    91.66 |     100 |     100 | 23                
  ...-detection.ts |     100 |      100 |     100 |     100 |                   
  ...yDiscovery.ts |    82.4 |    72.41 |   77.77 |    82.4 | ...97-398,401-402 
  ...tProcessor.ts |   91.51 |    88.46 |   84.61 |   91.51 | ...02-308,385-386 
  ...Inspectors.ts |   61.53 |      100 |      50 |   61.53 | 18-23             
  ...kerChecker.ts |   83.33 |    83.33 |     100 |   83.33 | 64-65,75-80,88-94 
  openaiLogger.ts  |    19.1 |      100 |   33.33 |    19.1 | ...96-116,124-131 
  partUtils.ts     |     100 |      100 |     100 |     100 |                   
  pathReader.ts    |     100 |      100 |     100 |     100 |                   
  paths.ts         |   88.11 |    91.17 |     100 |   88.11 | ...,89-90,101-102 
  ...ectSummary.ts |    3.75 |      100 |       0 |    3.75 | 27-119            
  ...rDetection.ts |   76.85 |    84.31 |     100 |   76.85 | ...25-126,166-167 
  retry.ts         |   63.98 |    76.19 |     100 |   63.98 | ...74-294,339-354 
  safeJsonParse.ts |      72 |    83.33 |     100 |      72 | 37-43             
  ...nStringify.ts |     100 |      100 |     100 |     100 |                   
  ...aValidator.ts |   89.18 |    53.33 |     100 |   89.18 | 27-28,30-31       
  ...r-launcher.ts |   76.52 |     87.5 |   66.66 |   76.52 | ...33,135,153-191 
  session.ts       |     100 |      100 |     100 |     100 |                   
  shell-utils.ts   |   98.63 |    97.56 |     100 |   98.63 | 177-178,195-196   
  ...nlyChecker.ts |   81.63 |       80 |      80 |   81.63 | ...58-259,263-264 
  ...tGenerator.ts |     100 |      100 |     100 |     100 |                   
  summarizer.ts    |     100 |    88.88 |     100 |     100 | 91                
  ...emEncoding.ts |      98 |    94.11 |     100 |      98 | 106-107           
  testUtils.ts     |   84.44 |    72.72 |   83.33 |   84.44 | 27-28,34-35,70-72 
  textUtils.ts     |    12.5 |      100 |       0 |    12.5 | 15-34             
  tool-utils.ts    |   91.48 |    89.47 |     100 |   91.48 | 53-54,57-58       
  ...untManager.ts |   97.14 |    94.73 |     100 |   97.14 | 36-38             
  ...aceContext.ts |   96.82 |    95.12 |    92.3 |   96.82 | 94-95,109-110     
  yaml-parser.ts   |      92 |       84 |     100 |      92 | 49-53,65-69       
 ...ils/filesearch |   96.17 |     91.4 |     100 |   96.17 |                   
  crawlCache.ts    |     100 |      100 |     100 |     100 |                   
  crawler.ts       |   96.22 |     92.3 |     100 |   96.22 | 66-67             
  fileSearch.ts    |   93.22 |    87.14 |     100 |   93.22 | ...27-228,230-231 
  ignore.ts        |     100 |      100 |     100 |     100 |                   
  result-cache.ts  |     100 |     92.3 |     100 |     100 | 46                
 ...uest-tokenizer |   59.81 |    76.37 |   75.67 |   59.81 |                   
  ...eTokenizer.ts |   41.47 |    76.47 |   69.23 |   41.47 | ...67-440,450-504 
  index.ts         |   66.66 |      100 |      50 |   66.66 | 35-40             
  ...tTokenizer.ts |   71.18 |    70.96 |   91.66 |   71.18 | ...26-327,338-339 
  ...ageFormats.ts |      76 |      100 |   33.33 |      76 | 45-48,55-56       
  textTokenizer.ts |     100 |    88.88 |     100 |     100 | 71,76,81          
  types.ts         |       0 |        0 |       0 |       0 | 1                 
-------------------|---------|----------|---------|---------|-------------------

For detailed HTML reports, please see the 'coverage-reports-22.x-ubuntu-latest' artifact from the main CI run.

}

logUserCancellationEvent(
event: import('../types.js').UserCancellationEvent,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This import statements should be place on top of this file.

@tanzhenxin
Copy link
Collaborator

LGTM!

@Mingholy Mingholy merged commit 4081094 into main Oct 14, 2025
39 of 40 checks passed
reski-rukmantiyo pushed a commit to reski-rukmantiyo/qwen-code that referenced this pull request Oct 15, 2025
* fix: add missing trace info and cancellation events

* fix: re-organize tool/request cancellation logging
andywinnock pushed a commit to andywinnock/qwen-code that referenced this pull request Nov 3, 2025
* fix: add missing trace info and cancellation events

* fix: re-organize tool/request cancellation logging
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants