Skip to content

Android App simplified#18

Merged
SanttuRantanen merged 1 commit intomodule3from
module3-with-ios-android-apps-and-dht-tests
Oct 10, 2024
Merged

Android App simplified#18
SanttuRantanen merged 1 commit intomodule3from
module3-with-ios-android-apps-and-dht-tests

Conversation

@SanttuRantanen
Copy link
Copy Markdown
Contributor

Please review and merge. Some useless files removed from the Android app. Also Dispatchers.IO used for coroutine executing native lib calls.

@SanttuRantanen SanttuRantanen merged commit 974d41c into module3 Oct 10, 2024
SanttuRantanen added a commit that referenced this pull request Nov 13, 2024
SanttuRantanen added a commit that referenced this pull request Nov 17, 2024
ptesavol added a commit that referenced this pull request Nov 20, 2024
* fix linting

* Integration tests added

* capture list references changed to copies in notifyRemote

* Old Exception type changed to string

* server-side exceptions work

* fix linting

* fix linting

* These generated files should be in git otherwise install does not work

* Exception unit tests added for client and server

* Exception wrapping added to notifyRemote. Also exception handling unit tests added to RpcCommunicatorTest

* More integration tests added

* timeouts work for calls

* fix linting

* fix linting

* Unit tests cleaned

* ServerRegistry unit tests cleaned

* ProtoRpcTest integration tests cleaned

* Linter modifications

* minimal cleanup, tests working

* clean up onIncomingMessage()

* added client-side timeouts for notifications

* protect mOngoingRequests with a mutex

* rename outgoingMessageListener to outgoingMessageCallback

* reduce logging levels

* fix linting

* add protobuf-generated files

* fix linting in CI

* increase CI caching

* add example hello

* add custom test main that calls folly::init

* add custom test main that calls folly::init lint

* improve CI caching

* try fixing tests

* Part of RoutesHello example added

* add example routedhello

* add readme

* try making notifytask a member function

* try making notifytask a member function

* remove task-creating labda

* lint

* use own executors

* increase logging

* debugging

* use cpu executor directly instead of through a task

* lint

* move callback by value

* add folly example

* Reference removed in capture list

* Typo fixed

* fix linting

* add overlay triplet for x64 linux to compile folly in release mode only

* added temporary overlay port for magic-enum to fix changed hash

* split RpcCommunicator into three parts

* add comments and clean up

* add permalinks to protobuf files pointing  to github commits of network-monorepo

* rename callRemote() and notifyRemote() to request() and notify()

* iOS overlaytriplet added

* only install dependencies once in monorepo

* simplify install action of github

* lint

* vcpkg install --triplet=arm64-ios works

* add support for --ios and --android flags in install.sh

* rename flag iphone to ios

* developing install.sh for iphone

* continue developing install.sh for iphone

* add checks to install.sh to prevent running with false settings

* simple ios framework dylib builds

* ./install.sh --ios works in project root

* dynamic ios example works

* add Branded<> utility type

* move to using std::string_view in Logger APIs

* websockets work

* update vcpkg

* compiles on osx clang 18

* ios compiles with clang 18

* android build works

* revert to clang17 on mac/ios because exceptions cannot be caught on clang18 because of incompatibility with c++abi

* Fix for segmentation fault. And some unit tests which should be modified later when exception handling is added.

* add adnroidttest.sh to run tests on android through adb (a device or an emulator must be connected)

* WebsocketServerTest unit tests added

* work in progress

* always wait for onConnected callback, no matter is the socket already open or not. OnOpen callback gets triggered when callback is set if the connection is already open

* connectionamanager implemented

* move to using templated CallContextType and move-by-value in RpcCommunicator

* moved timout out of the callcontext

* First ConnectionManager test passes

* add EnableSharedFromThis and fix linting errors

* add setting homebrew prefix in install and setenv scripts

* add boost-endian dependency to streamr-utils

* add waitforcondition(), improve naming

* fix linting

* potos of trackerless-network get built

* waitForEvent and poller.start synchronized

* waitForCondition unit tests added

* waitForCondition unit tests added

* developining..

* waitForCondition unit tests added

* add ReplayEventEmitter that replays the latest event to new subscribers

* Integration tests added

* Websocket callbacks synchronized with mutexes

* end-to-end test of ProxyClient compiles but does not work yet

* submodule updated

* fix outgoinghandshaker to save a copy of the targetpeerdescriptor

* generate real random uuids, end-to end broadcast to ts goes through

* use real random uuid

* add utils for testing, split linting in parts

* add errorCallback to send() of CommunicationManager

* work-in-progress

* split Endpoint to separate files, granularize mutex locking

* upgrade vcpkg to latest version

* end-to-end publishing test from libstreamrproxyclient shared library to ts server works

* fix linting

* update submodule

* remove submodule

* re-add submodule using https

* change filename case in git

* filename change case in include

* change case to LibDataChannel

* change include case

* change include case

* change to ubuntu-24.04 runner

* change to noble apt repo

* use gcc14 in github actions

* fix case to LibDataChannel

* fix case

* improve github caching

* include runner.arch in cache names

* include runner.arch in cache names

* remove experimental from folly include statements

* remove unused includes

* remove unused includes

* re-introduce experimental

* re-introduce experimental universally to all folly include statements

* re-introduce experimental universally to all folly include statements

* test also for gnuc in macro definition

* remove size_t from c header file

* add fPIC flag

* set initial value for aborted to false in abortsignal

* use custom main in utils tests

* use initializer list when creating json

* use custom test main in dht

* change size_t argument to uint64_t in shared library

* try fixing event after detroy in websocket

* tests pass on linux

* fix linting

* fix linting

* fix linting

* add placeholder unit tests to fix linting

* add more placeholder unit tests

* remove cpptrace, add monorepo deps to libstreamrproxyclient

* remove cpptrace to enable android builds

* copy ios-aware homebrewClang.cmake to all directories

* add more checks to ensure that  setenvs.sh has been run

* change case of utils.hpp

* try fixing linting errors on linux

* try fixing linting errors on linux

* try fixing linting errors on linux

* move to cland-18 on linux

* move to cland-18 on linux

* add missing include statements to fix linting

* add missing include statements to fix linting

* linting

* linting

* linting

* linting

* linting

* force using clangd18 on linux

* force using clangd18 on linux

* force using clangd19 on linux

* force using clangd19 on linux

* add placeholder unit tests

* try fixing linting errors on linux

* try fixing linting errors on linux

* try fixing linting errors on linux

* linting

* linting

* sending multiple messages works

* iOS xcframework and iOS LocationShare App (With static lib) added

* Added mode *.o files to the static lib

* Added one header file to the static lib

* Android App added

* Workaround removed from the Android app

* Readme added to ios install

* Readme added to android install

* iOS unit test app added

* Compiler flags added

* README update

* Dht unit tests added. Also IPendingConnection abstract class added in order to unit test using mocks

* Unit tests added to iOS Unit Tester

* Unit tests added to iOS Unit Tester

* Unit tests added to CMakeLists.txt

* Unit test removed from CMakeLists.txt

* Unit test cleaned

* convert streamrproxyclient.h to pure C

* Fixed linting for DHT

* Fixed linting for DHT

* 3 flaky tests disabled

* Unit tests fixed

* 2 unit tests commented out. These must be checked later

* Null check added and test disabled as flaky one

* generate shared library distribusions automatically

* also pack ios distribution to tgz

* shared binary for arm64-osx

* x64-osx build

* add duration cast trying to fix a linux bug

* added lfs

* increase logging

* linux binaries

* temporary commit

* rename utils.hpp to Utils.hpp

* add readme to libstreamrproxyclient

* update native-ts-integration submodule

* update readme

* add readme to the unix example

* update readmes

