Commit Graph
100 Commits
Author SHA1 Message Date
Christian Kamm 9d8fc4aa4d ProtocolWidget: Fix adding of seconds. #2535 2015-04-10 12:11:35 +02:00
Christian Kamm 57ac1d9ea2 AuthRedirect: Use the configured DAV path. #3082 2015-04-10 09:24:25 +02:00
Christian Kamm d9ea6936ab Handle redirect of auth request. #3082 2015-04-10 09:18:15 +02:00
Christian Kamm adcf40afc3 Discovery: Speed up initial run. #2796 2015-04-08 15:43:49 +02:00
Christian Kamm d986011067 Sync: Fix sync of deletions during 503. #2894 2015-04-08 10:50:08 +02:00
Christian Kamm 760e11bc5d Sharedialog: Fix compiler warnings. 2015-04-08 08:59:36 +02:00
Christian Kamm ba0c3256fa Remove unused HttpConfigFile. 2015-03-27 13:20:10 +01:00
Christian Kamm ea985a85af ProtocolWidget: Always add seconds to the DateTime locale. #2535 2015-03-27 11:25:30 +01:00
Christian Kamm 2578832002 Fix clang warnings about deleting incomplete 'Account'. 2015-03-27 11:11:44 +01:00
Christian Kamm 5483682281 CookieJar: Don't accidentally overwrite cookies. #2808
Calling save() in the CookieJar destructor was problematic. For instance
we sometimes create a new QNAM with a new CookieJar and then call
setCookieJar() on it to assign some other jar. That destroy the fresh
jar and potentially overwrite cookies.

Also explicitly saving the account's cookies when the account is saved
is more explicit and thus more reliable than counting on the Account
destructor to do it.
2015-03-27 10:49:24 +01:00
Christian Kamm 2a8c23aac3 Account: Destroy on exit.
During shutdown we want the account object to be deleted and
therefore we need to be able to remove the strong reference
in AccountManager.
2015-03-27 10:43:14 +01:00
Christian Kamm 88bc96fc4c ConValidator: Delete instance if no credentials. 2015-03-27 10:43:14 +01:00
Christian Kamm 588129d852 HttpCreds: Delete password from old location. #2186 2015-03-27 10:40:19 +01:00
Christian Kamm 3cef771868 HttpCreds: Fill pw dialog with previous password. #2848 #2879 2015-03-26 09:25:45 +01:00
Christian Kamm a9a24c96fc Themes: Cache icons instead of rebuilding a lot. 2015-03-25 14:59:28 +01:00
Christian Kamm 4ef0ce112c CookieJar: Session cookies should *not* be stored in cookies.db. 2015-03-19 11:57:25 +01:00
Christian Kamm 57c14a0eba Windows: Reset QNAM as a workaround. #2899 #2895 #2973
The QNetworkAccessManager is reset when we are disconnected, just
before attempting to fetch the server's status.php.

This may help fix the problem described in various issues where we
get 'Connection closed' or timeout errors after the OS has woken
from sleep.
2015-03-19 11:40:47 +01:00
Christian Kamm 89f831e7d4 Remote delete: Consider 404 a success. #2919 2015-03-19 10:04:02 +01:00
Christian Kamm 95f299f865 Remote folder wizard: Add optional manual entry #2613 2015-03-13 09:52:21 +01:00
Christian Kamm 1dd3488973 Uploads: Fix big seeks on Windows. #2954 2015-03-12 13:18:08 +01:00
Christian Kamm 9249d6c2f9 Logging: Print instruction when job completed. 2015-03-12 10:26:44 +01:00
Christian Kamm d0f07ee3a9 FolderMan: fix folderSyncStateChange emission. #2896
It was not emitted when a removed folder finished its sync,
and that left the UI in an old state sometimes.

