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-rc1 #2661

Closed
wants to merge 107 commits into from

Conversation

abraunegg
Copy link
Owner

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
* 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
* Add UTC note when detailing that there is a time difference
* Add PR 2527v2 to 'alpha-5': Fix edge case file upload bugs when using --local-first
* 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
* Restore lost functionality to allow non-sync tasks to operate while a sync is running - #2106 , #2112
* Update docs to use markdown alerts
* Add UTF-16 alternatives for working around Microsoft OneDrive naming restrictions
* Update regular expression for invalid patterns for efficiency
* Update table title
* 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.
* Improve restriction language for clarity
* readability
* Update comments
* Add check to ensure when creating a new directory, the value passed in must not be empty
* Update logging output to be consistent with other actions
* Add ONEDRIVE_SYNC_SHARED_FILES to Docker and Podman to control "--sync-shared-files" option as per #2680
* Add note about path length limitation
* Resolve issue where if ^C or something else happens, before jsonItemsToProcess is processed, ensure the database is only updated with the deltaLink post all items being processed, which included downloading of any applicable items.
* whitespace cleanup
* Remove testing code that was not needed
* Update when deltaLinkCache is set
* Update logging output when deltaLinkCache is used
* Add National Cloud Deployment to flag /children scan
* Add Coding Style Guidelines
* Add case statement covering ~5 years of user issues when a sqlite error has been generated, so that there is some additional information to point the user in the right direction to resolve
* Update how to enable logging
General Flags: Flags that are always needed, such as warnings (-w) and directory inclusion (-J.), are added outside of the conditionals.
Debug Flags:
For DMD: When debugging is enabled (DEBUG=yes), the -debug flag for including debug code and -gs for generating standalone debug symbols are added.
For LDC or other compilers: -d-debug for debugging and -gc for generating debugging information are added similarly when debugging is enabled.
Optimization Flag:
The -O flag is only added when debugging is not enabled. This ensures that the program is compiled with optimizations only when it is not in debug mode.
* Update code based on fixing valgrind issues
Add specific example around using 'sync_list' and only including a child of a parent in the 'sync_dir'
* Update spacing
@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 May 6, 2024
@abraunegg abraunegg deleted the onedrive-v2.5.0-release-candidate-1 branch October 22, 2024 22:02
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants