Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
374 commits
Select commit Hold shift + click to select a range
f7be67c
chore: remove unused test deps and update depcheck script
jescalada Oct 10, 2025
c85bb34
Merge branch '1150-vitest-migration-from-service' of https://github.c…
jescalada Oct 10, 2025
b5746d0
fix: reset modules in testProxyRoute and add/replace types for app
jescalada Oct 11, 2025
a20d39a
fix: CI test script and unused deps
jescalada Oct 11, 2025
fb903c3
fix: add proper cleanup to proxy tests
jescalada Oct 11, 2025
73e5d8b
chore: temporarily skip proxy tests to prevent errors
jescalada Oct 11, 2025
f1920c9
chore: temporarily skip problematic proxy route tests
jescalada Oct 11, 2025
5f4ac95
chore: temporarily add ts-mocha to CLI dev deps
jescalada Oct 13, 2025
52cfaab
chore: update vitest config to limit coverage check to API
jescalada Oct 13, 2025
c9b324a
chore: exclude more unnecessary files in coverage and include only TS…
jescalada Oct 13, 2025
a268711
chore: exclude type files from coverage check
jescalada Oct 13, 2025
41abea2
test: rewrite proxy filter tests and new ones for helpers
jescalada Oct 14, 2025
65aa650
chore: bump vite to latest
jescalada Oct 14, 2025
4909c03
Merge branch 'main' into 1150-vitest-migration-from-service
jescalada Oct 22, 2025
51478b0
chore: update package-lock.json and remove unused JS test
jescalada Oct 22, 2025
bfa4374
fix: failing tests and formatting
jescalada Oct 22, 2025
b375597
Merge branch 'main' into 1150-vitest-migration-from-service
jescalada Oct 22, 2025
c3995c5
chore: add BlueOak-1.0.0 to allowed licenses list
jescalada Oct 27, 2025
4b1adbc
Merge branch 'main' into 1150-vitest-migration-from-service
jescalada Oct 27, 2025
ef6b730
Merge branch 'main' into 1150-vitest-migration-from-service
jescalada Oct 27, 2025
2350b59
Merge branch 'main' into 1150-vitest-migration-from-service
jescalada Oct 30, 2025
6c04a0e
fix: normalize UI RepositoryData types and props
jescalada Oct 31, 2025
4e91205
refactor: remove duplicate commitTs and CommitData
jescalada Oct 31, 2025
b5356ac
refactor: unify attestation-related types
jescalada Oct 31, 2025
642de69
chore: remove unused UserType and replace with Partial<UserData>
jescalada Oct 31, 2025
99ddef1
chore: move ui-only types (UserData, PushData, Route) from src/types/…
jescalada Nov 1, 2025
b5ddbd9
refactor: duplicate ContextData types
jescalada Nov 1, 2025
8740d62
chore: move repo metadata types and fix isAdminUser typings
jescalada Nov 1, 2025
2db6d4e
refactor: extra config types into own types file
jescalada Nov 1, 2025
311a103
chore: generate config types for JWT roleMapping
jescalada Nov 1, 2025
91b8750
refactor: remove duplicate RoleMapping type
jescalada Nov 1, 2025
9951967
Merge branch 'main' into 1150-vitest-migration-from-service
jescalada Nov 3, 2025
8e38584
Merge branch 'main' into 1150-vitest-migration-from-service
jescalada Nov 5, 2025
1bc75ba
refactor: remove duplicate Commit interface in Action.ts
jescalada Nov 6, 2025
276da56
refactor: replace PushData type with PushActionView
jescalada Nov 6, 2025
70677d5
refactor: add PublicUser type and replace usages of UserData
jescalada Nov 6, 2025
92eb9c2
refactor: replace generic data, setData, row with user equivalents
jescalada Nov 6, 2025
ea1f875
Merge branch 'main' into 1150-vitest-migration-from-service
jescalada Nov 7, 2025
33ee86b
fix: missing user errors
jescalada Nov 7, 2025
35ecfb0
refactor: replace RepositoryData and related types with RepoView
jescalada Nov 7, 2025
1a42226
Merge branch 'main' into 1150-vitest-migration-from-service
jescalada Nov 7, 2025
7396564
refactor: replace generic data/setData variables with push versions
jescalada Nov 7, 2025
c3e4116
chore: simplify unexported UI types
jescalada Nov 8, 2025
c92c649
refactor: duplicate TabConfig/TabItem
jescalada Nov 8, 2025
23fbc4e
chore: move UserContext and AuthContext to ui/context.ts
jescalada Nov 8, 2025
ef15d58
Merge branch 'main' of https://github.com/finos/git-proxy into 1193-c…
jescalada Nov 8, 2025
f14d937
fix: cli type import error
jescalada Nov 8, 2025
127920f
chore: improve attestationConfig typing in config.schema.json
jescalada Nov 14, 2025
f68f048
refactor: simplify AttestationFormData and QuestionFormData types, ad…
jescalada Nov 14, 2025
3f1d41e
test: update type generation test with new attestation format
jescalada Nov 14, 2025
a2008c6
Merge pull request #1275 from finos/1193-consolidate-ts-types
jescalada Nov 14, 2025
b75a830
fix(deps): update npm - - package.json
renovate[bot] Nov 14, 2025
ac05f42
Merge pull request #1252 from finos/renovate/manager
kriswest Nov 17, 2025
d11c657
Merge branch 'main' into 1150-vitest-migration-from-service
jescalada Nov 18, 2025
e845f1a
chore: fix dep issues
jescalada Nov 18, 2025
0e5e439
chore(deps): update github-actions - workflows - .github/workflows/un…
renovate[bot] Nov 18, 2025
b741bfb
Update test/1.test.ts
jescalada Nov 18, 2025
a53eeef
chore: remove unnecessary logging in push actions and routes
jescalada Nov 18, 2025
d572df1
Merge branch '1150-vitest-migration-from-service' of https://github.c…
jescalada Nov 18, 2025
890d583
chore: remove/adjust tests based on console logs
jescalada Nov 18, 2025
85e418f
Merge pull request #1279 from finos/renovate/workflows-manager
jescalada Nov 19, 2025
c299c6c
fix(deps): update npm to v5 - - package.json
renovate[bot] Nov 19, 2025
6527ea7
fix: repo mismatch issue on proxy start
jescalada Nov 19, 2025
1ee2b91
fix: drop dependency on jwk-to-pem by using native crypto
dgl Nov 19, 2025
f3d9989
chore: fix potentially invalid repo project names in testProxyRoute t…
jescalada Nov 19, 2025
5ae5c50
chore: remove casting in ConfigLoader tests
jescalada Nov 19, 2025
37c922a
Update test/generated-config.test.ts
jescalada Nov 19, 2025
a8aa410
Update test/generated-config.test.ts
jescalada Nov 19, 2025
5327e28
Update test/generated-config.test.ts
jescalada Nov 19, 2025
9723c02
Merge branch '1150-vitest-migration-from-service' of https://github.c…
jescalada Nov 19, 2025
973fbaf
test: improve assertions in generated-config.test.ts
jescalada Nov 19, 2025
c642e4d
fix: set isEmailAllowed regex to case insensitive
jescalada Nov 20, 2025
e7ffacb
chore: improve test assertions and cleanup
jescalada Nov 20, 2025
b06d61e
test: simplify scanDiff tests with generateDiffStep helper
jescalada Nov 20, 2025
119bd8b
Update test/testParseAction.test.ts
jescalada Nov 20, 2025
a4809b4
Update test/testDb.test.ts
jescalada Nov 20, 2025
e69c4d6
Update test/testCheckUserPushPermission.test.ts
jescalada Nov 20, 2025
594b8aa
test: rename auth routes tests and add new cases for status codes
jescalada Nov 20, 2025
5ada78a
Merge branch '1150-vitest-migration-from-service' of https://github.c…
jescalada Nov 20, 2025
1334689
chore: testActiveDirectoryAuth cleanup, remove old test packages from…
jescalada Nov 20, 2025
51a4a35
refactor(ssh): add PktLineParser and base function to eliminate code …
fabiovincenzi Nov 20, 2025
f6fb9eb
feat(ssh): implement server-side SSH agent forwarding with LazyAgent …
fabiovincenzi Nov 20, 2025
61b3595
feat(ssh): add SSH helper functions for connection setup and validation
fabiovincenzi Nov 20, 2025
3e0e5c0
refactor(ssh): simplify server.ts and pullRemote using helper functions
fabiovincenzi Nov 20, 2025
4a2b273
docs: add SSH proxy architecture documentation
fabiovincenzi Nov 20, 2025
0f3d3b8
fix(ssh): correct ClientWithUser to extend ssh2.Connection instead of…
fabiovincenzi Nov 20, 2025
39be87e
feat: add dependencies for SSH key management
fabiovincenzi Oct 24, 2025
dbef641
feat(db): add PublicKeyRecord type for SSH key management
fabiovincenzi Nov 6, 2025
9545ac2
feat(db): implement SSH key management for File database
fabiovincenzi Nov 6, 2025
24d499c
feat(db): implement SSH key management for MongoDB
fabiovincenzi Nov 6, 2025
df603ef
feat(db): update database wrapper with correct SSH key types
fabiovincenzi Nov 6, 2025
7e5d6d9
feat(api): add SSH key management endpoints
fabiovincenzi Nov 6, 2025
59aef6e
feat(ui): add SSH service for API calls
fabiovincenzi Nov 6, 2025
ebfff2d
feat(ui): add SSH key management UI and clone tabs
fabiovincenzi Nov 6, 2025
0570c4c
feat(cli): update SSH key deletion to use fingerprint
fabiovincenzi Nov 6, 2025
e5da79c
chore: add SSH key fingerprint API and UI updates
fabiovincenzi Nov 20, 2025
61d349f
chore: refactor CLI tests to Vitest
jescalada Nov 21, 2025
527bf4c
chore: improve proxy test todo explanation, git-proxy version in CLI …
jescalada Nov 21, 2025
a561b1a
chore: improve proxy test todo content and revert skip removal
jescalada Nov 21, 2025
7495a3e
chore: improved cleanup explanations for sample test
jescalada Nov 22, 2025
c5754c8
Merge branch 'main' into 1150-vitest-migration-from-service
jescalada Nov 22, 2025
7d5c0f1
test: add extra test for default repo creation
jescalada Nov 22, 2025
4e3b869
chore: run npm audit fix
jescalada Nov 22, 2025
cf16aef
chore: add BlueOak-1.0.0 to allowed licenses
jescalada Nov 22, 2025
2c80fbf
test: add jwt validation test using crypto.createPublicKey instead of…
jescalada Nov 24, 2025
6e45775
test: remove .only in jwt handler tests
jescalada Nov 24, 2025
ab0bdbe
refactor(ssh): remove explicit SSH algorithm configuration
fabiovincenzi Nov 26, 2025
b72d222
fix(ssh): use existing packet line parser
fabiovincenzi Nov 26, 2025
55d06ab
feat(ssh): improve agent forwarding error message and make it configu…
fabiovincenzi Nov 26, 2025
f6281d6
fix(ssh): use startsWith instead of includes for git-receive-pack det…
fabiovincenzi Nov 26, 2025
5e3e13e
feat(ssh): add SSH host key verification to prevent MitM attacks
fabiovincenzi Nov 26, 2025
d5c9a82
refactor: flatten push/:id/authorise endpoint and improve error codes
jescalada Nov 27, 2025
f42734b
refactor: remaining push route error codes and messages
jescalada Nov 27, 2025
e7d9661
test: fix push route tests and add check for error messages
jescalada Nov 27, 2025
6db3298
refactor: unify auth/me and auth/profile endpoints
jescalada Nov 28, 2025
539ce14
refactor: flatten auth profile and gitaccount endpoints, improve code…
jescalada Nov 28, 2025
78ed7cc
refactor: remaining auth endpoints error codes and messages
jescalada Nov 28, 2025
dbc5457
test: update auth endpoint tests
jescalada Nov 28, 2025
1ed0f31
chore: move publicApi.ts contents to utils.ts
jescalada Nov 28, 2025
119ad11
fix: remaining config Source casting
jescalada Nov 28, 2025
c22c860
Update test/proxy.test.ts
jescalada Nov 28, 2025
1659dc5
Update test/proxy.test.ts
jescalada Nov 28, 2025
f936e9e
chore: npm run format
jescalada Nov 28, 2025
7b2f178
chore: fix failing cypress test
jescalada Nov 29, 2025
3afa917
chore: improve default repo creation test
jescalada Nov 29, 2025
9f24d3f
Merge pull request #1284 from jescalada/1282-proxyPreparations-mismat…
jescalada Nov 29, 2025
8e02a94
Merge branch 'main' of https://github.com/finos/git-proxy into 1150-v…
jescalada Nov 29, 2025
498d3cb
chore: improve user endpoint error handling in UI
jescalada Nov 30, 2025
9ed8515
Merge branch 'main' into improve-endpoint-status-codes
jescalada Nov 30, 2025
b372027
test: fix failing e2e test due to improper error message parsing
jescalada Nov 30, 2025
1835aba
Merge branch 'main' into drop-jwk-to-pem
kriswest Dec 1, 2025
ead3eca
fix: demo video
tabathad Dec 1, 2025
c461e1d
Merge branch 'main' into fix-demo-video
kriswest Dec 1, 2025
0b5f0b9
Merge pull request #1298 from tabathad/fix-demo-video
kriswest Dec 2, 2025
90b879a
Merge branch 'main' into 1150-vitest-migration-from-service
coopernetes Dec 2, 2025
3d54835
Merge pull request #1202 from jescalada/1150-vitest-migration-from-se…
coopernetes Dec 2, 2025
618a4e1
fix(deps): update npm to v5 - - package.json
renovate[bot] Dec 2, 2025
651f538
Merge branch 'main' into improve-endpoint-status-codes
jescalada Dec 3, 2025
7a54fef
Merge branch 'main' into drop-jwk-to-pem
jescalada Dec 3, 2025
9b808ef
test: convert missing jwtAuthHandler test and remove jwk-to-pem depen…
jescalada Dec 3, 2025
cb99e2c
feat(api): add SSH config endpoint for UI
fabiovincenzi Dec 3, 2025
345d333
refactor(proxy): extract HTTPS clone logic using Strategy pattern
fabiovincenzi Dec 3, 2025
992fdae
feat(ssh): implement SSH agent forwarding for repository cloning
fabiovincenzi Dec 3, 2025
7e652d0
refactor(ssh): extract common SSH command execution logic
fabiovincenzi Dec 3, 2025
8936225
fix(ui): correct SSH URL generation in Code button
fabiovincenzi Dec 3, 2025
ae8ef8a
chore: merge upstream main from finos/git-proxy
fabiovincenzi Dec 3, 2025
10b949d
feat(ui): restore SSH key management in UserProfile
fabiovincenzi Dec 3, 2025
a128cdd
feat(ui): include SSH agent forwarding flag in clone command
fabiovincenzi Dec 3, 2025
dd71f28
fix: revert singleBranch option in pullRemote action
jescalada Dec 3, 2025
152c377
Merge branch 'renovate/major-5-npm' of https://github.com/finos/git-p…
jescalada Dec 4, 2025
d1b3b57
fix: add parameter name to wildcard route in src/service/index.ts
jescalada Dec 4, 2025
a4ec623
Merge pull request #900 from finos/renovate/major-5-npm
jescalada Dec 4, 2025
6ed56df
chore(deps): update github-actions - workflows - .github/workflows/sc…
renovate[bot] Dec 4, 2025
a84731a
Merge pull request #1306 from finos/renovate/workflows-manager
jescalada Dec 4, 2025
15686ce
chore(deps): update npm to v2 - - package.json
renovate[bot] Dec 4, 2025
c6a5133
Merge pull request #1132 from finos/renovate/major-2-npm
jescalada Dec 4, 2025
27ff9d0
fix(deps): update dependency axios to ^1.13.2 - git-proxy-cli - packa…
renovate[bot] Dec 4, 2025
a8224fb
Merge pull request #1290 from finos/renovate/git-proxy-cli-manager
jescalada Dec 4, 2025
23776b6
Merge branch 'main' into 1291-subsequent-pushes-error
kriswest Dec 4, 2025
219770e
Merge pull request #1305 from jescalada/1291-subsequent-pushes-error
kriswest Dec 4, 2025
87df95d
fix: the condition "types" here will never be used warning
andypols Dec 5, 2025
e0e06be
fix: macos test failures due to concurrent file access
coopernetes Dec 5, 2025
357cf52
fix: revert vitest config to single process for integration tests
coopernetes Dec 5, 2025
87633ac
fix: typos in db names for files
coopernetes Dec 5, 2025
4e80f93
Merge branch 'main' into fix-types-never-user-warning
jescalada Dec 6, 2025
4f73bf7
Merge pull request #1311 from andypols/fix-types-never-user-warning
jescalada Dec 6, 2025
09a0680
Merge branch 'main' into hotfix/nedb-test
kriswest Dec 8, 2025
4c54a58
fix: defer import of proxy and service until config file has been set…
kriswest Dec 8, 2025
7e625cd
Merge pull request #1312 from RBC/hotfix/nedb-test
coopernetes Dec 9, 2025
4655f62
fix: defer read of DB config until needed to fix race + move getAllPr…
kriswest Dec 9, 2025
49338a6
fix: move neDB folder initialisation to occur on first use
kriswest Dec 9, 2025
7430b1a
chore: clean up in index.ts
kriswest Dec 9, 2025
4f56a3d
Merge branch 'main' into 1313-config-race-condition-b
kriswest Dec 9, 2025
139e2dd
test: fixing issues in tests (both existing types issues and caused b…
kriswest Dec 9, 2025
8b2740a
fix: defer import of proxy and service until config file has been set…
kriswest Dec 8, 2025
c3c226f
fix: defer read of DB config until needed to fix race + move getAllPr…
kriswest Dec 9, 2025
9a8b2c6
fix: move neDB folder initialisation to occur on first use
kriswest Dec 9, 2025
b547479
test: fixing issues in tests (both existing types issues and caused b…
kriswest Dec 9, 2025
c5b030e
chore: clean up in index.ts
kriswest Dec 9, 2025
9b1d2df
Merge branch '1313-config-race-condition' of https://natwest.gitlab-d…
kriswest Dec 9, 2025
989e866
Merge branch '1313-config-race-condition-c' into 1313-config-race-con…
kriswest Dec 9, 2025
ce55423
chore: upgrade node & mongo versions in ci, actions upgrades
coopernetes Dec 9, 2025
7defaa0
Apply suggestions from code review
kriswest Dec 10, 2025
b4971c1
Apply suggestions from code review
kriswest Dec 10, 2025
d366b98
Update src/ui/views/User/UserProfile.tsx
jescalada Dec 10, 2025
72b0eda
Merge branch 'main' into improve-endpoint-status-codes
jescalada Dec 10, 2025
5d1a727
Merge pull request #1293 from jescalada/improve-endpoint-status-codes
jescalada Dec 10, 2025
446493a
fix: bump codeql to 4.31.7
jescalada Dec 11, 2025
e398a7b
Merge branch 'main' into chore/node-upgrades
jescalada Dec 11, 2025
a5a1d95
Merge branch 'finos:main' into 1313-config-race-condition-b
kriswest Dec 11, 2025
521d945
feat: add AWS credential provider support & more detailed schema for DBs
kriswest Dec 2, 2025
ee313d1
test: correct failing test after detail added to config schema
kriswest Dec 2, 2025
d832465
docs: better links in schemas and regenerate ref docs from schema
kriswest Dec 12, 2025
18d51bc
Apply suggestions from code review
kriswest Dec 12, 2025
bb8d97a
chore: replace `00000...` string with `EMPTY_COMMIT_HASH`, run `npm r…
jescalada Dec 13, 2025
f31592b
Merge pull request #1316 from kriswest/1313-config-race-condition-b
jescalada Dec 13, 2025
b785955
Merge branch 'main' into chore/node-upgrades
jescalada Dec 13, 2025
9fe4145
Merge branch 'main' into 1299-awsCredentialProviders-c
jescalada Dec 13, 2025
9b6eeb2
chore: upgrade codeql actions to v4
coopernetes Dec 13, 2025
b69447b
test: add a result job to ci
coopernetes Dec 13, 2025
e767463
Merge pull request #1319 from kriswest/1299-awsCredentialProviders-c
kriswest Dec 15, 2025
ef3e78e
Merge branch 'main' into chore/node-upgrades
coopernetes Dec 15, 2025
0509d78
chore: update package-lock.json
coopernetes Dec 15, 2025
c8b2693
Merge pull request #1315 from finos/chore/node-upgrades
coopernetes Dec 15, 2025
0e02e3f
Merge branch 'main' into drop-jwk-to-pem
kriswest Dec 15, 2025
6e7fea1
Merge pull request #1283 from dgl/drop-jwk-to-pem
coopernetes Dec 15, 2025
45654fc
fix: move supertest to dev dependencies
andypols Dec 15, 2025
93f9608
Merge branch 'main' into move-supertest-to-dev
coopernetes Dec 15, 2025
73b4831
Merge pull request #1328 from andypols/move-supertest-to-dev
coopernetes Dec 15, 2025
0b53906
refactor(ssh): remove proxyUrl dependency by parsing hostname from pa…
fabiovincenzi Dec 3, 2025
863f0ab
chore: add debug logs
jescalada Dec 15, 2025
042fe47
refactor(ssh): remove SSH Key Retention system
fabiovincenzi Dec 16, 2025
8a7f914
docs(ssh): remove SSH Key Retention documentation
fabiovincenzi Dec 16, 2025
4eb234b
fix(config): remove obsolete ssh.clone.serviceToken
fabiovincenzi Dec 16, 2025
092f994
docs(config): improve SSH schema descriptions
fabiovincenzi Dec 16, 2025
095d2a2
docs(readme): clarify SSH agent forwarding
fabiovincenzi Dec 16, 2025
649625e
refactor(ssh): remove TODO in server initialization
fabiovincenzi Dec 16, 2025
c7f1f75
improve(ssh): enhance agent forwarding error message
fabiovincenzi Dec 16, 2025
222ba86
feat(ssh): add auto-generated host key management
fabiovincenzi Dec 16, 2025
77aeeba
improve(ssh): add detailed GitHub auth error messages
fabiovincenzi Dec 16, 2025
7b0ba90
fix(deps): add missing ssh2 dependency
fabiovincenzi Dec 16, 2025
c07d5cd
test(ssh): update tests for agent forwarding
fabiovincenzi Dec 16, 2025
c10047e
fix(deps): correct exports conditions order for Vite 7
fabiovincenzi Dec 16, 2025
a656040
docs: remove duplicate SSH.md documentation
fabiovincenzi Dec 16, 2025
5114b93
docs: optimize and improve SSH_ARCHITECTURE.md
fabiovincenzi Dec 16, 2025
9fff6b7
docs: fix obsolete SSH information in ARCHITECTURE.md
fabiovincenzi Dec 16, 2025
7bf20b6
fix(ssh): include ssh-agent startup in error message
fabiovincenzi Dec 16, 2025
a4df01c
Merge upstream/main: integrate latest changes and fix singleBranch
fabiovincenzi Dec 16, 2025
7062809
docs: fix processor chain count in README (17 -> 16)
fabiovincenzi Dec 16, 2025
2df3916
fix(config): remove personal test repositories from config
fabiovincenzi Dec 16, 2025
db4044a
refactor(config): remove obsolete getProxyUrl and getSSHProxyUrl func…
fabiovincenzi Dec 16, 2025
06f5052
refactor(ssh): remove unnecessary type cast for findUserBySSHKey
fabiovincenzi Dec 17, 2025
731ed35
refactor(routes): remove duplicate JavaScript route files
fabiovincenzi Dec 17, 2025
1b73bb3
security: remove SSH private keys from repository
fabiovincenzi Dec 17, 2025
bfed68a
build: add @types/ssh2 to fix TypeScript compilation errors
fabiovincenzi Dec 17, 2025
7662e6a
security: fix CodeQL command injection and URL sanitization issues
fabiovincenzi Dec 17, 2025
4230bc5
refactor(test): convert remaining test files from JavaScript to TypeS…
fabiovincenzi Dec 18, 2025
0ff683e
fix(ssh): comprehensive security enhancements and validation improvem…
fabiovincenzi Dec 18, 2025
e3e60da
Update src/proxy/ssh/AgentForwarding.ts
fabiovincenzi Dec 18, 2025
3ad0105
fix(ssh): remove password auth and add error for missing SSH identities
fabiovincenzi Dec 18, 2025
4cf238e
chore: merge changes
fabiovincenzi Dec 18, 2025
0d2e4e1
docs(ssh): emphasize .git requirement in repository URLs
fabiovincenzi Dec 18, 2025
07f15ef
Update src/proxy/ssh/server.ts
fabiovincenzi Dec 18, 2025
62c93e2
Merge branch 'ssh-agent-on-pr987' of https://github.com/fabiovincenzi…
fabiovincenzi Dec 18, 2025
5ccd921
fix(ssh): use default dual-stack binding for IPv4/IPv6 support
fabiovincenzi Dec 18, 2025
67c1016
fix(ssh): use default dual-stack binding for IPv4/IPv6 support
fabiovincenzi Dec 18, 2025
c1d92b5
Merge branch 'ssh-agent-on-pr987' of https://github.com/fabiovincenzi…
fabiovincenzi Dec 18, 2025
a648e84
test: fix User constructor calls and SSH agent forwarding mock
fabiovincenzi Dec 18, 2025
acc66d0
fix: correct SSH fingerprint verification and refactor pullRemote tests
fabiovincenzi Dec 19, 2025
bb17668
test: increase memory leak threshold for flaky performance test
fabiovincenzi Dec 19, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 50 additions & 14 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,32 +17,33 @@ jobs:
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
node-version: [20.x]
mongodb-version: [4.4]
node-version: [20.x, 22.x, 24.x]
mongodb-version: ['6.0', '7.0', '8.0']

steps:
- name: Harden Runner
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1
uses: step-security/harden-runner@df199fb7be9f65074067a9eb93f12bb4c5547cf2 # ratchet:step-security/harden-runner@v2.13.3
with:
egress-policy: audit

- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # ratchet:actions/checkout@v6.0.1
with:
fetch-depth: 0

- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # ratchet:actions/setup-node@v6.1.0
with:
node-version: ${{ matrix.node-version }}

- name: Start MongoDB
uses: supercharge/mongodb-github-action@90004df786821b6308fb02299e5835d0dae05d0d # 1.12.0
uses: supercharge/mongodb-github-action@315db7fe45ac2880b7758f1933e6e5d59afd5e94 # ratchet:supercharge/mongodb-github-action@1.12.1
with:
mongodb-version: ${{ matrix.mongodb-version }}

- name: Install dependencies
run: npm i
run: npm ci

# for now only check the types of the server
# tsconfig isn't quite set up right to respect what vite accepts
Expand All @@ -60,7 +61,7 @@ jobs:
npm run test-coverage-ci --workspaces --if-present

- name: Upload test coverage report
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # ratchet:codecov/codecov-action@v5.5.1
with:
files: ./coverage/lcov.info
token: ${{ secrets.CODECOV_TOKEN }}
Expand All @@ -72,22 +73,57 @@ jobs:
run: npm run build-ui

- name: Save build folder
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # ratchet:actions/upload-artifact@v4
with:
name: build
name: build-${{ matrix.node-version }}-mongo-${{ matrix.mongodb-version }}
if-no-files-found: error
path: build

- name: Download the build folders
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # ratchet:actions/download-artifact@v5
with:
name: build
name: build-${{ matrix.node-version }}-mongo-${{ matrix.mongodb-version }}
path: build

- name: Run cypress test
uses: cypress-io/github-action@b8ba51a856ba5f4c15cf39007636d4ab04f23e3c # v6.10.2
uses: cypress-io/github-action@7ef72e250a9e564efb4ed4c2433971ada4cc38b4 # ratchet:cypress-io/github-action@v6.10.4
with:
start: npm start &
wait-on: 'http://localhost:3000'
wait-on-timeout: 120
run: npm run cypress:run
command: npm run cypress:run

# Execute a final job to collect the results and report a single check status
results:
if: ${{ always() }}
runs-on: ubuntu-latest
name: build result
needs: [build]
steps:
- name: Check build results
run: |
result="${{ needs.build.result }}"
if [[ $result == "success" || $result == "skipped" ]]; then
echo "### ✅ All builds passed" >> $GITHUB_STEP_SUMMARY
exit 0
else
echo "### ❌ Some builds failed" >> $GITHUB_STEP_SUMMARY
exit 1
fi

- name: Parse failed matrix jobs
if: needs.build.result == 'failure'
run: |
echo "## Failed Matrix Combinations" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "| Node Version | MongoDB Version | Status |" >> $GITHUB_STEP_SUMMARY
echo "|--------------|-----------------|--------|" >> $GITHUB_STEP_SUMMARY

# Parse the matrix results from the build job
results='${{ toJSON(needs.build.outputs) }}'

# Since we can't directly get individual matrix job statuses,
# we'll note that the build job failed
echo "| Multiple | Multiple | ❌ Failed |" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "⚠️ Check the [build job logs](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}) for details on which specific matrix combinations failed." >> $GITHUB_STEP_SUMMARY
54 changes: 5 additions & 49 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,3 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: 'CodeQL'

on:
Expand All @@ -25,67 +14,34 @@ permissions:
jobs:
analyze:
name: Analyze
# Runner size impacts CodeQL analysis time. To learn more, please see:
# - https://gh.io/recommended-hardware-resources-for-running-codeql
# - https://gh.io/supported-runners-and-hardware-resources
# - https://gh.io/using-larger-runners
# Consider using larger runners for possible analysis time improvements.
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }}
permissions:
# required for all workflows
security-events: write

# only required for workflows in private repositories
actions: read
contents: read

strategy:
fail-fast: false
matrix:
language: ['javascript-typescript']
# CodeQL supports [ 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift' ]
# Use only 'java-kotlin' to analyze code written in Java, Kotlin or both
# Use only 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support

steps:
- name: Harden Runner
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2
uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # ratchet:step-security/harden-runner@v2
with:
egress-policy: audit

- name: Checkout repository
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # ratchet:actions/checkout@v6

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@42213152a85ae7569bdb6bec7bcd74cd691bfe41 # v3
uses: github/codeql-action/init@1b168cd39490f61582a9beae412bb7057a6b2c4e # ratchet:github/codeql-action/init@v4
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.

# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality

# Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@42213152a85ae7569bdb6bec7bcd74cd691bfe41 # v3

# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun

# If the Autobuild fails above, remove it and uncomment the following three lines.
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.

# - run: |
# echo "Run, Build Application using script"
# ./location_of_script_within_repo/buildscript.sh
uses: github/codeql-action/autobuild@1b168cd39490f61582a9beae412bb7057a6b2c4e # ratchet:github/codeql-action/autobuild@v4

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@42213152a85ae7569bdb6bec7bcd74cd691bfe41 # v3
uses: github/codeql-action/analyze@1b168cd39490f61582a9beae412bb7057a6b2c4e # ratchet:github/codeql-action/analyze@v4
with:
category: '/language:${{matrix.language}}'
8 changes: 4 additions & 4 deletions .github/workflows/dependency-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,17 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2
uses: step-security/harden-runner@df199fb7be9f65074067a9eb93f12bb4c5547cf2 # v2
with:
egress-policy: audit

- name: 'Checkout Repository'
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
- name: Dependency Review
uses: actions/dependency-review-action@45529485b5eb76184ced07362d2331fd9d26f03f # v4
uses: actions/dependency-review-action@3c4e3dcb1aa7874d2c16be7d79418e9b7efd6261 # v4
with:
comment-summary-in-pr: always
fail-on-severity: high
allow-licenses: MIT, MIT-0, Apache-2.0, BSD-3-Clause, BSD-3-Clause-Clear, ISC, BSD-2-Clause, Unlicense, CC0-1.0, 0BSD, X11, MPL-2.0, MPL-1.0, MPL-1.1, MPL-2.0, OFL-1.1, Zlib
allow-licenses: MIT, MIT-0, Apache-2.0, BSD-3-Clause, BSD-3-Clause-Clear, ISC, BSD-2-Clause, Unlicense, CC0-1.0, 0BSD, X11, MPL-2.0, MPL-1.0, MPL-1.1, MPL-2.0, OFL-1.1, Zlib, BlueOak-1.0.0
fail-on-scopes: development, runtime
allow-dependencies-licenses: 'pkg:npm/caniuse-lite'
6 changes: 3 additions & 3 deletions .github/workflows/experimental-inventory-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,11 @@ jobs:

steps:
- name: Harden Runner
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1
uses: step-security/harden-runner@df199fb7be9f65074067a9eb93f12bb4c5547cf2 # v2.13.3
with:
egress-policy: audit

- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
with:
fetch-depth: 0

Expand All @@ -38,7 +38,7 @@ jobs:
node-version: ${{ matrix.node-version }}

- name: Start MongoDB
uses: supercharge/mongodb-github-action@90004df786821b6308fb02299e5835d0dae05d0d # 1.12.0
uses: supercharge/mongodb-github-action@315db7fe45ac2880b7758f1933e6e5d59afd5e94 # 1.12.1
with:
mongodb-version: ${{ matrix.mongodb-version }}

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/experimental-inventory-cli-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1
uses: step-security/harden-runner@df199fb7be9f65074067a9eb93f12bb4c5547cf2 # v2.13.3
with:
egress-policy: audit

- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5

# Setup .npmrc file to publish to npm
- uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/experimental-inventory-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1
uses: step-security/harden-runner@df199fb7be9f65074067a9eb93f12bb4c5547cf2 # v2.13.3
with:
egress-policy: audit

- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5

# Setup .npmrc file to publish to npm
- uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
runs-on: ubuntu-latest
steps: # list of steps
- name: Harden Runner
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2
uses: step-security/harden-runner@df199fb7be9f65074067a9eb93f12bb4c5547cf2 # v2
with:
egress-policy: audit

Expand All @@ -24,7 +24,7 @@ jobs:
node-version: ${{ env.NODE_VERSION }}

- name: Code Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
with:
fetch-depth: 0

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/npm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1
uses: step-security/harden-runner@df199fb7be9f65074067a9eb93f12bb4c5547cf2 # v2.13.3
with:
egress-policy: audit

- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
# Setup .npmrc file to publish to npm
- uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr-lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1
uses: step-security/harden-runner@df199fb7be9f65074067a9eb93f12bb4c5547cf2 # v2.13.3
with:
egress-policy: audit

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/sample-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1
uses: step-security/harden-runner@df199fb7be9f65074067a9eb93f12bb4c5547cf2 # v2.13.3
with:
egress-policy: audit
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
# Setup .npmrc file to publish to npm
- uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
with:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/scorecard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,12 @@ jobs:

steps:
- name: Harden Runner
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1
uses: step-security/harden-runner@df199fb7be9f65074067a9eb93f12bb4c5547cf2 # v2.13.3
with:
egress-policy: audit

- name: 'Checkout code'
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
with:
persist-credentials: false

Expand Down Expand Up @@ -72,6 +72,6 @@ jobs:

# Upload the results to GitHub's code scanning dashboard.
- name: 'Upload to code-scanning'
uses: github/codeql-action/upload-sarif@42213152a85ae7569bdb6bec7bcd74cd691bfe41 # v3.30.9
uses: github/codeql-action/upload-sarif@497990dfed22177a82ba1bbab381bc8f6d27058f # v3.31.6
with:
sarif_file: results.sarif
6 changes: 3 additions & 3 deletions .github/workflows/unused-dependencies.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,19 +9,19 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2
uses: step-security/harden-runner@df199fb7be9f65074067a9eb93f12bb4c5547cf2 # v2
with:
egress-policy: audit

- name: 'Checkout Repository'
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
- name: 'Setup Node.js'
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
with:
node-version: '22.x'
- name: 'Run depcheck'
run: |
npx depcheck --skip-missing --ignores="tsx,@babel/*,@commitlint/*,eslint,eslint-*,husky,mocha,ts-mocha,ts-node,concurrently,nyc,prettier,typescript,tsconfig-paths,vite-tsconfig-paths,@types/sinon,quicktype,history,@types/domutils"
npx depcheck --skip-missing --ignores="tsx,@babel/*,@commitlint/*,eslint,eslint-*,husky,ts-node,concurrently,nyc,prettier,typescript,tsconfig-paths,vite-tsconfig-paths,quicktype,history,@types/domutils,@vitest/coverage-v8"
echo $?
if [[ $? == 1 ]]; then
echo "Unused dependencies or devDependencies found"
Expand Down
5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -270,13 +270,14 @@ website/.docusaurus
# Jetbrains IDE
.idea

.claude/

# Test SSH keys (generated during tests)
test/keys/
test/.ssh/

# VS COde IDE
.vscode/settings.json

# Generated from testing
/test/fixtures/test-package/package-lock.json
.ssh/

Loading
Loading