network error when marking files in PR as viewed
Type: Performance Issue
- Check out a pull request with > 1000 files
- Mark a folder containing > 1000 files as "viewed"
- The extension won't be able to finish updating all the files (and might be marking them one-by-one.
Is there an opportunity to batch update the "viewed" state of files more efficiently to avoid errors like this (I'm assuming it's related to a timeout or other API restriction)?
Are there other kinds of updates that might commonly be done in batches which could benefit from similar optimizations?
2025-05-13 17:01:03.260 [error] Error: Network error: Response not successful: Received status code 502
at new e (/Users/me/.vscode/extensions/github.vscode-pull-request-github-0.110.0/dist/extension.js:2480:140)
at Object.error (/Users/me/.vscode/extensions/github.vscode-pull-request-github-0.110.0/dist/extension.js:2480:17424)
at N (/Users/me/.vscode/extensions/github.vscode-pull-request-github-0.110.0/dist/extension.js:2463:15450)
at P (/Users/me/.vscode/extensions/github.vscode-pull-request-github-0.110.0/dist/extension.js:2463:15813)
at O.value (/Users/me/.vscode/extensions/github.vscode-pull-request-github-0.110.0/dist/extension.js:2463:16399)
at /Users/me/.vscode/extensions/github.vscode-pull-request-github-0.110.0/dist/extension.js:2480:14329
at Set.forEach (<anonymous>)
at Object.error (/Users/me/.vscode/extensions/github.vscode-pull-request-github-0.110.0/dist/extension.js:2480:14291)
at N (/Users/me/.vscode/extensions/github.vscode-pull-request-github-0.110.0/dist/extension.js:2463:15450)
at P (/Users/me/.vscode/extensions/github.vscode-pull-request-github-0.110.0/dist/extension.js:2463:15813)
at O.value (/Users/me/.vscode/extensions/github.vscode-pull-request-github-0.110.0/dist/extension.js:2463:16399)
at N (/Users/me/.vscode/extensions/github.vscode-pull-request-github-0.110.0/dist/extension.js:2463:15450)
at P (/Users/me/.vscode/extensions/github.vscode-pull-request-github-0.110.0/dist/extension.js:2463:15813)
at O.value (/Users/me/.vscode/extensions/github.vscode-pull-request-github-0.110.0/dist/extension.js:2463:16399)
at /Users/me/.vscode/extensions/github.vscode-pull-request-github-0.110.0/dist/extension.js:2569:11002
at processTicksAndRejections (node:internal/process/task_queues:95:5)
Extension version: 0.110.0 VS Code version: Code 1.100.1 (Universal) (91fa95bccb027ece6a968589bb1d662fa9c8e170, 2025-05-09T15:43:50.040Z) OS version: Darwin arm64 24.4.0 Modes:
System Info
| Item | Value |
|---|---|
| CPUs | Apple M1 Max (10 x 2400) |
| GPU Status | 2d_canvas: enabled canvas_oop_rasterization: enabled_on direct_rendering_display_compositor: disabled_off_ok gpu_compositing: enabled multiple_raster_threads: enabled_on opengl: enabled_on rasterization: enabled raw_draw: disabled_off_ok skia_graphite: disabled_off video_decode: enabled video_encode: enabled webgl: enabled webgl2: enabled webgpu: enabled webnn: disabled_off |
| Load (avg) | 4, 5, 5 |
| Memory (System) | 32.00GB (0.07GB free) |
| Process Argv | --crash-reporter-id 9c8b74e5-efe2-4756-b68a-91b9fde0fa03 |
| Screen Reader | no |
| VM | 0% |
Process Info
CPU % Mem MB PID Process
4 197 45142 code main
0 66 45148 gpu-process
0 33 45149 utility-network-service
0 590 45152 window [1] (Running Extensions — datachat (Workspace))
2 262 45462 extensionHost [1]
0 33 45518 electron-nodejs (languageserver.js )
0 33 45938 /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin) /Users/tyler/.vscode/extensions/streetsidesoftware.code-spell-checker-4.0.47/packages/_server/dist/main.cjs --node-ipc --clientProcessId=45462
0 33 46115 electron-nodejs (eslintServer.js )
0 33 47065 /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin) /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/json-language-features/server/dist/node/jsonServerMain --node-ipc --clientProcessId=45462
0 33 47504 /Users/tyler/.nvm/versions/node/v22.14.0/bin/node --max-old-space-size=8192 /Users/tyler/.vscode/extensions/ms-python.vscode-pylance-2025.4.1/dist/server.bundle.js -- --clientProcessId=45462 --cancellationReceive=file:db6a1a3da2266e218a2687b4e0cbb54fe5174066d4 --stdio
0 0 48054 /Users/tyler/.vscode/extensions/charliermarsh.ruff-2025.22.0-darwin-arm64/bundled/libs/bin/ruff server
0 33 51680 electron-nodejs (languageserver.js )
0 33 51727 electron-nodejs (server.js )
0 33 51735 /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin) /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/markdown-language-features/dist/serverWorkerMain --node-ipc --clientProcessId=45462
0 33 56308 electron-nodejs (server.js )
0 33 56309 electron-nodejs (server.js )
0 0 59434 docker events --since 1747173842 --until 1747174142 --filter type=container --filter type=image --filter type=network --filter type=volume --filter event=create --filter event=destroy --filter event=die --filter event=kill --filter event=pause --filter event=rename --filter event=restart --filter event=start --filter event=stop --filter event=unpause --filter event=update --filter event=delete --filter event=import --filter event=load --filter event=pull --filter event=save --filter event=tag --filter event=untag --filter event=remove --filter event=prune --format {{json .}}
0 66 45463 extensionHost [1]
0 33 45465 ptyHost
0 0 45859 /bin/bash --init-file /Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/contrib/terminal/common/scripts/shellIntegration-bash.sh
0 0 45860 /bin/bash --init-file /Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/contrib/terminal/common/scripts/shellIntegration-bash.sh
0 0 45861 /bin/bash --init-file /Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/contrib/terminal/common/scripts/shellIntegration-bash.sh
0 0 45862 /bin/bash --init-file /Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/contrib/terminal/common/scripts/shellIntegration-bash.sh
0 0 45867 /bin/bash --init-file /Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/contrib/terminal/common/scripts/shellIntegration-bash.sh
0 0 47598 /bin/bash --init-file /Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/contrib/terminal/common/scripts/shellIntegration-bash.sh
0 98 45472 shared-process
0 0 59703 /bin/ps -ax -o pid=,ppid=,pcpu=,pmem=,command=
0 33 45473 fileWatcher [1]
0 66 58044 window
31 295 59695 window
Workspace Info
| Window (Running Extensions — datachat (Workspace))
| Folder (datachat): more than 25251 files
| File types: py(4706) pyc(4697) json(1234) log(516) gz(393) csv(335)
| pyi(240) ts(207) txt(159) so(114)
| Conf files: makefile(6) github-actions(5) settings.json(4)
| dockerfile(4) launch.json(3) package.json(2)
| tasks.json(1) tsconfig.json(1)
| Launch Configs: debugpy(15) go
| Folder (anywhere): 240 files
| File types: ts(205) json(4) sh(4) gitignore(2) js(1) npmignore(1)
| openapi-generator-ignore(1)
| Conf files: launch.json(1) package.json(1) tsconfig.json(1)
| Launch Configs: node
| Folder (data_migration): 6503 files
| File types: pyc(1621) py(1620) json(1216) gz(393) txt(45) h(26)
| typed(26) so(17) pyi(16) exe(14)
| Conf files: launch.json(1) settings.json(1) dockerfile(1) makefile(1)
| Launch Configs: debugpy
| Folder (dc-alert-scheduler): 4752 files
| File types: pyc(1342) py(1340) txt(46) typed(27) h(25) pyi(20) exe(14)
| hpp(11) dylib(9) so(8)
| Conf files: settings.json(2) makefile(2) dockerfile(1)
| Folder (dc-sentry): 13 files
| File types: go(7) json(1) mod(1) sum(1)
| Conf files: settings.json(1) makefile(1)
| Folder (dc_app_service): more than 22448 files
| File types: pyc(6038) py(5954) json(1635) pyi(530) gz(398) so(179)
| txt(155) h(145) typed(59) proto(58)
| Conf files: dockerfile(1) makefile(1)
| Launch Configs: debugpy(3)
| Folder (dc_charting_service): 214 files
| File types: ts(148) json(5) snap(5) sql(3) mts(2) gitignore(1) npmrc(1)
| cjs(1) sum(1)
| Conf files: launch.json(1) dockerfile(1) makefile(1) package.json(1)
| tsconfig.json(1)
| Launch Configs: node
| Folder (dc_charting_worker): 97 files
| File types: ts(64) json(5) md(2) gitignore(1) npmrc(1) cjs(1) snap(1)
| Conf files: launch.json(1) dockerfile(1) makefile(1) package.json(1)
| tsconfig.json(1)
| Launch Configs: node
| Folder (dc_executor): 159 files
| File types: py(59) pyc(50) md(4) gitignore(2) json(2) in(2) txt(2)
| Dockerfile(2) coveragerc(1) openapi-generator-ignore(1)
| Conf files: settings.json(1) makefile(1)
| Folder (dc_nl2code): more than 23056 files
| File types: pyc(6858) py(6827) pyi(1933) json(527) txt(119) typed(80)
| proto(79) so(67) h(31) npy(20)
| Conf files: dockerfile(1) makefile(1)
| Folder (dcclient): 14105 files
| File types: pyc(4407) py(4283) pyi(2014) txt(85) so(71) h(56) c(50)
| f90(49) typed(34) csv(30)
| Conf files: settings.json(1) makefile(1)
| Folder (dcdb): 18317 files
| File types: pyc(5216) py(5198) json(1082) gz(844) h(585) pyi(448)
| yml(411) txt(151) so(107) pyx(71)
| Conf files: settings.json(1) makefile(1)
| Folder (dcml): 2245 files
| File types: py(952) pyc(917) exe(14) typed(11) txt(8) toml(7) md(5)
| json(3) gitignore(2) 11(2)
| Conf files: settings.json(1) makefile(1)
| Folder (dcode): more than 22049 files
| File types: pyc(7030) py(7004) pyi(1930) json(522) txt(99) typed(78)
| proto(67) so(66) h(30) npy(20)
| Conf files: dockerfile(1) makefile(1)
| Folder (dcquery): more than 22935 files
| File types: pyc(5728) py(5502) json(908) gz(877) sql(594) h(592)
| pyi(475) yml(152) txt(135) so(114)
| Conf files: settings.json(1) makefile(1)
| Folder (dcskills): 28 files
| File types: py(10) in(2) txt(2) gitignore(1) TAG(1) md(1)
| python-version(1) json(1) toml(1)
| Conf files: settings.json(1) makefile(1)
| Folder (docs): more than 20447 files
| File types: svg(13439) json(3151) dat(1068) py(479) pyc(477) html(217)
| jinja(88) js(78) txt(36) mo(32)
| Conf files: makefile(1)
| Folder (encoderlm_service): more than 24011 files
| File types: pyc(5510) py(5483) pyi(2110) pb(1063) json(524) onnx(391)
| txt(107) so(83) typed(79) proto(75)
| Conf files: dockerfile(2) makefile(1)
| Folder (management-db-init): 7619 files
| File types: py(1779) pyc(1766) json(1214) gz(393) txt(54) pyi(43) h(29)
| typed(24) so(22) exe(14)
| Conf files: launch.json(1) settings.json(1) dockerfile(1) makefile(1)
| Launch Configs: debugpy
| Folder (management_server): 1202 files
| File types: go(612) py(248) pyc(199) md(10) tpl(9) graphql(8) json(6)
| sh(6) mod(4) sum(4)
| Conf files: launch.json(1) settings.json(1) dockerfile(1) makefile(1)
| Launch Configs: go debugpy
| Folder (management_service_client): 2630 files
| File types: py(1038) pyc(1035) txt(32) typed(27) exe(14) json(13)
| pyi(9) so(5) md(4) 11(3)
| Conf files: settings.json(1) makefile(1)
| Folder (messaging_server): 5206 files
| File types: pyc(1834) py(1656) txt(43) pyi(33) typed(23) exe(12) rst(9)
| md(3) so(3) tab(3)
| Conf files:
| Folder (ml_task_executor): 1688 files
| File types: py(705) pyc(666) exe(14) typed(11) txt(10) json(6) md(5)
| pth(4) tsv(3) tmp(3)
| Conf files: settings.json(1) dockerfile(1) makefile(1)
| Folder (object_store_gc): 2450 files
| File types: py(994) pyc(991) h(25) txt(20) exe(14) typed(12) hpp(11)
| dylib(9) so(7) 11(2)
| Conf files: settings.json(1) dockerfile(1) makefile(1)
| Folder (pipeliner): more than 20775 files
| File types: pyc(6238) py(6207) json(1204) h(557) gz(405) pyi(270)
| so(171) txt(163) mat(109) pxd(80)
| Conf files: makefile(1)
| Folder (proxy): 68 files
| File types: py(49) txt(2) json(1) ini(1) in(1)
| Conf files: settings.json(1) makefile(1) dockerfile(1)
| Folder (registry): 1882 files
| File types: pyc(771) py(763) typed(19) txt(14) exe(14) pyi(10) md(3)
| gitignore(2) 11(2) tmpl(2)
| Conf files: settings.json(1) makefile(1)
| Folder (sassy): 130 files
| File types: ts(70) json(7) sql(6) snap(3) gitignore(2) html(2) css(2)
| svg(2) tsx(2) md(2)
| Conf files: tsconfig.json(2) launch.json(1) dockerfile(1) makefile(1)
| package.json(1)
| Launch Configs: node
| Folder (shared-fs): 5335 files
| File types: json(1186) pyc(1178) py(1164) gz(384) txt(41) typed(28)
| pyi(14) exe(14) so(9) hash(8)
| Conf files: settings.json(1) makefile(1)
| Folder (swagger): 29 files
| File types: mustache(19) yaml(6) md(1)
| Conf files:
| Folder (stress_test): 3904 files
| File types: py(1501) pyc(1495) txt(53) h(39) so(39) typed(29) exe(14)
| pyi(13) cpp(12) hpp(12)
| Conf files: makefile(4) dockerfile(4)
| Folder (user_docs): 1216 files
| File types: png(777) md(182) gif(158) js(6) csv(6) spelling(5) json(5)
| css(2) jsonc(1) gitignore(1)
| Conf files: settings.json(1) package.json(1)
| Folder (vector-db): 17733 files
| File types: pyc(6561) py(6451) pyi(257) txt(109) typed(95) proto(86)
| so(75) f90(55) c(53) csv(30)
| Conf files: settings.json(1) makefile(1)
| Folder (vector_db_init): more than 23075 files
| File types: py(6960) pyc(6908) pyi(1928) json(525) txt(107) typed(79)
| proto(79) so(65) h(31) npy(20)
| Conf files: dockerfile(1) makefile(1)
| Folder (vector_db_scrape_and_backup): 19787 files
| File types: pyc(6306) py(6257) json(1229) gz(393) pyi(251) txt(133)
| typed(100) proto(86) so(84) c(50)
| Conf files: settings.json(1) dockerfile(1) makefile(1)
| Folder (vector_mgmt_service): more than 22456 files
| File types: pyc(6975) py(6952) pyi(1924) json(526) txt(111) typed(84)
| proto(79) so(62) npy(20) dylib(18)
| Conf files: dockerfile(1) makefile(1)
| Folder (web): 3934 files
| File types: ts(963) js(835) jsx(417) tsx(378) scss(277) svg(203) md(29)
| png(29) snap(26) json(20)
| Conf files: package.json(3) tsconfig.json(3) launch.json(1)
| settings.json(1) dockerfile(1) makefile(1)
| jsconfig.json(1)
| Launch Configs: chrome node
| Folder (worker): more than 22405 files
| File types: pyc(6031) py(5947) json(1607) pyi(531) gz(398) pxd(187)
| so(180) txt(156) h(146) c(77)
| Conf files: dockerfile(1) makefile(1)
| Launch Configs: debugpy;
A/B Experiments
vsliv368:30146709
vspor879:30202332
vspor708:30202333
vspor363:30204092
vscod805:30301674
binariesv615:30325510
c4g48928:30535728
azure-dev_surveyone:30548225
a9j8j154:30646983
962ge761:30959799
h48ei257:31000450
pythontbext0:30879054
cppperfnew:31000557
dwnewjupytercf:31046870
pythonrstrctxt:31112756
nativeloc2:31192216
5fd0e150:31155592
dwcopilot:31170013
6074i472:31201624
dwoutputs:31242946
customenabled:31248079
hdaa2157:31222309
copilot_t_ci:31222730
e5gg6876:31282496
pythoneinst12:31285622
bgtreat:31268568
4gafe986:31271826
9gig6300:31307012
31787653:31262186
3e8i5726:31271747
996jf627:31283433
pythonrdcb7:31303018
usemplatestapi:31297334
73175181:31307016
7bj51361:31289155
747dc170:31275177
aj953862:31281341
generatesymbolt:31295002
convertfstringf:31295003
gendocf:31295004
We actually do batch mark as viewed in batches of 100.
We actually do batch mark as viewed in batches of 100.
That's great to hear! Thanks for sharing that insight.
I'm clearly struggling to develop a strong understanding of how to reproduce the delays I was observing. Are you able to glean any other insights from the logs I provided?