Commit graph

790 commits

Author SHA1 Message Date
abraunegg c592ba5a25 Enhance error logging for SqliteException
* Enhance error logging for SqliteException to include the return code in logging output to make it easier to understand why the sqlite error has occurred.
2024-03-25 17:57:17 +11:00
abraunegg 35ebdc87d4 Update regular expression for invalid patterns
* Update regular expression for invalid patterns for efficiency
* Update table title
2024-03-25 09:33:01 +11:00
abraunegg 68d6921a11 Restore capability to allow non-sync tasks while sync is running
* Restore lost functionality to allow non-sync tasks to operate while a sync is running - #2106 , #2112
2024-03-22 09:14:16 +11:00
abraunegg 46dfb051fe Update log.d
* Potentially resolve 'Aborting from core/sync/mutex.d(149) Error: pthread_mutex_destroy failed.[1]    44576 IOT instruction (core dumped)' errors
2024-03-22 08:23:01 +11:00
abraunegg 235fbf7772 Update config.d
* Dont display Shared Files Directory if feature not enabled
2024-03-18 07:25:53 +11:00
abraunegg 8493ea8744 Update sync.d
* Update messaging that this is the online file data being checked
* Ensure that if the file exists online, integrity validation checks are logged
2024-03-18 07:17:32 +11:00
abraunegg 074b29b031 Update sync.d
* Fix spelling error (#2668)
2024-03-18 06:51:35 +11:00
abraunegg 86b4cd3452 Restore i386 build using Debian 12
* Restore i386 build using Debian 12
* Tested on i386 and x86_64
* ARM64 and ARMHF not yet tested / validated
2024-03-12 19:16:17 +11:00
abraunegg eb17c779e8 Release files for 2.5.0-rc1
* Release files for 2.5.0-rc1
2024-03-10 11:34:38 +11:00
JC-comp 3d249b8d10
Fix: Initialization and Error Handling for Libnotify (#2659)
* fix libnotify
* Add notification error handling
2024-03-10 11:18:54 +11:00
abraunegg 75c3d0d939
Implement Feature Request #1300 - Support the syncing of individual business shared files (#2646)
* Implement Feature Request #1300 - Support the syncing of individual business shared files
2024-03-09 07:15:11 +11:00
abraunegg e895a1174c Update sync.d
* Change local directory creation to a reusable function
2024-02-26 10:32:53 +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
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
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 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 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 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 635102e8af Perform DB scan earlier and reuse result
* Remove potentially redundant applicability check of a path if this is already in the database. This is a manual merge of #2525
2024-01-14 07:17:25 +11:00