Removing the Folder explicitly is unnecessary as a QSignalMapper
will automatically remove mappings for deleted QObjects.
2015-03-12 10:00:45 +01:00
Christian Kamm 3992fba168 Activity: Set a message for conflicts. #2792
Also show size when conflicting files are downloaded.
2015-03-12 10:00:45 +01:00
Christian Kamm efe9f1b442 Lnk: Work around QFile::rename() #2792
QFile::rename() fails if the source file is a shortcut to a file
or directory that does not exist.
2015-03-11 12:29:33 +01:00
Christian Kamm e381143a8f Ensure good sync state if in-progress folder is deleted. #2896
The slotFolderSyncFinished() didn't reliably trigger because
the folder was being deleted before the syncFinished signal could
fire.
2015-02-27 12:39:19 +01:00
Christian Kamm b03209ccef Inform user about ignored long files. #2882 2015-02-27 12:12:39 +01:00
Christian Kamm c8167b77c9 Remove mention of allprop #2865 2015-02-26 12:36:11 +01:00
Christian Kamm c37792f58f Propagator: Upload files with future timestamps. #2880 2015-02-26 11:00:06 +01:00
Christian Kamm 842e5ba5e0 Sharing: Fix for folders containing &. #2892 2015-02-26 09:58:09 +01:00
Christian Kamm 5c7fd24ea8 Handle 503 due to maintenance more gracefully. #2884 2015-02-25 12:02:10 +01:00
Christian Kamm 76ac628153 Discovery: Distinguish 503 Storage not available. #2884 2015-02-25 12:02:10 +01:00
Christian Kamm 6f71bd9353 SocketAPI: Don't mark .lnk files as ignored on windows. #2447 2015-02-25 11:55:48 +01:00
Christian Kamm f88398e776 lnk files: Fix exists() calls. #2792 2015-02-25 11:50:32 +01:00
Christian Kamm 08c33cd1dc Discovery: Fix handling of 503 on a folder. #2884 2015-02-25 08:09:07 +01:00
Christian Kamm 0464947610 Remove extra ; to silence warning. 2015-02-25 07:14:05 +01:00
Christian Kamm 40dbc78407 concatUrl: Remove manual parsing, add test. #2817 2015-02-13 14:53:55 +01:00
Christian Kamm a2aef04f21 ConValidator: Avoid a double auth check during startup. #2801 2015-02-12 15:25:44 +01:00
Christian Kamm 8f75434558 QuotaInfo: Ensure only one QuotaJob during startup. #2801 2015-02-12 15:25:44 +01:00
Christian Kamm 9ba88f6baf Windows: Sync .lnk files correctly. #2792 2015-02-12 11:27:58 +01:00
Christian Kamm e4fce1250b Progress: Ensure overall progress is between 0 and 100. #2648
This should *already* be the case - but @dahan1999 reported that
it fixed #2648.
2015-02-12 10:09:07 +01:00
Christian Kamm 91ae912373 ShareDialog: Don't crash with bad response. #2811 2015-02-11 16:02:50 +01:00
Christian Kamm 9aeda891c3 Nautilus integration: clean up, fix bugs #2820
* Fix various spaces vs tabs issues
* Rewrite
  - to use instance variables consistently
  - to not make shared state explicit instead of relying on
    class variables of a common base
* Fix reconnecting to an oC client.
2015-02-11 14:53:17 +01:00
Christian Kamm 5cdf448693 SyncJournal: Use DELETE journal mode on FAT filesystems. #2693 2015-02-11 14:03:55 +01:00
Christian Kamm 89c69250ef Fix crash in discovery thread dtor.
Occasionally on Windows ~DiscoveryMainThread() triggered a crash.

Probably because the QMutableLinkedListIterator was destroyed after
it's underlying data had been removed (from the map).

Cleaning up the map and lists was redundant anyway, so the
destructor is changed to only explicitly destroy the vio_file_stat
objects.
2015-02-11 14:00:23 +01:00
Christian Kamm 5b6a6319c2 Nautilus integration: Fix invalid member access #2819 2015-02-11 11:31:07 +01:00
Christian Kamm e79e2b80c8 SocketApi: Fix crash on exit. #2798
The _listeners list is destroyed before the _localServer.
And since _localServer is the parent of all generated QLocalSockets,
they get destroyed in turn - which triggers onLostConnection() and
thus accessed the destroyed _listeners list.

To avoid that, delete all active QLocalSockets in SocketApi before
its members are destructed.

We also now delete sockets when we're done with them. I think
disconnected sockets would otherwise linger until SocketApi destruction.
2015-02-11 09:50:10 +01:00
Christian Kamm f8b24ac34d Fix reconnection after long network outage #2321
The problem was that StatusNotFound can indicate either a transient
network problem or a permanent server configuration problem.
2015-02-11 09:24:56 +01:00
Christian Kamm 51b9ec30a9 Remove connect to removed slot.
This seems to have slipped back in, probably during a complex merge
in ba8b1bbe06.
2015-02-11 08:12:09 +01:00
Christian Kamm 49021fd96d SyncJournal: Reset all prepared statements. #2757
Makes closing of the database actually release file locks.
2015-01-30 15:35:42 +01:00
Christian Kamm 43d6dbb0f2 SQL: Add debugging options. #2693
OWNCLOUD_SQLITE_JOURNAL_MODE: To use something else than WAL
OWNCLOUD_SQLITE_TEMP_STORE: To test with storing temporaries in memory.
2015-01-29 11:02:01 +01:00
Christian Kamm cd0ad21132 SQL: Improve error reporting of failed exec(). #2693 2015-01-29 09:47:48 +01:00
Christian Kamm 5fc231cda4 Shib: Fix fetching of 'user'. #2751 2015-01-28 15:15:35 +01:00
Christian Kamm 2cee591b0e Merge branch 'sharedialog_fixes' of git://github.com/rullzer/client
Fix missing OcsShareJob constructor.

