Skip to content

Commit

Permalink
Sync with upstream (#3)
Browse files Browse the repository at this point in the history
* Make clippy happy

* Revert "Make clippy happy"

This reverts commit e250ccd.

* Try fmt and clippy again

* Add clippy suggestions

* Allow setting path to config file via env args (p2panda#611)

* Enable passing path to config file via env args

* Remove println

* Update comment

* Remove unwanted file

* Update CHANGELOG

* Accept domain name and ip addresses for peers (p2panda#612)

* Accept String for relay and direct peer addresses in config

* Use ToSocketAddress to handle ip and domain name addresses

* Clippy

* fmt

* Update CHANGELOG

* Update example config.toml

* Prepare CHANGELOG for release

* 0.7.2

* Fix: query for child relations fails when relation list empty (p2panda#614)

* Add test get_child_document_ids test case for document with empty relation list

* Account for null values when relation lists are empty

* Update test comment

* Update CHANGELOG

* 0.7.3

* Re-run tasks for partially materialized blobs (p2panda#618)

* Check materialized blob file is complete before aborting task

* Add test

* fmt

* Update CHANGELOG

* Clippy

* Correct cmp logic

* Remove double comment

---------

Co-authored-by: adz <x12@adz.garden>

* Fix: include all logs from target schema id during replication (p2panda#620)

* Include tombstoned documents when calculating local log heights

* Clippy

* Update CHANGELOG

* Make clippy happy

* Bump rust gh action to v1 and define toolchain version

* Introduce `PeerAddress` struct for improved address resolution patterns (p2panda#621)

* Introduce PeerAddress struct with socket and multiaddr resolution methods

* Don't pop of p2p protocol from relay address as it isn't there

* fmt

* Update CHANGELOG

* Cache socket addresses

* Remove Multiaddr from PeerAddress

* Remove serde traits from PeerAddress

* Add doc string to PeerAddress

* Rename methods

* Re-apply unhandled operations during startup of materializer service (p2panda#623)

* Store method to get all un-indexed operation ids

* Pick up un-indexed operations when starting materializer service, add a test

* Add entry to CHANGELOG.md

* Increase `max_pending_connections_*` (p2panda#628)

* Increase max pending connections

* Update CHANGELOG

* Dial all configured known relay and direct node addresses on schedule (p2panda#622)

* Poll all known peer addresses

* Update PeerAddress method name

* Update CHANGELOG

* WIP: poll known peers

* Check if a direct node was identified (and add comments)

* Don't dial direct node address on startup, rely on scheduler

* More comments

* Remove unused import

* fmt

* Doc strings for EventLoop struct

* Clippy

* 0.7.4

* Minor CHANGELOG.md formatting change

* Fix: handle connection ids greater than 9 in `Peer` impl of `Human` trait (p2panda#634)

* Handle connection ids greater than 9 in peer Human impl

* Clippy

* Update CHANGELOG

* Bump `libp2p` to version `0.53.2` (p2panda#631)

* Bump libp2p to version 0.53.2

* We don't need to listen on tcp port when in relay mode

* Listening on relay circuit no longer sometimes fails

* Remove tcp feature requirement from libp2p

* Refactor connection_keep_alive method

* Clippy

* Remove unnecessary connection_keep_alive method from peers behaviour

* Add CHANGELOG.md entry

---------

Co-authored-by: adz <x12@adz.garden>

* Move relay connection logic into main event loop (p2panda#632)

* Bump `libp2p` to version `0.53.2` (p2panda#631)

* Bump libp2p to version 0.53.2

* We don't need to listen on tcp port when in relay mode

* Listening on relay circuit no longer sometimes fails

* Remove tcp feature requirement from libp2p

* Refactor connection_keep_alive method

* Clippy

* Remove unnecessary connection_keep_alive method from peers behaviour

* Add CHANGELOG.md entry

---------

Co-authored-by: adz <x12@adz.garden>

* Move network service relay initialization into main event loop

* Clippy

* Add DCUTR event debug logging to swarm

* Change log message

* Adjust connection limits

* Even nicer log messages

* Helper to print or info log depending on log level

* Listening on relay circuit no longer sometimes fails

---------

Co-authored-by: adz <x12@adz.garden>

* Support private net with pre-shared key (p2panda#635)

* Swarm listens on both TCP and QUIC addresses

* Support both QUIC and TCP protocols

* TCP port_reuse should be false

* Establish a private net over TCP when psk provided in NetworkConfig

* Initiate swarm with private net when psk provided in config

* Update CHANGELOG

* Doc string fix

* Don't need to differentiate between transports when detecting port

* Update README

* Fix README formatting

* Update example config file

* Check if blob file exists before deleting it from fs (p2panda#636)

* Check if blob file exists before deleting it from fs

* Add entry to CHANGELOG.md

* Inconsistent blob storage warning was wrongly shown (p2panda#638)

* Inconsistent blob storage warning was wrongly shown

* Add entry to CHANGELOG.md

* Minor config.toml cleanup

* Safely handle missing document when retrieving document view from store (p2panda#637)

* Return None when document was deleted

* Add entry to CHANGELOG.md

* Introduce API to subscribe to peer connection events (p2panda#625)

* Introduce API to subscribe to peer connection events

* Add entry to CHANGELOG.md

* 0.8.0

* Also bump version in aquadoggo_cli, add note about that in RELEASE.md

* Adjust level of replication session and document materialization logs (p2panda#639)

* Remove relay and direct peer poll attempt logging

* Change document creation/update/delete logging to info level

* Lower level of replication session logs to debug

* Update CHANGELOG

* Remove incorrectly commit file

* Lower logging level for replication finished message

* Fix logging logic error in reducer

* Improve GraphQL re-build error

* Update README.md

* Expose NodeEvent to public API (p2panda#643)

* Expose NodeEvent to public API

* Add entry to CHANGELOG.md

---------

Co-authored-by: adz <x12@adz.garden>
Co-authored-by: Sam Andreae <contact@samandreae.com>
Co-authored-by: adz <adzialocha@users.noreply.github.com>
  • Loading branch information
4 people committed Jul 13, 2024
1 parent 832d0dd commit aff1c36
Show file tree
Hide file tree
Showing 46 changed files with 2,245 additions and 1,069 deletions.
29 changes: 21 additions & 8 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on: push

env:
CARGO_TERM_COLOR: always
RUST_TOOLCHAIN: 1.79.0
cargo_manifest: aquadoggo/Cargo.toml

jobs:
Expand All @@ -18,8 +19,9 @@ jobs:
uses: actions/checkout@v3

- name: Setup Rust toolchain
uses: moonrepo/setup-rust@v0
uses: moonrepo/setup-rust@v1
with:
channel: ${{ env.RUST_TOOLCHAIN }}
cache-target: release

- name: Build binary
Expand All @@ -40,7 +42,9 @@ jobs:
uses: actions/checkout@v3

- name: Setup Rust toolchain
uses: moonrepo/setup-rust@v0
uses: moonrepo/setup-rust@v1
with:
channel: ${{ env.RUST_TOOLCHAIN }}

# Related issue: https://github.com/p2panda/aquadoggo/issues/414
- name: Temporary workaround for rustc bug
Expand Down Expand Up @@ -81,7 +85,9 @@ jobs:
uses: actions/checkout@v3

- name: Setup Rust toolchain
uses: moonrepo/setup-rust@v0
uses: moonrepo/setup-rust@v1
with:
channel: ${{ env.RUST_TOOLCHAIN }}

# Related issue: https://github.com/p2panda/aquadoggo/issues/414
- name: Temporary workaround for rustc bug
Expand All @@ -108,7 +114,9 @@ jobs:
uses: actions/checkout@v3

- name: Setup Rust toolchain
uses: moonrepo/setup-rust@v0
uses: moonrepo/setup-rust@v1
with:
channel: ${{ env.RUST_TOOLCHAIN }}

- name: Run tests
run: |
Expand All @@ -127,7 +135,9 @@ jobs:
uses: actions/checkout@v3

- name: Setup Rust toolchain
uses: moonrepo/setup-rust@v0
uses: moonrepo/setup-rust@v1
with:
channel: ${{ env.RUST_TOOLCHAIN }}

- name: Check project and dependencies
run: |
Expand All @@ -142,8 +152,9 @@ jobs:
uses: actions/checkout@v3

- name: Setup Rust toolchain
uses: moonrepo/setup-rust@v0
uses: moonrepo/setup-rust@v1
with:
channel: ${{ env.RUST_TOOLCHAIN }}
components: rustfmt

- name: Check formatting
Expand All @@ -163,8 +174,9 @@ jobs:
uses: actions/checkout@v3

- name: Setup Rust toolchain
uses: moonrepo/setup-rust@v0
uses: moonrepo/setup-rust@v1
with:
channel: ${{ env.RUST_TOOLCHAIN }}
components: clippy

- name: Check code with clippy
Expand All @@ -184,8 +196,9 @@ jobs:
uses: actions/checkout@v3

- name: Setup Rust toolchain
uses: moonrepo/setup-rust@v0
uses: moonrepo/setup-rust@v1
with:
channel: ${{ env.RUST_TOOLCHAIN }}
bins: grcov
components: llvm-tools-preview

Expand Down
60 changes: 59 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,60 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

### Changed

- Expose NodeEvent to public API [#643](https://github.com/p2panda/aquadoggo/pull/643)

## [0.8.0]

### Added

- Node API to subscribe to peer connection events [#625](https://github.com/p2panda/aquadoggo/pull/625)
- Support private network secured by pre-shared key [#635](https://github.com/p2panda/aquadoggo/pull/635)

### Changed

- Update `libp2p` to version `0.53.2` and apply API changes [#631](https://github.com/p2panda/aquadoggo/pull/631)
- Move relay registration into main network service event loop [#632](https://github.com/p2panda/aquadoggo/pull/632)
- Adjust level of replication and materialization logs [#639](https://github.com/p2panda/aquadoggo/pull/639)

### Fixed

- Handle connection ids greater than 9 in `Peer` impl of `Human` trait [#634](https://github.com/p2panda/aquadoggo/pull/634)
- Check if blob file exists before deleting it from fs [#636](https://github.com/p2panda/aquadoggo/pull/636)
- Inconsistent blob storage warning was wrongly shown [#638](https://github.com/p2panda/aquadoggo/pull/638)
- Safely handle missing document when retrieving document view from store [#637](https://github.com/p2panda/aquadoggo/pull/637)

## [0.7.4]

### Added

- Introduce `PeerAddress` struct to help resolve `String` to internal address types [#621](https://github.com/p2panda/aquadoggo/pull/621)
- Re-dial all configured known peers on schedule [#622](https://github.com/p2panda/aquadoggo/pull/622)

### Changed

- Increase `max_pending_connections_in` and `max_pending_connections_out` [#628](https://github.com/p2panda/aquadoggo/pull/628)

### Fixed

- Re-materialize blobs which were only partially written to disc due to node crash [#618](https://github.com/p2panda/aquadoggo/pull/618)
- Include all logs for target schemas during replication [#620](https://github.com/p2panda/aquadoggo/pull/620)
- Re-apply unhandled operations during startup of materializer service [#623](https://github.com/p2panda/aquadoggo/pull/623)

## [0.7.3]

### Fixed

- Handle null values returned from empty child relation queries [#614](https://github.com/p2panda/aquadoggo/pull/614)

## [0.7.2]

### Changed

- Accept domain name and ip addresses for peers in configuration file and cli [#612](https://github.com/p2panda/aquadoggo/pull/612)
- Allow setting config file path via environment variables [#611](https://github.com/p2panda/aquadoggo/pull/611)

## [0.7.1]

### Added
Expand Down Expand Up @@ -283,7 +337,11 @@ Released on 2021-10-25: :package: [`crate`](https://crates.io/crates/aquadoggo/0
- Use p2panda-rs 0.2.1 with fixed linter setting [#41](https://github.com/p2panda/aquadoggo/41)
- Use `tide` for HTTP server and `jsonrpc-v2` for JSON RPC [#29](https://github.com/p2panda/aquadoggo/29)

[unreleased]: https://github.com/p2panda/aquadoggo/compare/v0.7.1...HEAD
[unreleased]: https://github.com/p2panda/aquadoggo/compare/v0.8.0...HEAD
[0.8.0]: https://github.com/p2panda/aquadoggo/releases/tag/v0.8.0
[0.7.4]: https://github.com/p2panda/aquadoggo/releases/tag/v0.7.4
[0.7.3]: https://github.com/p2panda/aquadoggo/releases/tag/v0.7.3
[0.7.2]: https://github.com/p2panda/aquadoggo/releases/tag/v0.7.2
[0.7.1]: https://github.com/p2panda/aquadoggo/releases/tag/v0.7.1
[0.7.0]: https://github.com/p2panda/aquadoggo/releases/tag/v0.7.0
[0.6.0]: https://github.com/p2panda/aquadoggo/releases/tag/v0.6.0
Expand Down
Loading

0 comments on commit aff1c36

Please sign in to comment.