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

ci: merge staging to master #379

merged 138 commits into from
Jun 28, 2022

Commits on Jun 8, 2022

  1. fix: adding dependencies for async-locks, db, resources and `er…

    …rors`
    
    Updating dependencies to bring in new libraries such as locks, resources and errors. Some domains have been updated to use this change.
    CMCDragonkai authored and emmacasolin committed Jun 8, 2022
    Configuration menu
    Copy the full SHA
    0649851 View commit details
    Browse the repository at this point in the history
  2. build: upgrade to Node v16

    Updated pkgs.nix to a5774e76bb8c3145eac524be62375c937143b80c
    Updated node2nix to 1.11.0 and loading directly from GitHub
    Updated pkg to 5.6.0 and using pkg-fetch 3.3 base binaries
    Updated to TypeScript 4.5+
    Updated @types/node to 16.11.7
    Updated node-gyp-build to 4.4.0
    Updated typedoc to 0.22.15, the .nojekyll generation is automatic
    Changed to target ES2021 as node 16 supports it
    Bin executable duct-tape in default.nix because node2nix no longer generates bin executables
    Updated pkg builds hashes to v16.14.2 and specified target node range
    emmacasolin committed Jun 8, 2022
    Configuration menu
    Copy the full SHA
    b8598ed View commit details
    Browse the repository at this point in the history
  3. build: updating core libraries

    Updated js-async-init from 1.6.0 to 1.7.1
    Updated js-async-locks from 2.0.0 to 2.2.0
    Updated js-db from 3.2.0 to 3.2.3
    Updating js-workers from 1.2.5 to 1.3.1
    emmacasolin committed Jun 8, 2022
    Configuration menu
    Copy the full SHA
    69d42f9 View commit details
    Browse the repository at this point in the history
  4. feat: static descriptions and exit codes for all errors

    The `data` POJO that was originally supplied in the constructor as the second parameter is now part of the `options` parameter and most places in the code have been updated to match this.
    
    #304
    emmacasolin committed Jun 8, 2022
    Configuration menu
    Copy the full SHA
    b45be10 View commit details
    Browse the repository at this point in the history
  5. feat: using cause property to establish error chain

    When any error is thrown as the result of another error occurring, the original error is now contained within the `cause` property of the new error.
    
    #304
    emmacasolin committed Jun 8, 2022
    Configuration menu
    Copy the full SHA
    1d2af00 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    7ac6653 View commit details
    Browse the repository at this point in the history
  7. feat: error serialisation/deserialisation over gRPC incorporating err…

    …or chaining
    
    Our gRPC `toError` and `fromError` utils are now able to serialise and deserialise Polykey and non-Polykey errors (as well as non-errors), including the entire error chain if this exists. Also includes the ability to filter out sensitive data, for example when the error is being sent to another agent.
    
    Errors sent over the network in this way are now additionally wrapped on the receiving side in an `ErrorPolykeyRemote` to make the source of the error more clear.
    
    #304
    emmacasolin committed Jun 8, 2022
    Configuration menu
    Copy the full SHA
    72263c5 View commit details
    Browse the repository at this point in the history
  8. feat: added logger to service handlers

    All of the agent and client service handlers are now passed a shared logger that is used to log errors to stderr.
    
    #304
    emmacasolin committed Jun 8, 2022
    Configuration menu
    Copy the full SHA
    e5dfadb View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    631a670 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    4478a06 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    74b390d View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    91aeb73 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    abe1c3b View commit details
    Browse the repository at this point in the history
  14. fix: integrating db changes into Notifications

    Note that the `transaction` and `_transaction` methods still need te removed.
    tegefaulkes authored and emmacasolin committed Jun 8, 2022
    Configuration menu
    Copy the full SHA
    8c8f5af View commit details
    Browse the repository at this point in the history
  15. fix: integrating db changes into Discovery

    I opted not to use transactions for the most part. Adding things to the queue has to be handled with locking anyway so I opted to rely on that istead. This still bears testing though.
    tegefaulkes authored and emmacasolin committed Jun 8, 2022
    Configuration menu
    Copy the full SHA
    fc962a1 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    d33fc5a View commit details
    Browse the repository at this point in the history

