Christian Kamm
de77514671
AccountWizard: Reserve space for error label #6546
2018-05-25 08:44:03 +02:00
Christian Kamm
5811c74f9c
Settings migration: Preserve future settings where possible
...
See discussion in #6506
2018-05-24 12:18:44 +02:00
Christian Kamm
57a2881906
Config: Add version flags to accounts and folders
...
Also, if there is too-new configuration, backup the file, show a
warning message asking the user whether it's ok to discard the
configuration from the future.
See #6504
2018-05-24 12:18:44 +02:00
Christian Kamm
53f52b4cf5
Settings: Add warning when switching update channel
2018-05-24 12:09:40 +02:00
Christian Kamm
293c2b4f79
Updater: Make sparkle updater respect release channel
2018-05-24 12:09:40 +02:00
Christian Kamm
7790953a2c
Settings: Add update channel combobox #6259
2018-05-24 12:09:40 +02:00
Christian Kamm
8f9f2b5462
Rename Placeholders to Virtual Files in code #6531
2018-05-23 09:57:00 +02:00
Christian Kamm
0cd2540a69
Add to and rearrange the Changelog for 2.5
2018-05-18 07:43:43 +02:00
Christian Kamm
2493cbe491
SyncJournal: Explain added file-exists check
2018-05-17 15:02:52 +02:00
Christian Kamm
394ef439e0
Merge branch 'master' into 2.5
2018-05-17 13:23:20 +02:00
Christian Kamm
2638332dc6
Upload: Adjust timeout for final job based on size #6527
...
Some servers have virus scanners and the like that can delay the
response of the final chunked upload assembly significantly, often
breaking the current 5min (!) timeout. See owncloud/enterprise#2480
for details.
2018-05-17 13:14:37 +02:00
Christian Kamm
5308fc4148
Propagation: Connection closed is a normal error #6516
...
Because it sometimes appears in conjunction with server bugs and we
don't want to halt all syncing for other files in these cases.
2018-05-17 13:14:20 +02:00
Christian Kamm
ad5fbfe05b
Wizard: Add a "(recommended)" to the main option #6470
2018-05-17 13:14:03 +02:00
Christian Kamm
b1224cff0c
SyncJournal: Check file existence even for open dbs #6049
...
With WAL mode sqlite seems to occasionally crash when the
underlying filesystem goes away.
2018-05-17 13:08:42 +02:00
Christian Kamm
1c4592339a
Rename "placeholder" feature
2018-05-16 12:52:32 +02:00
Christian Kamm
f396f2f41d
IgnoreEditor: Preserve comments, add #!readonly
...
Useful in case we ever want to make use of directives inside the ignore
list.
2018-05-15 14:26:35 +02:00
Christian Kamm
8d14f4357a
Placeholder: Stop adding ignore pattern
...
Because we can't make older clients preserve the version directive that
was attached to it.
See #6504 and #6498
2018-05-15 14:26:35 +02:00
Christian Kamm
34d40e6c67
Placeholder: Don't contain "stub"
2018-05-15 14:26:35 +02:00
Christian Kamm
c80ee0ea48
Placeholders: Save to key that's invisible to <2.5 clients #6504
2018-05-15 14:26:35 +02:00
Christian Kamm
8b952d3741
TestChunkingNG: Remove unneeded test code
2018-05-15 09:42:54 +02:00
Christian Kamm
33b0726390
PropagateUpload: Fix miscount in abort() #6516
...
Previously it tried to abort even jobs that had already finished, which
was not going to work as they wouldn't emit finished() again.
Also, in some cases the abortCount would never go to zero and that case
wasn't well documented.
2018-05-15 09:42:54 +02:00
Christian Kamm
40e23d3da7
PropagateUpload: Remove unused PropagateUploadFileCommon::abort
2018-05-15 09:42:54 +02:00
Christian Kamm
5e4aca8988
ShareLink: Preserve password when unrelated ui changes #6512
2018-05-14 09:44:21 +02:00
Christian Kamm
d917f52779
Remove debug code
2018-05-14 09:37:28 +02:00
Christian Kamm
e9ac35b2e5
Doc: Adjust step-by-step guide for creating log files #6442
2018-05-03 11:13:03 +02:00
Christian Kamm
642ed1bb70
Merge remote-tracking branch 'origin/master' into 2.5
2018-04-26 10:16:45 +02:00
Christian Kamm
3f9c10e641
Proxy settings: Fix bad behavior with empty host
...
Fixes f6a075ef54 for #5885
When no host is given it shouldn't just *appear* that there is no
proxy, there actually shouldn't be a proxy set then.
2018-04-26 10:07:05 +02:00
Christian Kamm
e9db52a378
Issues: Show link to conflicts doc if there are some #6396
...
The link url is themed.
2018-04-25 13:31:49 +02:00
Christian Kamm
fc73cde10c
Merge branch 'master' into 2.5
2018-04-25 12:30:31 +02:00
Christian Kamm
44071f0892
Nautilus shell integration: Print python version on startup #6406
2018-04-25 12:26:18 +02:00
Christian Kamm
9555f8d75c
Show a tray message when a folder watcher becomes unreliable #6119
2018-04-24 13:06:50 +02:00
Christian Kamm
4268f793fb
Share dialog: Don't hide account settings before showing #6185
...
At least on windows and linux. OSX would need tests first since
the addition was originally supposed to help with OSX problems,
see #3783 .
2018-04-24 10:09:23 +02:00
Christian Kamm
1508b562ad
SocketAPI: Allow opening share dialog if contents still syncing #4608
...
With the previous changes the "Share..." action was shown but it didn't
work yet.
2018-04-23 12:24:32 +02:00
Christian Kamm
4390bbf838
SocketAPI: Remove SHARE_STATUS
...
It was never used by a shell integration.
2018-04-23 12:24:32 +02:00
Christian Kamm
7cce30942e
CMake: Add a default placeholder_suffix
...
To make themes work that don't define it explicitly.
2018-04-20 15:08:08 +02:00
Christian Kamm
f6a075ef54
Network settings: If no proxy host given, show "no proxy" #5885
...
What happens internally is that a proxy without a hostname gets treated
as no proxy.
2018-04-19 17:04:56 +02:00
Christian Kamm
a5271b529b
LocalDiscoveryTracker: Add unit test #6120
2018-04-19 10:58:46 +02:00
Christian Kamm
7c558394c1
LocalDiscoveryTracker: Separate from Folder and move to libsync
...
To allow relevant code to be closer together and for testing in
unittests without having to get a gui Folder.
See #6120
2018-04-19 10:58:46 +02:00
Christian Kamm
985a657f48
Merge remote-tracking branch 'origin/master'
2018-04-18 11:14:08 +02:00
Christian Kamm
9e8464e114
Merge branch 'placeholder-prototype'
2018-04-18 11:02:53 +02:00
Christian Kamm
a9561f494b
Doc: Add showExperimentalOptions to conffile.rst
2018-04-18 10:27:51 +02:00
Christian Kamm
b7412a4f09
Wizards: Show placeholder option only if showExperimentalOptions is set
...
This config file option will also control other features in the future.
2018-04-18 10:27:51 +02:00
Christian Kamm
ba1309b3a4
Wizards: Add placeholder option and warning to account wizard
...
Also add the warning dialog to the option in the folder wizard.
2018-04-18 10:27:51 +02:00
Christian Kamm
70b4dc99dc
NSIS: Register placeholder extension
...
Also change the placeholder suffix config option to not include the dot,
the dotless form is needed in the nsis script.
2018-04-18 10:27:51 +02:00
Christian Kamm
65a2b1aa8a
Placeholders: Fix migration issues
...
Some edgecases weren't covered and didn't have tests yet.
2018-04-18 10:27:51 +02:00
Christian Kamm
fb3e3edcbd
SyncOptions: Add default placeholder suffix
...
Otherwise each test has to set this up anew.
2018-04-18 10:27:51 +02:00
Christian Kamm
c2f84d7c3e
Placeholders: Ignore placeholder files in older clients
...
To do this, we add the placeholder extension to the user exclude file
automatically. However, newer clients shouldn't use that exclude
pattern: so we also add version directives that allow making exclude
patterns dependent on the client version.
2018-04-18 10:27:51 +02:00
Christian Kamm
8358dabbfd
Folder: Simplify relative path computation
...
It was done manually in several places after folderForPath() calls.
2018-04-18 10:27:51 +02:00
Christian Kamm
8b6ae04155
Placeholders: Download from shell integration
2018-04-18 10:27:51 +02:00
Christian Kamm
01bb241e48
Placeholders: Safe migration to older client versions
...
Now the db entries for placeholders will have the full placeholder
paths. That way older clients will, on remote discovery, delete the
placeholders and download the real files.
2018-04-18 10:27:51 +02:00
Christian Kamm
e2f2c9a153
Placeholders: Deal with conflicts when a placeholder exists
...
So "foo.owncloud" exists but the user adds a new "foo".
2018-04-18 10:27:51 +02:00
Christian Kamm
798e60c9f6
On-demand downloading: Placeholder-file based prototype
...
- Controled by an option.
- New remote files start out as ItemTypePlaceholder, are created with a
.owncloud extension.
- When their db entry is set to ItemTypePlaceholderDownload the next
sync run will download them.
- Files that aren't in the placeholder state sync as usual.
- See test cases in testsyncplaceholders.
Missing:
- User ui for triggering placeholder file download
- Maybe: Going back from file to placeholder?
2018-04-18 10:27:51 +02:00
Christian Kamm
57044c1e02
Silence warning by removing unnecessary this capture
2018-04-18 10:26:22 +02:00
Christian Kamm
fa6ac9da23
Upload: Add more chunk resuming unit tests #6405
2018-04-17 13:48:13 +02:00
Christian Kamm
93d8810414
SocketApi/Sharing: Add "copy public link" to menu #6356
...
* The new menu option will fetch shares and create a new link share if
no "context menu share" currently exists.
* Various cleanup of common operations in socketapi happened as well,
in particular there's now FileData::get() that calculates all the
relevant paths that are useful for most socketapi actions.
2018-04-16 08:37:44 +02:00
Christian Kamm
113f56fdc5
Logging: Add persistent auto-logdir option #6442
2018-04-12 12:38:17 +02:00
Christian Kamm
bd9ec3dbee
LogDir: Compress log when switching files #6442
2018-04-12 12:38:17 +02:00
Christian Kamm
6fcff62e95
LogDir: Go to new file on Problem/Abort too #6442
2018-04-12 12:38:17 +02:00
Christian Kamm
db64b217b8
Doc: Explaining conflict files and resolving them #6396
2018-04-11 09:02:15 +02:00
Christian Kamm
ca36da6037
Doc: Remove out of date changelog copy
2018-04-10 09:20:22 +02:00
Christian Kamm
73777beb00
Doc: fix for new conflict tag
2018-04-10 09:17:05 +02:00
Christian Kamm
eef275a1e4
Folders: Use "Problem" icon for unresolved conflicts #6277
2018-04-10 08:38:59 +02:00
Christian Kamm
2298ecca7c
Share link: Update permission wording #6192
2018-04-09 12:16:40 +02:00
Christian Kamm
02a2056543
Notify if an explicitly excluded folder is created #6222
2018-04-03 14:03:46 +02:00
Christian Kamm
afec3ccf6e
Conflicts: Change tags to be more user friendly #6365
...
From "_conflict-user-yyyymmdd-hhmmss"
to " (conflicted copy user yyyy-mm-dd hhmmss)"
2018-04-03 14:03:03 +02:00
Christian Kamm
9f346037ee
Nautilus integration: Not a ColumnProvider
...
The nautilus plugin doesn't actually define get_columns(), so pretending
to be a ColumnProvider lead to a critical warning on startup.
2018-03-28 15:30:05 +02:00
Christian Kamm
28f68369be
Blacklist: Add unittest #6411
2018-03-28 11:25:32 +02:00
Christian Kamm
2641a6af21
Rename local discovery option for clarity
...
It's using full relative filepaths, not just dir paths.
2018-03-28 11:25:32 +02:00
Christian Kamm
1ac45be94e
Readme: Update list of maintainers
2018-03-28 10:11:40 +02:00
Christian Kamm
3d002468ae
Readme: Fix link to binary downloads
2018-03-28 10:11:40 +02:00
Christian Kamm
5e75d224ee
Blacklisting must prevent parent etag updates #6411
2018-03-28 10:01:33 +02:00
Christian Kamm
25deaed9e5
Excludes: Expand doc, Desktop.ini only in root folder
...
The Desktop.ini exclude was added for 2.4 because we add such a file to
the synced folder on Windows. It doesn't need to cover subdirectories.
2018-03-27 12:43:53 +02:00
Christian Kamm
17342031d7
Upload: Simplify 'finished' flag
...
* Sometimes there was 'finished' and '_finished'
* Make each done() call automatically set _finished to true
2018-03-27 12:42:48 +02:00
Christian Kamm
edacaae15f
Merge remote-tracking branch 'origin/2.4'
2018-03-21 11:47:29 +01:00
Christian Kamm
29557ea550
Fix nautilus/nemo shell integration encoding issues #6393
...
The problem was that plain encode()/decode() in python2 use ascii
encoding, not utf8.
2018-03-21 11:25:37 +01:00
Christian Kamm
a89508ba26
Minor header fixup
...
To make the IDE happy.
2018-03-16 13:41:57 +01:00
Christian Kamm
86b30e36c2
Merge remote-tracking branch 'origin/2.4'
2018-03-12 10:24:25 +01:00
Christian Kamm
427bb83f0d
IssuesWidget: addItem performance improvement
...
Ensure adding a new item isn't usually O(n) by keeping track of which
items have associated issues.
2018-03-06 13:02:54 +01:00
Christian Kamm
faec059a9b
IssuesWidget: Don't allow two issues for the same file/folder
...
This is intended to safeguard against invalidation bugs that cause the
same error to be added again for every sync run.
2018-03-06 13:02:54 +01:00
Christian Kamm
641eddfbdf
INSTRUCTION_IGNORE now carries a direction
...
This allows IssuesWidget to selectively wipe only the 'Up' ignores
during selective local discovery.
2018-03-06 13:02:54 +01:00
Christian Kamm
61869bb65e
ProtocolItem: Adjust the way data is stored again
...
The struct makes it easy to pack data and should consume less memory
overall.
2018-03-06 13:02:54 +01:00
Christian Kamm
797473ba1f
SyncResult: Make sure the number of conflicts is correct #6226
...
If the SyncResult incorrectly believes that there are no conflicts, the
tray icon won't be correct and there will be no warning about unresolved
conflicts on the account.
Nevertheless, it's pretty awkward that the IssuesWidget is better
informed about pending conflicts than the Folder itself. This kind of
backwards data flow is very confusing.
Unfortunately the only alternative I see is to either keep track of
this information in two places (also in Folder), or create a common
data-holding class that can serve as a model instance for the issues
view as well as provide data directly to the Folder - which would
have been a much larger change.
2018-03-06 13:02:54 +01:00
Christian Kamm
f82d61ea19
SyncEngine: Make "local discovery?" question available
...
Also fix the minor bug that was mentioned and add tests.
2018-03-06 13:02:54 +01:00
Christian Kamm
ec281654ae
Issues tab: Invalidate issues selectively #6226
...
Everything is invalidated later: after discovery, not before. In
addition entries that should only be invalidated when new local
discovery is done have that behavior now.
2018-03-06 13:02:54 +01:00
Christian Kamm
52dfe589ba
ProgressInfo: Add information for local vs remote discovery
2018-03-06 13:02:54 +01:00
Christian Kamm
a5aebac6a7
slotFolderDiscovered: Fix 'local' always being false
...
It was unused, so no harm done.
2018-03-06 13:02:54 +01:00
Christian Kamm
13eb64584f
Discovery: Error if properties are missing #6317
2018-03-06 13:01:53 +01:00
Christian Kamm
48dd8ed6c2
Partial local discovery: Fix scheduling logic
...
A recent patch that touched the condition for deciding whether a
periodic full local discovery is necessary accidentally inverted the
condition.
2018-02-20 18:07:28 +01:00
Christian Kamm
33306dcc38
Set launch-on-startup when the first account is set up
...
The previous code would disable it when the second account was
configured.
See #6347
2018-02-20 11:20:52 +01:00
Christian Kamm
ed2dfcf399
Conflicts with user name: Fix tests
2018-02-20 10:36:07 +01:00
Christian Kamm
6fc3bfc265
Conflicts: Add user name to conflict file name #6325
...
For the case of uploading conflict files only.
2018-02-20 10:10:34 +01:00
Christian Kamm
129b814931
SyncEngine: Use separate state for two unicode conversions
...
It's unlikely that there were interaction effects but still seems safer
to use different conversion state for the path and rename_path.
2018-02-20 10:01:47 +01:00
Christian Kamm
6c1a73b67a
SyncJournal: Clear etag filter before sync
...
Before, we only cleared the _avoidReadFromDbOnNextSyncFilter *after* a
sync which meant that we had to sync twice after selective sync setup.
Now, we clear the filter *before* a sync as well which allows the actual
next sync to write the correct etags to the db again - instead of only
the sync after that one.
Also expand on comments and rename _avoidReadFromDbOnNextSyncFilter to
_etagStorageFilter.
2018-02-16 11:39:19 +01:00
Christian Kamm
4a47f7e438
Merge remote-tracking branch 'origin/2.4'
2018-02-16 10:17:19 +01:00
Christian Kamm
73062e21a3
SyncJournal: Don't use LIKE with paths
...
Paths can contain the wildcards % and _ and that would lead to odd
behavior.
This patch also clarifies the behavior of avoidReadFromDbOnNextSync()
which previously dependend on whether "foo/bar" or "foo/bar/" was
passed as input.
Possibly affects #6322
2018-02-15 09:56:43 +01:00
Christian Kamm
e7e6584cab
Sharing: Use maximum allowed permissions for new share #6346
...
The client already computed the valid permissions, there was just a typo
that meant we didn't end up using them.
2018-02-15 09:10:47 +01:00
Christian Kamm
22b19636e9
Don't delete contents behind directory junctions #6322
...
QFileInfo::isSymLink() does detect reparse points that are symlinks but
returns false for junctions. The new function FileSystem::isJunction()
can detect those and is used to not recursively delete files inside
directories that are junctions.
See also https://bugreports.qt.io/browse/QTBUG-45344 and the
discussion in the PR https://codereview.qt-project.org/#/c/113019/ .
2018-02-09 09:15:29 +01:00
Christian Kamm
14f60a4238
FolderStatusModel: Refresh folders on Problem sync #6337
...
We don't want to refresh too frequently. But Problem is very close to
Success and very common.
2018-01-29 09:36:35 +01:00
Christian Kamm
f8022bb248
Fix compiler warning
...
Stray semicolon
2018-01-29 09:31:31 +01:00
Christian Kamm
d1aacac294
Tray: Change icon for unresolved conflicts #6277
2018-01-26 13:33:33 +01:00