Updates go-proton-api and Gluon to includes memory reduction changes and
modify the sync process to take into account how much memory is used
during the sync stage.
The sync process now has an extra stage which first download the message
metada to ensure that we only download up to `syncMaxDownloadRequesMem`
messages or 250 messages total. This allows for scaling the download
request automatically to accommodate many small or few very large
messages.
The IDs are then sent to a download go-routine which downloads the
message and its attachments. The result is then forwarded to another
go-routine which builds the actual message. This stage tries to ensure
that we don't use more than `syncMaxMessageBuildingMem` to build these
messages.
Finally the result is sent to a last go-routine which applies the
changes to Gluon and waits for them to be completed.
The new process is currently limited to 2GB. Dynamic scaling will be
implemented in a follow up. For systems with less than 2GB of memory we
limit the values to a set of values that is known to work.
Add missing Close calls.
Properly handle nil channel for `user.startSync`.
This patch also updated liteapi and Gluon to latest master and dev
version respectively.
There was a race condition internal to the go-smtp library.
In order to fix it, a version bump was necessary.
However, this significantly changed the library interface.
Other: renaming of bridge-gui.
WIP: locate bridge exe.
WIP: bridge process launch.
WIP: cleaner closure of bridge.
WIP: grpcClient connection retries.
WIP: clean exit when bridge process is killed.
Fixed issues from MR review. [skip-ci].
WIP: Fixed gRPC case in CMakelists.txt [skip-ci]
It caused issues on Debian.
WIP: update gRPC/protobuf and tweaked CMakeLists.txt. [skip-ci]
WIP: Fixed a bug where splash screen could not be dismissed. [skip-ci]
WIP: updates
WIP: cache on disk and autostart.
WIP: mail, keychain and more.
WIP: updated grpc version in go mod file.
WIP: user list.
WIP: RPC service placeholder
WIP: test C++ RPC client skeleton.
Other: missing license script update.
WIP: use Qt test framework.
WIP: test for app and login calls.
WIP: test for update & cache on disk calls.
WIP: tests for mail settings calls.
WIP: all client tests.
WIP: linter fixes.
WIP: fix missing license link.
WIP: update dependency_license script for gRPC and protobuf.
WIP: removed unused file.
WIP: app & login event streaming tests.
WIP: update event stream tests.
WIP: completed event streaming tests.
GODT-1554: qt C++ frontend skeleton.
WIP: C++ backend declaration.
wip: started drafting user model.
WIP: users. not functional.
WIP: invokable methods
WIP: Exception class + backend 'injection' into QML.
WIP: switch to VCPKG to ease multi-arch compilation, C++ RPC client skeleton.
WIP: Renaming and reorganisation
WIP:introduced new 'grpc' go frontend.
WIP: Worker & Oveerseer for thread management.
WIP: added log to C++ app.
WIP: event stream architecture on Go side.
WIP: event parsing and streamer stopping.
WIP: Moved grpc to frontend subfolder + use vcpkg for gRPC and protobuf.
WIP: windows building ok
WIP: wired a few messages
WIP: more wiring.
WIP: Fixed imports after rebase on top of devel.
WIP: wired some bool and string properties.
WIP: more properties.
WIP: wired cache on disk stuff
WIP: connect event watcher.
WIP: login
WIP: fix showSplashScreen
WIP: Wired login calls.
WIP: user list.
WIP: Refactored main().
WIP: User retrieval .
WIP: no shared pointer in user model.
WIP: fixed user count.
WIP: cached goos.
WIP: Wired autostart
WIP: beta channel toggle wired.
WIP: User removal
WIP: wired theme
WIP: implemented configure apple mail.
WIP: split mode.
WIP: fixed user updates.
WIP: fixed Quit from tray icon
WIP: wired CurrentEmailClient
WIP: wired UseSSLForSMTP
WIP: wired change ports .
WIP: wired DoH. .
WIP: wired keychain calls.
WIP: wired autoupdate option.
WIP: QML Backend clean-up.
WIP: cleanup.
WIP: moved user related files in subfolder. .
WIP: User are managed using smart pointers.
WIP: cleanup.
WIP: more cleanup.
WIP: mail events forwarding
WIP: code inspection tweaks from CLion.
WIP: moved QML, cleanup, and missing copyright notices.
WIP: Backend is not QMLBackend.
Other: fixed issues reported by Leander. [skip ci]
WIP: updates
WIP: cache on disk and autostart.
WIP: mail, keychain and more.
WIP: updated grpc version in go mod file.
WIP: user list.
WIP: RPC service placeholder
WIP: test C++ RPC client skeleton.
Other: missing license script update.
WIP: use Qt test framework.
WIP: test for app and login calls.
WIP: test for update & cache on disk calls.
WIP: tests for mail settings calls.
WIP: all client tests.
WIP: linter fixes.
WIP: fix missing license link.
WIP: update dependency_license script for gRPC and protobuf.
WIP: removed unused file.
WIP: app & login event streaming tests.
WIP: update event stream tests.
WIP: completed event streaming tests.
* Renaming GUI, CLI, no-impact config.
* License header and documentation rebranding.
* Rename app title and vendor. Impact: manual install
* Migrating mac keychain and launch on startup.
* Fix linter and linter renaming