Commits on Jun 9, 2022

  1. Configuration menu
    Copy the full SHA
    26dddde View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ef8baf5 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    16d0361 View commit details
    Browse the repository at this point in the history
  4. fix: git tests passing

    emmacasolin committed Jun 9, 2022
    Configuration menu
    Copy the full SHA
    98a3c75 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    bfa77d0 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    aa62069 View commit details
    Browse the repository at this point in the history
  7. fix: fix for GRPCServer http2Servers hack

    This was throwing an error because the expected object structure changed. The typing is brittle here since we're going around typescript's back to get a private property.
    tegefaulkes authored and emmacasolin committed Jun 9, 2022
    Configuration menu
    Copy the full SHA
    225d311 View commit details
    Browse the repository at this point in the history
  8. fix: Small test fixes

    tegefaulkes authored and emmacasolin committed Jun 9, 2022
    Configuration menu
    Copy the full SHA
    2afa473 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    5e2ea88 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    1e1f5e5 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    68412c7 View commit details
    Browse the repository at this point in the history
  12. fix: added locking back into sigchain

    Sequence numbers and claim ids needed locking due to serialisation concerns
    emmacasolin committed Jun 9, 2022
    Configuration menu
    Copy the full SHA
    497583f View commit details
    Browse the repository at this point in the history
  13. fix: added locking back into notifications

    Notifications have strict ordering in the DB, therefore locking is required.
    emmacasolin committed Jun 9, 2022
    Configuration menu
    Copy the full SHA
    c2de660 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    73e3891 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    845d7e4 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    69e7d3a View commit details
    Browse the repository at this point in the history
  17. fix: fixing vaultManager tests

    There are still some tests failing due to cloning and pulling. Seems like a problem with the HTTP API for cloning.
    tegefaulkes authored and emmacasolin committed Jun 9, 2022
    Configuration menu
    Copy the full SHA
    1aa9044 View commit details
    Browse the repository at this point in the history
  18. test: fixing client tests

    tegefaulkes authored and emmacasolin committed Jun 9, 2022
    Configuration menu
    Copy the full SHA
    aaf158c View commit details
    Browse the repository at this point in the history
  19. test: fixes for agent tests

    tegefaulkes authored and emmacasolin committed Jun 9, 2022
    Configuration menu
    Copy the full SHA
    607c126 View commit details
    Browse the repository at this point in the history
  20. test: fixes for grpc tests

    tegefaulkes authored and emmacasolin committed Jun 9, 2022
    Configuration menu
    Copy the full SHA
    e71c536 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    0ef9299 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    09b83a3 View commit details
    Browse the repository at this point in the history
  23. fix: toError deserialization

    There was a bug with the `fromJSON` method where it couldn't deserialise an error with an undefined cause (because this is removed by the replacer).
    emmacasolin committed Jun 9, 2022
    Configuration menu
    Copy the full SHA
    18a4d77 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    97beee9 View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    fbf13a0 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    3e19974 View commit details
    Browse the repository at this point in the history
  27. feat: updated NodeConnectionManager's resourceAcquire to handle err…

    …ors properly
    
    Making use of the updated API to use the error provided to the resourceRelease.
    tegefaulkes authored and emmacasolin committed Jun 9, 2022
    Configuration menu
    Copy the full SHA
    e56f79e View commit details
    Browse the repository at this point in the history
  28. feat: updated NodeConnectionManager to use LockBox for object map…

    … locking
    
    Using `LockBox` allowed us to greatly simplify using the object map and creating connections.
    tegefaulkes authored and emmacasolin committed Jun 9, 2022
    Configuration menu
    Copy the full SHA
    055c526 View commit details
    Browse the repository at this point in the history
  29. feat: updated VaultManager to use LockBox for object map locking

    Using `LockBox` allowed us to greatly simplify using the object map and creating vaults.
    tegefaulkes authored and emmacasolin committed Jun 9, 2022
    Configuration menu
    Copy the full SHA
    c256620 View commit details
    Browse the repository at this point in the history
  30. feat: format json affects error logging

    Specifying `--format=json` will cause errors to be logged in json format. ErrorPolykeyRemote errors also now contain additional metadata about the origin node of the error.
    
    #323
    emmacasolin committed Jun 9, 2022
    Configuration menu
    Copy the full SHA
    5dda0a4 View commit details
    Browse the repository at this point in the history
  31. tests: fixing bin tests

    Had to fix `expectProcessError` to work with the raw JSON forms of the errors rather than attempting to parse the errors. This is due to the bin CLI errors being separate from the normal errors and the reviver being unable to revive them.
    
    I also had to fix how the `ErrorPolykeyRemote` converted the metadata with toJSON/fromJSON.
    tegefaulkes authored and emmacasolin committed Jun 9, 2022
    Configuration menu
    Copy the full SHA
    19e9b3e View commit details
    Browse the repository at this point in the history
  32. fix: added logic check to NotificationsManager.readNotifications

    There was a bug with the DB that is getting fixed. This just throws a clear error when a notification can't be read despite it being in the list of all notifications.
    tegefaulkes authored and emmacasolin committed Jun 9, 2022
    Configuration menu
    Copy the full SHA
    e528d9f View commit details
    Browse the repository at this point in the history
  33. Configuration menu
    Copy the full SHA
    0a6442c View commit details
    Browse the repository at this point in the history
  34. test: fixed broken proxy tests

    Problem was with the tests themselves so i've fixed the tests. If there are any similar issues crop up later, then we can explore the underlying cause in depth. However, it is low priority for now.
    tegefaulkes authored and emmacasolin committed Jun 9, 2022
    Configuration menu
    Copy the full SHA
    600aa36 View commit details
    Browse the repository at this point in the history
  35. tests: fixing remaining tests

    tegefaulkes authored and emmacasolin committed Jun 9, 2022
    Configuration menu
    Copy the full SHA
    f6339aa View commit details
    Browse the repository at this point in the history
  36. tests: grpc tests fixes

    There were places where ClientMetadata was not being provided to grpc calls (`{} as ClientMetadata`) however this information is required in order to construct ErrorPolykeyRemote. Where metadata is needed in tests it is either now taken from constants used in the tests or mocked. There was also an issue with error descriptions not being serialised/deserialised which is now fixed. Also some brittle test cases for error messages were removed.
    emmacasolin committed Jun 9, 2022
    Configuration menu
    Copy the full SHA
    51c26a2 View commit details
    Browse the repository at this point in the history
  37. Configuration menu
    Copy the full SHA
    d0f82dd View commit details
    Browse the repository at this point in the history
  38. Configuration menu
    Copy the full SHA
    16ff937 View commit details
    Browse the repository at this point in the history
  39. Configuration menu
    Copy the full SHA
    bd95bc8 View commit details
    Browse the repository at this point in the history
  40. feat: updating @matrixai/db to ^4.0.1

    Had to fix the usage in 5 domains.
    tegefaulkes authored and emmacasolin committed Jun 9, 2022
    Configuration menu
    Copy the full SHA
    52755ec View commit details
    Browse the repository at this point in the history
  41. Configuration menu
    Copy the full SHA
    d88278c View commit details
    Browse the repository at this point in the history
  42. Configuration menu
    Copy the full SHA
    2127b0d View commit details
    Browse the repository at this point in the history
  43. tests: fixed odd internal error for one test

    It was just a problem with trying to connect to '0.0.0.0' with the UTP socket.
    tegefaulkes authored and emmacasolin committed Jun 9, 2022
    Configuration menu
    Copy the full SHA
    8ec9cdb View commit details
    Browse the repository at this point in the history
  44. Configuration menu
    Copy the full SHA
    58d3616 View commit details
    Browse the repository at this point in the history
  45. Configuration menu
    Copy the full SHA
    12250b0 View commit details
    Browse the repository at this point in the history
  46. Configuration menu
    Copy the full SHA
    7543a3c View commit details
    Browse the repository at this point in the history
  47. Configuration menu
    Copy the full SHA
    934bbd8 View commit details
    Browse the repository at this point in the history
  48. Configuration menu
    Copy the full SHA
    8a5f8b2 View commit details
    Browse the repository at this point in the history
  49. Configuration menu
    Copy the full SHA
    3ba04db View commit details
    Browse the repository at this point in the history
  50. refactor: moving ClientMetadata to GRPC domain

    Having `ClientMetadata` in the top-level types caused an import loop. By moving it and `ErrorPolykeyRemote` to the grpc domain this loop is resolved. This was the best option since now all usage of `ClientMetadata` is inside the grpc domain.
    emmacasolin committed Jun 9, 2022
    Configuration menu
    Copy the full SHA
    a11fc55 View commit details
    Browse the repository at this point in the history
  51. Configuration menu
    Copy the full SHA
    b6c30b8 View commit details
    Browse the repository at this point in the history
  52. feat: filtering error logging in service handlers

    We only want to log out server errors on the server side, so we now apply filters on errors before logging them.
    emmacasolin committed Jun 9, 2022
    Configuration menu
    Copy the full SHA
    6e20915 View commit details
    Browse the repository at this point in the history
  53. Configuration menu
    Copy the full SHA
    6efc963 View commit details
    Browse the repository at this point in the history
  54. Configuration menu
    Copy the full SHA
    a01c7ea View commit details
    Browse the repository at this point in the history
  55. Configuration menu
    Copy the full SHA
    9730e5a View commit details
    Browse the repository at this point in the history
  56. style: lint fix

    emmacasolin committed Jun 9, 2022
    Configuration menu
    Copy the full SHA
    9c2bdea View commit details
    Browse the repository at this point in the history
  57. fix: service handlers check for client error chains

    Sometimes an error is only considered a client error when part of the chain of another error (for example ErrorPolykeyRemote) so it is now possible to specify this array.
    
    #304
    emmacasolin committed Jun 9, 2022
    Configuration menu
    Copy the full SHA
    4cd91b2 View commit details
    Browse the repository at this point in the history

