Cells 1.0 PoC: Cloudflare worker throws exception on some requests
While performing validation for Duo Chat on the Cells 1.0 PoC we noticed an error when trying to add a user from the PoC instance to the VSCode GitLab extension. From the extension logs:
2024-02-06T15:34:45:386 [debug]: fetch: request to https://gitlab.steveazz.xyz/api/v4/personal_access_tokens/self returned HTTP 500 after 68 ms
2024-02-06T15:34:45:387 [error]: {
"userMessage": "Request failed: Can't add GitLab account for https://gitlab.steveazz.xyz. Check your instance URL and network connection.",
"errorMessage": "Fetching resource from https://gitlab.steveazz.xyz/api/v4/personal_access_tokens/self failed",
"stack": [
"Error: Fetching resource from https://gitlab.steveazz.xyz/api/v4/personal_access_tokens/self failed",
" at $f (/Users/alejandro/.vscode/extensions/src/desktop/gitlab/gitlab_service.ts:159:11)",
" at processTicksAndRejections (node:internal/process/task_queues:95:5)",
" at t.fetch (/Users/alejandro/.vscode/extensions/src/desktop/gitlab/gitlab_service.ts:296:5)",
" at q3 (/Users/alejandro/.vscode/extensions/src/desktop/accounts/get_user_for_credentials_or_fail.ts:12:23)",
" at OX (/Users/alejandro/.vscode/extensions/src/desktop/token_input.ts:30:16)",
" at /Users/alejandro/.vscode/extensions/src/common/utils/wrap_command_with_catch.ts:10:7",
" at s.h (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:150:175235)"
],
"details": {
"message": "Fetching resource from https://gitlab.steveazz.xyz/api/v4/personal_access_tokens/self failed",
"stack": [
"Error: Fetching resource from https://gitlab.steveazz.xyz/api/v4/personal_access_tokens/self failed",
" at $f (/Users/alejandro/.vscode/extensions/src/desktop/gitlab/gitlab_service.ts:159:11)",
" at processTicksAndRejections (node:internal/process/task_queues:95:5)",
" at t.fetch (/Users/alejandro/.vscode/extensions/src/desktop/gitlab/gitlab_service.ts:296:5)",
" at q3 (/Users/alejandro/.vscode/extensions/src/desktop/accounts/get_user_for_credentials_or_fail.ts:12:23)",
" at OX (/Users/alejandro/.vscode/extensions/src/desktop/token_input.ts:30:16)",
" at /Users/alejandro/.vscode/extensions/src/common/utils/wrap_command_with_catch.ts:10:7",
" at s.h (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:150:175235)"
],
"response": {
"status": 500,
"headers": {},
"body": "<!DOCTYPE html>\n<!--[if lt IE 7]> <html class=\"no-js ie6 oldie\" lang=\"en-US\"> <![endif]-->\n<!--[if IE 7]> <html class=\"no-js ie7 oldie\" lang=\"en-US\"> <![endif]-->\n<!--[if IE 8]> <html class=\"no-js ie8 oldie\" lang=\"en-US\"> <![endif]-->\n<!--[if gt IE 8]><!--> <html class=\"no-js\" lang=\"en-US\"> <!--<![endif]-->\n<head>\n<title>Worker threw exception | gitlab.steveazz.xyz | Cloudflare</title>\n<meta charset=\"UTF-8\" />\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=Edge\" />\n<meta name=\"robots\" content=\"noindex, nofollow\" />\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1\" />\n<link rel=\"stylesheet\" id=\"cf_styles-css\" href=\"/cdn-cgi/styles/cf.errors.css\" />\n<!--[if lt IE 9]><link rel=\"stylesheet\" id='cf_styles-ie-css' href=\"/cdn-cgi/styles/cf.errors.ie.css\" /><![endif]-->\n<style>body{margin:0;padding:0}</style>\n\n\n<!--[if gte IE 10]><!-->\n<script>\n if (!navigator.cookieEnabled) {\n window.addEventListener('DOMContentLoaded', function () {\n var cookieEl = document.getElementById('cookie-alert');\n cookieEl.style.display = 'block';\n })\n }\n</script>\n<!--<![endif]-->\n\n\n</head>\n<body>\n <div id=\"cf-wrapper\">\n <div class=\"cf-alert cf-alert-error cf-cookie-error\" id=\"cookie-alert\" data-translate=\"enable_cookies\">Please enable cookies.</div>\n <div id=\"cf-error-details\" class=\"cf-error-details-wrapper\">\n <div class=\"cf-wrapper cf-header cf-error-overview\">\n <h1>\n <span class=\"cf-error-type\" data-translate=\"error\">Error</span>\n <span class=\"cf-error-code\">1101</span>\n <small class=\"heading-ray-id\">Ray ID: 85162cf9dfde0f6c • 2024-02-06 20:34:45 UTC</small>\n </h1>\n <h2 class=\"cf-subheadline\" data-translate=\"error_desc\">Worker threw exception</h2>\n </div><!-- /.header -->\n\n <section></section><!-- spacer -->\n\n <div class=\"cf-section cf-wrapper\">\n <div class=\"cf-columns two\">\n <div class=\"cf-column\">\n <h2 data-translate=\"what_happened\">What happened?</h2>\n <p>You've requested a page on a website (gitlab.steveazz.xyz) that is on the <a href=\"https://www.cloudflare.com/5xx-error-landing/\" target=\"_blank\">Cloudflare</a> network. An unknown error occurred while rendering the page.</p>\n </div>\n\n \n <div class=\"cf-column\">\n <h2 data-translate=\"what_can_i_do\">What can I do?</h2>\n <p><strong>If you are the owner of this website:</strong><br />you should <a href=\"https://www.cloudflare.com/login?utm_source=error_100x\" target=\"_blank\">login to Cloudflare</a> and check the error logs for gitlab.steveazz.xyz.</p>\n </div>\n \n </div>\n </div><!-- /.section -->\n\n <div class=\"cf-error-footer cf-wrapper w-240 lg:w-full py-10 sm:py-4 sm:px-8 mx-auto text-center sm:text-left border-solid border-0 border-t border-gray-300\">\n <p class=\"text-13\">\n <span class=\"cf-footer-item sm:block sm:mb-1\">Cloudflare Ray ID: <strong class=\"font-semibold\">85162cf9dfde0f6c</strong></span>\n <span class=\"cf-footer-separator sm:hidden\">•</span>\n <span id=\"cf-footer-item-ip\" class=\"cf-footer-item hidden sm:block sm:mb-1\">\n Your IP:\n <button type=\"button\" id=\"cf-footer-ip-reveal\" class=\"cf-footer-ip-reveal-btn\">Click to reveal</button>\n <span class=\"hidden\" id=\"cf-footer-ip\">71.125.44.94</span>\n <span class=\"cf-footer-separator sm:hidden\">•</span>\n </span>\n <span class=\"cf-footer-item sm:block sm:mb-1\"><span>Performance & security by</span> <a rel=\"noopener noreferrer\" href=\"https://www.cloudflare.com/5xx-error-landing\" id=\"brand_link\" target=\"_blank\">Cloudflare</a></span>\n \n </p>\n <script>(function(){function d(){var b=a.getElementById(\"cf-footer-item-ip\"),c=a.getElementById(\"cf-footer-ip-reveal\");b&&\"classList\"in b&&(b.classList.remove(\"hidden\"),c.addEventListener(\"click\",function(){c.classList.add(\"hidden\");a.getElementById(\"cf-footer-ip\").classList.remove(\"hidden\")}))}var a=document;document.addEventListener&&a.addEventListener(\"DOMContentLoaded\",d)})();</script>\n</div><!-- /.error-footer -->\n\n\n </div><!-- /#cf-error-details -->\n </div><!-- /#cf-wrapper -->\n\n <script>\n window._cf_translation = {};\n \n \n</script>\n\n</body>\n</html>\n"
}
}
}
Note that a curl request to that endpoint does seem to work properly:
$ curl -H "PRIVATE-TOKEN: [REDACTED]" https://gitlab.steveazz.xyz/api/v4/personal_access_tokens/self
{"id":55,"name":"alejandro","revoked":false,"created_at":"2024-02-06T20:36:23.158Z","scopes":["api"],"user_id":1,"last_used_at":"2024-02-06T20:37:17.632Z","active":true,"expires_at":"2025-02-05"}%
Edited by Alejandro Rodríguez