Commit graph

11049 commits

Author SHA1 Message Date
Jocelyn Turcotte
7fad474863
Replace csync_vio_file_stat_t with csync_file_stat_t
Also move csync_normalize_etag to common/utility since we
don't need the char* function anymore.

Remove the single space file_stat->remotePerm codepath since
this won't be used in csync anymore since
8de3bda0b1.

Issue #1817
2017-10-05 22:01:04 +02:00
Matthew Setter
26dde9b543
Fix link to download the ownCloud client
This was requested in https://github.com/owncloud/documentation/issues/3354.
2017-10-05 22:01:04 +02:00
Matthew Setter
b43e948167
Fix broken images in FAQ
This relates to https://github.com/owncloud/documentation/issues/3354.
2017-10-05 22:01:03 +02:00
Jürgen Weigert
9da3822305
Update ChangeLog 2017-10-05 22:01:03 +02:00
Jocelyn Turcotte
61d949730b
Make csync_file_stat_t public and partly convert to C++
This is the first commit trying to unify csync_file_stat_s,
csync_vio_file_stat_s and csync_tree_walk_file_s. Use QByteArray
and unique_ptr already since I'm not used to track memory allocations
and this will make the transition easier.

Issue #1817
2017-10-05 22:01:03 +02:00
Jocelyn Turcotte
bfc7ea562d
Move Utility to a new common static library
Now that csync builds as C++, this will avoid having to implement
functionalities needed by csync mandatorily in csync itself.

