Simon Frei and Jakob Borg
5541697d18
gui: Don't call API when no modal is open ( fixes #5652 ) ( #5759 )
2019-06-05 14:03:52 +08:00
Simon Frei and Jakob Borg
e39d3f95dd
lib/protocol: Prioritize close msg and add close timeout ( #5746 )
2019-06-05 14:01:59 +08:00
Simon Frei and Jakob Borg
6664e01acf
lib/protocol: Return from ClusterConfig when closed ( #5752 )
2019-05-29 12:14:00 +02:00
Simon Frei and Audrius Butkevicius
3775a64d5c
lib/protocol: Don't send anything else before cluster config ( #5741 )
2019-05-27 11:15:34 +01:00
Simon Frei and Audrius Butkevicius
129df0613b
lib/model: Unflake folder restart with blocking conn test (ref #5707 ) ( #5744 )
2019-05-27 10:58:09 +01:00
Simon Frei and Audrius Butkevicius
486230768e
lib/fs, lib/model: Add error channel to Watch to avoid panics ( fixes #5697 ) ( #5734 )
...
* lib/fs, lib/model: Add error channel to Watch to avoid panics (fixes #5697 )
* forgot unsupported watch
* and more non(-standard)-unixy fixes
* and windows test
* review
2019-05-25 20:08:26 +01:00
Simon Frei and Audrius Butkevicius
9e6db72535
lib/protocol: Don't call receiver after calling Closed ( fixes #4170 ) ( #5742 )
...
* lib/protocol: Don't call receiver after calling Closed (fixes #4170 )
* review
2019-05-25 20:08:07 +01:00
Simon Frei and Audrius Butkevicius
d91da8feee
lib/model: Readd special handling of conn close in TestIssue5063 ( #5743 )
...
This partially reverts commit 64518b0f7e .
2019-05-25 18:51:13 +01:00
Simon Frei and GitHub
64518b0f7e
lib/model: Close connections when model is stopped ( #5733 )
2019-05-25 16:00:32 +02:00
Simon Frei and Audrius Butkevicius
5d35b2c540
lib/protocol: Test for Close on blocking send deadlock (ref #5442 ) ( #5732 )
2019-05-23 21:42:02 +01:00
Simon Frei and GitHub
5b306510a0
lib/model: Consistently cleanup model in tests ( #5724 )
2019-05-19 14:29:07 +02:00
Simon Frei and Jakob Borg
1b2b970f32
lib/model, lib/testutils: Test closing a connection on folder restart ( #5707 )
2019-05-18 08:53:59 +02:00
Simon Frei and Jakob Borg
5ffbb7668d
lib/model: Fix test flakyness regression (ref #5592 ) ( #5718 )
2019-05-18 08:52:50 +02:00
Simon Frei and Jakob Borg
1df8701c46
test: Report time per MiB on transfer benchs ( #5711 )
2019-05-18 08:46:08 +02:00
Simon Frei and GitHub
441ea109a1
lib/model: Refactor file deletions when pulling ( #5699 )
2019-05-17 18:29:54 +02:00
Simon Frei and Jakob Borg
dfbbb286fc
lib/fs: Consider win83 for root path as well when watching (ref #5706 ) ( #5709 )
2019-05-11 10:06:04 +02:00
Simon Frei and Jakob Borg
fbd445fe0a
lib/api: Clean up after test, enables test caching ( #5710 )
2019-05-11 08:41:32 +02:00
Simon Frei and GitHub
2b246eeb52
lib/model: Move test utilities to separate files ( #5694 )
2019-05-10 13:33:45 +02:00
Simon Frei and Jakob Borg
2558b021e5
lib/fs: Remove \\?\ for drive letters when watching ( fixes #5578 ) ( #5701 )
2019-05-10 09:09:58 +02:00
Simon Frei and Jakob Borg
283f39ae5f
lib/protocol: Revert unreleased changes related to closing connections ( #5688 )
...
This reverts commits:
ec7c88ca55
19b51c9b92
5da41f75fa
04b927104f
2019-05-08 08:08:26 +02:00
Simon Frei and Jakob Borg
b45d77b6be
lib/model: Fix regression deleting directories on pull (ref #5690 ) ( #5691 )
2019-05-06 20:55:26 +02:00
Simon Frei and Jakob Borg
79e67b7f79
lib/model: Remove individual pull errors on retry ( fixes #5659 ) ( #5690 )
2019-05-06 17:21:56 +02:00
Simon Frei and Audrius Butkevicius
5fa8467756
lib/model: Consistent use of locks ( #5684 )
2019-05-02 18:55:39 +01:00
Simon Frei and GitHub
5954b105cd
lib/model: Let fakeConnection call Model.Closed on close ( #5682 )
2019-05-02 14:24:55 +02:00
Simon Frei and GitHub
defc5dca65
lib/model: Use correct lock ( #5683 )
2019-05-02 14:09:42 +02:00
Simon Frei and GitHub
9f358ecae0
lib/protocol: Refactor to pass only relevant argument to writeMessage ( #5681 )
2019-05-02 14:09:19 +02:00
Simon Frei and GitHub
fe4daf242b
cmd, lib/db: Actually close goleveldb ( fixes #5505 ) ( #5671 )
2019-05-02 11:15:00 +02:00
Simon Frei and Audrius Butkevicius
ec7c88ca55
lib/protocol: Fix yet another deadlock ( fixes #5678 ) ( #5679 )
...
* lib/protocol: Fix yet another deadlock (fixes #5678 )
* more consistency
* read deadlock
* naming
* more naming
2019-05-02 09:21:07 +01:00
Simon Frei and Jakob Borg
19b51c9b92
lib/protocol: Don't close asyncMessage.done on success ( fixes #5674 ) ( #5675 )
2019-04-29 17:52:57 +02:00
Simon Frei and Audrius Butkevicius
5da41f75fa
lib/model, lib/protocol: Wait for reader/writer loops on close ( fixes #4170 ) ( #5657 )
...
* lib/protocol: Wait for reader/writer loops on close (fixes #4170 )
* waitgroup
* lib/model: Don't hold lock while closing connection
* fix comments
* review (lock once, func argument) and naming
2019-04-28 11:58:51 +01:00
Simon Frei and Audrius Butkevicius
04b927104f
lib/protocol: Don't send any messages before cluster config ( #5646 )
...
* lib/model: Send cluster config before releasing pmut
* reshuffle
* add model.connReady to track cluster-config status
* Corrected comments/strings
* do it in protocol
2019-04-23 20:47:11 +01:00
Simon Frei and Audrius Butkevicius
110806842c
lib/model: Pass the old not new fileinfo to deleteItemOnDisk ( fixes #5654 ) ( #5655 )
2019-04-23 20:46:28 +01:00
Simon Frei and GitHub
e302ccf4b4
lib/fs: Improve IsParent ( #5658 )
2019-04-22 11:12:32 +02:00
Simon Frei and Audrius Butkevicius
926e9228ed
lib/scanner, lib/model: File -> item when logging error ( #5664 )
2019-04-21 16:19:59 +01:00
Simon Frei and Audrius Butkevicius
86e72d9973
lib/model: Use RLock and legacy polish ( #5663 )
2019-04-21 13:21:36 +01:00
Simon Frei and GitHub
3bea59b0d9
lib/model: Refactor progressEmitter to de-/activate by config ( fixes #4613 ) ( #5623 )
2019-04-13 14:20:51 +02:00
Simon Frei and Jakob Borg
8a4b65b937
gui: Fix setting page size on failed and locally changed modals ( fixes #5421 ) ( #5650 )
2019-04-13 14:05:39 +02:00
Simon Frei and Jakob Borg
fca895a632
lib/model: Fix block index calculation for recheckFile ( fixes #5649 ) ( #5648 )
2019-04-12 15:21:07 +02:00
Simon Frei and GitHub
79360e2205
lib/fs: Add test that symlinks are skipped on walk ( #5644 )
2019-04-10 22:36:37 +02:00
Simon Frei and GitHub
9b2a73f9ab
lib/model: Pause pull for at least as long as failed pull took ( fixes #5641 ) ( #5643 )
2019-04-10 16:22:23 +02:00
Simon Frei and Jakob Borg
c305265c62
lib/model: Request errors conforming to BEP specs ( #5642 )
2019-04-10 11:47:24 +02:00
Simon Frei and GitHub
ca823bd591
lib/fs: When watching remove \\?\ for drive letters ( fixes #5578 ) ( #5633 )
2019-04-09 09:02:04 +02:00
Simon Frei and Jakob Borg
395e524e2d
lib/model: Update db on scan/pull in folder ( #5608 )
2019-04-07 13:29:17 +02:00
Simon Frei and Jakob Borg
8d1eff7e41
lib/model: Missing queue.Done and reset between pulls ( fixes #5332 ) ( #5626 )
2019-03-27 20:19:35 +01:00
Simon Frei and Audrius Butkevicius
0cff66fcbc
lib/model: Optimize puller for meta only changes ( #5622 )
2019-03-27 08:36:58 +00:00
Simon Frei and Jakob Borg
43a5be1c4b
lib/model: Send item finished even after deregistering ( fixes #5362 ) ( #5620 )
2019-03-26 21:31:33 +01:00
Simon Frei and Audrius Butkevicius
b50039a920
cmd/syncthing, lib/api: Separate api/gui into own package (ref #4085 ) ( #5529 )
...
* cmd/syncthing, lib/gui: Separate gui into own package (ref #4085 )
* fix tests
* Don't use main as interface name (make old go happy)
* gui->api
* don't leak state via locations and use in-tree config
* let api (un-)subscribe to config
* interface naming and exporting
* lib/ur
* fix tests and lib/foldersummary
* shorter URVersion and ur debug fix
* review
* model.JsonCompletion(FolderCompletion) -> FolderCompletion.Map()
* rename debug facility https -> api
* folder summaries in model
* disassociate unrelated constants
* fix merge fail
* missing id assignement
2019-03-26 19:53:58 +00:00
Simon Frei and Jakob Borg
d4e81fff8a
lib/model: Remove unnecessary arguments in pulling functions ( #5619 )
2019-03-25 12:59:22 +01:00
Simon Frei and Jakob Borg
bc53782f88
test: Update conflict integration test (ref #5511 ) ( #5618 )
...
The change in 225c0dda80 (#5511 ) results in
conflicts being immediately scanned and synced, while the test expects just one
conflict on either side. Change it to expect the same conflict on both sides.
2019-03-25 12:53:06 +01:00
Simon Frei and Jakob Borg
e4ab9d3312
lib/model: Pass correct file info to deleteItemOnDisk ( fixes #5616 ) ( #5617 )
2019-03-25 12:43:21 +01:00
Simon Frei and Jakob Borg
e31a116e6e
lib/model: Pass correct file info to deleteItemOnDisk ( fixes #5616 ) ( #5617 )
2019-03-25 12:42:39 +01:00
Simon Frei and Audrius Butkevicius
675f289aef
gui: Add new folder state "Failed Items" ( fixes #5456 ) ( #5614 )
2019-03-22 17:57:53 +00:00
Simon Frei and Jakob Borg
e7ae851900
lib/model: Debug and test fixes ( #5613 )
2019-03-22 14:43:47 +01:00
Simon Frei and Audrius Butkevicius
1a6d023ba8
lib/model: Run recvonly tests in temporary dirs ( #5587 )
2019-03-20 17:38:03 +00:00
Simon Frei and Audrius Butkevicius
50d8c43e7c
lib/config: Set UseLargeBlocks to true by default ( fixes #5599 ) ( #5600 )
2019-03-12 12:59:26 +00:00
Simon Frei and Audrius Butkevicius
289a02e994
lib/model: Integrate stat refs in folder ( #5596 )
2019-03-11 16:57:21 +00:00
Simon Frei and Jakob Borg
445637ebec
lib/model: Pass fset & ignores on folder creation ( #5592 )
2019-03-11 07:28:54 +01:00
Simon Frei and GitHub
3f3d2c814b
lib/model: Remove unused code ( #5591 )
2019-03-10 17:05:39 +01:00
Simon Frei and Audrius Butkevicius
189e44488e
lib/model: Introduce must test utility ( #5586 )
...
* lib/model: Introduce must test utility
* nice
2019-03-09 18:45:36 +00:00
Simon Frei and Audrius Butkevicius
27ff20faa3
lib/model: Introduce waitForState test utility ( #5585 )
...
* lib/model: Introduce waitForState test utility
* folder id as param to waitForState
2019-03-09 10:36:55 +00:00
Simon Frei and Audrius Butkevicius
b1564e53e4
lib/model: Improve test utilities ( #5584 )
2019-03-08 20:29:09 +00:00
Simon Frei and GitHub
3a75b63776
lib/model: Use temp dir from osutils in tests ( #5581 )
2019-03-07 16:34:41 +01:00
Simon Frei and GitHub
8e238c8e48
lib/model: Check before replacing existing file on pull ( fixes #5571 ) ( #5567 )
2019-03-07 15:15:14 +01:00
Simon Frei and Jakob Borg
bd37f6da17
lib/model: Optimize dbUpdaterRoutine ( #5576 )
2019-03-05 21:32:37 +01:00
Simon Frei and Audrius Butkevicius
6940d79f5b
lib/model: Use errors.Wrap for pull errors ( #5563 )
2019-03-04 13:01:52 +00:00
Simon Frei and GitHub
0f80318ef6
lib/scanner: Consistenlty use CreateFileInfo and remove outdated comment ( #5574 )
2019-03-04 13:27:33 +01:00
Simon Frei and Audrius Butkevicius
d6622b1f68
lib/model: setUp -> setup ( #5573 )
2019-03-04 12:27:10 +00:00
Simon Frei and Audrius Butkevicius
43bcb3d5a5
lib/model: Refactor conflict name handling ( #5572 )
2019-03-04 12:20:40 +00:00
Simon Frei and Audrius Butkevicius
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 and GitHub
ad5a046843
lib/fs: Rename fsFile* to basicFile* ( #5546 )
2019-02-24 18:02:02 +01:00
Simon Frei and Audrius Butkevicius
ca3ae64bbf
lib/db: Flush batch based on size and refactor ( fixes #5531 ) ( #5536 )
...
Flush the batch when exceeding a certain size, instead of when reaching a number
of batched operations.
Move batch to lowlevel to be able to use it in NamespacedKV.
Increase the leveldb memory buffer from 4 to 16 MiB.
2019-02-14 23:15:13 +00:00
Simon Frei and Audrius Butkevicius
e2204d0071
build: Add option to get test coverage ( #5539 )
2019-02-14 22:38:47 +00:00
Simon Frei and Audrius Butkevicius
d5ff2c41dc
all: Get rid of fatal logging ( #5537 )
...
* cleanup Fatal in lib/config/config.go
* cleanup Fatal in lib/config/folderconfiguration.go
* cleanup Fatal in lib/model/model.go
* cleanup Fatal in cmd/syncthing/monitor.go
* cleanup Fatal in cmd/syncthing/main.go
* cleanup Fatal in lib/api
* remove Fatal methods from logger
* lowercase in errors.Wrap
* one less channel
2019-02-14 20:29:14 +00:00
Simon Frei and Audrius Butkevicius
7a40c42e8b
cmd/syncthing: Introduce exiter to handle termination ( #5532 )
2019-02-13 23:07:27 +00:00
Simon Frei and Audrius Butkevicius
905c3594b0
lib/model: Various model test fixes and polish ( #5528 )
...
* lib/model: Various model test fixes and polish
Missing calls to m.Stop()
Don't fail test if temporary test dir cleanup fails
* drop lazyness
2019-02-13 18:54:04 +00:00
Simon Frei and Jakob Borg
225c0dda80
lib/model: Scan conflicts after creation ( #5511 )
...
Also unflakes and improve TestRequestRemoteRenameChanged.
2019-02-12 16:05:20 +01:00
Simon Frei and Jakob Borg
5fd2cab102
lib/model: Run more tests in tmp dir ( #5527 )
2019-02-12 16:04:04 +01:00
Simon Frei and Audrius Butkevicius
4299af1c63
lib/config, lib/model: Use path from locations to check disk space for db ( #5525 )
2019-02-12 12:25:11 +00:00
Simon Frei and Audrius Butkevicius
d85ef949be
lib/model: Introduce setupModel test utility ( #5524 )
2019-02-12 12:18:13 +00:00
Simon Frei and Jakob Borg
7bac927ac8
lib/model: Use functions to generate config ( #5513 )
2019-02-12 07:50:07 +01:00
Simon Frei and Jakob Borg
2f415d8f09
lib/model: Don't use LocalDeviceID as normal id in tests ( #5512 )
2019-02-06 09:32:03 +01:00
Simon Frei and Audrius Butkevicius
e538797ce1
lib/model: Improve TestIssue5063 ( #5509 )
...
* lib/model: Improve TestIssue5063
* add not that helpful issue comment
2019-02-05 23:07:21 +00:00
Simon Frei and Audrius Butkevicius
5df8219bcb
lib/model: Add progressEmitter to supervisor (model) ( #5510 )
2019-02-05 18:02:36 +00:00
Simon Frei and Audrius Butkevicius
af4fb97538
lib/model: Fail test instead of panic due to closing channel twice ( #5508 )
2019-02-05 18:01:56 +00:00
Simon Frei and Audrius Butkevicius
5d9d87f770
lib/model: Helperize test os and remove error return value ( #5507 )
2019-02-05 18:01:05 +00:00
Simon Frei and Jakob Borg
41d037da1f
build: Remove outdated&non-functional setup command ( fixes #5454 ) ( #5455 )
2019-02-02 12:47:46 +01:00
Simon Frei and Jakob Borg
82afe73a9a
cmd/syncthing, lib/config: Update default config creation ( #5492 )
...
Also remove dead code in config.Wrapper.
2019-02-02 12:43:57 +01:00
Simon Frei and Jakob Borg
583172dc8d
lib/db: Fix race in NamespacedKV ( #5496 )
2019-02-01 09:54:21 +01:00
Simon Frei and Jakob Borg
5605877625
cmd/syncthing: Pass SIGTERM on in monitor ( fixes #5493 ) ( #5494 )
2019-01-31 18:35:20 +01:00
Simon Frei and GitHub
7236d56731
lib/model: In tests disable watching for changes by default ( fixes #5246 ) ( #5485 )
2019-01-30 16:38:10 +01:00
Simon Frei and Jakob Borg
657be162dd
test, lib/rc: Integration test fixes and polish ( #5488 )
2019-01-29 16:59:00 +01:00
Simon Frei and Jakob Borg
8815ef922b
mod: Update dependencies and tidy ( fixes #5311 ) ( #5486 )
2019-01-28 22:45:56 +01:00
Simon Frei and Jakob Borg
79d109a386
lib/config: Add omitempty to DeprecatedMinHomeDiskFreePct ( fixes #5482 ) ( #5484 )
2019-01-28 11:46:28 +01:00
Simon Frei and Jakob Borg
a45ba70467
lib/model: Improve errors while pulling ( #5474 )
2019-01-24 08:18:55 +01:00
Simon Frei and Jakob Borg
42bd42df5a
lib/db: Do all update operations on a single item at once ( #5441 )
...
To do so the BlockMap struct has been removed. It behaves like any other prefixed
part of the database, but was not integrated in the recent keyer refactor. Now
the database is only flushed when files are in a consistent state.
2019-01-23 10:22:33 +01:00
Simon Frei and Jakob Borg
a371b15398
lib/db: Various polish ( #5471 )
...
naming: buf -> keyBuf
dedup: use getFileTrunc
manually inline insertFile
2019-01-20 10:24:39 +01:00
Simon Frei and Jakob Borg
00fa77dd47
lib/db: Consistent use of buffers ( #5470 )
2019-01-20 08:47:20 +01:00
Simon Frei and Jakob Borg
df4d754197
lib/db: Minor polish ( #5469 )
2019-01-19 20:26:46 +01:00
Simon Frei and Jakob Borg
f3d735c56a
lib/db: Fix, optimize and extend benchmarks ( #5467 )
2019-01-19 20:24:44 +01:00
Simon Frei and Jakob Borg
1d99db9bc6
lib/db: Deduplicate getFile* code ( #5468 )
2019-01-19 20:21:58 +01:00