* Android App simplified (#18)

* changed binaries

* add signing utils

* add binary utils

* signing added to unix example

* Signing added to Android LocationShare example app

* Signing added to iOS LocationShare example app

* Stream part Id changed

* Stream part ID changed

* add go and python examples

* try changing clangd to v 17 to fix linting

* try another version of clang-format to fi linting

* try to get lint working in ci

* change to clang-format 18

* lint fixes

* add on more placeholder test

* more placeholders

* more placeholders

* fix json test nullptr handling

* fix tests

* add one more placeholder test

* disable WebSocketServer tests that read certs from disk to make them work in CI

---------

Co-authored-by: Santtu <santtu.rantanen@gmail.com>
Co-authored-by: juslesan <santeri.juslenius@gmail.com>
ptesavol pushed a commit that referenced this pull request Nov 23, 2024
ptesavol added a commit that referenced this pull request Nov 23, 2024
* fix linting

* Integration tests added

* capture list references changed to copies in notifyRemote

* Old Exception type changed to string

* server-side exceptions work

* fix linting

* fix linting

* These generated files should be in git otherwise install does not work

* Exception unit tests added for client and server

* Exception wrapping added to notifyRemote. Also exception handling unit tests added to RpcCommunicatorTest

* More integration tests added

* timeouts work for calls

* fix linting

* fix linting

* Unit tests cleaned

* ServerRegistry unit tests cleaned

* ProtoRpcTest integration tests cleaned

* Linter modifications

* minimal cleanup, tests working

* clean up onIncomingMessage()

* added client-side timeouts for notifications

* protect mOngoingRequests with a mutex

* rename outgoingMessageListener to outgoingMessageCallback

* reduce logging levels

* fix linting

* add protobuf-generated files

* fix linting in CI

* increase CI caching

* add example hello

* add custom test main that calls folly::init

* add custom test main that calls folly::init lint

* improve CI caching

* try fixing tests

* Part of RoutesHello example added

* add example routedhello

* add readme

* try making notifytask a member function

* try making notifytask a member function

* remove task-creating labda

* lint

* use own executors

* increase logging

* debugging

* use cpu executor directly instead of through a task

* lint

* move callback by value

* add folly example

* Reference removed in capture list

* Typo fixed

* fix linting

* add overlay triplet for x64 linux to compile folly in release mode only

* added temporary overlay port for magic-enum to fix changed hash

* split RpcCommunicator into three parts

* add comments and clean up

* add permalinks to protobuf files pointing  to github commits of network-monorepo

* rename callRemote() and notifyRemote() to request() and notify()

* iOS overlaytriplet added

* only install dependencies once in monorepo

* simplify install action of github

* lint

* vcpkg install --triplet=arm64-ios works

* add support for --ios and --android flags in install.sh

* rename flag iphone to ios

* developing install.sh for iphone

* continue developing install.sh for iphone

* add checks to install.sh to prevent running with false settings

* simple ios framework dylib builds

* ./install.sh --ios works in project root

* dynamic ios example works

* add Branded<> utility type

* move to using std::string_view in Logger APIs

* websockets work

* update vcpkg

* compiles on osx clang 18

* ios compiles with clang 18

* android build works

* revert to clang17 on mac/ios because exceptions cannot be caught on clang18 because of incompatibility with c++abi

* Fix for segmentation fault. And some unit tests which should be modified later when exception handling is added.

* add adnroidttest.sh to run tests on android through adb (a device or an emulator must be connected)

* WebsocketServerTest unit tests added

* work in progress

* always wait for onConnected callback, no matter is the socket already open or not. OnOpen callback gets triggered when callback is set if the connection is already open

* connectionamanager implemented

* move to using templated CallContextType and move-by-value in RpcCommunicator

* moved timout out of the callcontext

* First ConnectionManager test passes

* add EnableSharedFromThis and fix linting errors

* add setting homebrew prefix in install and setenv scripts

* add boost-endian dependency to streamr-utils

* add waitforcondition(), improve naming

* fix linting

* potos of trackerless-network get built

* waitForEvent and poller.start synchronized

* waitForCondition unit tests added

* waitForCondition unit tests added

* developining..

* waitForCondition unit tests added

* add ReplayEventEmitter that replays the latest event to new subscribers

* Integration tests added

* Websocket callbacks synchronized with mutexes

* end-to-end test of ProxyClient compiles but does not work yet

* submodule updated

* fix outgoinghandshaker to save a copy of the targetpeerdescriptor

* generate real random uuids, end-to end broadcast to ts goes through

* use real random uuid

* add utils for testing, split linting in parts

* add errorCallback to send() of CommunicationManager

* work-in-progress

* split Endpoint to separate files, granularize mutex locking

* upgrade vcpkg to latest version

* end-to-end publishing test from libstreamrproxyclient shared library to ts server works

* fix linting

* update submodule

* remove submodule

* re-add submodule using https

* change filename case in git

* filename change case in include

* change case to LibDataChannel

* change include case

* change include case

* change to ubuntu-24.04 runner

* change to noble apt repo

* use gcc14 in github actions

* fix case to LibDataChannel

* fix case

* improve github caching

* include runner.arch in cache names

* include runner.arch in cache names

* remove experimental from folly include statements

* remove unused includes

* remove unused includes

* re-introduce experimental

* re-introduce experimental universally to all folly include statements

* re-introduce experimental universally to all folly include statements

* test also for gnuc in macro definition

* remove size_t from c header file

* add fPIC flag

* set initial value for aborted to false in abortsignal

* use custom main in utils tests

* use initializer list when creating json

* use custom test main in dht

* change size_t argument to uint64_t in shared library

* try fixing event after detroy in websocket

* tests pass on linux

* fix linting

* fix linting

* fix linting

* add placeholder unit tests to fix linting

* add more placeholder unit tests

* remove cpptrace, add monorepo deps to libstreamrproxyclient

* remove cpptrace to enable android builds

* copy ios-aware homebrewClang.cmake to all directories

* add more checks to ensure that  setenvs.sh has been run

* change case of utils.hpp

* try fixing linting errors on linux

* try fixing linting errors on linux

* try fixing linting errors on linux

* move to cland-18 on linux

* move to cland-18 on linux

* add missing include statements to fix linting

* add missing include statements to fix linting

* linting

* linting

* linting

* linting

* linting

* force using clangd18 on linux

* force using clangd18 on linux

* force using clangd19 on linux

* force using clangd19 on linux

* add placeholder unit tests

* try fixing linting errors on linux

* try fixing linting errors on linux

* try fixing linting errors on linux

* linting

* linting

* sending multiple messages works

* iOS xcframework and iOS LocationShare App (With static lib) added

* Added mode *.o files to the static lib

* Added one header file to the static lib

* Android App added

* Workaround removed from the Android app

* Readme added to ios install

* Readme added to android install

* iOS unit test app added

* Compiler flags added

* README update

* Dht unit tests added. Also IPendingConnection abstract class added in order to unit test using mocks

* Unit tests added to iOS Unit Tester

* Unit tests added to iOS Unit Tester

* Unit tests added to CMakeLists.txt

* Unit test removed from CMakeLists.txt

* Unit test cleaned

* convert streamrproxyclient.h to pure C

* Fixed linting for DHT

* Fixed linting for DHT

* 3 flaky tests disabled

* Unit tests fixed

* 2 unit tests commented out. These must be checked later

* Null check added and test disabled as flaky one

* generate shared library distribusions automatically

* also pack ios distribution to tgz

* shared binary for arm64-osx

* x64-osx build

* add duration cast trying to fix a linux bug

* added lfs

* increase logging

* linux binaries

* temporary commit

* rename utils.hpp to Utils.hpp

* add readme to libstreamrproxyclient

* update native-ts-integration submodule

* update readme

* add readme to the unix example

* update readmes

* Android App simplified (#18)

* changed binaries

* add signing utils

* add binary utils

* signing added to unix example

* Signing added to Android LocationShare example app

* Signing added to iOS LocationShare example app

* Stream part Id changed

* Stream part ID changed

* add go and python examples

* try changing clangd to v 17 to fix linting

* try another version of clang-format to fi linting

* try to get lint working in ci

* change to clang-format 18

* lint fixes

* add on more placeholder test

* more placeholders

* more placeholders

* fix json test nullptr handling

* fix tests

* add one more placeholder test

* disable WebSocketServer tests that read certs from disk to make them work in CI

---------

Co-authored-by: Santtu <santtu.rantanen@gmail.com>
Co-authored-by: juslesan <santeri.juslenius@gmail.com>
ptesavol added a commit that referenced this pull request Nov 23, 2024
* fix linting

* Integration tests added

* capture list references changed to copies in notifyRemote

* Old Exception type changed to string

* server-side exceptions work

* fix linting

* fix linting

* These generated files should be in git otherwise install does not work

* Exception unit tests added for client and server

* Exception wrapping added to notifyRemote. Also exception handling unit tests added to RpcCommunicatorTest

* More integration tests added

* timeouts work for calls

* fix linting

* fix linting

* Unit tests cleaned

* ServerRegistry unit tests cleaned

* ProtoRpcTest integration tests cleaned

* Linter modifications

* minimal cleanup, tests working

* clean up onIncomingMessage()

* added client-side timeouts for notifications

* protect mOngoingRequests with a mutex

* rename outgoingMessageListener to outgoingMessageCallback

* reduce logging levels

* fix linting

* add protobuf-generated files

* fix linting in CI

* increase CI caching

* add example hello

* add custom test main that calls folly::init

* add custom test main that calls folly::init lint

* improve CI caching

* try fixing tests

* Part of RoutesHello example added

* add example routedhello

* add readme

* try making notifytask a member function

* try making notifytask a member function

* remove task-creating labda

* lint

* use own executors

* increase logging

* debugging

* use cpu executor directly instead of through a task

* lint

* move callback by value

* add folly example

* Reference removed in capture list

* Typo fixed

* fix linting

* add overlay triplet for x64 linux to compile folly in release mode only

* added temporary overlay port for magic-enum to fix changed hash

* split RpcCommunicator into three parts

* add comments and clean up

* add permalinks to protobuf files pointing  to github commits of network-monorepo

* rename callRemote() and notifyRemote() to request() and notify()

* iOS overlaytriplet added

* only install dependencies once in monorepo

* simplify install action of github

* lint

* vcpkg install --triplet=arm64-ios works

* add support for --ios and --android flags in install.sh

* rename flag iphone to ios

* developing install.sh for iphone

* continue developing install.sh for iphone

* add checks to install.sh to prevent running with false settings

* simple ios framework dylib builds

* ./install.sh --ios works in project root

* dynamic ios example works

* add Branded<> utility type

* move to using std::string_view in Logger APIs

* websockets work

* update vcpkg

* compiles on osx clang 18

* ios compiles with clang 18

* android build works

* revert to clang17 on mac/ios because exceptions cannot be caught on clang18 because of incompatibility with c++abi

* Fix for segmentation fault. And some unit tests which should be modified later when exception handling is added.

* add adnroidttest.sh to run tests on android through adb (a device or an emulator must be connected)

* WebsocketServerTest unit tests added

* work in progress

* always wait for onConnected callback, no matter is the socket already open or not. OnOpen callback gets triggered when callback is set if the connection is already open

* connectionamanager implemented

* move to using templated CallContextType and move-by-value in RpcCommunicator

* moved timout out of the callcontext

* First ConnectionManager test passes

* add EnableSharedFromThis and fix linting errors

* add setting homebrew prefix in install and setenv scripts

* add boost-endian dependency to streamr-utils

* add waitforcondition(), improve naming

* fix linting

* potos of trackerless-network get built

* waitForEvent and poller.start synchronized

* waitForCondition unit tests added

* waitForCondition unit tests added

* developining..

* waitForCondition unit tests added

* add ReplayEventEmitter that replays the latest event to new subscribers

* Integration tests added

* Websocket callbacks synchronized with mutexes

* end-to-end test of ProxyClient compiles but does not work yet

* submodule updated

* fix outgoinghandshaker to save a copy of the targetpeerdescriptor

* generate real random uuids, end-to end broadcast to ts goes through

* use real random uuid

* add utils for testing, split linting in parts

* add errorCallback to send() of CommunicationManager

* work-in-progress

* split Endpoint to separate files, granularize mutex locking

* upgrade vcpkg to latest version

* end-to-end publishing test from libstreamrproxyclient shared library to ts server works

* fix linting

* update submodule

* remove submodule

* re-add submodule using https

* change filename case in git

* filename change case in include

* change case to LibDataChannel

* change include case

* change include case

* change to ubuntu-24.04 runner

* change to noble apt repo

* use gcc14 in github actions

* fix case to LibDataChannel

* fix case

* improve github caching

* include runner.arch in cache names

* include runner.arch in cache names

* remove experimental from folly include statements

* remove unused includes

* remove unused includes

* re-introduce experimental

* re-introduce experimental universally to all folly include statements

* re-introduce experimental universally to all folly include statements

* test also for gnuc in macro definition

* remove size_t from c header file

* add fPIC flag

* set initial value for aborted to false in abortsignal

* use custom main in utils tests

* use initializer list when creating json

* use custom test main in dht

* change size_t argument to uint64_t in shared library

* try fixing event after detroy in websocket

* tests pass on linux

* fix linting

* fix linting

* fix linting

* add placeholder unit tests to fix linting

* add more placeholder unit tests

* remove cpptrace, add monorepo deps to libstreamrproxyclient

* remove cpptrace to enable android builds

* copy ios-aware homebrewClang.cmake to all directories

* add more checks to ensure that  setenvs.sh has been run

* change case of utils.hpp

* try fixing linting errors on linux

* try fixing linting errors on linux

* try fixing linting errors on linux

* move to cland-18 on linux

* move to cland-18 on linux

* add missing include statements to fix linting

* add missing include statements to fix linting

* linting

* linting

* linting

* linting

* linting

* force using clangd18 on linux

* force using clangd18 on linux

* force using clangd19 on linux

* force using clangd19 on linux

* add placeholder unit tests

* try fixing linting errors on linux

* try fixing linting errors on linux

* try fixing linting errors on linux

* linting

* linting

* sending multiple messages works

* iOS xcframework and iOS LocationShare App (With static lib) added

* Added mode *.o files to the static lib

* Added one header file to the static lib

* Android App added

* Workaround removed from the Android app

* Readme added to ios install

* Readme added to android install

* iOS unit test app added

* Compiler flags added

* README update

* Dht unit tests added. Also IPendingConnection abstract class added in order to unit test using mocks

* Unit tests added to iOS Unit Tester

* Unit tests added to iOS Unit Tester

* Unit tests added to CMakeLists.txt

* Unit test removed from CMakeLists.txt

* Unit test cleaned

* convert streamrproxyclient.h to pure C

* Fixed linting for DHT

* Fixed linting for DHT

* 3 flaky tests disabled

* Unit tests fixed

* 2 unit tests commented out. These must be checked later

* Null check added and test disabled as flaky one

* generate shared library distribusions automatically

* also pack ios distribution to tgz

* shared binary for arm64-osx

* x64-osx build

* add duration cast trying to fix a linux bug

* added lfs

* increase logging

* linux binaries

* temporary commit

* rename utils.hpp to Utils.hpp

* add readme to libstreamrproxyclient

* update native-ts-integration submodule

* update readme

* add readme to the unix example

* update readmes

* Android App simplified (#18)

* changed binaries

* add signing utils

* add binary utils

* signing added to unix example

* Signing added to Android LocationShare example app

* Signing added to iOS LocationShare example app

* Stream part Id changed

* Stream part ID changed

* add go and python examples

* try changing clangd to v 17 to fix linting

* try another version of clang-format to fi linting

* try to get lint working in ci

* change to clang-format 18

* lint fixes

* add on more placeholder test

* more placeholders

* more placeholders

* fix json test nullptr handling

* fix tests

* add one more placeholder test

* disable WebSocketServer tests that read certs from disk to make them work in CI

---------

Co-authored-by: Santtu <santtu.rantanen@gmail.com>
Co-authored-by: juslesan <santeri.juslenius@gmail.com>
SanttuRantanen added a commit that referenced this pull request Dec 5, 2024
SanttuRantanen added a commit that referenced this pull request Dec 5, 2024
* fix linting

* Integration tests added

* capture list references changed to copies in notifyRemote

* Old Exception type changed to string

* server-side exceptions work

* fix linting

* fix linting

* These generated files should be in git otherwise install does not work

* Exception unit tests added for client and server

* Exception wrapping added to notifyRemote. Also exception handling unit tests added to RpcCommunicatorTest

* More integration tests added

* timeouts work for calls

* fix linting

* fix linting

* Unit tests cleaned

* ServerRegistry unit tests cleaned

* ProtoRpcTest integration tests cleaned

* Linter modifications

* minimal cleanup, tests working

* clean up onIncomingMessage()

* added client-side timeouts for notifications

* protect mOngoingRequests with a mutex

* rename outgoingMessageListener to outgoingMessageCallback

* reduce logging levels

* fix linting

* add protobuf-generated files

* fix linting in CI

* increase CI caching

* add example hello

* add custom test main that calls folly::init

* add custom test main that calls folly::init lint

* improve CI caching

* try fixing tests

* Part of RoutesHello example added

* add example routedhello

* add readme

* try making notifytask a member function

* try making notifytask a member function

* remove task-creating labda

* lint

* use own executors

* increase logging

* debugging

* use cpu executor directly instead of through a task

* lint

* move callback by value

* add folly example

* Reference removed in capture list

* Typo fixed

* fix linting

* add overlay triplet for x64 linux to compile folly in release mode only

* added temporary overlay port for magic-enum to fix changed hash

* split RpcCommunicator into three parts

* add comments and clean up

* add permalinks to protobuf files pointing  to github commits of network-monorepo

* rename callRemote() and notifyRemote() to request() and notify()

* iOS overlaytriplet added

* only install dependencies once in monorepo

* simplify install action of github

* lint

* vcpkg install --triplet=arm64-ios works

* add support for --ios and --android flags in install.sh

* rename flag iphone to ios

* developing install.sh for iphone

* continue developing install.sh for iphone

* add checks to install.sh to prevent running with false settings

* simple ios framework dylib builds

* ./install.sh --ios works in project root

* dynamic ios example works

* add Branded<> utility type

* move to using std::string_view in Logger APIs

* websockets work

* update vcpkg

* compiles on osx clang 18

* ios compiles with clang 18

* android build works

* revert to clang17 on mac/ios because exceptions cannot be caught on clang18 because of incompatibility with c++abi

* Fix for segmentation fault. And some unit tests which should be modified later when exception handling is added.

* add adnroidttest.sh to run tests on android through adb (a device or an emulator must be connected)

* WebsocketServerTest unit tests added

* work in progress

* always wait for onConnected callback, no matter is the socket already open or not. OnOpen callback gets triggered when callback is set if the connection is already open

* connectionamanager implemented

* move to using templated CallContextType and move-by-value in RpcCommunicator

* moved timout out of the callcontext

* First ConnectionManager test passes

* add EnableSharedFromThis and fix linting errors

* add setting homebrew prefix in install and setenv scripts

* add boost-endian dependency to streamr-utils

* add waitforcondition(), improve naming

* fix linting

* potos of trackerless-network get built

* waitForEvent and poller.start synchronized

* waitForCondition unit tests added

* waitForCondition unit tests added

* developining..

* waitForCondition unit tests added

* add ReplayEventEmitter that replays the latest event to new subscribers

* Integration tests added

* Websocket callbacks synchronized with mutexes

* end-to-end test of ProxyClient compiles but does not work yet

* submodule updated

* fix outgoinghandshaker to save a copy of the targetpeerdescriptor

* generate real random uuids, end-to end broadcast to ts goes through

* use real random uuid

* add utils for testing, split linting in parts

* add errorCallback to send() of CommunicationManager

* work-in-progress

* split Endpoint to separate files, granularize mutex locking

* upgrade vcpkg to latest version

* end-to-end publishing test from libstreamrproxyclient shared library to ts server works

* fix linting

* update submodule

* remove submodule

* re-add submodule using https

* change filename case in git

* filename change case in include

* change case to LibDataChannel

* change include case

* change include case

* change to ubuntu-24.04 runner

* change to noble apt repo

* use gcc14 in github actions

* fix case to LibDataChannel

* fix case

* improve github caching

* include runner.arch in cache names

* include runner.arch in cache names

* remove experimental from folly include statements

* remove unused includes

* remove unused includes

* re-introduce experimental

* re-introduce experimental universally to all folly include statements

* re-introduce experimental universally to all folly include statements

* test also for gnuc in macro definition

* remove size_t from c header file

* add fPIC flag

* set initial value for aborted to false in abortsignal

* use custom main in utils tests

* use initializer list when creating json

* use custom test main in dht

* change size_t argument to uint64_t in shared library

* try fixing event after detroy in websocket

* tests pass on linux

* fix linting

* fix linting

* fix linting

* add placeholder unit tests to fix linting

* add more placeholder unit tests

* remove cpptrace, add monorepo deps to libstreamrproxyclient

* remove cpptrace to enable android builds

* copy ios-aware homebrewClang.cmake to all directories

* add more checks to ensure that  setenvs.sh has been run

* change case of utils.hpp

* try fixing linting errors on linux

* try fixing linting errors on linux

* try fixing linting errors on linux

* move to cland-18 on linux

* move to cland-18 on linux

* add missing include statements to fix linting

* add missing include statements to fix linting

* linting

* linting

* linting

* linting

* linting

* force using clangd18 on linux

* force using clangd18 on linux

* force using clangd19 on linux

* force using clangd19 on linux

* add placeholder unit tests

* try fixing linting errors on linux

* try fixing linting errors on linux

* try fixing linting errors on linux

* linting

* linting

* sending multiple messages works

* iOS xcframework and iOS LocationShare App (With static lib) added

* Added mode *.o files to the static lib

* Added one header file to the static lib

* Android App added

* Workaround removed from the Android app

* Readme added to ios install

* Readme added to android install

* iOS unit test app added

* Compiler flags added

* README update

* Dht unit tests added. Also IPendingConnection abstract class added in order to unit test using mocks

* Unit tests added to iOS Unit Tester

* Unit tests added to iOS Unit Tester

* Unit tests added to CMakeLists.txt

* Unit test removed from CMakeLists.txt

* Unit test cleaned

* convert streamrproxyclient.h to pure C

* Fixed linting for DHT

* Fixed linting for DHT

* 3 flaky tests disabled

* Unit tests fixed

* 2 unit tests commented out. These must be checked later

* Null check added and test disabled as flaky one

* generate shared library distribusions automatically

* also pack ios distribution to tgz

* shared binary for arm64-osx

* x64-osx build

* add duration cast trying to fix a linux bug

* added lfs

* increase logging

* linux binaries

* temporary commit

* rename utils.hpp to Utils.hpp

* add readme to libstreamrproxyclient

* update native-ts-integration submodule

* update readme

* add readme to the unix example

* update readmes

* Android App simplified (#18)

* changed binaries

* add signing utils

* add binary utils

* signing added to unix example

* Signing added to Android LocationShare example app

* Signing added to iOS LocationShare example app

* Stream part Id changed

* Stream part ID changed

* add go and python examples

* try changing clangd to v 17 to fix linting

* try another version of clang-format to fi linting

* try to get lint working in ci

* change to clang-format 18

* lint fixes

* add on more placeholder test

* more placeholders

* more placeholders

* fix json test nullptr handling

* fix tests

* add one more placeholder test

* disable WebSocketServer tests that read certs from disk to make them work in CI

---------

Co-authored-by: Santtu <santtu.rantanen@gmail.com>
Co-authored-by: juslesan <santeri.juslenius@gmail.com>
SanttuRantanen added a commit that referenced this pull request Dec 5, 2024
* fix linting

* Integration tests added

* capture list references changed to copies in notifyRemote

* Old Exception type changed to string

* server-side exceptions work

* fix linting

* fix linting

* These generated files should be in git otherwise install does not work

* Exception unit tests added for client and server

* Exception wrapping added to notifyRemote. Also exception handling unit tests added to RpcCommunicatorTest

* More integration tests added

* timeouts work for calls

* fix linting

* fix linting

* Unit tests cleaned

* ServerRegistry unit tests cleaned

* ProtoRpcTest integration tests cleaned

* Linter modifications

* minimal cleanup, tests working

* clean up onIncomingMessage()

* added client-side timeouts for notifications

* protect mOngoingRequests with a mutex

* rename outgoingMessageListener to outgoingMessageCallback

* reduce logging levels

* fix linting

* add protobuf-generated files

* fix linting in CI

* increase CI caching

* add example hello

* add custom test main that calls folly::init

* add custom test main that calls folly::init lint

* improve CI caching

* try fixing tests

* Part of RoutesHello example added

* add example routedhello

* add readme

* try making notifytask a member function

* try making notifytask a member function

* remove task-creating labda

* lint

* use own executors

* increase logging

* debugging

* use cpu executor directly instead of through a task

* lint

* move callback by value

* add folly example

* Reference removed in capture list

* Typo fixed

* fix linting

* add overlay triplet for x64 linux to compile folly in release mode only

* added temporary overlay port for magic-enum to fix changed hash

* split RpcCommunicator into three parts

* add comments and clean up

* add permalinks to protobuf files pointing  to github commits of network-monorepo

* rename callRemote() and notifyRemote() to request() and notify()

* iOS overlaytriplet added

* only install dependencies once in monorepo

* simplify install action of github

* lint

* vcpkg install --triplet=arm64-ios works

* add support for --ios and --android flags in install.sh

* rename flag iphone to ios

* developing install.sh for iphone

* continue developing install.sh for iphone

* add checks to install.sh to prevent running with false settings

* simple ios framework dylib builds

* ./install.sh --ios works in project root

* dynamic ios example works

* add Branded<> utility type

* move to using std::string_view in Logger APIs

* websockets work

* update vcpkg

* compiles on osx clang 18

* ios compiles with clang 18

* android build works

* revert to clang17 on mac/ios because exceptions cannot be caught on clang18 because of incompatibility with c++abi

* Fix for segmentation fault. And some unit tests which should be modified later when exception handling is added.

* add adnroidttest.sh to run tests on android through adb (a device or an emulator must be connected)

* WebsocketServerTest unit tests added

* work in progress

* always wait for onConnected callback, no matter is the socket already open or not. OnOpen callback gets triggered when callback is set if the connection is already open

* connectionamanager implemented

* move to using templated CallContextType and move-by-value in RpcCommunicator

* moved timout out of the callcontext

* First ConnectionManager test passes

* add EnableSharedFromThis and fix linting errors

* add setting homebrew prefix in install and setenv scripts

* add boost-endian dependency to streamr-utils

* add waitforcondition(), improve naming

* fix linting

* potos of trackerless-network get built

* waitForEvent and poller.start synchronized

* waitForCondition unit tests added

* waitForCondition unit tests added

* developining..

* waitForCondition unit tests added

* add ReplayEventEmitter that replays the latest event to new subscribers

* Integration tests added

* Websocket callbacks synchronized with mutexes

* end-to-end test of ProxyClient compiles but does not work yet

* submodule updated

* fix outgoinghandshaker to save a copy of the targetpeerdescriptor

* generate real random uuids, end-to end broadcast to ts goes through

* use real random uuid

* add utils for testing, split linting in parts

* add errorCallback to send() of CommunicationManager

* work-in-progress

* split Endpoint to separate files, granularize mutex locking

* upgrade vcpkg to latest version

* end-to-end publishing test from libstreamrproxyclient shared library to ts server works

* fix linting

* update submodule

* remove submodule

* re-add submodule using https

* change filename case in git

* filename change case in include

* change case to LibDataChannel

* change include case

* change include case

* change to ubuntu-24.04 runner

* change to noble apt repo

* use gcc14 in github actions

* fix case to LibDataChannel

* fix case

* improve github caching

* include runner.arch in cache names

* include runner.arch in cache names

* remove experimental from folly include statements

* remove unused includes

* remove unused includes

* re-introduce experimental

* re-introduce experimental universally to all folly include statements

* re-introduce experimental universally to all folly include statements

* test also for gnuc in macro definition

* remove size_t from c header file

* add fPIC flag

* set initial value for aborted to false in abortsignal

* use custom main in utils tests

* use initializer list when creating json

* use custom test main in dht

* change size_t argument to uint64_t in shared library

* try fixing event after detroy in websocket

* tests pass on linux

* fix linting

* fix linting

* fix linting

* add placeholder unit tests to fix linting

* add more placeholder unit tests

* remove cpptrace, add monorepo deps to libstreamrproxyclient

* remove cpptrace to enable android builds

* copy ios-aware homebrewClang.cmake to all directories

* add more checks to ensure that  setenvs.sh has been run

* change case of utils.hpp

* try fixing linting errors on linux

* try fixing linting errors on linux

* try fixing linting errors on linux

* move to cland-18 on linux

* move to cland-18 on linux

* add missing include statements to fix linting

* add missing include statements to fix linting

* linting

* linting

* linting

* linting

* linting

* force using clangd18 on linux

* force using clangd18 on linux

* force using clangd19 on linux

* force using clangd19 on linux

* add placeholder unit tests

* try fixing linting errors on linux

* try fixing linting errors on linux

* try fixing linting errors on linux

* linting

* linting

* sending multiple messages works

* iOS xcframework and iOS LocationShare App (With static lib) added

* Added mode *.o files to the static lib

* Added one header file to the static lib

* Android App added

* Workaround removed from the Android app

* Readme added to ios install

* Readme added to android install

* iOS unit test app added

* Compiler flags added

* README update

* Dht unit tests added. Also IPendingConnection abstract class added in order to unit test using mocks

* Unit tests added to iOS Unit Tester

* Unit tests added to iOS Unit Tester

* Unit tests added to CMakeLists.txt

* Unit test removed from CMakeLists.txt

* Unit test cleaned

* convert streamrproxyclient.h to pure C

* Fixed linting for DHT

* Fixed linting for DHT

* 3 flaky tests disabled

* Unit tests fixed

* 2 unit tests commented out. These must be checked later

* Null check added and test disabled as flaky one

* generate shared library distribusions automatically

* also pack ios distribution to tgz

* shared binary for arm64-osx

* x64-osx build

* add duration cast trying to fix a linux bug

* added lfs

* increase logging

* linux binaries

* temporary commit

* rename utils.hpp to Utils.hpp

* add readme to libstreamrproxyclient

* update native-ts-integration submodule

* update readme

* add readme to the unix example

* update readmes

* Android App simplified (#18)

* changed binaries

* add signing utils

* add binary utils

* signing added to unix example

* Signing added to Android LocationShare example app

* Signing added to iOS LocationShare example app

* Stream part Id changed

* Stream part ID changed

* add go and python examples

* try changing clangd to v 17 to fix linting

* try another version of clang-format to fi linting

* try to get lint working in ci

* change to clang-format 18

* lint fixes

* add on more placeholder test

* more placeholders

* more placeholders

* fix json test nullptr handling

* fix tests

* add one more placeholder test

* disable WebSocketServer tests that read certs from disk to make them work in CI

---------

Co-authored-by: Santtu <santtu.rantanen@gmail.com>
Co-authored-by: juslesan <santeri.juslenius@gmail.com>
SanttuRantanen added a commit that referenced this pull request Dec 5, 2024
ptesavol added a commit that referenced this pull request Dec 20, 2024
* WebsocketServerTest unit tests added

* work in progress

* always wait for onConnected callback, no matter is the socket already open or not. OnOpen callback gets triggered when callback is set if the connection is already open

* Create action_ios.yml

ios install

* Delete .github/workflows/reusable/cached-install/action_ios.yml

* connectionamanager implemented

* move to using templated CallContextType and move-by-value in RpcCommunicator

* moved timout out of the callcontext

* First ConnectionManager test passes

* add EnableSharedFromThis and fix linting errors

* add setting homebrew prefix in install and setenv scripts

* add boost-endian dependency to streamr-utils

* add waitforcondition(), improve naming

* fix linting

* potos of trackerless-network get built

* waitForEvent and poller.start synchronized

* waitForCondition unit tests added

* waitForCondition unit tests added

* developining..

* waitForCondition unit tests added

* add ReplayEventEmitter that replays the latest event to new subscribers

* Integration tests added

* Websocket callbacks synchronized with mutexes

* end-to-end test of ProxyClient compiles but does not work yet

* submodule updated

* fix outgoinghandshaker to save a copy of the targetpeerdescriptor

* generate real random uuids, end-to end broadcast to ts goes through

* use real random uuid

* add utils for testing, split linting in parts

* add errorCallback to send() of CommunicationManager

* work-in-progress

* split Endpoint to separate files, granularize mutex locking

* upgrade vcpkg to latest version

* end-to-end publishing test from libstreamrproxyclient shared library to ts server works

* fix linting

* update submodule

* remove submodule

* re-add submodule using https

* change filename case in git

* filename change case in include

* change case to LibDataChannel

* change include case

* change include case

* change to ubuntu-24.04 runner

* change to noble apt repo

* use gcc14 in github actions

* fix case to LibDataChannel

* fix case

* improve github caching

* include runner.arch in cache names

* include runner.arch in cache names

* remove experimental from folly include statements

* remove unused includes

* remove unused includes

* re-introduce experimental

* re-introduce experimental universally to all folly include statements

* re-introduce experimental universally to all folly include statements

* test also for gnuc in macro definition

* remove size_t from c header file

* add fPIC flag

* set initial value for aborted to false in abortsignal

* use custom main in utils tests

* use initializer list when creating json

* use custom test main in dht

* change size_t argument to uint64_t in shared library

* try fixing event after detroy in websocket

* tests pass on linux

* fix linting

* fix linting

* fix linting

* add placeholder unit tests to fix linting

* add more placeholder unit tests

* remove cpptrace, add monorepo deps to libstreamrproxyclient

* remove cpptrace to enable android builds

* copy ios-aware homebrewClang.cmake to all directories

* add more checks to ensure that  setenvs.sh has been run

* change case of utils.hpp

* try fixing linting errors on linux

* try fixing linting errors on linux

* try fixing linting errors on linux

* move to cland-18 on linux

* move to cland-18 on linux

* add missing include statements to fix linting

* add missing include statements to fix linting

* linting

* linting

* linting

* linting

* linting

* force using clangd18 on linux

* force using clangd18 on linux

* force using clangd19 on linux

* force using clangd19 on linux

* add placeholder unit tests

* try fixing linting errors on linux

* try fixing linting errors on linux

* try fixing linting errors on linux

* linting

* linting

* sending multiple messages works

* iOS xcframework and iOS LocationShare App (With static lib) added

* Added mode *.o files to the static lib

* Added one header file to the static lib

* Android App added

* Workaround removed from the Android app

* Readme added to ios install

* Readme added to android install

* iOS unit test app added

* Compiler flags added

* README update

* Dht unit tests added. Also IPendingConnection abstract class added in order to unit test using mocks

* Unit tests added to iOS Unit Tester

* Unit tests added to iOS Unit Tester

* Unit tests added to CMakeLists.txt

* Unit test removed from CMakeLists.txt

* Unit test cleaned

* convert streamrproxyclient.h to pure C

* Fixed linting for DHT

* Fixed linting for DHT

* 3 flaky tests disabled

* Unit tests fixed

* 2 unit tests commented out. These must be checked later

* Null check added and test disabled as flaky one

* generate shared library distribusions automatically

* also pack ios distribution to tgz

* shared binary for arm64-osx

* x64-osx build

* add duration cast trying to fix a linux bug

* added lfs

* increase logging

* linux binaries

* temporary commit

* rename utils.hpp to Utils.hpp

* add readme to libstreamrproxyclient

* update native-ts-integration submodule

* update readme

* add readme to the unix example

* update readmes

* Android App simplified (#18)

* changed binaries

* add signing utils

* add binary utils

* signing added to unix example

* Signing added to Android LocationShare example app

* Signing added to iOS LocationShare example app

* Stream part Id changed

* Stream part ID changed

* add go and python examples

* add initial cpp wrapper file

* new c api compiles, tests fail

* define copy, move and assignmet for ProxyResults and related classes

* libstreamrproxyclient tests pass with the new C API

* add python wrapper and fixes to the shared library

* python wrapper works

* go wrapper works

* Module3 (#13)

* fix linting

* Integration tests added

* capture list references changed to copies in notifyRemote

* Old Exception type changed to string

* server-side exceptions work

* fix linting

* fix linting

* These generated files should be in git otherwise install does not work

* Exception unit tests added for client and server

* Exception wrapping added to notifyRemote. Also exception handling unit tests added to RpcCommunicatorTest

* More integration tests added

* timeouts work for calls

* fix linting

* fix linting

* Unit tests cleaned

* ServerRegistry unit tests cleaned

* ProtoRpcTest integration tests cleaned

* Linter modifications

* minimal cleanup, tests working

* clean up onIncomingMessage()

* added client-side timeouts for notifications

* protect mOngoingRequests with a mutex

* rename outgoingMessageListener to outgoingMessageCallback

* reduce logging levels

* fix linting

* add protobuf-generated files

* fix linting in CI

* increase CI caching

* add example hello

* add custom test main that calls folly::init

* add custom test main that calls folly::init lint

* improve CI caching

* try fixing tests

* Part of RoutesHello example added

* add example routedhello

* add readme

* try making notifytask a member function

* try making notifytask a member function

* remove task-creating labda

* lint

* use own executors

* increase logging

* debugging

* use cpu executor directly instead of through a task

* lint

* move callback by value

* add folly example

* Reference removed in capture list

* Typo fixed

* fix linting

* add overlay triplet for x64 linux to compile folly in release mode only

* added temporary overlay port for magic-enum to fix changed hash

* split RpcCommunicator into three parts

* add comments and clean up

* add permalinks to protobuf files pointing  to github commits of network-monorepo

* rename callRemote() and notifyRemote() to request() and notify()

* iOS overlaytriplet added

* only install dependencies once in monorepo

* simplify install action of github

* lint

* vcpkg install --triplet=arm64-ios works

* add support for --ios and --android flags in install.sh

* rename flag iphone to ios

* developing install.sh for iphone

* continue developing install.sh for iphone

* add checks to install.sh to prevent running with false settings

* simple ios framework dylib builds

* ./install.sh --ios works in project root

* dynamic ios example works

* add Branded<> utility type

* move to using std::string_view in Logger APIs

* websockets work

* update vcpkg

* compiles on osx clang 18

* ios compiles with clang 18

* android build works

* revert to clang17 on mac/ios because exceptions cannot be caught on clang18 because of incompatibility with c++abi

* Fix for segmentation fault. And some unit tests which should be modified later when exception handling is added.

* add adnroidttest.sh to run tests on android through adb (a device or an emulator must be connected)

* WebsocketServerTest unit tests added

* work in progress

* always wait for onConnected callback, no matter is the socket already open or not. OnOpen callback gets triggered when callback is set if the connection is already open

* connectionamanager implemented

* move to using templated CallContextType and move-by-value in RpcCommunicator

* moved timout out of the callcontext

* First ConnectionManager test passes

* add EnableSharedFromThis and fix linting errors

* add setting homebrew prefix in install and setenv scripts

* add boost-endian dependency to streamr-utils

* add waitforcondition(), improve naming

* fix linting

* potos of trackerless-network get built

* waitForEvent and poller.start synchronized

* waitForCondition unit tests added

* waitForCondition unit tests added

* developining..

* waitForCondition unit tests added

* add ReplayEventEmitter that replays the latest event to new subscribers

* Integration tests added

* Websocket callbacks synchronized with mutexes

* end-to-end test of ProxyClient compiles but does not work yet

* submodule updated

* fix outgoinghandshaker to save a copy of the targetpeerdescriptor

* generate real random uuids, end-to end broadcast to ts goes through

* use real random uuid

* add utils for testing, split linting in parts

* add errorCallback to send() of CommunicationManager

* work-in-progress

* split Endpoint to separate files, granularize mutex locking

* upgrade vcpkg to latest version

* end-to-end publishing test from libstreamrproxyclient shared library to ts server works

* fix linting

* update submodule

* remove submodule

* re-add submodule using https

* change filename case in git

* filename change case in include

* change case to LibDataChannel

* change include case

* change include case

* change to ubuntu-24.04 runner

* change to noble apt repo

* use gcc14 in github actions

* fix case to LibDataChannel

* fix case

* improve github caching

* include runner.arch in cache names

* include runner.arch in cache names

* remove experimental from folly include statements

* remove unused includes

* remove unused includes

* re-introduce experimental

* re-introduce experimental universally to all folly include statements

* re-introduce experimental universally to all folly include statements

* test also for gnuc in macro definition

* remove size_t from c header file

* add fPIC flag

* set initial value for aborted to false in abortsignal

* use custom main in utils tests

* use initializer list when creating json

* use custom test main in dht

* change size_t argument to uint64_t in shared library

* try fixing event after detroy in websocket

* tests pass on linux

* fix linting

* fix linting

* fix linting

* add placeholder unit tests to fix linting

* add more placeholder unit tests

* remove cpptrace, add monorepo deps to libstreamrproxyclient

* remove cpptrace to enable android builds

* copy ios-aware homebrewClang.cmake to all directories

* add more checks to ensure that  setenvs.sh has been run

* change case of utils.hpp

* try fixing linting errors on linux

* try fixing linting errors on linux

* try fixing linting errors on linux

* move to cland-18 on linux

* move to cland-18 on linux

* add missing include statements to fix linting

* add missing include statements to fix linting

* linting

* linting

* linting

* linting

* linting

* force using clangd18 on linux

* force using clangd18 on linux

* force using clangd19 on linux

* force using clangd19 on linux

* add placeholder unit tests

* try fixing linting errors on linux

* try fixing linting errors on linux

* try fixing linting errors on linux

* linting

* linting

* sending multiple messages works

* iOS xcframework and iOS LocationShare App (With static lib) added

* Added mode *.o files to the static lib

* Added one header file to the static lib

* Android App added

* Workaround removed from the Android app

* Readme added to ios install

* Readme added to android install

* iOS unit test app added

* Compiler flags added

* README update

* Dht unit tests added. Also IPendingConnection abstract class added in order to unit test using mocks

* Unit tests added to iOS Unit Tester

* Unit tests added to iOS Unit Tester

* Unit tests added to CMakeLists.txt

* Unit test removed from CMakeLists.txt

* Unit test cleaned

* convert streamrproxyclient.h to pure C

* Fixed linting for DHT

* Fixed linting for DHT

* 3 flaky tests disabled

* Unit tests fixed

* 2 unit tests commented out. These must be checked later

* Null check added and test disabled as flaky one

* generate shared library distribusions automatically

* also pack ios distribution to tgz

* shared binary for arm64-osx

* x64-osx build

* add duration cast trying to fix a linux bug

* added lfs

* increase logging

* linux binaries

* temporary commit

* rename utils.hpp to Utils.hpp

* add readme to libstreamrproxyclient

* update native-ts-integration submodule

* update readme

* add readme to the unix example

* update readmes

* Android App simplified (#18)

* changed binaries

* add signing utils

* add binary utils

* signing added to unix example

* Signing added to Android LocationShare example app

* Signing added to iOS LocationShare example app

* Stream part Id changed

* Stream part ID changed

* add go and python examples

* try changing clangd to v 17 to fix linting

* try another version of clang-format to fi linting

* try to get lint working in ci

* change to clang-format 18

* lint fixes

* add on more placeholder test

* more placeholders

* more placeholders

* fix json test nullptr handling

* fix tests

* add one more placeholder test

* disable WebSocketServer tests that read certs from disk to make them work in CI

---------

Co-authored-by: Santtu <santtu.rantanen@gmail.com>
Co-authored-by: juslesan <santeri.juslenius@gmail.com>

* fix lint

* lint fix

* lint fixes

* try autogenerating and auto-committing binaries

* fix bug in workflow

* removed dist to fix lfs

* add cmake install to libstreamrproxyclient

* remove go dist from gitignore

* remove go dist from gitignore

* try fixing detached head in CI action push

* try get lfs to work in ci

* lfs push

* lfs push

* ...

* .

* allow incomplete push

* add README.md

* linux binaries

* Module3 (#13)

* fix linting

* Integration tests added

* capture list references changed to copies in notifyRemote

* Old Exception type changed to string

* server-side exceptions work

* fix linting

* fix linting

* These generated files should be in git otherwise install does not work

* Exception unit tests added for client and server

* Exception wrapping added to notifyRemote. Also exception handling unit tests added to RpcCommunicatorTest

* More integration tests added

* timeouts work for calls

* fix linting

* fix linting

* Unit tests cleaned

* ServerRegistry unit tests cleaned

* ProtoRpcTest integration tests cleaned

* Linter modifications

* minimal cleanup, tests working

* clean up onIncomingMessage()

* added client-side timeouts for notifications

* protect mOngoingRequests with a mutex

* rename outgoingMessageListener to outgoingMessageCallback

* reduce logging levels

* fix linting

* add protobuf-generated files

* fix linting in CI

* increase CI caching

* add example hello

* add custom test main that calls folly::init

* add custom test main that calls folly::init lint

* improve CI caching

* try fixing tests

* Part of RoutesHello example added

* add example routedhello

* add readme

* try making notifytask a member function

* try making notifytask a member function

* remove task-creating labda

* lint

* use own executors

* increase logging

* debugging

* use cpu executor directly instead of through a task

* lint

* move callback by value

* add folly example

* Reference removed in capture list

* Typo fixed

* fix linting

* add overlay triplet for x64 linux to compile folly in release mode only

* added temporary overlay port for magic-enum to fix changed hash

* split RpcCommunicator into three parts

* add comments and clean up

* add permalinks to protobuf files pointing  to github commits of network-monorepo

* rename callRemote() and notifyRemote() to request() and notify()

* iOS overlaytriplet added

* only install dependencies once in monorepo

* simplify install action of github

* lint

* vcpkg install --triplet=arm64-ios works

* add support for --ios and --android flags in install.sh

* rename flag iphone to ios

* developing install.sh for iphone

* continue developing install.sh for iphone

* add checks to install.sh to prevent running with false settings

* simple ios framework dylib builds

* ./install.sh --ios works in project root

* dynamic ios example works

* add Branded<> utility type

* move to using std::string_view in Logger APIs

* websockets work

* update vcpkg

* compiles on osx clang 18

* ios compiles with clang 18

* android build works

* revert to clang17 on mac/ios because exceptions cannot be caught on clang18 because of incompatibility with c++abi

* Fix for segmentation fault. And some unit tests which should be modified later when exception handling is added.

* add adnroidttest.sh to run tests on android through adb (a device or an emulator must be connected)

* WebsocketServerTest unit tests added

* work in progress

* always wait for onConnected callback, no matter is the socket already open or not. OnOpen callback gets triggered when callback is set if the connection is already open

* connectionamanager implemented

* move to using templated CallContextType and move-by-value in RpcCommunicator

* moved timout out of the callcontext

* First ConnectionManager test passes

* add EnableSharedFromThis and fix linting errors

* add setting homebrew prefix in install and setenv scripts

* add boost-endian dependency to streamr-utils

* add waitforcondition(), improve naming

* fix linting

* potos of trackerless-network get built

* waitForEvent and poller.start synchronized

* waitForCondition unit tests added

* waitForCondition unit tests added

* developining..

* waitForCondition unit tests added

* add ReplayEventEmitter that replays the latest event to new subscribers

* Integration tests added

* Websocket callbacks synchronized with mutexes

* end-to-end test of ProxyClient compiles but does not work yet

* submodule updated

* fix outgoinghandshaker to save a copy of the targetpeerdescriptor

* generate real random uuids, end-to end broadcast to ts goes through

* use real random uuid

* add utils for testing, split linting in parts

* add errorCallback to send() of CommunicationManager

* work-in-progress

* split Endpoint to separate files, granularize mutex locking

* upgrade vcpkg to latest version

* end-to-end publishing test from libstreamrproxyclient shared library to ts server works

* fix linting

* update submodule

* remove submodule

* re-add submodule using https

* change filename case in git

* filename change case in include

* change case to LibDataChannel

* change include case

* change include case

* change to ubuntu-24.04 runner

* change to noble apt repo

* use gcc14 in github actions

* fix case to LibDataChannel

* fix case

* improve github caching

* include runner.arch in cache names

* include runner.arch in cache names

* remove experimental from folly include statements

* remove unused includes

* remove unused includes

* re-introduce experimental

* re-introduce experimental universally to all folly include statements

* re-introduce experimental universally to all folly include statements

* test also for gnuc in macro definition

* remove size_t from c header file

* add fPIC flag

* set initial value for aborted to false in abortsignal

* use custom main in utils tests

* use initializer list when creating json

* use custom test main in dht

* change size_t argument to uint64_t in shared library

* try fixing event after detroy in websocket

* tests pass on linux

* fix linting

* fix linting

* fix linting

* add placeholder unit tests to fix linting

* add more placeholder unit tests

* remove cpptrace, add monorepo deps to libstreamrproxyclient

* remove cpptrace to enable android builds

* copy ios-aware homebrewClang.cmake to all directories

* add more checks to ensure that  setenvs.sh has been run

* change case of utils.hpp

* try fixing linting errors on linux

* try fixing linting errors on linux

* try fixing linting errors on linux

* move to cland-18 on linux

* move to cland-18 on linux

* add missing include statements to fix linting

* add missing include statements to fix linting

* linting

* linting

* linting

* linting

* linting

* force using clangd18 on linux

* force using clangd18 on linux

* force using clangd19 on linux

* force using clangd19 on linux

* add placeholder unit tests

* try fixing linting errors on linux

* try fixing linting errors on linux

* try fixing linting errors on linux

* linting

* linting

* sending multiple messages works

* iOS xcframework and iOS LocationShare App (With static lib) added

* Added mode *.o files to the static lib

* Added one header file to the static lib

* Android App added

* Workaround removed from the Android app

* Readme added to ios install

* Readme added to android install

* iOS unit test app added

* Compiler flags added

* README update

* Dht unit tests added. Also IPendingConnection abstract class added in order to unit test using mocks

* Unit tests added to iOS Unit Tester

* Unit tests added to iOS Unit Tester

* Unit tests added to CMakeLists.txt

* Unit test removed from CMakeLists.txt

* Unit test cleaned

* convert streamrproxyclient.h to pure C

* Fixed linting for DHT

* Fixed linting for DHT

* 3 flaky tests disabled

* Unit tests fixed

* 2 unit tests commented out. These must be checked later

* Null check added and test disabled as flaky one

* generate shared library distribusions automatically

* also pack ios distribution to tgz

* shared binary for arm64-osx

* x64-osx build

* add duration cast trying to fix a linux bug

* added lfs

* increase logging

* linux binaries

* temporary commit

* rename utils.hpp to Utils.hpp

* add readme to libstreamrproxyclient

* update native-ts-integration submodule

* update readme

* add readme to the unix example

* update readmes

* Android App simplified (#18)

* changed binaries

* add signing utils

* add binary utils

* signing added to unix example

* Signing added to Android LocationShare example app

* Signing added to iOS LocationShare example app

* Stream part Id changed

* Stream part ID changed

* add go and python examples

* try changing clangd to v 17 to fix linting

* try another version of clang-format to fi linting

* try to get lint working in ci

* change to clang-format 18

* lint fixes

* add on more placeholder test

* more placeholders

* more placeholders

* fix json test nullptr handling

* fix tests

* add one more placeholder test

* disable WebSocketServer tests that read certs from disk to make them work in CI

---------

Co-authored-by: Santtu <santtu.rantanen@gmail.com>
Co-authored-by: juslesan <santeri.juslenius@gmail.com>

* add missing lfs files

* remove lfs from actions

* remove lfs files

* rm

* Update action.yml

* fix formatting

* remove gitattributes

* Automatically compiled binaries

* try running ci on macos

* try ignoring xcode install failure

* try ignoring llvm install failure

* try ignoring more install failures

* try different macos versions

* exclude PluginCodeGenerator.hpp from linting

* add arm-64 linux runner to matrix

* Automatically compiled binaries

* pull before push in git scripts

* Automatically compiled binaries

* change git command to rebase

* Automatically compiled binaries

* Automatically compiled binaries

* fix tests

* Automatically compiled binaries

* Automatically compiled binaries

* debug tests on mac runner

* cat libdatachannel build log on build failure

* Automatically compiled binaries

* use unique ports in tests

* Automatically compiled binaries

* enable all 4 matrix builds

* Automatically compiled binaries

* fix tests

* Automatically compiled binaries

* Automatically compiled binaries

* Automatically compiled binaries

* Automatically compiled binaries

* increase test timeout

* restart all jobs

* Automatically compiled binaries

* Automatically compiled binaries

* Automatically compiled binaries

* Automatically compiled binaries

* Automatically compiled binaries

* add go example

* remove gowrapper, make it a submodule later

* add gowrapper as submodule

* prepare for merge

* improve go example

* add script for creating python package, add readme to go and python wrappers

* add c++ wrapper

* lint

* fix folly to work with latest android studio

* fix remainin conflicts

* try python publishing in CI

* add submodule support to CI

* try fixing folly

* re-run jobs

* patch libdatachannel

* set c compiler envs

* try using file copy

* try using file copy and rename

* remove unnecessary env vars from install.sh

* do not push binaries to repo

* remove second cpp wrapper

* fix createpythonpackage

---------

Co-authored-by: Santtu <santtu.rantanen@gmail.com>
Co-authored-by: juslesan <santeri.juslenius@gmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant