Skip to content

Assertion error when group name consists of just numbers

Checklist

  • Extension version: 3.37.0
  • VS Code version: 1.62.1
  • GitLab version: 13.4.7-ee

Summary

Git remote url can't be parsed seemingly when group name consists of just numbers.

Steps to reproduce

  1. Create group consists of numbers. Example, 1234567
  2. Create project under the group
  3. Open the project with vscode and try accessing from Gitlab Workflow extension

What is the current bug behavior?

In our Gitlab instance we have groups created with the name same as employee ID and that contains only numbers.

Example Remote URL: git@gitlab.myorg.com:1234567/myproj.git

We also have groups that consists of both numbers and characters. Connecting to projects under those groups are working fine.

Example Remote URL: git@gitlab.myorg.com:my_group/myproj.git

What is the expected correct behavior?

Extension should be able to connect to all the projects under any groups.

Relevant logs and/or screenshots

git remote "git@gitlab.myorg.com:1234567/myproj.git" could not be parsed
AssertionError [ERR_ASSERTION]: git remote "git@gitlab.myorg.com:1234567/myproj.git" could not be parsed
	at WrappedRepository.getRemoteByName (w:\.vscode\extensions\gitlab.gitlab-workflow-3.37.0\out\src\git\wrapped_repository.js:113:30)
	at WrappedRepository.get remote [as remote] (w:\.vscode\extensions\gitlab.gitlab-workflow-3.37.0\out\src\git\wrapped_repository.js:147:21)
	at WrappedRepository.getProject (w:\.vscode\extensions\gitlab.gitlab-workflow-3.37.0\out\src\git\wrapped_repository.js:117:19)
	at w:\.vscode\extensions\gitlab.gitlab-workflow-3.37.0\out\src\tree_view\issuable_data_provider.js:36:26
	at Array.map (<anonymous>)
	at getAllGitlabRepositories (w:\.vscode\extensions\gitlab.gitlab-workflow-3.37.0\out\src\tree_view\issuable_data_provider.js:35:86)
	at IssuableDataProvider.getChildren (w:\.vscode\extensions\gitlab.gitlab-workflow-3.37.0\out\src\tree_view\issuable_data_provider.js:59:34)
	at A.fetchChildrenNodes (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:94:63536)
	at A.getChildren (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:94:60279)
	at S.$getChildren (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:94:56499)
	at n._doInvokeHandler (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:98:13802)
	at n._invokeHandler (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:98:13486)
	at n._receiveRequest (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:98:12148)
	at n._receiveOneMessage (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:98:11025)
	at c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:98:8922
	at l.fire (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:66:1712)
	at s.fire (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:74:15990)
	at c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:113:30625
	at l.fire (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:66:1712)
	at s.fire (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:74:15990)
	at f._receiveMessage (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:74:21260)
	at c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:74:18138
	at l.fire (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:66:1712)
	at w.acceptChunk (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:74:13351)
	at c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:74:12699
	at Socket.m (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:113:13575)
	at Socket.emit (events.js:315:20)
	at addChunk (internal/streams/readable.js:309:12)
	at readableAddChunk (internal/streams/readable.js:284:9)
	at Socket.Readable.push (internal/streams/readable.js:223:10)
	at Pipe.onStreamRead (internal/stream_base_commons.js:188:23)

Possible fixes

Suspecting normalizeSshRemote function parses group with numbers as port.