Simon Frei
8210466b03
lib/model: Consider case conflicts when checking to be deleted items ( #6986 )
2020-09-12 07:45:50 +02:00
Simon Frei
08bebbe59b
lib/db, lib/syncthing: Don't repair DB on upgrade, but on error ( fixes #6917 ) ( #6971 )
2020-09-10 10:54:41 +02:00
Simon Frei
c5c23ed10f
lib/model: Consider existing file when handling symlink on windows ( #6977 )
2020-09-10 10:52:38 +02:00
Simon Frei
286698ccb1
lib/model: Handle symlink deletion on windows ( fixes #6972 ) ( #6976 )
2020-09-10 08:25:44 +02:00
Simon Frei
56d48d341f
lib/model: Fix case-only renames on pull ( #6978 )
2020-09-10 08:23:54 +02:00
Simon Frei
e3cd9219b8
lib/model: Don't fail over case-conflict on tempfile ( fixes #6973 ) ( #6975 )
2020-09-09 11:47:14 +02:00
Simon Frei
b628ec5054
lib/fs: Use generic case resolver on windows ( fixes #6968 ) ( #6969 )
2020-09-08 13:10:26 +02:00
Simon Frei
ecc24428ac
lib/model: Prevent duplicate need count on recalculating metadata ( #6964 )
2020-09-07 20:19:03 +02:00
Simon Frei
e19728d8cc
lib/model: Correct completion perc. when globalBytes is 0 ( #6963 )
2020-09-07 20:03:18 +02:00
Simon Frei
3dd13c3994
test, lib/model: Various integration test updates & improvements ( #6956 )
2020-09-07 09:35:37 +02:00
Simon Frei
52d1681fe6
lib/db: Copy returned, old FileVersion ( #6952 )
2020-09-04 14:13:38 +02:00
Simon Frei
7b821d2550
lib/db: Add local need check&repair ( #6950 )
2020-09-04 14:01:46 +02:00
Simon Frei
0e3e0a7c9e
cmd/stindex, lib/db: Use same condition to check for needed files ( #6954 )
2020-09-04 13:59:04 +02:00
Simon Frei
6365e6108f
lib/model: Don't acquire I/O token for send-only pull ( #6951 )
2020-09-03 13:59:45 +02:00
Simon Frei
540518a7b7
lib/model: Add missing lock on download-state ( fixes #6880 ) ( #6945 )
2020-08-30 08:03:10 +02:00
Simon Frei
44bf8cfd27
build: Improve translation script ( fixes #6943 ) ( #6944 )
2020-08-30 08:01:46 +02:00
Simon Frei
06ac631351
lib/model: Reduce fmut locking in ClusterConfig ( #6913 )
...
The FileSet.Drop operation in there needs to potentially update a whole lot of global lists, which can take a while (longer than the deadlock interval apparently)
2020-08-27 16:01:46 +02:00
Simon Frei and Audrius Butkevicius
1fc2dbdeeb
lib/model: Add test for recv-only changes undone by remote ( #6463 )
...
Co-authored-by: Audrius Butkevicius <audrius.butkevicius@gmail.com >
2020-08-27 15:54:00 +02:00
Simon Frei
3f0eba388c
lib/syncthing: Also cleanup on startup error ( #6926 )
2020-08-27 15:52:51 +02:00
Simon Frei
675b535ead
build: Bump goleveldb to latest commit ( #6895 )
2020-08-21 12:35:05 +02:00
Simon Frei
a65b46debd
lib/model: Don't mark globally deleted items as recv-only ( fixes #6910 ) ( #6911 )
2020-08-21 12:34:22 +02:00
Simon Frei
b628460930
lib/model: Prevent localflag flipflopping on del. item (ref #6865 ) ( #6919 )
2020-08-21 10:09:48 +02:00
Simon Frei
cc1f6e4d4a
lib/db, lib/model: Cover exec-paths with debug logging ( #6918 )
2020-08-20 16:11:20 +02:00
Simon Frei
88599bc154
lib/model: Handle del. dir with locally changed items on pull ( fixes #6873 ) ( #6914 )
2020-08-20 10:56:29 +02:00
Simon Frei
fc2c46e82f
lib/config, lib/fs: Make junction behaviour configurable (ref #6606 ) ( #6907 )
2020-08-19 19:58:51 +02:00
Simon Frei
ce4d149bf5
lib/nat: Don't hang on draining timer chan ( fixes #6908 ) ( #6912 )
2020-08-19 15:58:44 +01:00
Simon Frei
8f5215878b
lib/db: Don't put truncated files (ref #6855 , ref #6501 ) ( #6888 )
2020-08-18 09:20:12 +02:00
Simon Frei
9c2117f08e
lib/osutil: Check returned error instead of info (ref #6885 ) ( #6887 )
2020-08-12 11:33:56 +02:00
Simon Frei
fd8bea6179
lib/osutil: Preserve perms in AtomicWriter (fixes #tbd) ( #6885 )
2020-08-10 18:48:37 +02:00
Simon Frei
bbf25e2d02
lib/db: Log context on panic ( #6872 )
2020-08-01 17:32:36 +02:00
Simon Frei
5c9df60699
gui: Don't show pull order on SO folders (ref #6807 ) ( #6871 )
2020-08-01 11:19:54 +02:00
Simon Frei
a85bc1c3a6
lib/model: Check folder error before sync-waiting ( fixes #6793 ) ( #6847 )
2020-07-31 19:26:09 +02:00
Simon Frei
850dd4cd25
lib/db: Don't count invalid items to global state (ref #6850 ) ( #6863 )
2020-07-30 13:49:14 +02:00
Simon Frei
e46c8ab9ee
lib/model: Detect deleted RO items scanning on non-RO ( fixes #6864 ) ( #6865 )
2020-07-30 13:41:45 +02:00
Simon Frei
424d1b1608
lib/db: Commit meta when dropping device ( #6862 )
2020-07-28 16:46:42 +02:00
Simon Frei
1b9e5c0937
lib/db: Include blocks in db check (ref #6855 ) ( #6861 )
2020-07-28 16:25:07 +02:00
Simon Frei and Jakob Borg
932d8c69de
lib/fs: Properly handle case insensitive systems ( fixes #1787 , fixes #2739 , fixes #5708 )
...
With this change we emulate a case sensitive filesystem on top of
insensitive filesystems. This means we correctly pick up case-only renames
and throw a case conflict error when there would be multiple files differing
only in case.
This safety check has a small performance hit (about 20% more filesystem
operations when scanning for changes). The new advanced folder option
`caseSensitiveFS` can be used to disable the safety checks, retaining the
previous behavior on systems known to be fully case sensitive.
Co-authored-by: Jakob Borg <jakob@kastelo.net >
2020-07-28 11:15:11 +02:00
Simon Frei
21dd9d6b43
build: Replace hypen in -dirty for version (ref #6758 ) ( #6858 )
2020-07-28 10:58:01 +02:00
Simon Frei
08e0f938a9
lib/db: Update global meta even if unchanged ( fixes #6850 ) ( #6852 )
2020-07-24 12:36:16 +02:00
Simon Frei
ebead944b5
lib/fs: Pass infinite recursion error on instead of warning ( #6846 )
...
Prompted by https://forum.syncthing.net/t/infinite-filesystem-recursion-detected/15285 . In my opinion the filesystem shouldn't throw warnings but pass on errors for the caller to decide what's to be happening with it. Right now in this PR an infinite recursion is a normal scan error, i.e. folder is in failed state and displays failed items, but no warning. I think that's appropriate but if deemed appropriate an additional warning can be thrown in the scanner.
2020-07-22 22:10:24 +02:00
Simon Frei
16f4921c50
lib/nat: Make sure nat keeps being disabled ( fixes #6823 ) ( #6824 )
2020-07-14 08:16:08 +02:00
Simon Frei
3d339cc8d3
gui: Improve advanced tab in folder edit modal ( #6822 )
2020-07-09 14:28:45 +01:00
Simon Frei
8d67235a75
lib/config: Don't cache device map ( fixes #6816 ) ( #6817 )
2020-07-07 23:44:49 +02:00
Simon Frei
ebbe1abe28
lib/protocol: Include WeakHash in BlocksHash ( #6799 )
2020-06-29 09:33:07 +02:00
Simon Frei
d7fc7008af
lib/protocol: Add BlocksHash to FileInfo string ( #6802 )
2020-06-27 07:44:33 +02:00
Simon Frei
9c45ac381c
lib/model: Consider weak hash on recheckFile ( #6797 )
2020-06-26 16:47:03 +02:00
Simon Frei
4f06708330
lib/api, lib/model: Fixes around event request tracking ( #6774 )
2020-06-25 21:48:48 +02:00
Simon Frei
80ada1bb6c
lib/protocol: Don't warn when dropping deleted invalid item ( fixes #6795 ) ( #6796 )
2020-06-25 20:24:31 +02:00
Simon Frei
0648fb0626
lib/model: Don't force rescan already changed items ( #6798 )
2020-06-25 20:23:59 +02:00
Simon Frei
90e248615f
lib/scanner: Test weak hash consistency (ref #5556 ) ( #6794 )
...
Relevant much earlier changes:
9b1c592fb7
bd1c29ee32
Make sure vanilla and rolling adler are consistent. And that they match
with scanner.Validate.
2020-06-25 14:47:35 +02:00
Simon Frei
85794933d3
lib/model: Remove double error handling in performFinish ( #6780 )
2020-06-23 07:30:16 +02:00
Simon Frei
4881a6336f
lib/db: Correct need accounting on reset ( fixes #6784 ) ( #6785 )
2020-06-23 07:29:27 +02:00
Simon Frei
3d75819cdb
build: Set CGO_ENABLED=0 by default, except on specific platforms ( #6768 )
2020-06-21 17:32:55 +02:00
Simon Frei
f66e57947b
lib/model: Use right db snap when scanning recvonly folder ( #6769 )
2020-06-21 09:28:29 +02:00
Simon Frei
2716898cb9
lib/model: Don't ignore stat failure in performFinish ( #6766 )
2020-06-19 23:47:29 +02:00
Simon Frei
22f0077262
lib/model: Don't stay scanning forever on fail ( #6761 )
2020-06-18 14:13:46 +01:00
Simon Frei
8cf9d91ed4
lib: Print nicely rounded durations ( #6756 )
2020-06-18 10:55:41 +02:00
Simon Frei
cbe0d2fffc
lib/db: Improve error message on meta inconsistency ( #6751 )
2020-06-17 10:03:39 +02:00
Simon Frei
6976219d6d
lib/model: Check dir before deletion when pulling ( #6741 )
2020-06-16 15:20:08 +02:00
Simon Frei
dbacef35c4
build: Update integration tests and add to build.go ( #6744 )
2020-06-16 14:33:17 +02:00
Simon Frei
a47546a1f1
lib/scanner, lib/model: Improve error handling when scanning ( #6736 )
2020-06-16 09:25:41 +02:00
Simon Frei
fdf5a5c0d7
lib/osutil: Use filepath.Join in tests ( #6740 )
2020-06-14 19:09:37 +01:00
Simon Frei
0b65a616ba
lib/scanner: Save one stat call per file ( #6715 )
2020-06-08 08:14:50 +02:00
Simon Frei and Jakob Borg
6b4fe5c063
gui: Ignore permissions isn't just about FAT ( #6713 )
...
Co-authored-by: Jakob Borg <jakob@kastelo.net >
2020-06-08 08:12:06 +02:00
Simon Frei
3065b127b5
lib/connections, lib/nat: Correctly dis-/enable nat ( fixes #6552 ) ( #6719 )
2020-06-07 20:29:53 +02:00
Simon Frei
74ea9c5f67
gui: Fix string and update translations (ref #6536 ) ( #6716 )
2020-06-07 10:46:06 +02:00
Simon Frei
fac4dec840
lib/db: New VersionList migration fixes (ref #6638 ) ( #6705 )
2020-06-02 23:05:41 +02:00
Simon Frei
79bf1f1056
gui: Preserve folder-device info on folder edit ( fixes #6706 ) ( #6707 )
2020-06-02 23:05:19 +02:00
Simon Frei and Jakob Borg
1f8e6c55f6
lib/db: Refactor to use global list by version ( fixes #6372 ) ( #6638 )
...
Group the global list of files by version, instead of having one flat list for all devices. This removes lots of duplicate protocol.Vectors.
Co-authored-by: Jakob Borg <jakob@kastelo.net >
2020-05-30 09:50:23 +02:00
Simon Frei
ed6bfc5417
lib/model: Don't increase pull pause on triggered pull ( #6690 )
2020-05-29 09:52:28 +02:00
Simon Frei
b784f5b9e3
lib/config, lib/model: Commit auto-accepted folders all at once ( #6684 )
2020-05-27 08:05:26 +02:00
Simon Frei
c3b5eba205
lib/model: Fix checking children when trying to delete a dir ( fixes #6646 ) ( #6647 )
2020-05-25 08:46:24 +02:00
Simon Frei
cf75329067
lib/model: Handle concurrently removed device in ClusterConfig ( #6666 )
2020-05-20 11:13:55 +02:00
Simon Frei
8c74177699
lib/db: Initialize need meta on first dev occurrence ( fixes #6668 ) ( #6669 )
2020-05-20 11:04:45 +02:00
Simon Frei
9a5f7fbadf
lib/db: Don't panic on seq. coruption when debugging ( #6662 )
2020-05-20 11:04:38 +02:00
Simon Frei
8f344d0915
lib/db: Initialize need meta on first dev occurrence ( fixes #6668 ) ( #6669 )
2020-05-20 11:01:27 +02:00
Simon Frei
5b34c31cb3
lib/db: Don't panic on seq. coruption when debugging ( #6662 )
2020-05-18 10:42:51 +02:00
Simon Frei
f5ca213682
lib/db: Filter repeat files in one update (ref #6650 ) ( #6651 )
2020-05-16 14:40:20 +02:00
Simon Frei
de9489585f
lib/db: Filter repeat files in one update (ref #6650 ) ( #6651 )
2020-05-16 14:34:53 +02:00
Simon Frei
e5cc55ce09
lib/model: Close conns when devices are removed ( fixes #6564 ) ( #6641 )
2020-05-14 07:50:53 +02:00
Simon Frei
299b9d8883
lib/model: Adjust remote-rename-test to timer-based versions ( fixes #6625 ) ( #6644 )
2020-05-14 00:31:05 +02:00
Simon Frei
074097a8e7
lib/fs: Prevent race-detector triggering in tests ( fixes #6608 ) ( #6642 )
2020-05-14 00:30:09 +02:00
Simon Frei
6768daec07
lib/db: Dont add symlinks to blocks map ( fixes #6637 ) ( #6639 )
2020-05-13 20:47:05 +02:00
Simon Frei
974551375e
lib/db: Dont add symlinks to blocks map ( fixes #6637 ) ( #6639 )
2020-05-13 20:38:21 +02:00
Simon Frei
ba4462a70b
lib/db: Fix updating/removing from global (ref #6413 ) ( #6635 )
2020-05-13 12:56:49 +02:00
Simon Frei
a94951becd
lib/db, lib/model: Keep need stats in metadata (ref #5899 ) ( #6413 )
2020-05-11 15:07:06 +02:00
Simon Frei
5c87ceb392
build: Update .gitignores for new asset locs (ref #6624 ) ( #6631 )
2020-05-11 11:04:47 +01:00
Simon Frei
57ea8a1bf5
lib/model: Prevent panic on test failure (ref #6618 ) ( #6620 )
2020-05-08 17:56:49 +02:00
Simon Frei
2cdeb1bf70
lib/model: Spurious tmp file (ref #6607 ) ( #6609 )
2020-05-07 08:49:59 +02:00
Simon Frei
b5fc332782
lib/model: Merge add and start folder funcs and related refactor ( #6594 )
2020-05-06 08:34:54 +02:00
Simon Frei
914eb77ca4
lib/model: Don't include iolimiter wait into sync duration ( #6593 )
2020-05-04 08:43:35 +02:00
Simon Frei
2e3975e956
lib/model: Improve errors when deleting dirs ( fixes #6575 ) ( #6586 )
2020-05-01 11:11:38 +02:00
Simon Frei
22242d51be
lib/db: Refactor getting global lists ( #6529 )
...
* lib/db: Refactor getting global lists
* VL -> Versions
* keyBuf
* don't touch db migration
2020-05-01 08:30:20 +01:00
Simon Frei
ebad9e2073
gui: Fix regression on refreshNeed ( fixes #6560 , ref #6452 ) ( #6561 )
2020-04-21 22:45:03 +02:00
Simon Frei
d68fa84055
gui: Fix regression on refreshNeed ( fixes #6560 , ref #6452 ) ( #6561 )
2020-04-21 22:42:59 +02:00
Simon Frei
d3ed4de4ed
lib/model: Don't exit pullerRoutine on cancelled ctx ( fixes #6559 ) ( #6562 )
...
* lib/model: Don't exit pullerRoutine on cancelled ctx (fixes #6559 )
* actual fix
2020-04-21 18:55:14 +01:00
Simon Frei
6bbd24de12
lib/model: Refactor folder health/error handling ( fixes #6557 ) ( #6558 )
2020-04-21 10:15:59 +02:00
Simon Frei
49798552f2
lib/model: Delay watch setup on errors ( fixes #5731 ) ( #6544 )
2020-04-17 17:43:42 +02:00
Simon Frei
0ba3abdee4
lib/db: Handle missed error variable in old schema upgrade ( #6528 )
2020-04-13 22:58:04 +02:00
Simon Frei
ab92f8520c
cmd/syncthing, lib/db: Store upgrade info to throttle queries ( fixes #6513 ) ( #6514 )
2020-04-13 10:21:07 +02:00