Conflicts:
	src/gui/sharedialog.cpp
2015-01-28 12:19:40 +01:00
ckamm 8a71d7d254 Merge pull request #2730 from rullzer/filebrowser_integration
Sharedialog: 404 is also an acceptable response when retriving shares
2015-01-28 12:09:33 +01:00
Christian Kamm 7950eb8ed6 sqlite: Update to version 3.8.8.1. #2750 2015-01-28 11:52:04 +01:00
Christian Kamm f59515883d FolderMan: Require 2s minimum delay.
Otherwise we run into "can't upload because it's too recent" issues
when the folder watcher triggers a sync.

We used to do this, but my recent refactoring started counting the
time since the last sync against this minimum delay, leading to
1ms delays in practice. This fixes the regression.
2015-01-28 11:24:47 +01:00
Christian Kamm 37680a0909 ShareDialog: Prepare for multiaccount. #43
Also fix a possible bug with the share dialog when no account
is configured.
2015-01-28 10:52:55 +01:00
Christian Kamm 350ad98c27 Folderwizard: Prepare for multiaccount. #43
Avoid accessing the global account instance and instead pass it in
from the outside.
2015-01-28 10:40:32 +01:00
Christian Kamm 094da51d82 FolderWatcher: Fix ignore list usage.
All patterns with started with a ] were not working correctly.
2015-01-22 15:42:47 +01:00
Christian Kamm fa4e6d8261 Exponential backoff for rapid follow up syncs. #2355 2015-01-22 08:55:52 +01:00
Christian Kamm 145df8ec67 Pause between sync runs (particularly long ones) #2355 2015-01-22 08:55:52 +01:00
Christian Kamm af5cbdbed8 Folder: Add timer for sync duration. 2015-01-22 08:55:52 +01:00
Christian Kamm aa6a5e4ac2 Credentials: Use the bound account everywhere.
This is preparation for multiaccount.
2015-01-16 15:22:56 +01:00
Christian Kamm 91fce3ea73 Make public API explicit about blacklist kind. #2301
'blacklist' can mean the selective sync blacklist or the error
blacklist. Names in public API are now explicit about which
blacklist is meant.
2015-01-16 10:17:19 +01:00
Christian Kamm b50475bc17 SQL: Fix error reporting on prepare fail. #2697 2015-01-16 09:12:25 +01:00
Christian Kamm 0af5574951 Propagate upload: code cleanup 2015-01-14 15:20:02 +01:00
Christian Kamm b3c02798a3 Propagator: Use FILE_SHARE_DELETE on Windows. #2070 #2597 2015-01-14 14:16:05 +01:00
Christian Kamm 9b7e6cc5c1 Fix warnings.
* remove Unused variable
* zorder for spacers makes no sense
2015-01-14 11:28:53 +01:00
Christian Kamm 4fa212c43b CSync callbacks: Don't use global account. 2014-12-18 15:39:51 +01:00
Christian Kamm a9da5ebff6 Wizard: Sometimes preserve folders when folder config is skipped.
* When folder config is used, other folder definitions are always
  removed.
* Fix a bug with the wizard becoming stuck when 'skip folder config'
  is used.
2014-12-18 15:39:51 +01:00
Christian Kamm 38ebfec1fb Use global Account/AccountState less.
* Use a shared pointer to Account everywhere to ensure
  the instance stays alive long enough for a sync to terminate
* Folder is now tied to an AccountState
* SyncEngine and OwncloudPropagator tie to an Account and use that
  for all jobs they run

Issue: Since the setup wizard currently always replaces the
account, it will always wipe all folder definitions, even when
the actual changes to the account were minor.
2014-12-18 15:39:51 +01:00
Christian Kamm 6c7acd585e Account: Split into libsync/Account and gui/AccountState.
This allows all the account state information to live in gui
while the sync-relevant data stays in libsync.

I also moved quotainfo to gui since it depends on the account state.
2014-12-18 15:39:51 +01:00
Christian Kamm a006c6962c Move account state related logic into Account.
The account state is now managed mostly by the Account itself
instead of through Application. The gui can still control whether
an account is signed out or not.
2014-12-17 12:01:10 +01:00
Christian Kamm 1a3041690f ConValidator: Simplify and cleanup.
* This way using it with multiple accounts will be easier.
* Timeouts on the authed requests are handled.
2014-12-11 14:48:01 +01:00
Christian Kamm 84e5ad7346 FolderMan: Delete old journal file when adding folder. #2606 2014-12-11 12:28:01 +01:00
Christian Kamm 4559bb5553 Fix counting of affected files. #1132
* Also ensure the maximum is always >= the current value.
* Take care to handle the ULLONG_MAX value that's sometimes used
  as _completedFileCount.
