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 v2.5.0 rc2 without pr2519 pr2609 pr2628 #2724

Closed

Conversation

* 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
abraunegg and others added 23 commits April 29, 2024 06:29
* Fix arm64 compiler issue when calculating transfer ETA
* Update docker.md to clarify where to install Docker from
* Potentially resolve #2699 - needs testing by reporter
* Update Alpine to 3.19, GO 1.22, GOSU 1.17
* Update Fedora to 40, GO 1.22, GOSU 1.17
* Add reusable cache for storing the deltaLink between sync loops when using --monitor
* Add comments around the TaskPool shutdown process
* Cleanup CurlEngine logging output
* Align various items to coding style
* Fix up processing dot output when in non-verbose mode
* Add JSON Processing Elapsed Time so performance of JSON element processing can be tracked if required
Update URLs: http:// → https://
* Fix misspellings found by codespell
* Fix merge conflict

---------

Co-authored-by: abraunegg <[email protected]>
* Update UML diagrams based on #2715 changes
* Fix suppression
* Fix local deletion of a OneDrive Business Shared Folder so that the online deletion is of the 'link' on our account, not the remote data as this should remain untouched
* Fix that new local folders + files in OneDrive Business Shared Folders cannot be created (regression)
* As reported by @bpozdena , @aothmane-control - a segfault exists on exit, which has been tracked back to the threaded logging functions. This commit should resolve this segfault on exit.

This commit has been developed and tested using Arch Linux:

NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo

Installed using archlinux-2024.05.01-x86_64.iso

The version of 'ldc' that was installed, as detected by 'configure' was 1.37.0

-----------------------------------------
checking for a BSD-compatible install... /usr/bin/install -c
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for dmd... no
checking for ldc2... ldc2
checking version of D compiler... 1.37.0
checking for curl... yes
checking for sqlite... yes
checking for notify... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating contrib/pacman/PKGBUILD
config.status: creating contrib/spec/onedrive.spec
config.status: creating onedrive.1
config.status: creating contrib/systemd/onedrive.service
config.status: creating contrib/systemd/[email protected]
-----------------------------------------
* Restore destructor that was missed
* Add debug logging for HTTP Response Headers
* Add debug logging for HTTP Status Line
* Ensure all logging is flushed correctly and log buffers are flushed
* Use forceExit(); in a consistent manner, which shuts down logging and flushes any remaining logs in buffer
* Remove log output that was erroneously left in
* When CURLOPT_NOSIGNAL is set to 1, libcurl will not use any code that installs signal handlers nor will it use any code that might cause signals to be sent to the process by libcurl. This is safer for multi-threaded applications.
* Update wording as to what is being accessed
* Ensure that syncEngineInstance is shutdown the correct way, checking that it has been initialised before attempting a shutdown
* Cleanup code where required in preparation for further testing on other platforms
When using 'onedrive-pr2709' up to fb77411 the client will segfault with the following error when running in --monitor mode and the client is exited with CTRL-C:

Aborting from core/sync/mutex.d(149) Error: pthread_mutex_destroy failed.Aborted

This has been traced back to #2582 which was a manual addition of #2519

Both #2582 and #2519 segfault on exit, with #2519 just segfaulting, but #2582 generating the above error.

As such, this PR is a removal of #2519, #2609 and #2628.

When this specific PR is running, in comparison to RC2, there is zero segfault on exit when running in --monitor mode and using CTRL-C to exit.
@abraunegg
Copy link
Owner Author

No longer required

@abraunegg abraunegg closed this Aug 9, 2024
abraunegg added a commit that referenced this pull request Aug 9, 2024
* Add RC2 Monitor Code, which reintroduces the --monitor changes introduced by #2519 , #2609 and #2628 which was removed in development of #2724 and #2728
@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 Aug 17, 2024
@abraunegg abraunegg deleted the onedrive-v2.5.0-rc2-without-PR2519-PR2609-PR2628 branch August 31, 2024 04:18
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.

3 participants