Commits on Jun 14, 2022

  1. feat: added nodesGetAll bin command and service handler

    Retrieves all buckets from the NodeGraph
    joshuakarp authored and emmacasolin committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    6185c23 View commit details
    Browse the repository at this point in the history
  2. fix: general fixes

    - added getBuckets test for distance and lastUpdated order
    - resetting buckets work
    - changing utility names
    CMCDragonkai authored and emmacasolin committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    9b53a0a View commit details
    Browse the repository at this point in the history
  3. feat: added NodeGraph.getClosestNodes()

    Implemented `getClosestNodes()` and relevant tests in `NodeGraph.test.ts`.
    
    Relates to #212
    tegefaulkes authored and emmacasolin committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    d08bbe9 View commit details
    Browse the repository at this point in the history
  4. fix: NodeManager.setNode Properly handles adding new node when buck…

    …et is full
    
    Logic of adding nodes has been split between `NodeManager` and `NodeGraph`. The `NodeGraph.setNode` just handles adding a node to the bucket where the `NodeManager.setNode` contains the logic of when to add the node
    
    Relates #359
    tegefaulkes authored and emmacasolin committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    a43851b View commit details
    Browse the repository at this point in the history
  5. test: fixed nodeGraph get all buckets test

    fix into 7cc74d0
    tegefaulkes authored and emmacasolin committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    dc4ec33 View commit details
    Browse the repository at this point in the history
  6. feat: added connectionEstablishedCallback to Proxy

    Added a callback to the `Proxy` that is called when a `ForwardConnection` or `ReverseConnection` is established and authenticated. It is called with the following connection information; `remoteNodeId`, `remoteHost`, `remotePort` and `type`. They type signifies if it was a forward or reverse connection. Note that this is only triggered by composed connections.
    
    Added a test for if the callback was called when a `ReverseConnection` is established.
    
    Relates #332
    Relates #344
    tegefaulkes authored and emmacasolin committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    ea32dc7 View commit details
    Browse the repository at this point in the history
  7. feat: Proxy trigger adding nodes to Nodegraph

    Added an event to the `EventBus` that is triggered by the `Proxy`'s `connectionEstablishedCallback`. this adds the node to the `NodeGraph`.
    
    Related #344
    tegefaulkes authored and emmacasolin committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    a36cd3a View commit details
    Browse the repository at this point in the history
  8. feat: added optional timeout timers to NodeConnectionManager methods

    In some cases we want to specify how long we attempt to connect to a node on a per-connection basis.
    
    Related #363
    tegefaulkes authored and emmacasolin committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    cb47f8b View commit details
    Browse the repository at this point in the history
  9. refactor: updated implementation of nodePing

    Added `nodePing` command to `NodeConnectionManager` and `NodeManager.nodePing` calls that now. the new `nodePing` command essentially attempts to create a connection to the target node. In this process we authenticate the connection and check that the nodeIds match. If no address is provided it will default to trying to find the node through kademlia.
    
    Related #322
    tegefaulkes authored and emmacasolin committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    fa39cd5 View commit details
    Browse the repository at this point in the history
  10. feat: NodeManager.setNode authenticates the added node

    `setNode` now authenticates the node you are trying to add. Added a flag for skipping this authentication as well as a timeout timer for the authentication. this is shared between authentication new node and the old node if the bucket is full.
    
    Related #322
    tegefaulkes authored and emmacasolin committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    e925034 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    7815b2e View commit details
    Browse the repository at this point in the history
  12. fix: squash into ping node changes.

    Updated `NodeConnectionManager.pingNode` to just use the proxy connection.
    
    #322
    tegefaulkes authored and emmacasolin committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    9505e20 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    0e34a17 View commit details
    Browse the repository at this point in the history
  14. feat: setNode concurrently pings multiple nodes

    `setNode` now pings 3 nodes concurrently, updating ones that respond and removing ones that don't. If there is room in the bucket afterwards then we add the new node.
    
    #322
    tegefaulkes authored and emmacasolin committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    9764213 View commit details
    Browse the repository at this point in the history
  15. feat: nodeManager is now startStop

    tegefaulkes authored and emmacasolin committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    a02cfea View commit details
    Browse the repository at this point in the history
  16. feat: async queueing for setting nodes

    `setNode` now has a `blocking` flag that defaults to false. If it encounters a full bucket when adding a node then it will add the operation to the queue and asynchronously trys a blocking `setNode` in the background. `setNode`s will only be added to the queue if the bucket was full.
    
    #322
    tegefaulkes authored and emmacasolin committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    4460779 View commit details
    Browse the repository at this point in the history
  17. feat: establishing a NodeConnection adds the node to the nodeGraph

    `NodeConnectionManager` now takes `NodeGraph` in  the `nodeConnectionManager.start` method. It has to be part of the start method since they are co-dependent. `NodeConnectionManager` cals `NodeManager.setNode()` when a connection is established. This fulfills the condition of adding a node to the graph during a forward connection.
    
    Fixed up tests that were failing in relation to the `NodeManager` `StartStop` conversion.
    
    #322
    tegefaulkes authored and emmacasolin committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    aa7c4bc View commit details
    Browse the repository at this point in the history
  18. feat: implemented NodeManager.refreshBucket()

    This method preforms the kademlia `refreshBucket` operation. It selects a random node within the bucket and preforms a search for that node. The process exchanges node information with any nodes it connects to.
    
    #345
    tegefaulkes authored and emmacasolin committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    04091f2 View commit details
    Browse the repository at this point in the history
  19. feat: implemented no activity timers and queuing for refreshBucket

    Added queuing for `refreshBucket`. This means that buckets will be refreshed one at a time sequentially. This is to avoid doing a lot of costly refreshing all at once.
    
    Added no activity for buckets. If a bucket hasn't been touched for a while, 1 hour by default, it will add a refresh bucket operation to the queue. Timers are disabled for buckets already in the queue. Only 1 timer is used for all buckets since only one of them can have the shortest timer and that's all we really care about.
    
    #345
    tegefaulkes authored and emmacasolin committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    4dec90b View commit details
    Browse the repository at this point in the history
  20. feat: refreshing buckets when entering network

    `nodeConnectionManager.syncNodeGraph` now refreshes all buckets above the closest node as per the kademlia spec. This means adding a lot of buckets to the refresh bucket queue when an agent is started.
    
    #345
    tegefaulkes authored and emmacasolin committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    ee53cfa View commit details
    Browse the repository at this point in the history
  21. feat: abort controller support for NodeManager.refreshBucket

    Added support to cancel out of a `refreshBucket` operation. This is to allow faster stopping of the `NodeManager` by aborting out of a slow `refreshBucket` operation. This has been implemented with the `AbortController`/`AbortSignal` API. This is not fully supported by Node14 so we're using the `node-abort-controller` to provide functionality for now.
    
    #345
    tegefaulkes authored and emmacasolin committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    6302b0d View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    c88bb81 View commit details
    Browse the repository at this point in the history
  23. feat: generic SetNodeQueue class for queuing setNode operations

    `NodeManager.setNode` and `NodeConnectionManager.syncNodeGraph` now utilise a single, shared queue to asynchronously add nodes to the node graph without blocking the main loop. These methods are both blocking by default but can be made non-blocking by setting the `block` parameter to false.
    #322
    emmacasolin committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    17396ab View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    8deddc5 View commit details
    Browse the repository at this point in the history
  25. refactor: renamed SetNodeQueue to Queue

    Renamed `queueStart` and `queuePush` since `Queue` is its own class now
    Simplified some logic using the `promise` utility
    emmacasolin committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    2782d8b View commit details
    Browse the repository at this point in the history
  26. tests: general fixes for failing tests

    This contains fixes for failing tests as well as fixes for tests failing to exit when finished.
    tegefaulkes authored and emmacasolin committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    40809b8 View commit details
    Browse the repository at this point in the history
  27. syntax: added @typescript-eslint/await-thenable linting rule

    This checks if we await things that are not promises. This is not a problem per se, but we generally don't want to await random things.
    tegefaulkes authored and emmacasolin committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    4a78c17 View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    d1c803c View commit details
    Browse the repository at this point in the history
  29. tests: added test to check if nodes are properly added to the seed no…

    …des when entering the network
    
    This tests for if the Seed node contains the new nodes when they are created. It also checks if the new nodes discover each other after being created.
    
    Includes a change to `findNode`. It will no longer throw an error when failing to find the node. This will have to be thrown by the caller now. This was required by `refreshBucket` since it's very likely that we can't find the random node it is looking for.
    tegefaulkes authored and emmacasolin committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    f7aae95 View commit details
    Browse the repository at this point in the history
  30. tests: Added agent service tests for nodesChainDataGet, `nodesClose…

    …stLocalNode` and `nodesHolePunchMessage`
    tegefaulkes authored and emmacasolin committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    22423a6 View commit details
    Browse the repository at this point in the history
  31. fix: post re-base fixes

    DB and type changes using new transactions
    Linting
    Fixing timeouts
    tegefaulkes authored and emmacasolin committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    0d277e8 View commit details
    Browse the repository at this point in the history
  32. syntax: style fixes

    Exports moved to end of the file as part of the `export {}` block
    Cleaned up TODOs and FIXMEs
    Fixed index and other incorrect imports
    Type fixes in utils
    tegefaulkes authored and emmacasolin committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    2a0498d View commit details
    Browse the repository at this point in the history
  33. build: removing node-abort-controller polyfill

    Abort controller functionality is included in node now.
    tegefaulkes authored and emmacasolin committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    17b5f6e View commit details
    Browse the repository at this point in the history
  34. build: removing unneeded files

    tegefaulkes authored and emmacasolin committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    dac96be View commit details
    Browse the repository at this point in the history
  35. fix: NodeConnectionManager.syncNodeGraph now pings nodes

    Need to ensure validity of nodes by pinging them before adding them to the node graph.
    
    #322
    tegefaulkes authored and emmacasolin committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    a522de3 View commit details
    Browse the repository at this point in the history
  36. Configuration menu
    Copy the full SHA
    b3766b6 View commit details
    Browse the repository at this point in the history
  37. tests: expanding tests for root keypair changing

    Added some tests to check that a root keyPair change propagates properly. Also added tests for the change for existing and new node connections.
    
    #317
    tegefaulkes authored and emmacasolin committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    19f4796 View commit details
    Browse the repository at this point in the history
  38. build: updating package-lock.json

    tegefaulkes authored and emmacasolin committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    551b7b6 View commit details
    Browse the repository at this point in the history
  39. Configuration menu
    Copy the full SHA
    9900d7a View commit details
    Browse the repository at this point in the history
  40. Configuration menu
    Copy the full SHA
    fcfaa01 View commit details
    Browse the repository at this point in the history
  41. nix: fixed building node2nix attribute in utils.nix

    The package-lock.json was corrupted or not parseable by node2nix
    After destroying the `node_modules` directory and deleting the
    `package-lock.json`, we were able to recreate a working
    `package-lock.json` file
    
    If this occurs again, just destroy the `package-lock.json` and
    `node_modules` directory and regenerate.
    CMCDragonkai authored and emmacasolin committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    fdae3d1 View commit details
    Browse the repository at this point in the history

