Commit graph

483 commits

Author SHA1 Message Date
abraunegg 6959fe86ae
Update release files for 2.2.5 (#345)
* Update release files for 2.2.5
2019-01-17 05:45:26 +11:00
abraunegg c91dcc3e49
Add handling for JSON response error when OneDrive API returns a 404 due to API regression (#340)
* Update sync.d to handle OneDrive API Regression & provide details on workaround
2019-01-16 20:14:55 +11:00
abraunegg 77b32b6a5e
Update lock.yml
Change lockbot from 7 to 30 days
2019-01-16 07:24:58 +11:00
abraunegg 1d902a5beb
Handle Item not found exception when unable to query OneDrive 'root' for changes (#336)
* Add a 404 error handler when OneDrive cannot query what changes are available for a particular 'root' folder id
* Add additional verbose debug logging to assist in the future
* Change to not throw an exception when OneDrive cannot query what changes are available for a particular 'root' folder - rather display some meaningful details instead of crashing the application
* As we know the actual 'items.sqlite3' location, display that as the file to remove rather than a 'generic' message as this is more helpful
2019-01-11 05:31:10 +11:00
Norbert Preining d527b7ef26
Makefile: support building with ldc2 and usage of pkg-config for lib finding (#334)
* ldc2 support
the pragma versions passed to the compiler need an additional `-d`
prefix in case of ldc2. Add it if the compiler component looks like
ldc2.

* pkg-config support
By passing `PKGCONFIG=1` to the make call libraries are searched via
`pkg-config` instead of hard-coded values.
2019-01-07 11:03:47 +09:00
abraunegg bf43ecda9e
Ensure that remote deletes are handled correctly (#333)
* Fix remote deletes the fix for #323, #324 & #331 introduced a bug where an item when remote deleted, would actually be re-inserted to the database & eventually cause a database assertion
2019-01-07 04:22:09 +11:00
abraunegg a31fdc6a6f
Fix codacy issues (#332)
* Fix codacy issues
2019-01-07 03:02:58 +11:00
abraunegg b75163245f
Update handling of 'remote' folder designation as 'root' items (Issue #323, #324, #331) (#328)
* Add extra verbose debugging
* Update handling of 'remote' folder designation as 'root' items
2019-01-07 03:02:08 +11:00
abraunegg e8c8e525dd
Update README.md 2019-01-06 10:14:49 +11:00
abraunegg 1d3bf0d360
Update README.Office365.md 2019-01-06 10:10:47 +11:00
abraunegg 0759767916
Update README.Office365.md 2019-01-06 10:09:27 +11:00
abraunegg bd0790eece
Update README.Office365.md 2019-01-06 10:06:04 +11:00
abraunegg 6836f0c744
Update .travis-ci.sh
* sudo does not affect redirects, use tee to append to file
2019-01-06 09:54:57 +11:00
abraunegg 79a9815183
Update makefiles.sh
* Add `#!/bin/bash` to shell script
2019-01-06 09:49:01 +11:00
abraunegg 84c69a5234
Update README.md
* Update help output to include --force-http-1.1
* Update to add note about curl compatibility and when to use --force-http-1.1
2019-01-06 08:19:02 +11:00
abraunegg 9d0c0aea39
Update bug_report.md 2019-01-06 07:49:00 +11:00
abraunegg 58541f73dc
Update bug_report.md 2019-01-06 07:23:12 +11:00
abraunegg 2e8bc828b6
Update bug_report.md 2019-01-06 07:20:02 +11:00
abraunegg 8d5ba88c38
Update lock.yml 2019-01-06 07:09:08 +11:00
abraunegg 7d6858d86a
Create lock.yml 2019-01-06 07:06:30 +11:00
abraunegg 1fa7e5f20c
Add extra debugging & http protocol downgrade (Issue #314) (#327)
* Add --force-http-1.1 flag to downgrade any HTTP/2 curl operations to HTTP 1.1 protocol
* Explicitly set all bool items to false at initialisation
* Update --display-config to display sync_list if configured
* Add debug handling to display when sync_list is loaded
* Add debug handling to output the handling of OneDrive changes
2019-01-06 05:43:44 +11:00
abraunegg ddc5d602da
Update sync.d (#329)
* Update HTTP 412 error notifications to better identify where 412 error is occuring
* Add a check for 'id' key on metadata update to prevent 'std.json.JSONException@std/json.d(494): Key not found: id' (Issue #325)
2019-01-06 05:35:55 +11:00
abraunegg 46ef8ed376 Revert "Update handling of HTTP 412 - Precondition Failed errors (#issue 325) (#326)"
This reverts commit 388cc1ded5.
2019-01-05 17:18:28 +11:00
abraunegg 388cc1ded5
Update handling of HTTP 412 - Precondition Failed errors (#issue 325) (#326)
* Update HTTP 412 - Precondition Failed messaging
* Add debug messaging when 5xx errors occur
* Update 5xx message to include
2019-01-05 07:57:10 +11:00
abraunegg bc059eaf0a
Update bug_report.md 2018-12-28 21:13:59 +11:00
abraunegg f14fbf22a7
Update release files for 2.2.4 (#322)
* Update release files for 2.2.4
2018-12-28 21:03:26 +11:00
Norbert Preining b9890ae2e5
better help output formatting (Issue #298) 2018-12-28 18:01:50 +09:00
Norbert Preining f7a50c0d97
update man page
- specify which options need arguments
- give top-level invocation synopsis
- add missing options
- sort options alphabetically
2018-12-28 13:56:17 +09:00
Norbert Preining fcf1ef2e1f
signal handling and database shutdown (#315)
Add a signal handler and shutdown database connection on SIGINT and SIGTERM
to make sure that .waf files are properly incorportated into the sqlite database.
2018-12-28 11:19:20 +09:00
abraunegg 2553366a89
Implement Feature Request: Add status command or switch (Issue #112) (#307)
* Implement Feature Request: Add status command or switch
2018-12-28 12:26:03 +11:00
abraunegg 7a6b507367
Update sync.d (#316)
* Update logic handling of --single-directory to prevent inadvertent local data loss
2018-12-28 11:57:32 +11:00
Norbert Preining 2ec6aa3df6
make sure sqlite checkpointing works by properly finalizing statements (#310)
If an sqlite statement is prepared and reused by using reset again and again, the connection
keeps a lock on the database, and checkpointing cannot ensure that transaction from the
wal file are carried over into the main database.

By preparing the statement every time it is used, the destructor calls finalize and thus
the lock is released.

Possible impacts during high frequency changes via monitor mode etc might arise.
2018-12-26 16:11:06 +09:00
abraunegg 5d388581b1
Resolve 'sync_dir' not read from 'config' file when run in Docker container #306 (#308)
* Fix logic for sync_dir handling on headless systems
* Fix logic where potentially a 'default' ~/OneDrive sync_dir could be set despite 'config' file configured for an alternate
* Add debug handling for sync_dir operations
* Add debug handling for homePath calculation
* Add debug handling for configDirBase calculation
* Reorder main() so that log.vdebug works where required
* Rework configDirName as this had the same issue as syncDir
* Update configDirName & syncDir '~' handling & replacement to be more robust and only replace if '~' is first char in string
* Add additional debug logging if syncDir is created
2018-12-23 11:15:10 +11:00
abraunegg 1060d85118
Resolve JSONException when supplying --get-O365-drive-id option with a string containing spaces (#305)
* JSONException when supplying --get-O365-drive-id option with a string containing spaces
2018-12-21 11:28:16 +11:00
abraunegg 0193f37fed
Update release files for 2.2.3 (#303)
* Update release files for 2.2.3
2018-12-20 17:45:42 +11:00
abraunegg 594bfcec54
Fix syncdir option is ignored (#302)
* Explicitly set value for syncdir if the option is passed in via CLI rather than 'config' file
2018-12-20 17:27:34 +11:00
abraunegg 37131ba697
Update release files for 2.2.2 (#300)
* Update release files for 2.2.2
2018-12-20 11:46:57 +11:00
abraunegg dfd3045ce4
Fix exception when missing parameter from usage option (#299)
* Handle the exception generated when an option is used which is expecting an input parameter but none is given
2018-12-20 11:05:32 +11:00
Norbert Preining 025a3b2878
check config file keys for validity (#296)
* check config file keys for validity, use setValue instead of direct access
* Update config.d
  Add 'drive_id' to be initialised, set to an empty string
* exit application if there is a configuration file error
* Issue #293 was caused by a spelling error in the configuration file. 
  If the configuration file has errors, we should not load it or run
  using the application defaults as this may have undesirable consequences
  for users data
* missed returning false on key issue
* Missed this edit of the file
2018-12-20 08:51:21 +09:00
abraunegg bbe672bff1
Update README.md
Add line break
2018-12-20 07:44:02 +11:00
abraunegg ddda7e0527
Update README.md
* Update readme to clarify using multiple OneDrive accounts and how to configure additional unit files for each individual OneDrive account
2018-12-20 07:42:13 +11:00
abraunegg 7d522583ef
Implement option --display-config (Issue #100) (#292)
* Implement --display-config to show the application configuration without actually performing a sync or application init
2018-12-20 05:42:28 +11:00
abraunegg 53df30810e check displayName rather than description (#290)
* In testing, 'description' and 'displayName' were the same, but in reality we are checking against the 'displayName' value as this is what we are asking the user to input, thus we need to check against displayName
2018-12-18 13:20:17 +09:00
Norbert Preining b46d3d62b1 fix activation of dmd (#285)
Currently the version of dmd is hard-coded, but has already
changed, and building docker images now fail. Re-using the install.sh
allows to get the install path and activation script.
2018-12-18 09:07:51 +11:00
Norbert Preining 91aaf91aa6 Reinitialize sync engine after three failed trials (#283)
* After extended suspend, or bad connection, the connection to OD might
go stale - thus no network connection to Microsoft OneDrive Service, skipping sync
and this continues ad infinitum. Change the last action to re-initialize the sync engine.
2018-12-13 07:08:18 +11:00
Norbert Preining 6a62406db7 Deal with deleted move targets (Issue: 273) (#278)
if the move target has been deleted before the monitor action completes,
the monitor action throws an exception when stat-ing the target for
mtime. Do not do anything in case the move target has disappeared
2018-12-08 05:02:47 +11:00
Norbert Preining 3608dcc4c2 Add very verbose (debug) mode by double -v -v (#279)
* Add very verbose (debug) mode by double -v -v - currently only used for debugging the inotify events
2018-12-08 05:01:22 +11:00
Norbert Preining 87cd18379d Deal with items that disappear during upload (Issue: #258) (#276)
* Deal with disappearing items during upload (Issue: #258)
2018-12-06 20:28:03 +11:00
Norbert Preining 06aa42f6d1 better log messages, less noise on temporary timeouts (#275)
* better log messages, less noise on temporary timeouts
2018-12-06 18:05:52 +11:00
abraunegg 0562c52492 Handle short lived files (Issue #273) (PR #274)
* Handle short lived files (Issue #273)
* Update README.md
* Add --disable-notifications to readme
2018-12-06 08:50:46 +09:00