Commit Graph

204 Commits

Author SHA1 Message Date
James Houlahan edd326efd9 GODT-1650: Mixed case and failure sending tests 2022-11-16 12:26:09 +01:00
James Houlahan cce372fc50 GODT-1650: Test of end-to-end send with attachments (internal) 2022-11-16 12:26:09 +01:00
James Houlahan 0badd69409 GODT-1650: sending tests with attachments 2022-11-16 12:26:09 +01:00
James Houlahan c953b8030a GODT-1650: text/html sending tests 2022-11-16 12:26:09 +01:00
James Houlahan ba9368426c GODT-1650: Send extras 2022-11-16 12:26:09 +01:00
James Houlahan 6ac68984f2 GODT-1609: Fix bridge password encoding 2022-11-16 12:26:09 +01:00
Romain LE JEUNE b536b8707e GODT-1609: use byte array for password 2022-11-16 12:26:09 +01:00
James Houlahan 4fc22e25ba GODT-1650: Bump gluon to latest version 2022-11-16 12:26:09 +01:00
James Houlahan 0f9a9a377b GODT-1650: Bump liteapi to v0.31.1 2022-11-16 12:26:09 +01:00
James Houlahan e9672e6bba GODT-1815: Combined/Split mode 2022-11-16 12:26:08 +01:00
James Houlahan 1da1188351 GODT-1815: Upgrade to liteapi v0.31.0 2022-11-16 12:26:08 +01:00
James Houlahan 39433fe707 GODT-1779: Remove go-imap 2022-11-16 12:26:08 +01:00
Romain LE JEUNE 31514c8e31 GODT-1645: add a make target for gobinsec check 2022-10-26 06:31:40 +00:00
Romain LE JEUNE 96878e2247
GODT-1853: upgrade dependencies (including x/crypto) 2022-09-23 09:20:14 +02:00
Jakub 61c787b1c7 GODT-1833: Updage go.mod/sum. 2022-09-01 13:44:01 +02:00
James Houlahan 6bbe2d0e00 Other(refactor): Remove bridgeWrap from frontend interface 2022-09-01 13:31:10 +02:00
Xavier Michelon 0a1f349901 Other: require go 1.18 and update to golangci-lint to latest revision + fixes. 2022-09-01 13:23:07 +02:00
Xavier Michelon 72708d6e2c GODT-1667: bridge-gui spawns bridge process. [skip-ci]
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]
2022-09-01 13:21:31 +02:00
Xavier Michelon c11fe3e1ab GODT-1554 / 1555: Implement gRPC go service and Qt 5 frontend C++ app.
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]
2022-09-01 13:21:29 +02:00
Xavier Michelon a4e54f063d GODT-1553: RPC definition and mocks
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.
2022-09-01 13:20:56 +02:00
Leander Beernaert 136d514cf7 GODT-1626: Update gopenpgp v2.4.7
This patch also replaces the deprecated calls to `SeparateKeyAndData`
with `SplitMessage`.
2022-08-16 16:05:42 +02:00
Leander Beernaert 6e48345d54 GODT-1627: Update go-srvp to v0.0.5 2022-08-16 16:05:42 +02:00
Jakub b8f27cc7d2 GODT-1550: Update dependencies 2022-05-16 09:23:16 +00:00
Jakub c32a106898 GODT-1525: Add keybase/go-keychain/secretservice as new keychain helper. 2022-04-06 11:49:27 +00:00
Jakub 6671dd38ea GODT-1524: Logout issues with macOS. 2022-03-23 09:50:17 +01:00
Jakub f9f4ce996d GODT-1375: Add host architecture to sentry reports 2022-01-18 09:52:57 +00:00
Jakub c2ffae3799 GODT-1494: Update GopenPGP to 2.4.1 2022-01-14 10:20:51 +01:00
Jakub e9c05c5a6b GODT-1490: Update go sentry and openpgp 2022-01-10 15:48:46 +01:00
Jakub e0d07d67a0 GODT-22: Frontend-backend
- GODT-1246 Implement settings view.
- GODT-1257 GODT-1246: Account and Help view
- GODT-1298: Minimal working build (panics)
- GODT-1298: loading QML (needs Popup window)
- GODT-1298: WARN: Adding PopupWindow not possible!
    In therecipe qt the `quickwidgets` classes are within `quick` module, but
    forgot to add library and include paths into cgo flags. Therefore
    compilation fails and it would be hard to patch therecipe in order to
    fix it.

    I am not sure if rewrite PopupWindow into go would make any difference,
    therefore I decided to use normal QML Window without borders.
