Jakob Borg
2d9fcf6828
Collect puller errors, send FolderErrors event
2015-06-30 14:41:47 +02:00
Jakob Borg
c8ac9721d7
Translation and docs update
2015-06-28 21:10:57 +02:00
Audrius Butkevicius
93ad803073
Make ping timeout configurable ( fixes #1751 )
2015-06-27 12:34:41 +01:00
Jakob Borg
2b0c33f74d
Merge pull request #1996 from AudriusButkevicius/checkrace
...
Potential race between folder being added and scan (fixes #1986 )
2015-06-26 12:56:07 +02:00
Audrius Butkevicius
dae1d36a23
Trim string slices upon loading config ( fixes #1750 )
2015-06-25 16:50:27 +01:00
Audrius Butkevicius
824fa8f17a
Fix go lint warnings
2015-06-24 22:05:27 +01:00
Audrius Butkevicius
31cd0b943c
Potential race between folder being added and scan (potentially fixes #1986 )
2015-06-24 21:59:03 +01:00
Jakob Borg
070eced2f6
Merge pull request #1985 from calmh/fix-reset
...
Fix reset DB
2015-06-24 14:07:15 +02:00
Audrius Butkevicius
986f8dfb2e
Remove dead variable
2015-06-24 08:43:33 +01:00
Audrius Butkevicius
8c0c03eb38
Merge pull request #1989 from AudriusButkevicius/session
...
Use different session cookies per device
2015-06-23 13:56:14 +01:00
Audrius Butkevicius
089fca2319
Use different session cookies per device
2015-06-22 19:51:46 +01:00
Jakob Borg
e936890927
Don't rename duplicate folders ( fixes #1675 )
...
Renaming them puts the user in a difficult situation as they can't
rename them back in the GUI. This way, they need to fix the config in
the same way it got broken (manual editing or external tool).
2015-06-22 11:27:47 +02:00
Zillode
0450d48f89
Merge pull request #1856 from calmh/fix-1391
...
Serialize scans (fixes #1391 )
2015-06-21 14:26:17 +02:00
Jakob Borg
2463819a3d
Update translations and docs
2015-06-21 11:45:54 +02:00
Jakob Borg
2b2cae2d50
Fix reset DB
...
The reset of all folders failed when there was no data for a given
folder, as it was not returned by db.ListFolders then. But we don't
really care about that, we can "reset" it anyway...
2015-06-21 09:35:41 +02:00
Jakob Borg
f73d5a9ab2
Serialize scans and pulls ( fixes #1391 )
2015-06-20 23:01:40 +02:00
Jakob Borg
4eb0e24c6e
Sanitize rescan interval values ( fixes #1978 )
2015-06-20 23:01:30 +02:00
Jakob Borg
1d2235abe7
Model must be running for tests
2015-06-20 23:00:33 +02:00
Jakob Borg
d347e54acb
Don't start model until services have been added ( fixes #1969 )
2015-06-20 20:04:47 +02:00
Jakob Borg
b5198d8119
Merge pull request #1968 from calmh/newtests
...
Refactored integration tests
2015-06-20 19:24:04 +02:00
Jakob Borg
a738490a3b
Update translation strings
2015-06-20 11:40:05 +02:00
Jakob Borg
cfe24ecdd9
Add wsgcsysadmin
2015-06-19 08:50:36 +02:00
Jakob Borg
c3d07d60ca
Refactored integration tests
...
Added internal/rc to remote control a Syncthing process and made the
"awaiting sync" determination reliable.
2015-06-19 08:47:47 +02:00
Audrius Butkevicius
69af77a3bd
Merge pull request #1967 from calmh/woops
...
Incorrect error condition on shortcuts
2015-06-18 11:07:07 +01:00
Jakob Borg
7767746d3e
Incorrect error condition on shortcuts
2015-06-18 11:55:43 +02:00
Jakob Borg
7af1863e81
Generate LocalIndexUpdated events in Override
...
The override should look like we detected the changes locally, or the
GUI and other things won't update correctly.
This is/was caught by the Override integration test, on my newly
refactored integration test suite which is soon ready for prime time, so
a test is coming. :)
2015-06-18 10:49:24 +02:00
Audrius Butkevicius
12a3086a9e
Add label next to "Last file received" ( fixes #1952 )
2015-06-16 12:12:34 +01:00
Jakob Borg
127b0c3332
Add version to LocalIndexUpdate event.
...
Allows correlating LocalIndexUpdate events on one device with RemoteIndexUpdated on another to make sure the cluster has converged.
2015-06-16 08:30:15 +02:00
Jakob Borg
a6d9150b14
Skip extra newline between assets
2015-06-15 23:13:43 +02:00
Jakob Borg
7e5197c566
Help link for folder master
2015-06-15 22:34:39 +02:00
Sergey Mishin
2449f1e1b6
webgui: moved events controller to events service
2015-06-15 19:05:46 +03:00
Audrius Butkevicius
6a6593c656
Merge pull request #1948 from calmh/symwarning
...
Dont warn about irrelevant symlinks, print path to culprit (ref #1945 )
2015-06-15 10:41:51 +01:00
Jakob Borg
ad220d61f9
Merge pull request #1951 from AudriusButkevicius/voodoo
...
Voodoo
2015-06-15 11:31:03 +02:00
Audrius Butkevicius
c8457ab005
Voodoo
2015-06-15 10:22:44 +01:00
Jakob Borg
070a308217
Dont warn about irrelevant symlinks, print path to culprit (ref #1945 )
...
This skips the warning about "unsupported symlinks" for invalid or
deleted symlinks (and as a side effect also accepts them into the index,
which should be fine). It also prints the affected file paths to the
log. This should be in the hypothetical list of "errored files" we
should present instead of the cryptic "puller stopped" message in the
future...
2015-06-15 00:47:13 +02:00
Jakob Borg
c1f4477376
ItemStarted can be map[string]string
2015-06-14 22:59:21 +02:00
Jakob Borg
d728320ece
New ItemStart/Finished type 'metadata' for shortcut updates
2015-06-14 22:56:41 +02:00
Jakob Borg
1437952aee
Translation and docs update
2015-06-14 13:52:00 +02:00
Audrius Butkevicius
1d856b4723
Correctly set and clear errors for missing folders ( fixes #1937 )
2015-06-13 23:45:54 +01:00
Jakob Borg
a778763851
Add trash can file versioning ( fixes #1931 )
2015-06-12 13:30:49 +02:00
Jakob Borg
297769ef57
More resilient broadcast handling ( fixes #1907 )
...
My theory is that some error condition on the socket results in it
blocking for writes, which maybe also blocks reads... This separates the
two into separate services with their own socket, with restarts and
retries as appropriates on write timeouts and read/write errors. It
should be more robust, hopefully, but I have a hard time testing the
actual error conditions...
2015-06-11 15:06:05 +02:00
Jakob Borg
42738ab54d
Add missing copyright notice
2015-06-11 08:46:57 +02:00
Jakob Borg
76ad925842
Refactor config commit stuff to support restartless updates better
...
Includes restartless updates of the GUI settings (listening port etc) as
a proof of concept.
2015-06-09 15:41:22 +02:00
Jakob Borg
a8b43ae598
Translation / docs update
2015-06-07 12:57:26 +02:00
Audrius Butkevicius
567f19bf68
Do not overwrite error value
2015-06-06 08:30:01 +01:00
Audrius Butkevicius
4180569443
Silence discovery warnings ( fixes #1388 )
...
Not performing net.InterfaceAddrs() check in the constructor, as that means we wouldn't start
the read loop, which completely kills it.
2015-06-04 12:59:06 +01:00
Audrius Butkevicius
11cb040ad1
Merge pull request #1880 from calmh/itemfinished-err
...
Fix ItemFinished
2015-06-03 16:50:33 +01:00
Jakob Borg
c1761cab49
Trigger ItemFinished when temp file creation fails instead of failing silently
2015-06-03 16:28:31 +02:00
Jakob Borg
25b25b5434
Merge pull request #1885 from AudriusButkevicius/moar-checks
...
Additional cases for detecting folders disappearing
2015-06-03 08:40:21 +02:00
Sergey Mishin
ccebdd142a
fix webgui top menu for small screen devices
2015-06-02 17:48:31 +03:00
Jakob Borg
e952da7f91
Ensure we always have an up to date list of language names
2015-06-02 08:47:26 +02:00
Jakob Borg
5bd1e4a167
Re-add mistakenly removed languages
2015-06-02 08:33:36 +02:00
Sergey Mishin
f11bac6705
fix missing languages ( fixes #1902 )
2015-06-02 01:19:21 +03:00
Jakob Borg
36d4c69fd6
Translation update
2015-05-31 09:37:02 +02:00
Jakob Borg
d632e3aa1b
Show help link, add icons, tweak icon spacing
2015-05-30 10:31:45 +02:00
Audrius Butkevicius
f0e58fa804
Additional cases for detecting folders disappearing
2015-05-27 22:46:10 +01:00
Jakob Borg
7d48115b90
Reduce db writes for small files
...
We introduced the dbUpdater routine to handle many small files
efficiently, but the folder stats call is almost equally expensive as it
results in two distinct write transactions to the database. This moves
it to the same routine.
(Doesn't make a *huge* difference with leveldb actually, but reduces the
50k-files benchmark time by 25% on my experimental bolt branch...)
2015-05-27 18:36:26 +02:00
Bart De Vries
d2205228fb
Make syncthing honor both the ignorePerms and FlagNoPermBits settings ( fixes #1871 )
2015-05-26 16:27:26 +02:00
Jakob Borg
3f59d6daff
Add validation cache
2015-05-25 13:19:18 +02:00
Jakob Borg
0d659933aa
Merge pull request #1868 from mogwa1/umask
...
Change permissions of newly created files and directories (fixes #1339 )
2015-05-25 08:34:34 +02:00
Jakob Borg
3e8eabe833
Add mogwa1
2015-05-25 08:07:59 +02:00
Bart De Vries
badfc77339
Change permissions of newly created files and directories ( fixes #1339 )
2015-05-25 00:12:51 +02:00
Jakob Borg
c0d02a65c3
Reduce allocations during iteration
...
Reuses key byte slices to reduce allocations:
benchmark old allocs new allocs delta
Benchmark10kReplace 178112 168615 -5.33%
Benchmark10kUpdateChg 567954 561557 -1.13%
Benchmark10kUpdateSme 238691 228680 -4.19%
Benchmark10kNeed2k 105382 103383 -1.90%
Benchmark10kHaveFullList 60230 60230 +0.00%
Benchmark10kGlobal 237484 227493 -4.21%
benchmark old bytes new bytes delta
Benchmark10kReplace 8725368 7661788 -12.19%
Benchmark10kUpdateChg 58155152 57441025 -1.23%
Benchmark10kUpdateSme 16130875 14996717 -7.03%
Benchmark10kNeed2k 6561685 6338283 -3.40%
Benchmark10kHaveFullList 7611112 7611135 +0.00%
Benchmark10kGlobal 21415056 20300723 -5.20%
2015-05-24 13:08:14 +02:00
Audrius Butkevicius
3a203b8d83
Merge pull request #1861 from calmh/fix-1860
...
Be more lenient against errors when deleting (fixes #1860 )
2015-05-24 00:58:46 +01:00
Audrius Butkevicius
feecdcc7a4
Merge pull request #1854 from calmh/eventmemallocs
...
Reuse a timer instead of allocating a new one in subscription.Poll
2015-05-23 23:23:46 +01:00
Jakob Borg
29da0bc8f5
Be more lenient against errors when deleting ( fixes #1860 )
2015-05-23 23:57:41 +02:00
Jakob Borg
7b6b5981c4
UPnP discovery results must not be collected in a background goroutine ( fixes #1858 )
2015-05-23 23:27:02 +02:00
Jakob Borg
90a1d99785
Reuse a timer instead of allocating a new one in subscription.Poll
...
This is surprisingly memory expensive when Poll gets called a lot, such
as when syncing lots of small files generating itemstarted/itemfinished
events. It's line number three in this heap profile on the
TestBenchmarkManyFiles test:
jb@syno:~/src/github.com/syncthing/syncthing/test (master) $ go tool pprof ../bin/syncthing heap-13194.pprof
Entering interactive mode (type "help" for commands)
(pprof) top
80.91MB of 83.05MB total (97.42%)
Dropped 1024 nodes (cum <= 0.42MB)
Showing top 10 nodes out of 85 (cum >= 1.75MB)
flat flat% sum% cum cum%
32MB 38.53% 38.53% 32.01MB 38.54% github.com/syndtr/goleveldb/leveldb/memdb.New
22.16MB 26.68% 65.21% 22.16MB 26.68% github.com/syndtr/goleveldb/leveldb/util.(*BufferPool).Get
13.02MB 15.68% 80.89% 13.02MB 15.68% time.NewTimer
6.94MB 8.35% 89.24% 6.94MB 8.35% github.com/syndtr/goleveldb/leveldb/memdb.(*DB).Put
3.18MB 3.82% 93.06% 3.18MB 3.82% github.com/calmh/xdr.(*Reader).ReadBytesMaxInto
With this change the allocation is removed entirely.
2015-05-23 20:38:41 +02:00
Jakob Borg
8dd7e4e6b5
Run benchmarks when running tests
2015-05-23 15:08:17 +02:00
Lode Hoste
f12b8c19be
Support the creation of top-level folders on Windows ( fixes #1822 )
2015-05-21 19:21:19 +02:00
Lode Hoste
5042248260
Set permanent UPnP lease when required ( fixes #1831 )
2015-05-21 10:48:40 +02:00
Lode Hoste
1df6589533
Add status code to SOAP response
2015-05-21 09:54:39 +02:00
Audrius Butkevicius
f112ef34f6
Don't check interface flags on Windows
2015-05-17 16:42:26 +01:00
Jakob Borg
e4b57a978f
Translation update
2015-05-15 10:46:47 +02:00
Jakob Borg
947a129e12
Use updateLocals to ensure event generation
2015-05-14 08:56:42 +02:00
Jakob Borg
f3fe6a6cbd
Assure existence of a folder marker in the test
2015-05-14 08:46:00 +02:00
Jakob Borg
9d150bef9f
Refactor GetMtime for early return
2015-05-14 08:26:21 +02:00
Jakob Borg
65be18cc93
Merge pull request #1804 from cdhowie/virtual-mtimes
...
Implement virtual mtime support for Android
2015-05-14 08:14:29 +02:00
Jakob Borg
e27ea63900
Add cdhowie
2015-05-14 08:11:02 +02:00
Chris Howie
aa96f7b660
Virtual mtime support for environments that don't support altering mtimes ( fixes #831 )
2015-05-13 14:57:29 +00:00
Jakob Borg
053690d885
Don't attempt reschedule with zero interval
...
Can happen on manual rescans of folders with zero interval.
2015-05-13 16:51:08 +02:00
Jakob Borg
0b9441e1a4
Reset a namespaced kv-store
2015-05-13 14:41:47 +02:00
Jakob Borg
c2f2d8771f
Tweak the database block cache size, and add config for it
2015-05-11 09:08:25 +02:00
Jakob Borg
179c9ee8cc
Merge pull request #1792 from Zillode/tempname
...
Retains part of meaningful filename, added unit test and did a small refactoring
2015-05-10 20:44:55 +02:00
Jakob Borg
eb8a505287
Merge pull request #1774 from Zillode/fix-rename-windows
...
If rename works we are happy (fixes #1767 )
2015-05-10 19:04:03 +02:00
Lode Hoste
a7482a3644
Added simple unit test for temporary filenames
2015-05-10 18:57:27 +02:00
Lode Hoste
a692348336
Retain meaningful names for temporary files
2015-05-10 18:57:27 +02:00
Jakob Borg
285dcc30cf
Use md5 hash of filename for temporary file ( fixes #1786 )
2015-05-10 18:57:27 +02:00
Jakob Borg
bcf51aed83
Translation update
2015-05-10 14:59:12 +02:00
Lode Hoste
f6416285db
If rename works we are happy ( fixes #1767 )
2015-05-10 00:00:24 +02:00
Jakob Borg
7f0593cd2d
Set default UPnP lease time to 60 minutes
2015-05-09 22:17:53 +02:00
Jakob Borg
1133192a86
Merge remote-tracking branch 'syncthing/pr/1779'
...
* syncthing/pr/1779:
Remove stray VIM swap file
2015-05-08 20:32:02 +02:00
Chris Howie
af3288043a
Remove stray VIM swap file
2015-05-08 16:11:32 +00:00
Jakob Borg
245bd1eb17
Trigger pull check on remote index updates ( fixes #1765 )
...
Without this, when an index update comes in we only do a new pull if the
remote `localVersion` was increased. But it may not be, because the
index is sent alphabetically and the file with the highest local version
may come first. In that case we'll never do a new pull when the rest of
the index comes in, and we'll be stuck in idle but with lots of out of
sync data.
2015-05-08 10:02:46 +02:00
Jakob Borg
9308c42cff
Skip boring concurrency test in internal/db
2015-05-07 09:57:49 +02:00
Jakob Borg
5fc0808f28
Set the execute bit on Windows executables ( fixes #1762 )
2015-05-05 21:45:26 +02:00
Jakob Borg
e6866ee980
strings.TrimLeft is not actually TrimPrefix
2015-05-05 13:53:11 +02:00
Jakob Borg
df59bc7194
Merge pull request #1747 from Zillode/fix-1743
...
Partial fix for #1743
2015-05-04 10:51:40 +02:00
Jakob Borg
1bd85d8baf
Use a channel instead of locks
2015-05-03 14:18:32 +02:00
Lode Hoste
fe34b08ece
Reschedule the next scan interval ( fixes #1591 )
2015-05-03 12:48:44 +02:00