2014-12-11 11:33:42 +01:00
Christian Kamm d8c59fcb73 Use connection validator to ping the server. #2485
* Stop the quota job from having an effect on account status
  as it can sometimes take a long time to reply. See #2485 and
  owncloud/core#12744.

* Instead of indirectly using the quota job, use the connection
  validator to regularly ping the server with a basic PROPFIND for
  'getlastmodified' on /.
  This request was usually fast for users even when the quota PROPFIND
  was slow.
2014-12-10 13:40:11 +01:00
Christian Kamm 8dff17d78b Rename: Fix icon location in theme.qrc. 2014-12-10 13:12:06 +01:00
Christian Kamm 53d5de685c Merge remote-tracking branch 'origin/1.7'
Conflicts:
	src/gui/folder.cpp
	src/gui/folder.h
	src/libsync/networkjobs.cpp
	src/libsync/owncloudpropagator.h
	src/libsync/propagatedownload.cpp
2014-12-10 13:01:36 +01:00
Christian Kamm 40f44c2389 DB: Delete corrupt database. #2547
* Also use readonly DB access for SocketAPI.
2014-12-04 15:35:55 +01:00
Christian Kamm dc2f0d59cb FolderWizard: Clean up naming of 'add folder' button. #2371 2014-12-04 10:47:26 +01:00
Christian Kamm 4dcfacf2d5 Fix compile. :/ 2014-12-04 09:59:24 +01:00
Christian Kamm b7485106ef NetworkJobs: Set timeout to 5 minutes everywhere. 2014-12-04 09:54:17 +01:00
Christian Kamm f82893496b Fix typo. 2014-12-04 09:54:15 +01:00
Christian Kamm c418e58f88 Etag job scheduling: Silence warnings, make prettier. 2014-12-04 09:52:13 +01:00
Christian Kamm b7d7f424c5 FolderMan: only touch _currentSyncFolder when done #2407
Also simplity terminateSyncProcess() to always terminate the
*current* sync run. Only one can be running at a time anyway.
2014-12-03 13:46:37 +01:00
Christian Kamm e3b07f569a FolderWatcherTest: Use Utility::usleep. 2014-11-21 08:21:36 +01:00
Christian Kamm 3e3ca14b4c Print ssl library version only on Qt >=5.0.0. 2014-11-20 13:46:44 +01:00
Christian Kamm 8b45d1c928 Sync: Change force-sync interval to 2h everywhere. #2297 2014-11-20 13:38:32 +01:00
Christian Kamm 0fe7a69b39 FolderWatcher: Detect own changes. #2297 2014-11-20 13:16:29 +01:00
Christian Kamm 6d09f1b6c0 Folder watcher now reports changing paths instead of dirs. 2014-11-20 12:51:16 +01:00
Christian Kamm 1ada20ac7b Linux folderwatcher: Get full path of changed file. #2297 2014-11-20 12:42:59 +01:00
Christian Kamm d04eedeb8d OSX: Trust the file watcher. #2297
* Use a bigger default force sync interval (2h)
* Allow the file watcher to schedule a sync while a sync for
  the same file is running.
2014-11-20 12:42:59 +01:00
Christian Kamm f275002ebe Merge branch '1.7' 2014-11-20 12:41:06 +01:00
Christian Kamm d4e0941c27 Windows filewatcher: switch to ReadDirectoryChangesW.
Based on danimo's #2454 fix for #2455 and related to #2297.
2014-11-20 12:36:17 +01:00
Christian Kamm 9dc57359b9 csync db files: Hide after some commit/transactions. #2461
The shm and wal files are only created later.
2014-11-20 12:30:04 +01:00
Christian Kamm 4d7b8bdb25 Merge remote-tracking branch 'origin/1.7'
Conflicts:
	OWNCLOUD.cmake
	test/CMakeLists.txt
	test/testfolderwatcher.h
2014-11-19 14:45:25 +01:00
Christian Kamm 421a8cc6b7 Windows: Make unit tests compile. 2014-11-19 14:18:37 +01:00
Christian Kamm 3a448fda91 Windows mingw32: Fix finding of windres binary. 2014-11-19 14:16:56 +01:00
Christian Kamm 3706c76622 useLegacyJobs: Fix logic. 2014-11-19 10:31:42 +01:00