Skip to content

Commit

Permalink
2629 Add Libp2p Auth Service (#2715)
Browse files Browse the repository at this point in the history
* WIP: Update OrbitDB/IPFS/libp2p

* Various updates

* Various updates

* Fixes

* Updates

* Clean up NestJS modules and fix storage.service tests

* Fixes, mostly around restarting app

* Use custom storage to ensure we write data as Uint8array + rename OrbitdbService

* Ignore logs

* More storage related stuff

* (Maybe) fix the ping issue and mild refactor for my sanity

* Fix reconnections and update logging

* Get desktop to run without the customevent flag

* Mobile testing

* Ensure mobile can function with JS customevents

* Fix for issue with not having all blocks

* Fix common tests

* Fix almost all tests on the backend, etc.

* Fix for customevent errors in ci tests

* Fix state manager test and backend test node options

* Update class-validator

* Test mac e2e ci issue

* Fix tor binary dir issue in ci

* Try again

* Random fixes for e2e tests

* Fix file manager

* Fix code scanning alert no. 1: Insecure randomness

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* Some digging on why the backend process isn't starting on linux

* Not sure why this didn't show up as errors in vscode

* Get fork argv

* Remove debug code and add patch for connection monitor

* Log everything

* Remove env variables as test

* Fix url scheme handler error on linux

* Remove debug logging

* Trying something

* See if we can bypass error I'm seeing on linux

* Put logs back to a sane level

* Reorder e2e test cases so we can guarantee everything has a chance to run

* Updating dependencies for mobile

* Add helia as a package

* Revert "Updating dependencies for mobile"

This reverts commit bcb9a2a.

* Some minor updates

* Fix logging and get rid of annoying malformed rn-bridge error on background

* Cleanup, fix ios resume, add volta params

* Ensure helia is bootstrapped in CI

* Fix up closing and make sure tests exit when they finish

* E2E test updates

* Merge branch 'develop' into update-orbitdb

* Fix the duplicated/unregistered bug

* Invitation link is failing consistently so do it last

* Try macos-14

* Update CSRs test since the order that orbitdb returns events in changed

* Fix jest issue

* Fix connection manager tests

* Use macos-13

* Log test name on all test cases in e2e

* Reformat and update back compat version

* Don't run back compat tests on this branch

* Add log to invitation

* Remove empty if

* Add back old xdg-settings call

* Get branch correctly on CI

* Fix vulnerable dependencies

* Do a better job - why didn't they upgrade a vulnerable package when releasing a major version?

* Check something

* Try something again

* Try this method

* Not

* Test

* Update e2e-linux.yml

* Update e2e-linux.yml

* remove print statement

* Use windows latest

* Use windows latest large

* Switch back

* Remove node_datachannel references

* Remove inaccurate comments

* Remove unnecessary changes

* Share the same constants and enums with identity

* Merge remote-tracking branch 'origin/develop' into update-orbitdb

* Update PEER_ID_REGEX to match 52-character peer IDs

* generate random device name instead of using mac

* fix connections manager test

* Generate invites with LFA codes

* Tests

* Update CHANGELOG.md

* Fix snapshot post-merge

* Backwards compatibility fixes

* Fix leave community issue

* Fix common tests

* Fix backend tests

* Update snapshots

* Purge ALL data

* add extension error handling

* fix bigfiles test

* Add file upload test cases for single user

* Add file upload/download/cancel test cases for multiple users

* fix snapshots

* wip additions

* Generate big test file at runtime

* E2E refactor to (mostly) not use sleep statements

* Add extra visibility checks

* Update orbitdb (#2600)

* WIP: Update OrbitDB/IPFS/libp2p

* Various updates

* Various updates

* Fixes

* Updates

* Clean up NestJS modules and fix storage.service tests

* Fixes, mostly around restarting app

* Use custom storage to ensure we write data as Uint8array + rename OrbitdbService

* Ignore logs

* More storage related stuff

* (Maybe) fix the ping issue and mild refactor for my sanity

* Fix reconnections and update logging

* Get desktop to run without the customevent flag

* Mobile testing

* Ensure mobile can function with JS customevents

* Fix for issue with not having all blocks

* Fix common tests

* Fix almost all tests on the backend, etc.

* Fix for customevent errors in ci tests

* Fix state manager test and backend test node options

* Update class-validator

* Test mac e2e ci issue

* Fix tor binary dir issue in ci

* Try again

* Random fixes for e2e tests

* Fix file manager

* Fix code scanning alert no. 1: Insecure randomness

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* Some digging on why the backend process isn't starting on linux

* Not sure why this didn't show up as errors in vscode

* Get fork argv

* Remove debug code and add patch for connection monitor

* Log everything

* Remove env variables as test

* Fix url scheme handler error on linux

* Remove debug logging

* Trying something

* See if we can bypass error I'm seeing on linux

* Put logs back to a sane level

* Reorder e2e test cases so we can guarantee everything has a chance to run

* Updating dependencies for mobile

* Add helia as a package

* Revert "Updating dependencies for mobile"

This reverts commit bcb9a2a.

* Some minor updates

* Fix logging and get rid of annoying malformed rn-bridge error on background

* Cleanup, fix ios resume, add volta params

* Ensure helia is bootstrapped in CI

* Fix up closing and make sure tests exit when they finish

* E2E test updates

* Merge branch 'develop' into update-orbitdb

* Fix the duplicated/unregistered bug

* Invitation link is failing consistently so do it last

* Try macos-14

* Update CSRs test since the order that orbitdb returns events in changed

* Fix jest issue

* Fix connection manager tests

* Use macos-13

* Log test name on all test cases in e2e

* Reformat and update back compat version

* Don't run back compat tests on this branch

* Add log to invitation

* Remove empty if

* Add back old xdg-settings call

* Get branch correctly on CI

* Fix vulnerable dependencies

* Do a better job - why didn't they upgrade a vulnerable package when releasing a major version?

* Check something

* Try something again

* Try this method

* Not

* Test

* Update e2e-linux.yml

* Update e2e-linux.yml

* remove print statement

* Use windows latest

* Use windows latest large

* Switch back

* Remove node_datachannel references

* Remove inaccurate comments

* Remove unnecessary changes

* Share the same constants and enums with identity

* Merge remote-tracking branch 'origin/develop' into update-orbitdb

* Update PEER_ID_REGEX to match 52-character peer IDs

* generate random device name instead of using mac

* fix connections manager test

* Fix leave community issue

* Fix common tests

* Fix backend tests

* Update snapshots

* Purge ALL data

* add extension error handling

* fix bigfiles test

* Add file upload test cases for single user

* Add file upload/download/cancel test cases for multiple users

* fix snapshots

* Generate big test file at runtime

* E2E refactor to (mostly) not use sleep statements

* Add extra visibility checks

---------

Co-authored-by: Lucas Leblow <[email protected]>
Co-authored-by: Isla Koenigsknecht <[email protected]>
Co-authored-by: Isla Koenigsknecht <[email protected]>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: Taea Vogel <[email protected]>

* Update CHANGELOG.md

* Publish

 - @quiet/[email protected]
 - @quiet/[email protected]

* Update packages CHANGELOG.md

* Split file generation logic apart because fs import breaks mobile

* Publish

 - @quiet/[email protected]
 - @quiet/[email protected]

* Update packages CHANGELOG.md

* chore: Upgrade orbitdb to 2.4.3 (#2684)

* Upgrade to orbitdb 2.4.3 (with libp2p 2.x and helia 5.x)

* Fix leave community

* Mild test fixes

* Fix file manager download test

* Fix connections manager tests

* Remove unused keys

* Undo logging and try to fix linux tests

* submodule stuff

* Go back to helia as a package

* Forgot one

* Workaround for failing test cleanup

* Add back compat skip branch

* Upgrade to node 18.20.4 to support noise as a submodule

* Fix build in CI

* Add noise submodule to get the latest code without WASM

* Reuse noise keys and fix some libp2p settings

* Update CHANGELOG.md

* Publish

 - @quiet/[email protected]
 - @quiet/[email protected]

* Update packages CHANGELOG.md

* fix: Fixes download issues on cancellation, download status logs, connection stability (#2687)

* Fix download issues and improve connections

* Update e2e-linux.yml

* Some mild updates to help with initial connections and connection stability

* Mild dependency update

* Mild abort improvements and make the file component more legible

* Fix snapshots

* Publish

 - @quiet/[email protected]
 - @quiet/[email protected]

* Update packages CHANGELOG.md

* consume invites and initialize sigchains from invite seed

* Merge remote-tracking branch 'origin/3.0.0' into 2629-syncing-sigchain

* fix(2679): Fix issue with download buttons missing from large files (#2690)

* Fix issue with download buttons not showing for large files

* Fix snapshot

* Fix regression tests

* Update regression test runner and snapshots

* Try to force cypress install on ci

* Custom cache key for cypress runs

* Get rid of debug logs

* Publish

 - @quiet/[email protected]
 - @quiet/[email protected]

* Update packages CHANGELOG.md

* Add back debug logging

* Publish

 - @quiet/[email protected]
 - @quiet/[email protected]

* Update packages CHANGELOG.md

* make compilable

* working invite acceptance and initial sync

* add testing

* Fix/download connection issues (#2691)

* Testing changes

* A couple more changes

* Refactor file manager service, fix cancel crash, tweak logging

* This might fix the files not being downloadable...

* Remove these patches

* Run backend prepare to figure out why its failing

* I'm dumb

* I'm really dumb

* Not sure why this fails on CI

* Don't send canceled status for malicous downloads and fix tests

* Forgot this

* Update mobile-deploy-ios-test.yml

* Update action.yml

* Publish

 - @quiet/[email protected]
 - @quiet/[email protected]

* Update packages CHANGELOG.md

* Add timeouts (optional) and make more iterators abortable (#2694)

* Publish

 - @quiet/[email protected]
 - @quiet/[email protected]

* Update packages CHANGELOG.md

* Fix/more connection nonsense (#2695)

* More connection tweaks, add connected peers interval, better handling of abortable generators

* Update websocket files to better match current websocket transport in libp2p

* Publish

 - @quiet/[email protected]
 - @quiet/[email protected]

* Update packages CHANGELOG.md

* Add mplex (#2696)

* Publish

 - @quiet/[email protected]
 - @quiet/[email protected]

* Update packages CHANGELOG.md

* Update mplex config and improve logging (#2701)

* Update mplex config and improve logging

* Oops I broke joining

* Publish

 - @quiet/[email protected]
 - @quiet/[email protected]

* Update packages CHANGELOG.md

* Return when already downloading a file (#2702)

* Publish

 - @quiet/[email protected]
 - @quiet/[email protected]

* Update packages CHANGELOG.md

* snapshot disconnection protocol

* chore(2672): Update directories and S3 bucket for 3.0 release (#2706)

* Update data directory for 3.0

* Update files directory for 3.0

* Update desktop install directory

* Update CHANGELOG.md

* Publish

 - @quiet/[email protected]
 - @quiet/[email protected]

* Update packages CHANGELOG.md

* Update build.gradle

* Publish

 - @quiet/[email protected]
 - @quiet/[email protected]

* Publish

 - @quiet/[email protected]
 - @quiet/[email protected]

* Update packages CHANGELOG.md

* Publish

 - @quiet/[email protected]
 - @quiet/[email protected]

* Publish

 - @quiet/[email protected]
 - @quiet/[email protected]

* Update packages CHANGELOG.md

* seperate out integration tests; use maps instead of records; add multiple peers test; close changes

* better tests and join status handling

* more robust testing; multiple peers still not working

* fix stream opening/closing

* fix community name passthrough for saving sigchain

* rm duplicate key

* better handle saving and loading sigchains that have not fully joined

* fix connection selector test

* update auth submodule reference

* Test and persistence fixes

Fix not syncing with non-owner

Fixes for chain persistence and tests

* fix backend tests; add team with join method; hang up when auth connection disconnects; buffer auth connections when sigchain not defined

* use ephemeral streams when sending and receiving messages

* cleanup

* update snapshot

* update submodule pointer

* update changelog

* remove fs dependency from common

---------

Co-authored-by: Lucas Leblow <[email protected]>
Co-authored-by: Isla Koenigsknecht <[email protected]>
Co-authored-by: Isla Koenigsknecht <[email protected]>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: Lucas Leblow <[email protected]>
Co-authored-by: Isla <[email protected]>
  • Loading branch information
7 people authored Feb 4, 2025
1 parent b347f8e commit 25f21a8
Show file tree
Hide file tree
Showing 72 changed files with 11,821 additions and 7,057 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

## Unreleased

### New features

* Generating LFA-ready invite links when a sigchain is configured ([#2627](https://github.com/TryQuiet/quiet/issues/2627))
* Add local-first/auth powered libp2p authentication service ([#2629](https://github.com/TryQuiet/quiet/issues/2629))

### Chores

* Add `trace` level logs to `@quiet/logger` ([#2716](https://github.com/TryQuiet/quiet/issues/2716))
Expand Down
Loading

0 comments on commit 25f21a8

Please sign in to comment.