Commit Graph

5553 Commits

Author SHA1 Message Date
Olivier Goffart
09deeaf8a8 Merge remote-tracking branch 'owncloud/master' into new_discovery_algo
Conflicts:
	src/csync/csync_reconcile.cpp
	src/csync/csync_update.cpp
2018-07-25 14:06:14 +02:00
Olivier Goffart
324033f4d1 Merge remote-tracking branch 'owncloud/2.5' 2018-07-25 13:49:49 +02:00
Olivier Goffart
a0675bd0ab Convert p7.pl to a C++ test
This is just a translation of test/scripts/txpl/t7.pl to C++ using the test
framework.
2018-07-25 13:48:58 +02:00
Jürgen Weigert
04bbe2a34b Update ocssharejob.cpp 2018-07-20 16:02:32 +02:00
Markus Goetz
9ea402a67e sqlite: Update bundled version to 3.24.0
For OS X and Windows.
2018-07-19 17:11:47 +02:00
Christian Kamm
1872e9a5f9 Update: Report on readdir() errors #6610 2018-07-19 08:24:24 +02:00
Markus Goetz
ce19eefef1 Merge branch '2.5' 2018-07-18 17:27:36 +02:00
Olivier Goffart
0905892835 New Discovery Algo: Support the DatabaseAndFilesystem mode for local discovery 2018-07-18 14:19:36 +02:00
Olivier Goffart
10b8ca640a New Disco algortihm: Fix TestChunkingNG::connectionDroppedBeforeEtagRecieved 2018-07-18 12:40:22 +02:00
Olivier Goffart
cb6b950c60 New disco algo: Fix TestSyncFileStatusTracker 2018-07-18 12:15:13 +02:00
Olivier Goffart
a5cb18435e New discovery algorithm: More work on virtual files 2018-07-18 11:52:12 +02:00
Olivier Goffart
8462feb8bf New Disco algorithm: Type change (file to dir) 2018-07-17 17:22:08 +02:00
Olivier Goffart
a299907c59 New discovery algorithm: Virtual files
The commented tests lines were implementation details
2018-07-17 13:35:07 +02:00
Olivier Goffart
6e6f99923e New discovery algorithm: Fix directory deletion
TestAllFilesDeleted passes
2018-07-17 10:09:57 +02:00
Olivier Goffart
d7e77b7473 FolderMan::checkPathValidityForNewFolder: make sure to work when folder points to deleted folders
Note that we also needed to adjust the server url to contains the user name
in the folder wizard. (As checkPathValidityForNewFolder expect the user name)

Issue #6654
2018-07-17 09:02:37 +02:00
Olivier Goffart
926c6976f5 New Discovery algorithm
Some error handling. In particular for the case where there is a conflict
between files and directories.

SyncEngineTest and SyncMoveTest passes
2018-07-16 18:37:18 +02:00
Olivier Goffart
1df50836ca New Discovery algorithm: Handle of move within a moved directory 2018-07-16 16:38:24 +02:00
Olivier Goffart
3d850fe24d Log: Remove inaccurate comment about --logdebug
The exact string is actually "sync.*.debug=true\ngui.*.debug=true".
And this is not strictly equivalent to setting the env var, as it
calls QLoggingCategory::setFilterRules.
Over all, that's an implementation details that users do not care about.
2018-07-16 16:33:38 +02:00
Markus Goetz
0f79406e93 Help Text: really wrap the text
Issue #6644
2018-07-16 16:33:38 +02:00
Olivier Goffart
ff09ebd47a Help Text: wrap the text
But add a line of spaces to make sure it is wide enough otherwise the
default messagebox size is way too small.

Issue #6644
2018-07-16 16:33:38 +02:00
Olivier Goffart
916343d7c2 Wizard OAuth2 Page: add a context menu to copy the link
Relates to https://github.com/owncloud/enterprise/issues/2600
2018-07-16 12:55:31 +02:00
Olivier Goffart
c620683251 Wizard: show a message when the URL is invalid
Rather than let Qt show "Host not found"