This library is built as part of libocsync and symbols exported
through it.
This requires a relicense of Utility as LGPL. All classes moved into
this library from src/libsync will need to be relicensed as well.
2017-10-05 22:01:03 +02:00
Christian Kamm
6d8c98f6b4
Add minor unittest for numeric id extraction #5933 2017-10-05 22:01:03 +02:00
Jocelyn Turcotte
4aca1b9697
StatusTracker: Fix different case paths not matching (#5981)
Use a custom std::map comparator functor to do all comparisons
on contained QStrings using Qt::CaseInsensitive on macOS and Windows.

Issue #5257
2017-10-05 22:01:03 +02:00
Jürgen Weigert
f96990b489
fix branded nemo and caja shell integration (#5966)
* Update createcajaplugin.sh

* first apply branding, then create copies. Better.
Fixes https://github.com/owncloud/ownbrander/issues/753

* fix https://github.com/owncloud/ownbrander/issues/752 too.
2017-10-05 22:01:03 +02:00
Jocelyn Turcotte
7280359c66
Fix cmocka deprecation warnings
Just use cmocka_run_group_tests like we already use in
some of those tests.
2017-10-05 22:01:03 +02:00
Jocelyn Turcotte
b30c3202f0
Enable csync logs in unit tests
Go through the Logger to enable the csync-QDebug bridge.
2017-10-05 22:01:03 +02:00
Jocelyn Turcotte
ac4be17192
Compile almost all of csync as C++
This will allow us to unify data structures between csync and libsync.

Utility functions like csync_time and c_std are still compiled as C
since we won't need to be coupled with Qt in the short term.
2017-10-05 22:01:03 +02:00
Jocelyn Turcotte
39e9938cad
Use .cpp for existing csync .cc files
Make this consistent with the rest of the client code.
2017-10-05 22:01:03 +02:00
Jocelyn Turcotte
f897a91354
Move csync to src/csync 2017-10-05 22:01:03 +02:00
Jocelyn Turcotte
5948f26884
Move csync/tests to test/csync 2017-10-05 22:01:03 +02:00
Jocelyn Turcotte
95579b3de1
Move csync/tests/ownCloud to test/scripts/txpl 2017-10-05 22:00:57 +02:00
Roeland Jago Douma
cba78eb11f Merge pull request #2 from nextcloud/update-readme
Update README
2017-09-27 14:03:23 +02:00
Roeland Jago Douma
cc7cb6b650
Remove templates for now
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-09-27 14:02:49 +02:00
Christoph Wurst
8eb466c9c5 Update README
Adjust branding and remove some sections
2017-09-27 14:00:02 +02:00
Roeland Jago Douma
cacba220f9 Merge pull request #48 from nextcloud-gmbh/master-oc
Bump to oc master
2017-08-25 15:06:26 +02:00
Roeland Jago Douma
cdc5c1db43
Merge remote-tracking branch 'oc/master' into master-oc 2017-08-23 15:40:35 +02:00
Martin
5bf48bc68f Merge pull request #5974 from owncloud/Documentation_Activity_Update
Documentation improvement for #5969
2017-08-20 21:09:42 +02:00
Martin
6e47d9a2e5 Documentation improvement for #5969 2017-08-20 18:17:58 +02:00
Jocelyn Turcotte
a480a318fd Hardcode Desktop.ini in the exclude list
This prevents it from being removed from the exclude list, which
would be an issue since the client itself creates this file in a way
that wouldn't match on machines with different installation paths.
2017-08-15 13:37:33 +02:00
Jocelyn Turcotte
251f1d0047 Windows: Use the application icon for the sidebar
By setting the icon in Desktop.ini of the root folder, this adds the icon
both when browsing the folder directly and to the sidebar shortcut.

To avoid overwriting any user setting that could exist in Desktop.ini,
only do this if the file doesn't exist. Editing .ini files on Windows
isn't trivial and isn't worth it given that this file won't exist most
of the time.

Fixes #2446
2017-08-15 13:37:33 +02:00
Markus Goetz
1c3127e43b CMake: Print the Qt version and path #5957 #5932 2017-08-14 14:24:27 +02:00
Roeland Jago Douma
63d99f3e30 Merge pull request #47 from nextcloud-gmbh/drone_qt5.9
Add Qt5.9  to drone
2017-08-05 21:15:30 +02:00
Roeland Jago Douma
067c174e61
Add Qt5.9 to drone
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-08-05 21:08:45 +02:00
Roeland Jago Douma
993e1eb89c Merge pull request #46 from nextcloud-gmbh/drone_57_58
Add qt5.7 and qt5.8 CI tests
2017-08-05 14:37:26 +02:00
Roeland Jago Douma
6cb4131024
Add qt5.7 and qt5.8 CI tests
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-08-05 14:29:13 +02:00
Markus Goetz
20a979173f Sync Folder: Add file manager favorite also in folder wizard #455
Not only in the account wizard.
2017-08-04 17:38:01 +02:00
Markus Goetz
4aad318446 Upload: Log the checksum / file hash 2017-08-04 15:42:11 +02:00
Markus Goetz
13a5653c4e ChangeLog: More 2.4.0 stuff 2017-08-04 15:23:44 +02:00
Roeland Jago Douma
ceccc661f1 Merge pull request #43 from nextcloud-gmbh/drone
Get drone up and running
2017-08-04 10:55:06 +02:00
Roeland Jago Douma
53087ac803
Add drone test for Qt-5.6
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-08-03 22:29:46 +02:00
Matthew Setter
119ecb4259 Merge pull request #5762 from owncloud/update-docs-to-2.3.2
Update client docs version string to 2.3.2
2017-08-03 13:56:39 +02:00
Matthew Setter
8bd047174a Update client docs version string to 2.4.0
Need to update this to match the latest version.
2017-08-01 17:28:50 +02:00
Matthew Setter
416393a794 Merge pull request #5929 from owncloud/doc-cleanup
Clean up the client docs removing old, outdated, content
2017-08-01 11:52:05 +02:00
Jocelyn Turcotte
9e36cabcbf macos: Add a sidebar icon
In the process, use an iconset to generate the icns using iconutil.
Also add some missing icon resolutions according to the guidelines.

Issue #296
2017-07-31 18:43:47 +02:00
Matthew Setter
3731eba9b6 Clean up the client docs removing old, outdated, content
This makes changes as suggested by @michaelstingl in
https://github.com/owncloud/documentation/issues/3240.
2017-07-31 14:04:02 +02:00
Olivier Goffart
f707a43b3c FolderWizard: fix crash in FolderWizardRemotePath::slotHandleLsColNetworkError
The Job is a LsColJob, not a MkColJob!

Reproduce by entering a name with invalid character that cause an error 400
in the folder wizard's remote path line edit.

(Relates issue #5924)
2017-07-28 11:57:08 +02:00
Jocelyn Turcotte
7a96e8a292 General settings: Put all advanced checkboxes in a layout
The mac style has the concept of Layout Item Rectangle that bleeds
widgets margins into parent margins. This unfortunately doesn't work
when the parent layout doesn't have any margin, like we do when we
have the hierarchy:
 Vertical(normal margin)
   / Horizontal(no margin, uses parent layout spacing)
     /Widget

I guess Qt should propagate remaining uneaten margins to grand-parent
layouts and so on to have this work properly, but nobody seems to
have touched that code since Qt 4.4.
So just try to make the problem less worse by making sure that
all checkboxes we want to align are either in the same layout, or
in a loyout of their own.

Issue #5492
2017-07-27 17:37:27 +02:00
Jocelyn Turcotte
90cce0ab56 Fix the selective sync notification folder list being cropped
The maximumHeight would stay at the last animated value.

Issue #5492
2017-07-27 17:37:27 +02:00
Olivier Goffart
41ed603abf AccountState: reset _waitingForNewCredentials when signin in
Just to force the logic to re-ask the credenticals, in case we were
already asking them when singin off.

Issue: https://github.com/owncloud/client/issues/5893#issuecomment-316949686
2017-07-26 14:58:28 +02:00
Markus Goetz
cdce7f2044 encoding_tests: No more iconv 2017-07-26 11:46:18 +02:00
Olivier Goffart
6ae88514d8 OAuth: clear refresh token when the server claim not to support oauth
Allow upgrade path when the server removes support for oauth
Relates: https://github.com/owncloud/client/issues/5848#issuecomment-317353049

We also need to force the account to commit the config to the disk,
otherwise we may not register we are no longer using owncloud and we
risk sending the password as the token to the token refresh API call
2017-07-25 12:34:13 +02:00
Olivier Goffart
c043840cb1 OAuth: Fix refresh of token after expiration
Before commit d3b00532b1,
fetchFromKeychain was called everytime we detect that the creds are
invalid (in AccountState::slotInvalidCredentials)
But since that commit, AccountState was calling askFromUser directly,
breaking the refresh of the token.

So I made sure AccountState::slotInvalidCredentials still calls
refreshAccessToken.

Another change that was made was too be sure to clear the cookies
in HttpCredentials::invalidateToken even when we are only clearing the
access_token. That's because the session with a cookie may stay valid
longer than the access_token
2017-07-25 12:34:13 +02:00
Olivier Goffart
a831164d65 Revert "Revert "Discovery: consider also the "shared by me" as shared""
This reverts commit efa7821dd2.

This reverts the revert, but also add a check that the server version
is bigger than 10.0

Issue #4788
2017-07-25 12:11:33 +02:00
Jocelyn Turcotte
a41dc00160 Don't keep the list of touched files for the whole sync
We only want to know if they were touched within the last 15 seconds,
so change the data structure to use a QMultiMap, and sort them by
QElapsedTimer. This allows us to iterate over old entries ordered by
time and to stop once we find a recent entry.

This makes the look-up slower but in most cases the folder watcher
will report any change within milliseconds, and we start from the
most recent. What this really makes slower are actual user file
changes while a fast sync is underways which will need to iterate
over the whole map to find out the file isn't there.

This reduces the growth of the memory usage when downloading a large
amount of files.
2017-07-24 17:54:29 +02:00
Jocelyn Turcotte
5a1bf7d8fe windows: Fix a memory leak in FileSystem::longWinPath
Also use c_path_to_UNC directly instead of doing an extra
UTF-8->wchar conversion.
2017-07-24 17:54:29 +02:00