403 Forbidden - "Failed to fetch label events for this issuable"

Summary

When I just went to check if the bug described in #215 (closed) has been resolved by the new extension update to version 3.6.1, I made a dummy issue in a private repo with two group tags assigned to it and got the error in the title when opening it in the extension webview.

It should be noted that the two labels I added to the issue as part of the "New Issue" dialogue were not shown in the webview as part of the issue history but the notification of the due date being set was.

On closing and reopening the issue webview, the content was loaded successfully and restarting vscode did not seem to bring the error back either.

Steps to reproduce

Not sure yet. I'm just documenting this strange behaviour in case someone else stumples across this too or the logs are enough to diagnose the problem.

What is the current bug behavior?

Loading the label history may fail and show an error message to the user when opening an issue in webview. (May also affect MRs)

What is the expected correct behavior?

The notifications of labels being added or removed should always appear in webview and no error message should need to appear.

Relevant logs and/or screenshots

Screenshot_20201126_133513

The log produced by the show logs-button on the error notification consists of this block being repeated 40 times:

403 - "{\"message\":\"403 Forbidden\"}"
StatusCodeError: 403 - "{\"message\":\"403 Forbidden\"}"
	at new StatusCodeError (/home/jonas/.vscode-oss/extensions/gitlab.gitlab-workflow-3.6.1/node_modules/request-promise-core/lib/errors.js:32:15)
	at /home/jonas/.vscode-oss/extensions/gitlab.gitlab-workflow-3.6.1/node_modules/request-promise-core/lib/plumbing.js:97:41
	at tryCatcher (/home/jonas/.vscode-oss/extensions/gitlab.gitlab-workflow-3.6.1/node_modules/bluebird/js/release/util.js:16:23)
	at Promise._settlePromiseFromHandler (/home/jonas/.vscode-oss/extensions/gitlab.gitlab-workflow-3.6.1/node_modules/bluebird/js/release/promise.js:547:31)
	at Promise._settlePromise (/home/jonas/.vscode-oss/extensions/gitlab.gitlab-workflow-3.6.1/node_modules/bluebird/js/release/promise.js:604:18)
	at Promise._settlePromiseCtx (/home/jonas/.vscode-oss/extensions/gitlab.gitlab-workflow-3.6.1/node_modules/bluebird/js/release/promise.js:641:10)
	at _drainQueueStep (/home/jonas/.vscode-oss/extensions/gitlab.gitlab-workflow-3.6.1/node_modules/bluebird/js/release/async.js:97:12)
	at _drainQueue (/home/jonas/.vscode-oss/extensions/gitlab.gitlab-workflow-3.6.1/node_modules/bluebird/js/release/async.js:86:9)
	at Async._drainQueues (/home/jonas/.vscode-oss/extensions/gitlab.gitlab-workflow-3.6.1/node_modules/bluebird/js/release/async.js:102:5)
	at Immediate.Async.drainQueues [as _onImmediate] (/home/jonas/.vscode-oss/extensions/gitlab.gitlab-workflow-3.6.1/node_modules/bluebird/js/release/async.js:15:14)
	at processImmediate (internal/timers.js:439:21)

And two other blocks:

{
  "userMessage": "Failed to fetch label events for this issuable.",
  "errorMessage": "Error: Client network socket disconnected before secure TLS connection was established",
  "stack": [
    "RequestError: Error: Client network socket disconnected before secure TLS connection was established",
    "\tat new RequestError (/home/jonas/.vscode-oss/extensions/gitlab.gitlab-workflow-3.6.1/node_modules/request-promise-core/lib/errors.js:14:15)",
    "\tat Request.plumbing.callback (/home/jonas/.vscode-oss/extensions/gitlab.gitlab-workflow-3.6.1/node_modules/request-promise-core/lib/plumbing.js:87:29)",
    "\tat Request.RP$callback [as _callback] (/home/jonas/.vscode-oss/extensions/gitlab.gitlab-workflow-3.6.1/node_modules/request-promise-core/lib/plumbing.js:46:31)",
    "\tat self.callback (/home/jonas/.vscode-oss/extensions/gitlab.gitlab-workflow-3.6.1/node_modules/request/request.js:185:22)",
    "\tat Request.emit (events.js:223:5)",
    "\tat Request.onRequestError (/home/jonas/.vscode-oss/extensions/gitlab.gitlab-workflow-3.6.1/node_modules/request/request.js:877:8)",
    "\tat ClientRequest.emit (events.js:228:7)",
    "\tat TLSSocket.socketErrorListener (_http_client.js:406:9)",
    "\tat TLSSocket.emit (events.js:223:5)",
    "\tat emitErrorNT (internal/streams/destroy.js:92:8)",
    "\tat emitErrorAndCloseNT (internal/streams/destroy.js:60:3)",
    "\tat processTicksAndRejections (internal/process/task_queues.js:81:21)"
  ]
}
Error: read ECONNRESET
RequestError: Error: read ECONNRESET
    at new RequestError (/home/jonas/.vscode-oss/extensions/gitlab.gitlab-workflow-3.6.1/node_modules/request-promise-core/lib/errors.js:14:15)
    at Request.plumbing.callback (/home/jonas/.vscode-oss/extensions/gitlab.gitlab-workflow-3.6.1/node_modules/request-promise-core/lib/plumbing.js:87:29)
    at Request.RP$callback [as _callback] (/home/jonas/.vscode-oss/extensions/gitlab.gitlab-workflow-3.6.1/node_modules/request-promise-core/lib/plumbing.js:46:31)
    at self.callback (/home/jonas/.vscode-oss/extensions/gitlab.gitlab-workflow-3.6.1/node_modules/request/request.js:185:22)
    at Request.emit (events.js:223:5)
    at Request.onRequestError (/home/jonas/.vscode-oss/extensions/gitlab.gitlab-workflow-3.6.1/node_modules/request/request.js:877:8)
    at ClientRequest.emit (events.js:228:7)
    at TLSSocket.socketErrorListener (_http_client.js:406:9)
    at TLSSocket.emit (events.js:223:5)
    at emitErrorNT (internal/streams/destroy.js:92:8)
    at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
    at processTicksAndRejections (internal/process/task_queues.js:81:21)

My suspicion: Could it be that all those requests from the extension that got a 403 caused the gitlab.com server to reject the request for the labels and RESET the connection? (Like some kind of rate-limiting or security measure?)