Issue #6646
2018-07-16 10:06:44 +02:00
Olivier Goffart
384afe195e New discovery algoritmh: more on Renames 2018-07-13 17:47:37 +02:00
Olivier Goffart
4e7011e86c New Discovery algorithm: Check that the original file is still on the server while renaming 2018-07-13 15:34:41 +02:00
Olivier Goffart
acca55d114 New disco algorithm: Fix some moving
Fix TestSyncMove::testSelectiveSyncMovedFolder
2018-07-12 11:30:55 +02:00
Olivier Goffart
6a88723c99 New discovery algorithm: Local rename 2018-07-11 17:46:19 +02:00
Olivier Goffart
9cb2973b2a New discovery algo: Remote move
TestSyncMove::testRemoteChangeInMovedFolder
2018-07-11 16:55:47 +02:00
Olivier Goffart
df27bdca41 Handle Encoding Problems
TestSyncEngine now passes
2018-07-10 16:56:54 +02:00
Olivier Goffart
0d1f310815 Ignore Hidden Files 2018-07-10 16:38:36 +02:00
Olivier Goffart
bd504121f4 Port the invalid napme regexp
TestSyncEngine::testInvalidFilenameRegex
2018-07-10 16:38:33 +02:00
Olivier Goffart
c56ecc988b More progress
TestSyncEngine::testFakeConflict / TestSyncEngine::testSyncFileItemProperties
2018-07-10 15:56:30 +02:00
Olivier Goffart
9bbd807571 New discovery algo
Make TestSyncEngine::testSelectiveSyncBug pass
2018-07-10 15:05:01 +02:00
Olivier Goffart
d37ae61d77 New discovery: TestSyncEngine::testEmlLocalChecksum 2018-07-10 14:54:26 +02:00
Olivier Goffart
f47db5b6d6 New discovery algorithm
Some progress:
TestSyncEngine::testDirUpload
2018-07-10 14:54:12 +02:00
Olivier Goffart
1a900bbf57 New discovery algorithm: Initial work.
SyncEngineTest testFileDownload is passing
2018-07-10 14:53:10 +02:00
Olivier Goffart
90ec9a9735 Reconcile: When detecting a local move, keep the local mtime
https://github.com/owncloud/client/issues/6629#issuecomment-402450691
2018-07-05 16:31:16 +02:00
Christian Kamm
25cca051a9 Log: Adjust update/reconcile log verbosity
Not having these enabled by default is causing significant extra back
and forth with reporters since they must manually use --logdebug for the
log to be useful.
2018-07-05 14:09:35 +02:00
Markus Goetz
c7aca2d4a9 Introduce an about dialog
Every proper application has that!

For decreasing window height in #6075
2018-07-05 13:15:43 +02:00
Olivier Goffart
64014dd374 Upload: Store the size in the UploadInfo, and compare it when resolving potential conflict
This is about the conflicts that happens when the file has been uploaded
correctly to the server, but the etag was not recieved because the connection
was closed before we got the reply.

We used to compare only the mtime when comparing the uploaded file and the
existing file.  However, to be perfectly correct, we also should check the
size.

This was found because TestChunkingNG::connectionDroppedBeforeEtagRecieved is
flaky. Example of faillure found in https://drone.owncloud.com/owncloud/client/481/5
while testing PR #6626

(very trimmed log:)

