Commit graph

1402 commits

Author SHA1 Message Date
abraunegg 4fd7b88173 Initial commit for #1300
* Remove legacy & unused items for Shared Business Items
* Add option: --list-shared-items
* Add option: --sync-shared-files
2024-02-26 14:48:33 +11:00
abraunegg e895a1174c Update sync.d
* Change local directory creation to a reusable function
2024-02-26 10:32:53 +11:00
abraunegg 47bce636e4 Update client-architecture.md
* Add missing diagram
2024-02-21 07:30:08 +11:00
JC-comp 333ddbefea
Fix monitor response time (#2635)
* Sleep only when there are no upcoming events.
* Add constraint to prevent starvation.
2024-02-21 06:45:03 +11:00
abraunegg 0404ee2e37
Add architecture documentation to 'alpha-5' (#2639)
* Add Client Architecture Documentation
2024-02-21 06:41:22 +11:00
JC-comp 03386c1499
Seperate OneDriveWebhook from OnedriveAPI instance (#2607)
* Separate OneDrive webhook from OneDriveAPI
* Ensure compatibility with the monitor mode
2024-02-21 05:13:26 +11:00
abraunegg fecec1ba72 Handle #2626 | Case 2-1 and Case 2-2 items
* Specifically resolve #2626 | Case 2-1 and Case 2-2 items
2024-02-19 10:29:49 +11:00
abraunegg fd5f5e06b9 Update install.md
* Add missing X's
2024-02-19 06:12:14 +11:00
abraunegg 6134a6f84f Update install.md
* Add CentOS details
2024-02-19 05:24:34 +11:00
JC-comp b4c10e6eee
Shutdown Inotify Monitor Gracefully (#2628)
* Adjust pipline
* Shutdown monitor
* Backward compatible for ldc v1.20.1
* Fix shutdown process
* Update logging output and logging levels
---------

Co-authored-by: abraunegg <alex.braunegg@gmail.com>
2024-02-14 05:02:48 +11:00
JC-comp a92221bb50
Add support for batched local monitor processing (#2609)
* Fix file upload fallback for all scenario
* Add support for batched monitor
* Add recursive match
* Adjust logging output
* Add error handling
2024-02-12 17:12:20 +11:00
abraunegg 7621bbab65 Update log.d
Fix indentation
2024-02-12 16:45:55 +11:00
JC-comp c7bfd0da10
Implement Blocking Logger Mechanism (#2627)
* Replace polling logger
* Backward compatibility with ldc v1.20.1
2024-02-12 16:33:44 +11:00
abraunegg 1be74fc982 Resolve Issue #2625
* Local files should be safely backed up when the item is not in sync locally to prevent data loss when they are deleted online
2024-02-12 09:45:15 +11:00
abraunegg 1961c0cb67 Update docker.md
* Update documentation regarding where to install Docker from
2024-02-12 06:41:36 +11:00
abraunegg d2a78be396 Resolve that upload session are not canceled with resync option
* Resolve that upload session are not canceled with resync option
2024-02-11 17:46:07 +11:00
abraunegg 83726ac4de Refine Shared Folder Handling
* Update Shared Folder Handling so when adding a SharePoint Library as a Shared Folder to a Business Account these are correctly handled.
* Validate that DB matches in 'online first' vs 'local first' when using Shared Folders and SharePoint added libraries (in the case of Business Accounts)
* Tested and revalided with OneDrive Business Account with 'sync_business_shared_items = "true"'
* Tested and revalided with OneDrive Business Account with 'sync_business_shared_items = "false"'
* Tested and revalided with OneDrive Personal Account
2024-02-11 11:29:27 +11:00
JC-comp 1630ae37f3
Suppress processing dots in verbose mode (#2622)
* Suppress processing dots in verbose mode
* Fix coding style
2024-02-04 15:34:45 +11:00
abraunegg 6d3b96bdc8 Update sync.d
* Ensure that 'cachedOnlineDriveData' contains valid quota data if using --local-first
* In a --local-first scenario, query the DB for unique driveId's rather than use 'cachedOnlineDriveData' which may not be fully populated
2024-02-04 15:03:34 +11:00
abraunegg d0214a8624 Update sync.d
* If the timestamp was corrected locally, and the files are now equal, save the data to the database to ensure this record is kept
2024-02-04 07:51:37 +11:00
abraunegg 627726edd1 Update sync.d
* Fix regression introduced before 'alpha-5' somewhere
2024-02-04 06:49:27 +11:00
JC-comp f773549b5a
Add error handling for version check (#2615)
Resolves the issue where progress crashes when the GitHub API is unavailable
2024-02-04 06:05:25 +11:00
abraunegg ec9c7f073c update security doc
* update security doc
2024-02-04 05:50:46 +11:00
abraunegg 73e53961be Update application-security.md
* Update
2024-02-03 10:16:04 +11:00
abraunegg 07a3bc737f Update application-security.md
* Update link
2024-02-03 10:11:42 +11:00
abraunegg 8976f16ce6 Add PUML
* Add PUML
2024-02-03 10:10:35 +11:00
abraunegg 593c6ead80 Change quota tracking and handling
* Change how online space available is being tracked to significantly reduce quota API calls when uploading new or modified data
2024-02-03 05:49:07 +11:00
JC-comp 1a3724d44b
Add processing dots for all long running operation (#2606)
Changes
- Add helper for processing log with message and dots
- Set a rate limit of 1 second for processing dots.
- Showing processing dots during
    1. db consistency check
    2. file system walk.
2024-01-27 10:03:46 +11:00
JC-comp dbe92514c2
Refactoring CurlEngine + Add Curl Socket Reuse Support (#2604)
* Refactor CurlEngine
- Add socket cleanup/setup/execution
- Add response class

* Add support for reusing curl socket

* Fix deconstruct brhavior
2024-01-27 09:55:11 +11:00
JC-comp 8094d86ed5
Fix file upload fallback (#2603)
* Fix file upload fallback
2024-01-25 13:18:54 +11:00
abraunegg 5a32a3298d Update sync.d
In a --resync --local-first scenario, a Shared Folder will always be 'remote' so we need to check the remote parent id, rather than parentItem details and ensure we have a DB Tie record for the shared folder in the DB
2024-01-24 22:56:45 +11:00
abraunegg d5185e5207 Update sync.d
* Move 'thisFileSize = getSize(fileToUpload)' back to original location
* Add check if path exists before attempting upload
2024-01-24 08:12:40 +11:00
abraunegg e2f1b68b1a Update sync.d
* Whenever the function is being returned, ensure that API instance is shutdown and destroyed
2024-01-22 08:25:51 +11:00
abraunegg deb63b6e76 Update util.d
Fix readLocalFile for zero byte files
2024-01-22 07:57:47 +11:00
abraunegg e92947ea32 Update path validation
* Update check for ASCII control codes and specific non-ASCII control characters
* Add UTF-16 path validation check
2024-01-21 16:15:56 +11:00
abraunegg f2414f4a56 Update sync.d
* Update logging output for added clarity
2024-01-21 07:11:58 +11:00
abraunegg c8d29c8231 Add libcurl timeout on handle messaging
* Add libcurl timeout on handle messaging to use 'ip_protocol_version' to set what IP protocol to use. Testing has shown that when this is triggered, it is libcurl having an issue with IPv6 DNS resolution.
2024-01-20 07:41:53 +11:00
abraunegg 7a584cd01c Update application-config-options.md
* Add 'force_http_2' depreciation note
2024-01-20 06:29:21 +11:00
abraunegg 814d364c13 Update libcurl socket reuse handling
* Clarify CURLOPT_CONNECTTIMEOUT in documentation
* Clarify CURLOPT_TIMEOUT in documentation
* Add 'threads' as a config file option to control the number of threads used, default of 8, max of 16
* Change CURLOPT_CONNECTTIMEOUT value to v2.4.x value default of 10 seconds
* Configure libcurl to reuse connections
2024-01-20 06:15:33 +11:00
abraunegg 4e93777d7a Fix edge case file upload bugs when using --local-first
* Add PR 2527v2 to 'alpha-5': Fix edge case file upload bugs when using --local-first
2024-01-20 05:09:17 +11:00
abraunegg e470b21818 Update sync.d
* Add UTC note when detailing that there is a time difference
2024-01-19 09:08:50 +11:00
abraunegg a1f10cc5eb Update sync.d
* Add further timestamp qualifications
2024-01-18 18:56:22 +11:00
abraunegg e8406b719e Reinstate safeRename for online item moves
Reinstate safeRename for online item moves
2024-01-17 09:46:36 +11:00
abraunegg c328b029c5 Fix debug output
* Fix debug output
2024-01-17 09:04:42 +11:00
abraunegg b1a07a25f5 Update sync.d
* If timestamp needs to be corrected, return false so that the correct actions can be taken
* If in a --download-only scenario, do not update the timestamp online
2024-01-17 08:53:50 +11:00
abraunegg cda8317ef3 Fix that --dry-run prevents authorization
Fix that --dry-run prevents authorization
2024-01-16 06:11:16 +11:00
abraunegg c5f2ec4622 Update sync.d
Fix reported bug where the online date is being changed in download-only mode
2024-01-16 05:19:25 +11:00
abraunegg a5be48dea9 Update curlEngine.d
Update comment for libcurl forbid_reuse
2024-01-14 12:00:18 +11:00
abraunegg 67a2b4bed4 Update config.d
* Ensure that we load the 'skip_file' defaults when attempting to compare any configuration file entry changes
2024-01-14 08:05:26 +11:00
abraunegg 23f2e2f835 Implement Docker capability to disable validations
* Implement Docker options to utilise --disable-download-validation and --disable-upload-validation
2024-01-14 07:39:51 +11:00