Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OneDrive Client Version v2.5.0-alpha-5 #2584

Closed
wants to merge 70 commits into from
Closed

Conversation

abraunegg
Copy link
Owner

@abraunegg abraunegg commented Jan 8, 2024

Summary of Changes

Feature Requests

  • Implement Feature Request: Multi-threaded uploading/downloading of files FR-232
  • Implement Feature Request: Renaming/Relocation of OneDrive Business shared folders FR-1251
  • Implement Feature Request: Support the syncing of individual business shared files FR-1300
  • Implement Feature Request: Log when manual Authorization is required when using --auth-files FR-2475
  • Implement Feature Request: Add cmdline parameter to display (human readable) quota status FR-2359
  • Implement Feature Request: Ability to set --disable-download-validation from Docker environment variable FR-2559

Bug Fixes

  • Fix Bug: Business shared folders with same basename get merged BUG-2434
  • Fix Bug: --dry-run prevents authorization BUG-2451
  • Fix Bug: Log timestamps lacking trailing zeros, leading to poor log file output alignment BUG-2479
  • Fix Bug: Subscription ID already exists when using webhooks BUG-2501
  • Fix Bug: Not all files being downloaded when API data includes HTML ASCII Control Sequences BUG-2562
  • Fix Bug: vim backups when editing files cause edited file to be deleted rather than the edited file being uploaded BUG-2586
  • Fix Bug: skip_dir does not always work as intended for all directory entries BUG-2590
  • Fix Bug: Online date being changed in download-only mode BUG-2591
  • Fix Bug: Resolve that upload session are not canceled with resync option BUG-2624
  • Fix Bug: Local files should be safely backed up when the item is not in sync locally to prevent data loss when they are deleted online BUG-2625

Other Changes | Fixes

  • Implement buffered logging so that all logging from all upload & download activities are handled correctly
  • Replace polling monitor loop with blocking wait
  • Update how the application utilises curl to fix socket reuse
  • Various performance enhancements with many thanks to @JC-comp
  • Enforcement of operational conflicts
  • Enforcement of application configuration defaults and minimums
  • Implement application output to detail upload|download failures at the end of a sync process
  • Utilise threadsafe sqlite DB access methods
  • Various code cleanup and optimisations

Documentation

  • Most documentation has been totally overhauled

* Initial commit of onedrive-v2.5.0-alpha-5
@abraunegg abraunegg added this to the v2.5.0 milestone Jan 8, 2024
* Delete documents again as POSIX rename failure
* Re-add documents
* Delete readme & changelog due to POSIX issue
Re-add documents
* Fix zero byte file handling
* Just sync the triggered file, no scan of parent directory
* Cleanup array memory before we start adding files
* Update inotify event handling where files might be temporarily moved by applications. This scenario is common with certain text editors (like Vim with specific configurations), which can lead to misleading file deletion detections.
* Add logging output for what IP protocol is going to be used to access Microsoft OneDrive
Implement refactored and optimised applicationChangeWhereResyncRequired() function
* Re-introduce CURLOPT_FORBID_REUSE setting from 'alpha-2'
Fix that 'config' does not load when a deprecated option is at the beginning of the config file
* Update 'root:' removal for 'skip_dir' path checking
Malformed config line should cause the application to exit. This then prevents malformed lines which might be valid configuration items, from not being read in, thus, causing incorrect application function based on expectations.
* If requesting --help, dont attempt to load any 'config' file
* Remove potentially redundant applicability check of a path if this is already in the database. This is a manual merge of #2525
* Implement Docker options to utilise --disable-download-validation and --disable-upload-validation
* Ensure that we load the 'skip_file' defaults when attempting to compare any configuration file entry changes
Update comment for libcurl forbid_reuse
Fix reported bug where the online date is being changed in download-only mode
Fix that --dry-run prevents authorization
* 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
* Fix debug output
Reinstate safeRename for online item moves
* Add further timestamp qualifications
JC-comp and others added 21 commits February 4, 2024 06:05
Resolves the issue where progress crashes when the GitHub API is unavailable
* Fix regression introduced before 'alpha-5' somewhere
* If the timestamp was corrected locally, and the files are now equal, save the data to the database to ensure this record is kept
* 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
* Suppress processing dots in verbose mode
* Fix coding style
* 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
* Resolve that upload session are not canceled with resync option
* Update documentation regarding where to install Docker from
* Local files should be safely backed up when the item is not in sync locally to prevent data loss when they are deleted online
* Replace polling logger
* Backward compatibility with ldc v1.20.1
 Fix indentation
* Fix file upload fallback for all scenario
* Add support for batched monitor
* Add recursive match
* Adjust logging output
* Add error handling
* Adjust pipline
* Shutdown monitor
* Backward compatible for ldc v1.20.1
* Fix shutdown process
* Update logging output and logging levels
---------

Co-authored-by: abraunegg <[email protected]>
* Add CentOS details
* Add missing X's
* Specifically resolve #2626 | Case 2-1 and Case 2-2 items
* Separate OneDrive webhook from OneDriveAPI
* Ensure compatibility with the monitor mode
* Add Client Architecture Documentation
* Sleep only when there are no upcoming events.
* Add constraint to prevent starvation.
* Add missing diagram
* Change local directory creation to a reusable function
abraunegg and others added 3 commits March 9, 2024 07:15
…usiness shared files (#2646)

* Implement Feature Request #1300 - Support the syncing of individual business shared files
* Update Makefile.in to add missing doc items added/changed with PR #2646
* fix libnotify
* Add notification error handling
@abraunegg abraunegg closed this Mar 10, 2024
@abraunegg
Copy link
Owner Author

This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

Repository owner locked and limited conversation to collaborators Mar 17, 2024
@abraunegg abraunegg deleted the onedrive-v2.5.0-alpha-5 branch September 16, 2024 01:53
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.