@mmmbuto/gemini-cli-termux 0.24.8-termux → 0.24.10-termux

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,300 @@
1
+ # Merge Analysis: v0.24.8-termux → v0.24.9-termux
2
+
3
+ **Date**: 2026-01-10
4
+ **Current**: v0.24.8-termux
5
+ **Target**: upstream/main (v0.24.0+165 commits)
6
+ **Delta**: 165 upstream commits
7
+ **Conflicts Resolved**: 8
8
+
9
+ ---
10
+
11
+ ## Executive Summary
12
+
13
+ Proceduto con merge di upstream/main (165 commits) in v0.24.9-termux. Tutte le
14
+ patch Termux sono state preservate con successo. Conflitti risolti in 8 file,
15
+ principalmente legati a configurazione e test.
16
+
17
+ ### Result
18
+
19
+ ✅ **Merge completato con successo**
20
+ ✅ **8 conflitti risolti**
21
+ ✅ **280 file modificati** (+9659/-5690 righe)
22
+ ✅ **Tutte le patch Termux preservate**
23
+ ✅ **npm publish completato**
24
+ ✅ **GitHub release creata**
25
+
26
+ ---
27
+
28
+ ## Upstream Features Integrated (Highlights)
29
+
30
+ | Feature | Commit Range | Termux Relevance |
31
+ | ---------------------------- | -------------------------------------------- | ----------------------- |
32
+ | Built-in Agent Skills | 461c277bf | ✅ Tested |
33
+ | Tool Modifier System | packages/core/src/scheduler/tool-modifier.ts | ✅ Tested |
34
+ | File Diff Utilities | packages/core/src/utils/fileDiffUtils.ts | ✅ Tested |
35
+ | Enhanced Settings Management | packages/cli/src/config/settings.ts | ✅ Tested |
36
+ | Updated Ink to v6.4.7 | b54e688c7 | ✅ UI improvements |
37
+ | Hook Event Handler | packages/core/src/hooks/hookEventHandler.ts | ✅ Core improvements |
38
+ | Updated System Prompts | b08b0d715 | ✅ Non-interactive mode |
39
+ | Removed sessionHookTriggers | 356f76e54 | ✅ Simplified exports |
40
+
41
+ ---
42
+
43
+ ## Patch Termux Preserved
44
+
45
+ ### Essential Termux Patches (Verified)
46
+
47
+ | File/Feature | Status | Notes |
48
+ | ------------------------------------------ | ------------ | -------------------------------------------------------- |
49
+ | `packages/core/src/utils/termux-detect.ts` | ✅ Preserved | Termux detection utility |
50
+ | `scripts/postinstall.cjs` | ✅ Preserved | Postinstall message |
51
+ | `scripts/prepare-termux.cjs` | ✅ Preserved | Prepare script override |
52
+ | `package.json` - PTY deps | ✅ Updated | `@mmmbuto/node-pty-android-arm64@~1.1.0` in dependencies |
53
+ | Context memory system | ✅ Preserved | base/user/journal JSON memories |
54
+ | MCP SDK typings shim | ✅ Preserved | Local `.d.ts` shims |
55
+ | Bundle prebuild | ✅ Preserved | `bundle/gemini.js` included |
56
+ | Clipboard detection | ✅ Preserved | `TERMUX__PREFIX` handling |
57
+
58
+ ### PTY Package Changes
59
+
60
+ **Important Update**: `@mmmbuto/node-pty-android-arm64` moved from
61
+ devDependencies to dependencies for automatic installation on Termux.
62
+
63
+ ```json
64
+ "dependencies": {
65
+ "@mmmbuto/node-pty-android-arm64": "~1.1.0"
66
+ }
67
+ ```
68
+
69
+ ---
70
+
71
+ ## Conflicts Resolved (8 files)
72
+
73
+ ### 1. `.github/scripts/pr-triage.sh`
74
+
75
+ **Type**: Updated upstream script
76
+ **Resolution**: Kept upstream version (updated logic)
77
+
78
+ ### 2. `.github/workflows/` (multiple files)
79
+
80
+ **Files**: `ci.yml`, `gemini-automated-issue-dedup.yml`,
81
+ `gemini-scheduled-issue-dedup.yml`, `links.yml`, `release-nightly.yml`
82
+ **Type**: GitHub Actions updates
83
+ **Resolution**: Kept upstream versions (CI improvements)
84
+
85
+ ### 3. `docs/` (multiple files)
86
+
87
+ **Files**: `changelogs/`, `cli/configuration.md`, `cli/model-routing.md`,
88
+ `cli/model.md`, `cli/settings.md`, `extensions/`, `get-started/`, `hooks/`,
89
+ `troubleshooting.md`
90
+ **Type**: Documentation updates
91
+ **Resolution**: Kept upstream versions (updated docs)
92
+
93
+ ### 4. `package.json`
94
+
95
+ **Type**: Version and dependency updates
96
+ **Resolution**: Merged both:
97
+
98
+ - Kept Termux: `@mmmbuto/node-pty-android-arm64` in dependencies
99
+ - Updated upstream: All other dependencies and scripts
100
+
101
+ ### 5. `packages/cli/src/commands/extensions/`
102
+
103
+ **Files**: `configure.ts`, `settings.ts` (removed/replaced)
104
+ **Type**: Extension management refactor
105
+ **Resolution**: Kept upstream (new `configure.ts` replaces `settings.ts`)
106
+
107
+ ### 6. `packages/cli/src/config/`
108
+
109
+ **Files**: `settings.ts`, `settingsSchema.ts`, `extension-manager.ts`
110
+ **Type**: Settings system refactor
111
+ **Resolution**: Kept upstream with Termux patches preserved (`isTermux()` logic)
112
+
113
+ ### 7. `packages/core/src/hooks/`
114
+
115
+ **Files**: `hookEventHandler.ts`, `hookSystem.ts`, `hookTranslator.ts`,
116
+ `index.ts`
117
+ **Type**: Hook system improvements
118
+ **Resolution**: Kept upstream (enhanced hook system)
119
+
120
+ ### 8. `packages/core/src/utils/`
121
+
122
+ **Files**: `fileDiffUtils.ts` (new), `shell-permissions.ts` (removed)
123
+ **Type**: Utilities refactor
124
+ **Resolution**: Kept upstream (new file diff utils, removed shell-permissions)
125
+
126
+ ---
127
+
128
+ ## Upstream Breaking Changes
129
+
130
+ ### Removed Files
131
+
132
+ - `docs/cli/configuration.md` → Merged into other docs
133
+ - `docs/get-started/deployment.md` → Deprecated
134
+ - `packages/cli/src/commands/extensions/settings.ts` → Replaced by
135
+ `configure.ts`
136
+ - `packages/core/src/core/sessionHookTriggers.ts` → Removed, use
137
+ `geminiChatHookTriggers`
138
+ - `packages/core/src/utils/shell-permissions.ts` → Removed, replaced by new
139
+ system
140
+
141
+ ### New Files
142
+
143
+ - `packages/core/src/utils/fileDiffUtils.ts` + `fileDiffUtils.test.ts` → New
144
+ diff utilities
145
+ - `packages/core/src/scheduler/tool-modifier.ts` + `tool-modifier.test.ts` →
146
+ Tool modifiers
147
+ - `packages/cli/src/commands/extensions/configure.ts` + `configure.test.ts` →
148
+ Extension configure
149
+ - `packages/core/src/hooks/hookEventHandler.ts` + `hookEventHandler.test.ts` →
150
+ Hook events
151
+
152
+ ---
153
+
154
+ ## Verification Steps Completed
155
+
156
+ ### 1. Build Verification
157
+
158
+ ```bash
159
+ npm install # ✅ Completed
160
+ npm run build # ✅ Completed
161
+ npm run bundle # ✅ Completed
162
+ ```
163
+
164
+ ### 2. Version Verification
165
+
166
+ ```bash
167
+ node bundle/gemini.js --version # ✅ Shows 0.24.9-termux
168
+ ```
169
+
170
+ ### 3. Termux Patches Verification
171
+
172
+ - ✅ `termux-detect.ts` exported in core/index.ts
173
+ - ✅ `postinstall.cjs` exists and runs
174
+ - ✅ PTY package in dependencies
175
+ - ✅ Context memory system preserved
176
+ - ✅ MCP SDK typings shim present
177
+
178
+ ### 4. npm Verification
179
+
180
+ ```bash
181
+ npm publish --tag latest # ✅ Published
182
+ ```
183
+
184
+ ### 5. GitHub Verification
185
+
186
+ ```bash
187
+ git push origin main # ✅ Pushed
188
+ git push origin v0.24.9-termux # ✅ Tagged
189
+ gh release create v0.24.9-termux # ✅ Created
190
+ ```
191
+
192
+ ---
193
+
194
+ ## Documentation Updates Required
195
+
196
+ ### ✅ Completed
197
+
198
+ - [x] `docs/patches/README.md` - Updated to v0.24.9-termux, added new upstream
199
+ features
200
+ - [x] `README.md` - Version updated to 0.24.9-termux
201
+ - [x] `package.json` - Version bump to 0.24.9-termux
202
+ - [x] `.gemini/settings.json` - Settings preserved
203
+
204
+ ### 📝 Future Updates
205
+
206
+ - [ ] Update `docs/termux-api/MERGE_STRATEGY.md` if needed
207
+ - [ ] Add release notes to `docs/changelogs/latest.md`
208
+
209
+ ---
210
+
211
+ ## Risk Assessment
212
+
213
+ | Risk | Probability | Mitigation | Status |
214
+ | -------------------------- | ----------- | ------------------------- | ------------ |
215
+ | Context memory regression | Low | Tested on merge | ✅ Passed |
216
+ | PTY installation failure | Low | Package in dependencies | ✅ Verified |
217
+ | Extension manager breakage | Low | Kept upstream version | ✅ Passed |
218
+ | Build failure | Very Low | prepare-termux handles it | ✅ Passed |
219
+ | npm publish issues | Low | Verified files array | ✅ Published |
220
+
221
+ ---
222
+
223
+ ## Installation Instructions
224
+
225
+ ### For Users (npm)
226
+
227
+ ```bash
228
+ npm install -g @mmmbuto/gemini-cli-termux@latest
229
+ # Or specific version
230
+ npm install -g @mmmbuto/gemini-cli-termux@0.24.9-termux
231
+ ```
232
+
233
+ ### For Developers (source)
234
+
235
+ ```bash
236
+ git clone https://github.com/DioNanos/gemini-cli-termux.git
237
+ cd gemini-cli-termux
238
+ npm install
239
+ npm run build && npm run bundle
240
+ node bundle/gemini.js --version # expected: 0.24.9-termux
241
+ ```
242
+
243
+ ---
244
+
245
+ ## Merge Statistics
246
+
247
+ - **Upstream commits merged**: 165
248
+ - **Files modified**: 280
249
+ - **Lines added**: +9659
250
+ - **Lines removed**: -5690
251
+ - **Conflicts resolved**: 8
252
+ - **Test results**: PASS (GEMINI_TEST_REPORT_v0.24.9.md)
253
+
254
+ ---
255
+
256
+ ## Release Notes Summary
257
+
258
+ ### What's New in v0.24.9-termux
259
+
260
+ **From Upstream (google-gemini/gemini-cli)**:
261
+
262
+ - Built-in Agent Skills support
263
+ - New tool modifier system for enhanced tool behavior
264
+ - File diff utilities for better code comparison
265
+ - Enhanced settings management and validation
266
+ - Updated Ink to v6.4.7 for UI improvements
267
+ - Simplified hook system with event handlers
268
+ - Updated system prompts for non-interactive mode
269
+
270
+ **Termux-Specific**:
271
+
272
+ - PTY package moved to dependencies for auto-install
273
+ - All Termux patches preserved and verified
274
+ - Context memory system maintained
275
+ - Mobile-first settings experience
276
+
277
+ ---
278
+
279
+ ## Next Steps
280
+
281
+ ### Short Term
282
+
283
+ - [ ] Monitor npm downloads and user feedback
284
+ - [ ] Update test reports if issues found
285
+ - [ ] Prepare for next upstream sync
286
+
287
+ ### Long Term
288
+
289
+ - [ ] Consider integrating upstream JIT context as optional fallback
290
+ - [ ] Evaluate adding more Termux-specific optimizations
291
+ - [ ] Track upstream feature roadmap for future merges
292
+
293
+ ---
294
+
295
+ **Author**: DioNanos
296
+ **Date**: 2026-01-10
297
+ **Status**: ✅ Released
298
+ **Tag**: v0.24.9-termux
299
+ **GitHub Release**:
300
+ https://github.com/DioNanos/gemini-cli-termux/releases/tag/v0.24.9-termux
@@ -0,0 +1,336 @@
1
+ # Upstream 0.24.9 Features - Termux Integration
2
+
3
+ **Date**: 2026-01-10
4
+ **Upstream Base**: google-gemini/gemini-cli@main
5
+ **Termux Version**: v0.24.9-termux
6
+
7
+ ---
8
+
9
+ ## Overview
10
+
11
+ This document summarizes the new upstream features integrated in v0.24.9-termux
12
+ and their compatibility with Termux. All features have been tested and verified
13
+ to work correctly on Android/Termux.
14
+
15
+ ---
16
+
17
+ ## New Features
18
+
19
+ ### 1. Built-in Agent Skills
20
+
21
+ **Commit**: `461c277bf`
22
+ **Location**: `packages/core/src/skills/`, `packages/cli/src/commands/skills/`
23
+
24
+ **Description**:
25
+
26
+ - Native skills system built into the CLI
27
+ - Skills can be loaded, enabled, disabled, and listed
28
+ - Skills extend agent capabilities with specialized knowledge
29
+ - Similar to extensions but built into the core
30
+
31
+ **Termux Compatibility**: ✅ Fully Compatible
32
+
33
+ **Usage**:
34
+
35
+ ```bash
36
+ # List available skills
37
+ gemini /skills list
38
+
39
+ # Enable a skill
40
+ gemini /skills enable <skill-name>
41
+
42
+ # Disable a skill
43
+ gemini /skills disable <skill-name>
44
+ ```
45
+
46
+ **Notes**:
47
+
48
+ - Skills are stored in `.gemini/skills/` directory
49
+ - Format is similar to extensions with `SKILL.md` metadata
50
+ - Works correctly with Termux filesystem
51
+ - No additional dependencies required
52
+
53
+ ---
54
+
55
+ ### 2. Tool Modifier System
56
+
57
+ **Commit**: `packages/core/src/scheduler/tool-modifier.ts` (new)
58
+ **Location**: `packages/core/src/scheduler/tool-modifier.ts` + tests
59
+
60
+ **Description**:
61
+
62
+ - New system for modifying tool calls before execution
63
+ - Allows for tool call preprocessing, validation, and transformation
64
+ - Can add, remove, or modify tool arguments
65
+ - Useful for security, policy enforcement, and UX improvements
66
+
67
+ **Termux Compatibility**: ✅ Fully Compatible
68
+
69
+ **Technical Details**:
70
+
71
+ - Event-based architecture with tool modification hooks
72
+ - Works with all existing tools (shell, edit, mcp, etc.)
73
+ - No performance impact on Termux
74
+ - Tested with shell tool and memory tools
75
+
76
+ ---
77
+
78
+ ### 3. File Diff Utilities
79
+
80
+ **Commit**: `packages/core/src/utils/fileDiffUtils.ts` (new)
81
+ **Location**: `packages/core/src/utils/fileDiffUtils.ts` + tests
82
+
83
+ **Description**:
84
+
85
+ - New utility for comparing file contents
86
+ - Generates unified diff format
87
+ - Used by edit tool and other file operations
88
+ - Better error messages for file changes
89
+
90
+ **Termux Compatibility**: ✅ Fully Compatible
91
+
92
+ **Features**:
93
+
94
+ - Unified diff format (standard patch format)
95
+ - Line-by-line comparison
96
+ - Efficient implementation (no heavy dependencies)
97
+ - Works with large files
98
+
99
+ **Usage** (internal):
100
+
101
+ ```typescript
102
+ import { getFileDiff, applyFileDiff } from '@google/gemini-cli-core';
103
+
104
+ const diff = getFileDiff(oldContent, newContent, 'file.ts');
105
+ console.log(diff); // unified diff format
106
+ ```
107
+
108
+ ---
109
+
110
+ ### 4. Enhanced Settings Management
111
+
112
+ **Commits**: Multiple in `packages/cli/src/config/settings.ts`
113
+ **Location**: `packages/cli/src/config/settings.ts` + tests
114
+
115
+ **Description**:
116
+
117
+ - Refactored settings system with improved validation
118
+ - New settings schema with better error messages
119
+ - Simplified migration logic (removed legacy V1 migration)
120
+ - Better type safety
121
+
122
+ **Termux Compatibility**: ✅ Fully Compatible
123
+
124
+ **Changes**:
125
+
126
+ - Settings stored in `.gemini/settings.json` (tracked in git)
127
+ - Schema validation at startup
128
+ - Clear error messages for invalid settings
129
+ - Automatic defaults for missing values
130
+
131
+ **Notes**:
132
+
133
+ - Termux-specific settings (TTS, compact UI) preserved
134
+ - No changes to mobile-first rendering
135
+ - Settings file remains compatible across versions
136
+
137
+ ---
138
+
139
+ ### 5. Updated Ink to v6.4.7
140
+
141
+ **Commit**: `b54e688c7`
142
+ **Location**: `package.json` (dependencies)
143
+
144
+ **Description**:
145
+
146
+ - Updated from previous Ink version to v6.4.7
147
+ - Bug fixes and performance improvements
148
+ - Better handling of keyboard input
149
+ - Improved rendering on mobile terminals
150
+
151
+ **Termux Compatibility**: ✅ Fully Compatible
152
+
153
+ **Benefits**:
154
+
155
+ - Smoother scrolling on Termux
156
+ - Better handling of Android keyboard input
157
+ - Fixed rendering issues with wide characters
158
+ - Lower CPU usage on mobile devices
159
+
160
+ ---
161
+
162
+ ### 6. Hook Event Handler
163
+
164
+ **Commit**: `packages/core/src/hooks/hookEventHandler.ts` (new)
165
+ **Location**: `packages/core/src/hooks/hookEventHandler.ts` + tests
166
+
167
+ **Description**:
168
+
169
+ - Centralized event handler for hook system
170
+ - Improved hook execution and error handling
171
+ - Better logging and debugging support
172
+ - More reliable hook triggers
173
+
174
+ **Termux Compatibility**: ✅ Fully Compatible
175
+
176
+ **Technical Details**:
177
+
178
+ - Event-based architecture
179
+ - Proper error propagation
180
+ - Detailed logging for debugging
181
+ - Works with all hook types
182
+
183
+ ---
184
+
185
+ ### 7. Updated System Prompts
186
+
187
+ **Commit**: `b08b0d715`
188
+ **Location**: System prompt configuration
189
+
190
+ **Description**:
191
+
192
+ - Updated system prompts to prefer non-interactive commands
193
+ - Better handling of command execution in headless mode
194
+ - Improved agent behavior for batch processing
195
+
196
+ **Termux Compatibility**: ✅ Fully Compatible
197
+
198
+ **Impact**:
199
+
200
+ - Better performance in non-interactive mode
201
+ - Fewer prompts for automation scripts
202
+ - Improved output format for `gemini -o json`
203
+
204
+ ---
205
+
206
+ ### 8. Removed sessionHookTriggers
207
+
208
+ **Commit**: `356f76e54`
209
+ **Location**: `packages/core/src/core/` (removed)
210
+
211
+ **Description**:
212
+
213
+ - Removed `sessionHookTriggers.ts` (deprecated)
214
+ - Replaced by `geminiChatHookTriggers` in gemini.tsx
215
+ - Simplified core exports
216
+
217
+ **Termux Compatibility**: ✅ Fully Compatible (no impact)
218
+
219
+ **Action Taken**:
220
+
221
+ - Updated `packages/core/src/index.ts` to remove export
222
+ - No changes required in Termux-specific code
223
+
224
+ ---
225
+
226
+ ## Deprecated/Removed Features
227
+
228
+ ### Removed Files
229
+
230
+ | File | Reason | Termux Impact |
231
+ | -------------------------------------------------- | ---------------------------- | ------------- |
232
+ | `docs/cli/configuration.md` | Consolidated into other docs | None |
233
+ | `docs/get-started/deployment.md` | Outdated, no longer relevant | None |
234
+ | `packages/cli/src/commands/extensions/settings.ts` | Replaced by `configure.ts` | None |
235
+ | `packages/core/src/core/sessionHookTriggers.ts` | Deprecated, unused | None |
236
+ | `packages/core/src/utils/shell-permissions.ts` | Replaced by new system | None |
237
+
238
+ ### Migration Guide
239
+
240
+ If you were using removed features:
241
+
242
+ 1. **Extension Settings** → Use `gemini /extensions configure`
243
+ 2. **Session Hook Triggers** → Use `geminiChatHookTriggers` in CLI
244
+ 3. **Shell Permissions** → New system handles this automatically
245
+
246
+ ---
247
+
248
+ ## Testing Results
249
+
250
+ ### Automated Tests
251
+
252
+ All existing tests pass on Termux:
253
+
254
+ - ✅ Unit tests (TypeScript)
255
+ - ✅ Integration tests
256
+ - ✅ Hook system tests
257
+ - ✅ Tool modifier tests
258
+ - ✅ File diff tests
259
+ - ✅ Settings validation tests
260
+
261
+ ### Manual Testing
262
+
263
+ Manually tested on Termux:
264
+
265
+ - ✅ Built-in Agent Skills (list, enable, disable)
266
+ - ✅ Tool modifiers (shell tool, edit tool)
267
+ - ✅ File diff utilities
268
+ - ✅ Settings management (UI, validation)
269
+ - ✅ Ink v6.4.7 rendering
270
+ - ✅ Hook event handling
271
+ - ✅ Non-interactive mode with JSON output
272
+
273
+ ### Performance
274
+
275
+ No performance degradation observed on Termux:
276
+
277
+ - Startup time: ~2-3s (same as v0.24.8)
278
+ - Memory usage: ~120-150MB (same as v0.24.8)
279
+ - Response time: No noticeable difference
280
+
281
+ ---
282
+
283
+ ## Known Issues
284
+
285
+ None at this time. All features tested and working correctly on Termux.
286
+
287
+ ---
288
+
289
+ ## Future Considerations
290
+
291
+ ### Potential Improvements for Termux
292
+
293
+ 1. **Skills Directory Optimization**
294
+ - Current: Skills loaded from `.gemini/skills/`
295
+ - Future: Consider pre-bundled Termux skills
296
+
297
+ 2. **Tool Modifiers for Mobile**
298
+ - Current: Generic tool modifiers
299
+ - Future: Add mobile-specific modifiers (e.g., battery-aware tool execution)
300
+
301
+ 3. **File Diff for Mobile Screens**
302
+ - Current: Standard unified diff
303
+ - Future: Optimize diff output for small mobile screens
304
+
305
+ ---
306
+
307
+ ## Compatibility Matrix
308
+
309
+ | Feature | v0.24.8-termux | v0.24.9-termux | Notes |
310
+ | --------------- | -------------- | -------------- | --------------------- |
311
+ | Built-in Skills | ❌ No | ✅ Yes | New upstream feature |
312
+ | Tool Modifiers | ❌ No | ✅ Yes | New upstream feature |
313
+ | File Diff Utils | ❌ No | ✅ Yes | New upstream feature |
314
+ | Ink v6.4.7 | ❌ v6.x | ✅ v6.4.7 | Updated from upstream |
315
+ | Hook Events | ✅ Basic | ✅ Enhanced | Improved upstream |
316
+ | System Prompts | ✅ Old | ✅ Updated | Updated from upstream |
317
+ | Termux Patches | ✅ All | ✅ All | Preserved |
318
+ | Context Memory | ✅ Yes | ✅ Yes | Termux feature |
319
+ | PTY (ARM64) | ✅ Yes | ✅ Yes | Now in dependencies |
320
+ | Clipboard | ✅ Yes | ✅ Yes | Termux detection |
321
+
322
+ ---
323
+
324
+ ## Conclusion
325
+
326
+ All upstream features from v0.24.9 are fully compatible with Termux. No breaking
327
+ changes for existing users. New features enhance the Termux experience with
328
+ better agent capabilities, improved tool handling, and smoother UI.
329
+
330
+ **Recommendation**: All Termux users should upgrade to v0.24.9-termux.
331
+
332
+ ---
333
+
334
+ **Author**: DioNanos
335
+ **Date**: 2026-01-10
336
+ **Status**: ✅ Released and Verified
@@ -43,9 +43,15 @@ topics on:
43
43
  - **Cause:** You may be on a corporate network with a firewall that intercepts
44
44
  and inspects SSL/TLS traffic. This often requires a custom root CA
45
45
  certificate to be trusted by Node.js.
46
- - **Solution:** Set the `NODE_EXTRA_CA_CERTS` environment variable to the
47
- absolute path of your corporate root CA certificate file.
48
- - Example: `export NODE_EXTRA_CA_CERTS=/path/to/your/corporate-ca.crt`
46
+ - **Solution:** First try setting `NODE_USE_SYSTEM_CA`; if that does not
47
+ resolve the issue, set `NODE_EXTRA_CA_CERTS`.
48
+ - Set the `NODE_USE_SYSTEM_CA=1` environment variable to tell Node.js to use
49
+ the operating system's native certificate store (where corporate
50
+ certificates are typically already installed).
51
+ - Example: `export NODE_USE_SYSTEM_CA=1`
52
+ - Set the `NODE_EXTRA_CA_CERTS` environment variable to the absolute path of
53
+ your corporate root CA certificate file.
54
+ - Example: `export NODE_EXTRA_CA_CERTS=/path/to/your/corporate-ca.crt`
49
55
 
50
56
  ## Common error messages and solutions
51
57