- GODT-1298: Rework status window, add backend props, slots and signals.
- GODT-1298: Users
- GODT-1298: Login
- GODT-1298: WIP Help and bug report
- GODT-1178: MacOS dock icon control
- GODT-1298: Help, bug report, update and events
- GODT-1298: Apple Mail config and Settings (without cache on disk)
2021-11-30 10:12:36 +01:00
James Houlahan 6bd0739013 GODT-1158: Store full messages bodies on disk
- GODT-1158: simple on-disk cache in store
- GODT-1158: better member naming in event loop
- GODT-1158: create on-disk cache during bridge setup
- GODT-1158: better job options
- GODT-1158: rename GetLiteral to GetRFC822
- GODT-1158: rename events -> currentEvents
- GODT-1158: unlock cache per-user
- GODT-1158: clean up cache after logout
- GODT-1158: randomized encrypted cache passphrase
- GODT-1158: Opt out of on-disk cache in settings
- GODT-1158: free space in cache
- GODT-1158: make tests compile
- GODT-1158: optional compression
- GODT-1158: cache custom location
- GODT-1158: basic capacity checker
- GODT-1158: cache free space config
- GODT-1158: only unlock cache if pmapi client is unlocked as well
- GODT-1158: simple background sync worker
- GODT-1158: set size/bodystructure when caching message
- GODT-1158: limit store db update blocking with semaphore
- GODT-1158: dumb 10-semaphore
- GODT-1158: properly handle delete; remove bad bodystructure handling
- GODT-1158: hacky fix for caching after logout... baaaaad
- GODT-1158: cache worker
- GODT-1158: compute body structure lazily
- GODT-1158: cache size in store
- GODT-1158: notify cacher when adding to store
- GODT-1158: 15 second store cache watcher
- GODT-1158: enable cacher
- GODT-1158: better cache worker starting/stopping
- GODT-1158: limit cacher to less concurrency than disk cache
- GODT-1158: message builder prio + pchan pkg
- GODT-1158: fix pchan, use in message builder
- GODT-1158: no sem in cacher (rely on message builder prio)
- GODT-1158: raise priority of existing jobs when requested
- GODT-1158: pending messages in on-disk cache
- GODT-1158: WIP just a note about deleting messages from disk cache
- GODT-1158: pending wait when trying to write
- GODT-1158: pending.add to return bool
- GODT-1225: Headers in bodystructure are stored as bytes.
- GODT-1158: fixing header caching
- GODT-1158: don't cache in background
- GODT-1158: all concurrency set in settings
- GODT-1158: worker pools inside message builder
- GODT-1158: fix linter issues
- GODT-1158: remove completed builds from builder
- GODT-1158: remove builder pool
- GODT-1158: cacher defer job done properly
- GODT-1158: fix linter
- GODT-1299: Continue with bodystructure build if deserialization failed
- GODT-1324: Delete messages from the cache when they are deleted on the server
- GODT-1158: refactor cache tests
- GODT-1158: move builder to app/bridge
- GODT-1306: Migrate cache on disk when location is changed (and delete when disabled)
2021-11-30 10:12:36 +01:00
Jakub 9d405a1549 GODT-1397: Update bbolt to v1.3.6 2021-11-09 10:01:08 +00:00
Jakub a219ecf3cb Other: fix go.sum 2021-10-21 13:25:44 +02:00
Jakub 8f1ca00c9d GODT-1318 go-srp version identifier in go.sum underlying commit is identical 2021-09-30 20:19:07 +02:00
James Houlahan b5d63783f7 GODT-1318: Bump gopenpgp to 2.2.2, go-srp to a843a0b9, go-crypto to 52430bf6 2021-09-17 11:54:55 +02:00
Jakub e0113ec267 GODT-219: Update to godog v0.12.1 2021-09-10 13:38:05 +02:00
James Houlahan 2cce29e858 GODT-1201: bump gopenpgp to 2.1.10 and update crypto time 2021-06-17 05:32:17 +00:00
Jakub fb98a797ba Merge branch 'release/james' into devel 2021-06-15 15:56:31 +02:00
Jakub 6be31bdeb2 Other go.mod 2021-06-15 15:55:02 +02:00
James Houlahan 5bf359d34f GODT-1193: don't use message.Read; permit non-UTF-8 charsets 2021-06-11 06:43:21 +00:00
Jakub a2029002c4 GODT-1155 Update gopenpgp and use go-srp 2021-05-27 16:43:44 +02:00
James Houlahan c69239ca16 Other: bump go-rfc5322 dependency to v0.8.0 2021-05-27 11:03:49 +02:00
James Houlahan 3dadad5131 GODT-1161: Guarantee order of responses when creating new message 2021-05-17 17:54:28 +02:00
Michal Horejsek 8109831c07 GODT-35: Finish all details and make tests pass 2021-04-30 05:41:39 +02:00
James Houlahan 2284e9ede1 GODT-35: New pmapi client and manager using resty 2021-04-30 05:34:36 +02:00
Jakub 7a15ebbd54 Other: update go.mod with qt docs 2021-04-27 17:11:23 +02:00
James Houlahan 50550d42b4 GODT-213: Message Builder 2021-04-15 09:51:08 +00:00
James Houlahan c0a8877018 Other: include latest go.mod/go.sum changes 2021-03-01 17:48:22 +01:00
Michal Horejsek 4e531d4524 GODT-1036 Event loop Sentry reporting of failures and refresh 2021-02-17 09:17:19 +00:00
Michal Horejsek 06b3ed9b85 GODT-317 Fix wrong total mailbox size in Apple Mail 2021-02-11 07:29:28 +00:00
Jakub c6107dbd4b GODT-919 GODT-1022 GODT-947 Logs and signals
+ Added startup logs
+ Added wait group for update notifications
+ Changed hooks in debug and trace level
2021-02-10 08:51:14 +00:00
James Houlahan 0069eb9a0c feat: remove dependency on go-apple-mobileconfig 2021-02-01 11:06:10 +01:00
James Houlahan b9ee4a152a refactor: remove go-appdir dependency 2021-01-25 13:40:24 +00:00
Michal Horejsek 6ef2bb254d Tests and final touches 2021-01-22 11:33:49 +01:00
Jakub 8ab852277c Cache body structure in order to reduce network traffic 2021-01-22 10:54:36 +01:00
James Houlahan 122eac50a6 feat: bump version of gopenpgp to v2.1.3 2021-01-15 13:22:55 +00:00
James Houlahan d2066173f0 feat: early access 2021-01-15 13:22:55 +00:00
James Houlahan dc3f61acee Launcher, app/base, sentry, update service 2021-01-15 13:22:55 +00:00
James Houlahan 175f0977f9 chore: bump go-imap dependency and remove go-imap-specialuse dependency 2021-01-11 12:25:06 +00:00
Michal Horejsek a2cf1b6022 Fix parsing messages with long lines in header and long header split to multiple lines 2021-01-06 13:52:38 +01:00
James Houlahan 363f553d3c chore: bump go-rfc5322 dependency to v0.5.0 2020-12-29 08:05:56 +01:00
James Houlahan a7b32e1330 chore: bump go-rfc5322 dependency to v0.4.0 2020-12-18 14:15:39 +00:00
James Houlahan e9b7cce138 chore: bump go-rfc5322 dependency to v0.2.1 2020-12-02 10:58:56 +01:00
Michal Horejsek 635e51f32f Upgrade to latest go-smtp 2020-11-27 09:23:18 +01:00
Jakub 072ce54fe1 Bridge 1.5.2 Golden Gate
Release Notes
* Improved package creation logic
* Refactor of sending functions to simplify code maintenance
* Added tests for package creation