06-29 07:58:02:015 [ info sync.csync.csync ]:	## Starting local discovery ##
06-29 07:58:02:016 [ info sync.csync.updater ]:	Database entry found, compare: 1530259082 <-> 1530259051, etag:  <-> 1644a8c8750, inode: 1935629 <-> 1935629, size: 301 <-> 300, perms: 0 <-> ff, type: 0 <-> 0, checksum:  <-> SHA1:cc9adedebe27a6259efb8d6ed09f4f2eff559ad1, ignore: 0
06-29 07:58:02:016 [ info sync.csync.updater ]:	file: A/a0, instruction: INSTRUCTION_EVAL <<=
06-29 07:58:02:972 [ warning sync.networkjob ]:	QNetworkReply::NetworkError(OperationCanceledError) "Connection timed out" QVariant(Invalid)
.. next sync...
06-29 07:58:02:980 [ info sync.engine ]:	#### Discovery start ####################################################
06-29 07:58:02:981 [ info sync.csync.csync ]:	## Starting local discovery ##
06-29 07:58:02:983 [ info sync.csync.updater ]:	Database entry found, compare: 1530259082 <-> 1530259051, etag:  <-> 1644a8c8750, inode: 1935629 <-> 1935629, size: 302 <-> 300, perms: 0 <-> ff, type: 0 <-> 0, checksum:  <-> SHA1:cc9adedebe27a6259efb8d6ed09f4f2eff559ad1, ignore: 0
06-29 07:58:02:983 [ info sync.csync.updater ]:	file: A/a0, instruction: INSTRUCTION_EVAL <<=
06-29 07:58:02:985 [ info sync.csync.csync ]:	## Starting remote discovery ##
06-29 07:58:02:985 [ info sync.networkjob ]:	OCC::LsColJob created for "http://localhost/owncloud" + "" "OCC::DiscoverySingleDirectoryJob"
06-29 07:58:02:987 [ info sync.csync.updater ]:	Database entry found, compare: 1530259082 <-> 1530259051, etag: 1644a8c8b26 <-> 1644a8c8750, inode: 0 <-> 1935629, size: 301 <-> 300, perms: ff <-> ff, type: 0 <-> 0, checksum: SHA1:5adcdac9608ae0811247f07f4cf1ab0a2ef99154 <-> SHA1:cc9adedebe27a6259efb8d6ed09f4f2eff559ad1, ignore: 0
06-29 07:58:02:987 [ info sync.csync.updater ]:	file: A/a0, instruction: INSTRUCTION_EVAL <<=
06-29 07:58:02:989 [ info sync.csync.csync ]:	Update detection for remote replica took 0.004 seconds walking 13 files
06-29 07:58:02:990 [ info sync.engine ]:	#### Discovery end ####################################################  9 ms
06-29 07:58:02:990 [ info sync.database ]:	Updating file record for path: "A/a0" inode: 1935629 modtime: 1530259082 type: 0 etag: "1644a8c8b26" fileId: "16383ea4" remotePerm: "WDNVCKR" fileSize: 301 checksum: "SHA1:cc9adedebe27a6259efb8d6ed09f4f2eff559ad1"
06-29 07:58:02:990 [ info sync.csync.reconciler ]:	INSTRUCTION_UPDATE_METADATA    client file: A/a0
06-29 07:58:02:990 [ info sync.csync.csync ]:	Reconciliation for local replica took  0 seconds visiting  13  files.
06-29 07:58:02:990 [ info sync.csync.reconciler ]:	INSTRUCTION_UPDATE_METADATA    server dir:  A
06-29 07:58:02:990 [ info sync.csync.csync ]:	Reconciliation for remote replica took  0 seconds visiting  13  files.
06-29 07:58:02:990 [ info sync.engine ]:	#### Reconcile end ####################################################  9 ms
06-29 07:58:02:990 [ info sync.database ]:	Updating local metadata for: "A/a0" 1530259082 302 1935629
FAIL!  : TestChunkingNG::connectionDroppedBeforeEtagRecieved(small file) '!fakeFolder.syncOnce()' returned FALSE. ()
2018-07-04 17:26:56 +02:00
Markus Goetz
06936bc603 Merge branch '2.5' 2018-06-29 15:19:59 +02:00
Olivier Goffart
347d35ae5d OAuth: Remove the timeout
There is no real reason to have a timeout. The connection can stay open
as long as we are not authenticated. The User can still re-open a browser
from the UI at any time.

Issue #6612
2018-06-27 15:10:09 +02:00
Markus Goetz
9ce390e143 OCUpdater: Set correct state on network error
For #3933
2018-06-27 13:13:16 +02:00
Dominik Schmidt
ea94c414b2 Update libcrashreporter-qt to support Qt 5.11 2018-06-27 12:32:17 +02:00
Markus Goetz
150d4f5935 MSI: Always with logfile #6609 2018-06-27 10:25:33 +02:00
Dominik Schmidt
e2a8975ad8 Extract filename of updateFile without leading slash 2018-06-27 10:25:33 +02:00
Dominik Schmidt
0dc8bde694 Escape msi and owncloud.exe path (who knows...) 2018-06-27 10:25:33 +02:00
Dominik Schmidt
4d826a3d21 Run msi properly and restart client after update 2018-06-27 10:25:33 +02:00
Dominik Schmidt
52bccac23a Implement basic .msi support in updater 2018-06-27 10:25:33 +02:00
Dominik Schmidt
07e2230dd9 ECMAddAppIconMacro: Rename OUTFILE_BASE to OUTFILE_BASENAME and fix sidebar icon resolutions 2018-06-27 01:28:44 +02:00
Markus Goetz
8e4d2e8c9f Updater: Comments 2018-06-25 12:29:45 +02:00