Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: merge staging to master #379

Merged
merged 138 commits into from
Jun 28, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
138 commits
Select commit Hold shift + click to select a range
0649851
fix: adding dependencies for `async-locks`, `db`, `resources` and `er…
CMCDragonkai Mar 28, 2022
b8598ed
build: upgrade to Node v16
emmacasolin Apr 26, 2022
69d42f9
build: updating core libraries
emmacasolin Apr 26, 2022
b45be10
feat: static descriptions and exit codes for all errors
emmacasolin Apr 26, 2022
1d2af00
feat: using `cause` property to establish error chain
emmacasolin Apr 27, 2022
7ac6653
fix: validation errors are forced to use `void` as `cause`
emmacasolin May 2, 2022
72263c5
feat: error serialisation/deserialisation over gRPC incorporating err…
emmacasolin May 2, 2022
e5dfadb
feat: added logger to service handlers
emmacasolin May 4, 2022
631a670
syntax: removing index imports
emmacasolin May 4, 2022
4478a06
fix: integrating db changes into ACL
emmacasolin May 7, 2022
74b390d
fix: changing `es6` to `es2021` in `./eslintrc`
emmacasolin May 9, 2022
91aeb73
fix: integrating db changes into ACL
emmacasolin May 9, 2022
abe1c3b
fix: integrating db changes into vaults
tegefaulkes May 10, 2022
8c8f5af
fix: integrating db changes into Notifications
tegefaulkes May 11, 2022
fc962a1
fix: integrating db changes into `Discovery`
tegefaulkes May 11, 2022
d33fc5a
fix: integrating db changes into `Sigchain`
tegefaulkes May 12, 2022
26dddde
build: updated dependencies and added incremental build
emmacasolin May 13, 2022
ef8baf5
fix: integrating db changes into sessions
emmacasolin May 13, 2022
16d0361
fix: keymanager tests passing
emmacasolin May 13, 2022
98a3c75
fix: git tests passing
emmacasolin May 13, 2022
bfa77d0
fix: NodeGraph tests passing
emmacasolin May 13, 2022
aa62069
feat: adding transactions to service handlers
emmacasolin May 13, 2022
225d311
fix: fix for `GRPCServer` `http2Servers` hack
tegefaulkes May 13, 2022
2afa473
fix: Small test fixes
tegefaulkes May 16, 2022
5e2ea88
fix: Small fix for NotificationsManager tests
tegefaulkes May 16, 2022
1e1f5e5
fix: Small fix for Discovery tests
tegefaulkes May 16, 2022
68412c7
fix: removing sigchain.transaction
tegefaulkes May 17, 2022
497583f
fix: added locking back into sigchain
emmacasolin May 17, 2022
c2de660
fix: added locking back into notifications
emmacasolin May 17, 2022
73e3891
fix: discovery test fixes
emmacasolin May 17, 2022
845d7e4
fix: fix for `NodeConnection.test.ts` not running
emmacasolin May 17, 2022
69e7d3a
refactor: replacing `Mutex` with `Lock` for Proxy
emmacasolin May 17, 2022
1aa9044
fix: fixing vaultManager tests
tegefaulkes May 17, 2022
aaf158c
test: fixing client tests
tegefaulkes May 17, 2022
607c126
test: fixes for agent tests
tegefaulkes May 17, 2022
e71c536
test: fixes for grpc tests
tegefaulkes May 17, 2022
0ef9299
feat: error serialisation/deserialisation + metadata
emmacasolin May 18, 2022
09b83a3
feat: adding transactions to agent service handlers
tegefaulkes May 18, 2022
18a4d77
fix: toError deserialization
emmacasolin May 19, 2022
97beee9
feat: adding metadata of sending node to errors
emmacasolin May 19, 2022
fbf13a0
feat: adding transactions to client service handlers
tegefaulkes May 19, 2022
3e19974
feat: NodeId in ErrorPolykeyRemote data now encoded
emmacasolin May 20, 2022
e56f79e
feat: updated `NodeConnectionManager`'s resourceAcquire to handle err…
tegefaulkes May 20, 2022
055c526
feat: updated `NodeConnectionManager` to use `LockBox` for object map…
tegefaulkes May 20, 2022
c256620
feat: updated `VaultManager` to use `LockBox` for object map locking
tegefaulkes May 23, 2022
5dda0a4
feat: format json affects error logging
emmacasolin May 23, 2022
19e9b3e
tests: fixing bin tests
tegefaulkes May 18, 2022
e528d9f
fix: added logic check to `NotificationsManager.readNotifications`
tegefaulkes May 24, 2022
0a6442c
tests: split vaults client service tests
emmacasolin May 24, 2022
600aa36
test: fixed broken proxy tests
tegefaulkes May 25, 2022
f6339aa
tests: fixing remaining tests
tegefaulkes May 25, 2022
51c26a2
tests: grpc tests fixes
emmacasolin May 26, 2022
d0f82dd
tests: split vaults secrets client service tests
emmacasolin May 26, 2022
16ff937
tests: fix for nodesClaim test TypeError
emmacasolin May 26, 2022
bd95bc8
tests: fixing timeouts for tests failing in CI/CD
tegefaulkes May 26, 2022
52755ec
feat: updating `@matrixai/db` to `^4.0.1`
tegefaulkes May 27, 2022
d88278c
tests: general clean up for proxy tests
CMCDragonkai May 25, 2022
2127b0d
tests: fixed write after end error in proxy tests
tegefaulkes May 26, 2022
8ec9cdb
tests: fixed odd internal error for one test
tegefaulkes May 26, 2022
58d3616
syntax: general clean up proxy tests
tegefaulkes May 26, 2022
12250b0
build: updated `@matrixai/db` and `encryptedfs` dependencies
tegefaulkes May 31, 2022
7543a3c
fix: updated usage of iterators to use `valueAsBuff: false` option
tegefaulkes May 31, 2022
934bbd8
fix: importing `LockRequest` for `VaultManager`
tegefaulkes Jun 1, 2022
8a5f8b2
fix: bug with `decryptWithKey` utility
tegefaulkes Jun 1, 2022
3ba04db
build: Updated `encryptedfs` and `@matrixai/db` version
tegefaulkes Jun 1, 2022
a11fc55
refactor: moving `ClientMetadata` to GRPC domain
emmacasolin Jun 1, 2022
b6c30b8
fix: changed "remote error" to "cause" in cli error logging
emmacasolin Jun 1, 2022
6e20915
feat: filtering error logging in service handlers
emmacasolin Jun 1, 2022
6efc963
feat: updated `Opaque` usage
emmacasolin Jun 3, 2022
a01c7ea
feat: `promisify` utility now preserves typing info
emmacasolin Jun 3, 2022
9730e5a
fix: bug fixes in vaults service handlers
emmacasolin Jun 6, 2022
9c2bdea
style: lint fix
emmacasolin Jun 6, 2022
4cd91b2
fix: service handlers check for client error chains
emmacasolin Jun 6, 2022
6185c23
feat: added `nodesGetAll` bin command and service handler
joshuakarp Feb 18, 2022
9b53a0a
fix: general fixes
CMCDragonkai Feb 21, 2022
d08bbe9
feat: added `NodeGraph.getClosestNodes()`
tegefaulkes Mar 15, 2022
a43851b
fix: `NodeManager.setNode` Properly handles adding new node when buck…
tegefaulkes Mar 17, 2022
dc4ec33
test: fixed `nodeGraph` `get all buckets` test
tegefaulkes Mar 23, 2022
ea32dc7
feat: added `connectionEstablishedCallback` to `Proxy`
tegefaulkes Mar 24, 2022
a36cd3a
feat: `Proxy` trigger adding nodes to `Nodegraph`
tegefaulkes Mar 24, 2022
cb47f8b
feat: added optional timeout timers to `NodeConnectionManager` methods
tegefaulkes Mar 25, 2022
fa39cd5
refactor: updated implementation of `nodePing`
tegefaulkes Mar 25, 2022
e925034
feat: `NodeManager.setNode` authenticates the added node
tegefaulkes Mar 28, 2022
7815b2e
syntax: general linting and fixes from api changes
tegefaulkes Mar 29, 2022
9505e20
fix: squash into ping node changes.
tegefaulkes Mar 31, 2022
0e34a17
fix: setNode now does not ping the new node
tegefaulkes Mar 31, 2022
9764213
feat: setNode concurrently pings multiple nodes
tegefaulkes Mar 31, 2022
a02cfea
feat: nodeManager is now startStop
tegefaulkes Mar 31, 2022
4460779
feat: async queueing for setting nodes
tegefaulkes Mar 31, 2022
aa7c4bc
feat: establishing a `NodeConnection` adds the node to the nodeGraph
tegefaulkes Apr 7, 2022
04091f2
feat: implemented `NodeManager.refreshBucket()`
tegefaulkes Apr 8, 2022
4dec90b
feat: implemented no activity timers and queuing for `refreshBucket`
tegefaulkes Apr 11, 2022
ee53cfa
feat: refreshing buckets when entering network
tegefaulkes Apr 11, 2022
6302b0d
feat: abort controller support for `NodeManager.refreshBucket`
tegefaulkes Apr 14, 2022
c88bb81
fix: `setNode` no longer adds node twice when `force` is true
emmacasolin Apr 19, 2022
17396ab
feat: generic `SetNodeQueue` class for queuing `setNode` operations
emmacasolin Apr 21, 2022
8deddc5
fix: `syncNodeGraph` during agent startup is now non-blocking
emmacasolin Apr 21, 2022
2782d8b
refactor: renamed `SetNodeQueue` to `Queue`
emmacasolin Apr 21, 2022
40809b8
tests: general fixes for failing tests
tegefaulkes Apr 27, 2022
4a78c17
syntax: added `@typescript-eslint/await-thenable` linting rule
tegefaulkes Apr 27, 2022
d1c803c
fix: updated `@types/node-forge` version and fixed `keysUtils.getRand…
tegefaulkes Apr 28, 2022
f7aae95
tests: added test to check if nodes are properly added to the seed no…
tegefaulkes Apr 28, 2022
22423a6
tests: Added agent service tests for `nodesChainDataGet`, `nodesClose…
tegefaulkes Apr 29, 2022
0d277e8
fix: post re-base fixes
tegefaulkes Jun 2, 2022
2a0498d
syntax: style fixes
tegefaulkes Jun 7, 2022
17b5f6e
build: removing `node-abort-controller` polyfill
tegefaulkes Jun 7, 2022
dac96be
build: removing unneeded files
tegefaulkes Jun 7, 2022
a522de3
fix: `NodeConnectionManager.syncNodeGraph` now pings nodes
tegefaulkes Jun 7, 2022
b3766b6
fix: small fixes to nodes utils parsing functions
tegefaulkes Jun 9, 2022
19f4796
tests: expanding tests for root keypair changing
tegefaulkes Jun 9, 2022
551b7b6
build: updating package-lock.json
tegefaulkes Jun 10, 2022
9900d7a
fix: removed unneeded timer from NodeConnection test
tegefaulkes Jun 10, 2022
fcfaa01
ci: staging branch and CI/CD changes
emmacasolin Jun 6, 2022
fdae3d1
nix: fixed building node2nix attribute in utils.nix
CMCDragonkai Jun 14, 2022
60f5363
ci: using `--runInBand` for jest tests
emmacasolin Jun 15, 2022
cb6be2a
tests: increasing timeouts for bin tests in CI/CD
emmacasolin Jun 15, 2022
6d43d47
tests: increasing timeouts for bin tests in CI/CD
emmacasolin Jun 15, 2022
8c191ca
fix: issue with ts-node causing increased test times in bin tests
emmacasolin Jun 17, 2022
b1eabeb
fix: expanded tests and small fix for `parseSeedNodes`
tegefaulkes Jun 22, 2022
7fd16a6
fix: added `tslib` to `pkg` assets
tegefaulkes Jun 23, 2022
89beb41
build: fix for `build:macos` job
tegefaulkes Jun 23, 2022
18437ce
test: NAT Traversal testing utils and tests
joshuakarp Feb 15, 2022
2110634
test: `describeIf` and `testIf` utilities for conditional testing
emmacasolin Jun 9, 2022
8cf52a4
feat: better logging for service handler errors
emmacasolin Jun 21, 2022
fc365b4
fix: PolykeyAgent now stops nodes domains when startup fails
emmacasolin Jun 21, 2022
eebeee3
fix: ICE protocol uses `Promise.any` instead of `Promise.all`
emmacasolin Jun 21, 2022
ed2973e
tests: fixes from testnet changes
emmacasolin Jun 21, 2022
a0adb35
build: upgraded `async-init`, `async-locks` and `js-logger`
emmacasolin Jun 22, 2022
8fdde54
feat: removing `edmSimple` configuration
emmacasolin Jun 22, 2022
9800c4a
style: linting and other style fixes
emmacasolin Jun 22, 2022
4f8d17e
fix: relay node for hole punch message now re-writes proxy address
emmacasolin Jun 24, 2022
1095f8f
feat: added ability to pause `refreshBucketQueue`
tegefaulkes Jun 24, 2022
520b799
build: package upgrades to aid testing
emmacasolin Jun 24, 2022
1e35180
style: lintfix
emmacasolin Jun 24, 2022
856388b
feat: added diagrams to DMZ tests
emmacasolin Jun 24, 2022
7c91ace
fix: async bug with composing connections
tegefaulkes Jun 24, 2022
d60ab44
Merge pull request #381 from MatrixAI/feature-nat-testing
emmacasolin Jun 24, 2022
0bc3af5
build: fix for `integration:nix` CI/CD job
tegefaulkes Jun 28, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
19 changes: 12 additions & 7 deletions .eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"env": {
"browser": true,
"commonjs": true,
"es6": true,
"es2021": true,
"node": true,
"jest": true
},
Expand All @@ -11,26 +11,24 @@
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:prettier/recommended",
"prettier",
"prettier/@typescript-eslint"
"prettier"
],
"plugins": [
"import"
],
"parserOptions": {
"project": "tsconfig.json",
"sourceType": "module",
"ecmaVersion": 2020
"sourceType": "module"
},
"rules": {
"linebreak-style": ["error", "unix"],
"no-empty": 1,
"no-undef": 0,
"no-useless-catch": 1,
"no-prototype-builtins": 1,
"no-constant-condition": 0,
"no-useless-escape" : 0,
"no-useless-escape": 0,
"no-console": "error",
"require-yield": 0,
"eqeqeq": ["error", "smart"],
"spaced-comment": [
"warn",
Expand Down Expand Up @@ -113,6 +111,7 @@
"@typescript-eslint/no-misused-promises": ["error", {
"checksVoidReturn": false
}],
"@typescript-eslint/await-thenable": ["error"],
"@typescript-eslint/naming-convention": [
"error",
{
Expand All @@ -121,6 +120,12 @@
"leadingUnderscore": "allow",
"trailingUnderscore": "allowSingleOrDouble"
},
{
"selector": "function",
"format": ["camelCase", "PascalCase"],
"leadingUnderscore": "allow",
"trailingUnderscore": "allowSingleOrDouble"
},
{
"selector": "variable",
"format": ["camelCase", "UPPER_CASE", "PascalCase"],
Expand Down
87 changes: 87 additions & 0 deletions .github/workflows/codesee-arch-diagram.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
on:
push:
branches:
- master
pull_request_target:
types: [opened, synchronize, reopened]

name: CodeSee Map

jobs:
test_map_action:
runs-on: ubuntu-latest
continue-on-error: true
name: Run CodeSee Map Analysis
steps:
- name: checkout
id: checkout
uses: actions/checkout@v2
with:
repository: ${{ github.event.pull_request.head.repo.full_name }}
ref: ${{ github.event.pull_request.head.ref }}
fetch-depth: 0

# codesee-detect-languages has an output with id languages.
- name: Detect Languages
id: detect-languages
uses: Codesee-io/codesee-detect-languages-action@latest

- name: Configure JDK 16
uses: actions/setup-java@v2
if: ${{ fromJSON(steps.detect-languages.outputs.languages).java }}
with:
java-version: '16'
distribution: 'zulu'

# CodeSee Maps Go support uses a static binary so there's no setup step required.

- name: Configure Node.js 14
uses: actions/setup-node@v2
if: ${{ fromJSON(steps.detect-languages.outputs.languages).javascript }}
with:
node-version: '14'

- name: Configure Python 3.x
uses: actions/setup-python@v2
if: ${{ fromJSON(steps.detect-languages.outputs.languages).python }}
with:
python-version: '3.10'
architecture: 'x64'

- name: Configure Ruby '3.x'
uses: ruby/setup-ruby@v1
if: ${{ fromJSON(steps.detect-languages.outputs.languages).ruby }}
with:
ruby-version: '3.0'

# We need the rust toolchain because it uses rustc and cargo to inspect the package
- name: Configure Rust 1.x stable
uses: actions-rs/toolchain@v1
if: ${{ fromJSON(steps.detect-languages.outputs.languages).rust }}
with:
toolchain: stable

- name: Generate Map
id: generate-map
uses: Codesee-io/codesee-map-action@latest
with:
step: map
api_token: ${{ secrets.CODESEE_ARCH_DIAG_API_TOKEN }}
github_ref: ${{ github.ref }}
languages: ${{ steps.detect-languages.outputs.languages }}

- name: Upload Map
id: upload-map
uses: Codesee-io/codesee-map-action@latest
with:
step: mapUpload
api_token: ${{ secrets.CODESEE_ARCH_DIAG_API_TOKEN }}
github_ref: ${{ github.ref }}

- name: Insights
id: insights
uses: Codesee-io/codesee-map-action@latest
with:
step: insights
api_token: ${{ secrets.CODESEE_ARCH_DIAG_API_TOKEN }}
github_ref: ${{ github.ref }}
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,13 @@
/dist
.env*
!.env.example
# nix
/result*
/builds
# node-gyp
/build
# prebuildify
/prebuilds

# Logs
logs
Expand Down
Loading