Fixed
* Bridge crashes related to labels handling
* GUI popup related to TLS connection error
* An issue where a random session key is included in the data payload
* Error handling (including improved detection)
2020-11-24 10:38:36 +01:00
James Houlahan e04196f8a0 feat: switch to public go-rfc5322 parser 2020-11-10 09:27:07 +00:00
Michal Horejsek 5b7eabe21a Skipped messages do not change total counts but shows as separate number 2020-11-09 11:58:32 +00:00
James Houlahan d5d60aa11b feat: remove tls upgrade error notification 2020-11-09 10:59:42 +00:00
James Houlahan 3496599723 feat: custom address/date parser based on rfc5322 abnf 2020-11-03 16:21:06 +01:00
Michal Horejsek 10509621ce Updated go-mbox dependency back to upstream 2020-11-02 10:32:21 +01:00
Michal Horejsek 563b4889e3 Update go-imap dependency to get fix for UTF-7 incompatibility 2020-10-21 09:15:42 +00:00
James Houlahan 68616e470c chore: bump crypto version 2020-09-25 15:45:29 +02:00
Jakub fe926cbd57 IE release notes and GODT-738 2020-09-23 13:50:08 +02:00
James Houlahan b3ed8d51a7 fix: version check for catalina 2020-09-17 11:35:05 +00:00
Jakub 66e04dd5ed Implement deleted flag GODT-461 2020-09-16 09:51:57 +00:00
James Houlahan 9b3cc9dc34 feat: convert content type in html meta tags 2020-09-11 11:41:03 +02:00
James Houlahan afeed4a801 feat: use upstream go-message 2020-09-11 11:41:03 +02:00
James Houlahan 5d0e3f36b4 fix: unhandled charset in header 2020-09-11 11:41:03 +02:00
Jakub 78fd73ee2a Merge branch 'release/congo' into devel 2020-09-08 09:37:05 +02:00
Michal Horejsek af89931f05 Hardcoded version 2020-08-27 13:59:07 +02:00
Pavel Škoda 7e5e3d3dd4 Import/Export GUI 2020-08-24 10:11:51 +02:00
Jakub 49316a935c Shared GUI for Bridge and Import/Export 2020-08-24 10:11:50 +02:00
Michal Horejsek b598779c0f Import/Export backend prep 2020-08-24 10:11:50 +02:00
Jakub 5411b29d17 Merge branch 'release/v1.3.X' into devel 2020-08-17 09:58:39 +02:00
James Houlahan 2c910378ce feat: detect bad certificate error 2020-08-06 07:34:36 +02:00
James Houlahan f651d39820 chore: bump dependencies 2020-08-03 07:47:49 +00:00
James Houlahan c8f118a26b feat: implement confirmer 2020-07-24 13:04:29 +00:00
Michal Horejsek a650a04a88 Bump bbolt dependency 2020-07-15 13:27:40 +02:00
James Houlahan abaeace4b3 chore: bump go-imap version to get select fix 2020-07-08 10:34:18 +02:00
James Houlahan 457b524ba8 chore: bump go-imap to include delimiter fix 2020-07-07 11:10:37 +00:00
James Houlahan b6707749e5 chore: bump go-imap dependencies 2020-06-25 10:52:51 +02:00
James Houlahan 7ec4309ae1 fix: correctly handle failure to unlock single key 2020-06-24 14:22:26 +02:00
James Houlahan c19bb0fa97 feat: migrate to gopenpgp v2 2020-06-16 07:34:46 +00:00
James Houlahan 9e633400b0 feat: [GODT-360] detect charset embedded in html and xml 2020-06-02 09:44:50 +02:00
James Houlahan 2d200f6f8c test: add test with changing address order 2020-05-07 16:19:06 +02:00
Michal Horejsek 313e803fdd Implement new SearchCriteria from latest go-imap 2020-05-05 11:47:47 +00:00
Michal Horejsek cabcb3ae2b Upgrade to latest go-imap-quota with fix for go-imap v1 2020-05-05 11:47:47 +00:00
James Houlahan 7a87a7ea2f fix: fixes after rebase 2020-05-05 11:47:47 +00:00
Michal Horejsek ea0f3115a3 usage of latest upstream go-imap 2020-05-05 11:47:47 +00:00
James Houlahan 4809d97cb1 feat: clientmanager has checkconnection 2020-04-21 08:36:39 +00:00
James Houlahan c6f32192b9 refactor: return ErrNoSuchAPIID any time we get 422 2020-04-17 12:12:44 +02:00
Michal Horejsek e166748270 Added IMAP extension MOVE with UIDPLUS support 2020-04-17 08:39:17 +00:00
Michal Horejsek 3b1528cc2a IMAP extension Unselect 2020-04-15 07:01:28 +00:00
Michal Horejsek 62ade99e37 Optimalization of RebuildMailboxes 2020-04-09 14:03:43 +02:00
Jakub 17f4d6097a We build too many walls and not enough bridges 2020-04-08 12:59:16 +02:00