Commits on Jun 15, 2022

  1. Configuration menu
    Copy the full SHA
    60f5363 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    cb6be2a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6d43d47 View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2022

  1. fix: issue with ts-node causing increased test times in bin tests

    `ts-node` needs to be fixed to 10.7.0 for now, as 10.8.1 causes many bin tests (those using `pkSpawn`) to timeout. Also reduced test timeouts back to what they originally were now that the timeout problem is resolved.
    emmacasolin committed Jun 17, 2022
    Configuration menu
    Copy the full SHA
    8c191ca View commit details
    Browse the repository at this point in the history

Commits on Jun 22, 2022

  1. Configuration menu
    Copy the full SHA
    b1eabeb View commit details
    Browse the repository at this point in the history

Commits on Jun 23, 2022

  1. fix: added tslib to pkg assets

    This is to fix a problem where `tslib` was not getting included during the packaging process resulting in an error.
    tegefaulkes committed Jun 23, 2022
    Configuration menu
    Copy the full SHA
    7fd16a6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    89beb41 View commit details
    Browse the repository at this point in the history

Commits on Jun 24, 2022

  1. Configuration menu
    Copy the full SHA
    18437ce View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2110634 View commit details
    Browse the repository at this point in the history
  3. feat: better logging for service handler errors

    If an error was logged out by a service handler it would previously appear as `createClientService:`, which was too vague. The logger will now state the name of the handler.
    emmacasolin authored and tegefaulkes committed Jun 24, 2022
    Configuration menu
    Copy the full SHA
    8cf52a4 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    fc365b4 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    eebeee3 View commit details
    Browse the repository at this point in the history
  6. tests: fixes from testnet changes

    The testnet PR brought in some changes that affect the NAT tests, so they needed to be modified slightly.
    - Adding a node to the node graph pings the node by default. We want to disable this in the NAT tests so we have more control over the pings.
    - Nodes add the details of any node that pings them. We can now remove some additional `nodes add` calls that were required to imitate this previously missing functionality.
    emmacasolin authored and tegefaulkes committed Jun 24, 2022
    Configuration menu
    Copy the full SHA
    ed2973e View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    a0adb35 View commit details
    Browse the repository at this point in the history
  8. feat: removing edmSimple configuration

    Now that nodes add the details of a node that contacts them, we no longer need the `edmSimple` configuration to do this manually.
    emmacasolin authored and tegefaulkes committed Jun 24, 2022
    Configuration menu
    Copy the full SHA
    8fdde54 View commit details
    Browse the repository at this point in the history
  9. style: linting and other style fixes

    General linting, using capitals for constants in NAT utils, and lowercase test descriptions
    emmacasolin authored and tegefaulkes committed Jun 24, 2022
    Configuration menu
    Copy the full SHA
    9800c4a View commit details
    Browse the repository at this point in the history
  10. fix: relay node for hole punch message now re-writes proxy address

    A relay node for a hole punch message was previously not modifying the proxy address in the message (which is the "return address" used to contact the source node). For nodes behind a NAT, who do not know their own public address, they rely on this overwriting so that nodes do not try to contact them on their private, inaccessible address.
    emmacasolin authored and tegefaulkes committed Jun 24, 2022
    Configuration menu
    Copy the full SHA
    4f8d17e View commit details
    Browse the repository at this point in the history
  11. feat: added ability to pause refreshBucketQueue

    This will allow us to disable the queue for testing.
    tegefaulkes committed Jun 24, 2022
    Configuration menu
    Copy the full SHA
    1095f8f View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    520b799 View commit details
    Browse the repository at this point in the history
  13. style: lintfix

    emmacasolin authored and tegefaulkes committed Jun 24, 2022
    Configuration menu
    Copy the full SHA
    1e35180 View commit details
    Browse the repository at this point in the history
  14. feat: added diagrams to DMZ tests

    emmacasolin authored and tegefaulkes committed Jun 24, 2022
    Configuration menu
    Copy the full SHA
    856388b View commit details
    Browse the repository at this point in the history
  15. fix: async bug with composing connections

    the composed flag was set at the beginning of the compose function causing another function to throw an error due to an undefined property if it was called at the same time.
    tegefaulkes committed Jun 24, 2022
    Configuration menu
    Copy the full SHA
    7c91ace View commit details
    Browse the repository at this point in the history
  16. Merge pull request #381 from MatrixAI/feature-nat-testing

    Tests for NAT-Traversal and Hole-Punching
    emmacasolin committed Jun 24, 2022
    Configuration menu
    Copy the full SHA
    d60ab44 View commit details
    Browse the repository at this point in the history

Commits on Jun 28, 2022

  1. build: fix for integration:nix CI/CD job

    Problem was to do with the `nix-build` process not patching the shebangs of the `polykey.js` script. this resulted in it failing to run due to not finding node in it's environment. The fix was to make `src/bin/polykey.js` and  `src/bin/polykey-agent.ts` executable.
    tegefaulkes committed Jun 28, 2022
    Configuration menu
    Copy the full SHA
    0bc3af5 View commit details
    Browse the repository at this point in the history