Simon Frei
90d85fd0a2
lib: Replace done channel with contexts in and add names to util services ( #6166 )
2019-11-21 08:41:15 +01:00
Simon Frei
0d14ee4142
lib/model: Don't info log repeat pull errors ( #6149 )
2019-11-19 09:56:53 +01:00
Simon Frei
ce72bee576
lib/model: Simplify pull error/retry logic ( fixes #6139 ) ( #6141 )
2019-11-11 15:50:28 +01:00
Simon Frei
bbdda059bd
lib/model: Check for symlinks before deleting during pull ( fixes #6090 ) ( #6100 )
2019-10-22 21:55:51 +02:00
Simon Frei
7b33294955
gui, lib/model: Add new state FolderPreparingSync ( fixes #6027 ) ( #6028 )
2019-10-16 09:08:54 +02:00
Audrius Butkevicius
8fb576ed54
lib/model: Adjust blocks reported in usage reporting ( fixes #5995 ) ( #6037 )
...
* lib/model: Adjust blocks reported in usage reporting (fixes #5995 )
* Use variables, fix go.mod
2019-10-04 12:03:13 +01:00
Simon Frei
77a5980747
lib/model: Do free disk space check later on pull ( fixes #5948 ) ( #5949 )
2019-08-16 09:40:53 +02:00
Simon Frei
b1c74860e8
all: Remove global events.Default (ref #4085 ) ( #5886 )
2019-08-15 16:29:37 +02:00
Simon Frei
05835ed81f
all: Remove potentially problematic errors from panics ( fixes #5839 ) ( #5912 )
2019-07-31 10:53:35 +02:00
Jakob Borg
c1c976aa2b
lib/model: Don't panic on failed chmod-back on directory ( fixes #5836 ) ( #5896 )
...
* lib/model: Don't panic on failed chmod-back on directory (fixes #5836 )
This makes the "in writable dir"-wrapper log chmod-back errors instead
of panicking. To do that we need a logger so the function moved into the
model package which is also the only place it's used. The tests came
along.
(The test also exercised osutil.RenameOrCopy like some sort of
piggybacking. I removed that.)
2019-07-28 10:25:05 +02:00
Simon Frei
7a4c88d4e4
lib: Add mtime window when comparing files ( #5852 )
2019-07-23 21:48:53 +02:00
Simon Frei
20c8dbd9ed
lib/model: Fix integer conversion ( fixes #5837 ) ( #5851 )
2019-07-12 16:37:12 +02:00
Simon Frei
ba056578ec
lib: Add util.Service as suture.Service template ( fixes #5801 ) ( #5806 )
2019-07-09 11:40:30 +02:00
Simon Frei
b58f6ca886
lib/model: Correct/unify check if item changed ( #5819 )
2019-06-29 07:45:41 +02:00
Simon Frei
3c7e7e971d
lib/model: Make jobQueue.Jobs paginated ( fixes #5754 ) ( #5804 )
...
* lib/model: Make jobQueue.Jobs paginated (fixes #5754 )
* fix, no test yet
* add test
2019-06-27 19:25:38 +01:00
Simon Frei
abd363e8bb
lib/model: Don't error on pulling deletion of invalid file ( fixes #5791 ) ( #5792 )
2019-06-14 08:48:14 +02:00
Audrius Butkevicius
e714df013f
lib/connections: Add QUIC protocol support ( fixes #5377 ) ( #5737 )
2019-05-29 09:56:40 +02:00
Simon Frei
441ea109a1
lib/model: Refactor file deletions when pulling ( #5699 )
2019-05-17 18:29:54 +02:00
Simon Frei
b45d77b6be
lib/model: Fix regression deleting directories on pull (ref #5690 ) ( #5691 )
2019-05-06 20:55:26 +02:00
Simon Frei
79e67b7f79
lib/model: Remove individual pull errors on retry ( fixes #5659 ) ( #5690 )
2019-05-06 17:21:56 +02:00
Audrius Butkevicius
0ca1f26ff8
lib/versioner: Restore for all versioners, cross-device support ( #5514 )
...
* lib/versioner: Restore for all versioners, cross-device support
Fixes #4631
Fixes #4586
Fixes #1634
Fixes #5338
Fixes #5419
2019-04-28 23:30:16 +01:00
Simon Frei
110806842c
lib/model: Pass the old not new fileinfo to deleteItemOnDisk ( fixes #5654 ) ( #5655 )
2019-04-23 20:46:28 +01:00
Simon Frei
926e9228ed
lib/scanner, lib/model: File -> item when logging error ( #5664 )
2019-04-21 16:19:59 +01:00
Simon Frei
3bea59b0d9
lib/model: Refactor progressEmitter to de-/activate by config ( fixes #4613 ) ( #5623 )
2019-04-13 14:20:51 +02:00
Simon Frei
395e524e2d
lib/model: Update db on scan/pull in folder ( #5608 )
2019-04-07 13:29:17 +02:00
Simon Frei
8d1eff7e41
lib/model: Missing queue.Done and reset between pulls ( fixes #5332 ) ( #5626 )
2019-03-27 20:19:35 +01:00
Simon Frei
0cff66fcbc
lib/model: Optimize puller for meta only changes ( #5622 )
2019-03-27 08:36:58 +00:00
Simon Frei
43a5be1c4b
lib/model: Send item finished even after deregistering ( fixes #5362 ) ( #5620 )
2019-03-26 21:31:33 +01:00
Simon Frei
d4e81fff8a
lib/model: Remove unnecessary arguments in pulling functions ( #5619 )
2019-03-25 12:59:22 +01:00
Simon Frei
e31a116e6e
lib/model: Pass correct file info to deleteItemOnDisk ( fixes #5616 ) ( #5617 )
2019-03-25 12:42:39 +01:00
Simon Frei
289a02e994
lib/model: Integrate stat refs in folder ( #5596 )
2019-03-11 16:57:21 +00:00
Simon Frei
445637ebec
lib/model: Pass fset & ignores on folder creation ( #5592 )
2019-03-11 07:28:54 +01:00
Simon Frei
8e238c8e48
lib/model: Check before replacing existing file on pull ( fixes #5571 ) ( #5567 )
2019-03-07 15:15:14 +01:00
Simon Frei
bd37f6da17
lib/model: Optimize dbUpdaterRoutine ( #5576 )
2019-03-05 21:32:37 +01:00
Simon Frei
6940d79f5b
lib/model: Use errors.Wrap for pull errors ( #5563 )
2019-03-04 13:01:52 +00:00
Simon Frei
43bcb3d5a5
lib/model: Refactor conflict name handling ( #5572 )
2019-03-04 12:20:40 +00:00
Simon Frei
722b3fce6a
all: Hide implementations behind interfaces for mocked testing ( #5548 )
...
* lib/model: Hide implementations behind interfaces for mocked testing
* review
2019-02-26 08:09:25 +00:00
Simon Frei
225c0dda80
lib/model: Scan conflicts after creation ( #5511 )
...
Also unflakes and improve TestRequestRemoteRenameChanged.
2019-02-12 16:05:20 +01:00
Jakob Borg
c2ddc83509
all: Revert the underscore sillyness
2019-02-02 12:16:27 +01:00
Jakob Borg
2111386ee4
all: Fix some linter errors ( #5499 )
...
I'm working through linter complaints, these are some fixes. Broad
categories:
1) Ignore errors where we can ignore errors: add "_ = ..." construct.
you can argue that this is annoying noise, but apart from silencing the
linter it *does* serve the purpose of highlighting that an error is
being ignored. I think this is OK, because the linter highlighted some
error cases I wasn't aware of (starting CPU profiles, for example).
2) Untyped constants where we though we had set the type.
3) A real bug where we ineffectually assigned to a shadowed err.
4) Some dead code removed.
There'll be more of these, because not all packages are fixed, but the
diff was already large enough.
2019-02-02 10:11:42 +01:00
Jakob Borg
75dcff0a0e
all: Copy owner/group from parent ( fixes #5445 ) ( #5479 )
...
This adds a folder option "CopyOwnershipFromParent" which, when set,
makes Syncthing attempt to retain the owner/group information when
syncing files. Specifically, at the finisher stage we look at the parent
dir to get owner/group and then attempt a Lchown call on the temp file.
For this to succeed Syncthing must be running with the appropriate
permissions. On Linux this is CAP_FOWNER, which can be granted by the
service manager on startup or set on the binary in the filesystem. Other
operating systems do other things, but often it's not required to run as
full "root". On Windows this patch does nothing - ownership works
differently there and is generally less of a deal, as permissions are
inherited as ACLs anyway.
There are unit tests on the Lchown functionality, which requires the
above permissions to run. There is also a unit test on the folder which
uses the fake filesystem and hence does not need special permissions.
2019-01-25 09:52:21 +01:00
Simon Frei
a45ba70467
lib/model: Improve errors while pulling ( #5474 )
2019-01-24 08:18:55 +01:00
Simon Frei
51f65bd23a
lib/model: Reset pull errors when succeeding ( fix #5450 ) ( #5451 )
2019-01-14 08:30:52 +01:00
Simon Frei
47e08797cb
lib/model: Don't pull if ignores failed to load and cleanup ( #5418 )
2019-01-01 10:17:14 +01:00
Simon Frei
4783294a09
lib/model: Don't pass nil *Matcher to performFinish ( fixes #5401 ) ( #5402 )
2018-12-22 21:58:17 +01:00
Simon Frei
33bed5b1ec
lib/model: Don't compare permissions if IgnorePerms is true ( fixes #5323 ) ( #5322 )
2018-11-13 08:54:49 +01:00
Simon Frei
4f27bdfc27
lib/model, lib/protocol: Handle request concurrency in model ( #5216 )
2018-11-13 08:53:55 +01:00
Simon Frei
d510e3cca3
all: Display errors while scanning in web UI ( fixes #4480 ) ( #5215 )
2018-11-07 11:04:41 +01:00
Simon Frei
64a591610b
lib/model: Check if files from queue are invalid ( fixes #5291 ) ( #5292 )
2018-10-26 19:13:35 +01:00
Simon Frei
0690fe7585
lib/model: Unnecessary return ( #5264 )
2018-10-11 15:08:37 +02:00