Jakob Borg
136d79eaa3
Break out GUI into an API service
2015-04-30 20:36:07 +02:00
Jakob Borg
60fcaebfdb
Run vet and lint. Make us lint clean.
2015-04-29 10:38:02 +02:00
Jakob Borg
f5211b0697
Add some more cache forbidding headers, for various user agents.
2015-04-27 09:08:55 +02:00
Audrius Butkevicius
d12db3e7b8
Add osutil.Glob to deal with Windows ( fixes #1690 )
2015-04-26 16:37:50 +01:00
Audrius Butkevicius
9afbca3001
Add pagination to Out of sync item list ( fixes #1509 )
2015-04-26 00:22:26 +01:00
Jakob Borg
43d39844f7
Merge pull request #1685 from AudriusButkevicius/mut
...
Add mutex logging
2015-04-23 21:16:23 +09:00
Audrius Butkevicius
433b923ea7
Add mutex logging
2015-04-23 10:54:14 +01:00
Jakob Borg
542716e216
Allow major upgrades
2015-04-23 17:13:11 +09:00
Jakob Borg
bf7d84c12a
Clean up REST JSON a little further
2015-04-21 23:28:58 +09:00
Jakob Borg
4fb74a32cc
Don't initialize subscription in init()
...
By doing it init(), the monitor process also gets a subscription thing
running, which is unnecessary (and really confused me when seeing it in
the debug output).
2015-04-20 12:58:58 +09:00
Jakob Borg
aa803ce2ff
Move folder errors to state
...
The "Invalid" config attribute is retained for errors discovered during
config loading (empty path, duplicate ID). This can only be set or
cleared at config loading time.
Errors discovered during runtime (I/O problems, etc) are now in the
folder state instead. Changes to these are sent as any other folder
state change.
2015-04-13 07:43:45 +09:00
Lode Hoste
75348c0158
Fix compilation of -noupgrade builds
2015-04-09 22:44:46 +02:00
Jakob Borg
d7100fd9bc
Add HTTP request tracing
2015-04-07 21:52:47 +02:00
Jakob Borg
e884d0fda6
Tidy up the REST interface URLs ( fixes #1593 )
2015-04-07 12:16:23 +02:00
Jakob Borg
207b43499c
Merge remote-tracking branch 'syncthing/pr/1577'
...
* syncthing/pr/1577:
Add uptime in webgui (fixes #1501 )
Conflicts:
cmd/syncthing/gui.go
internal/auto/gui.files.go
2015-04-06 20:53:32 +02:00
Sergey Mishin
77882e6086
Enable gzip encoding static files for webgui
2015-04-06 03:11:30 +03:00
ralder
b5d7ce8ebe
Add uptime in webgui ( fixes #1501 )
2015-04-05 22:37:55 +03:00
Audrius Butkevicius
6fb1e03ed4
Merge pull request #1576 from Zillode/reset-indexes
...
Update reset API to reflect new use cases.
2015-04-04 22:31:59 +01:00
Lode Hoste
ab287ebf40
Update reset API to reflect new use cases.
...
/rest/reset clears the entire Syncthing DB and restart the program
/rest/reset&folder=default clears the indexes of the default folder
2015-04-04 22:45:11 +02:00
Jakob Borg
b08ee3ff81
golint: locHttps -> locHTTPS
2015-04-04 21:59:54 +02:00
Audrius Butkevicius
2aa3182476
Merge pull request #1539 from calmh/locations
...
Move index to index-v0.11.0.db (new format) and centralize location config
2015-04-01 13:18:49 +01:00
Jakob Borg
454e688c3d
Push model data instead of pull ( fixes #1434 )
2015-04-01 11:46:30 +02:00
Jakob Borg
54752deaa1
Move index to index-v0.11.0.db (new format) and centralize location config
2015-04-01 11:30:28 +02:00
Jakob Borg
6459d11d32
Merge pull request #1378 from Zillode/draft-upgrade
...
Do not consider draft releases or releases with emtpy assets
2015-04-01 11:03:13 +02:00
Lode Hoste
d6030b8d68
Only consider relevant releases ( fixes #1285 ).
2015-03-31 10:22:28 +02:00
Lode Hoste
2012ce02e8
Support multiple scan query strings at the same time
2015-03-28 22:40:13 +01:00
Jakob Borg
a7492f8612
Send correct MIME type for SVG images ( fixes #1506 )
2015-03-22 12:57:16 +01:00
Jakob Borg
e1975644d6
Add /rest/filestatus
2015-03-17 17:51:50 +00:00
Jakob Borg
32425c5561
MPLv2
2015-03-17 16:02:27 +01:00
Pascal Jungblut
49bc74e7a0
Use lowerCamelCase for the JSON API ( fixes #1338 )
...
Replace the current mix of UpperCamelCase und lowerCamelCase with
consistent lowerCamelCase keys for the JSON API. Also adapt the frontend
so it works with the changed API.
Attention: this will break existing consumers of the API.
2015-03-16 10:05:01 +01:00
Audrius Butkevicius
9d1e2d9f46
Add /rest/tree API call
2015-03-04 23:39:27 +00:00
Jakob Borg
4b1b56fee8
Reduce CPU usage ( fixes #1376 )
2015-02-25 23:30:24 +01:00
Jakob Borg
88c44b303d
Simplify FileInfoTruncated
2015-02-15 12:50:03 +01:00
Karol Różycki
ec160f1f0a
Button to rescan all folders, fixes #1151
2015-02-12 21:03:35 +01:00
Karol Różycki
952e51ac75
Show information in folder panel if ignore patterns are active, fixes #1279
2015-01-27 15:27:44 +01:00
Jakob Borg
2c8b627008
Integer type policy
...
Integers are for numbers, enabling arithmetic like subtractions and for
loops without getting shot in the foot. Unsigneds are for bitfields.
- "int" for numbers that will always be laughably smaller than four
billion, and where we don't care about the serialization format.
- "int32" for numbers that will always be laughably smaller than four
billion, and will be serialized to four bytes.
- "int64" for numbers that may approach four billion or will be
serialized to eight bytes.
- "uint32" and "uint64" for bitfields, depending on required number of
bits and serialization format. Likewise "uint8" and "uint16", although
rare in this project since they don't exist in XDR.
- "int8", "int16" and plain "uint" are almost never useful.
2015-01-19 10:34:36 -08:00
Jakob Borg
eef1aebe8c
Refactor out protocol and luhn (protocol dependency) packages
2015-01-13 13:22:56 +01:00
Jakob Borg
8d6db7be31
Rename package internal/files to internal/db
2015-01-12 20:57:22 +01:00
Audrius Butkevicius
a2070d9ce4
Expose and use path separator ( fixes #1163 )
2015-01-10 14:51:29 +00:00
Jakob Borg
4c4143d9be
Move FileInfoTruncated to files package
...
This is where it's used, and it clarifies that it's never used over the
wire.
2015-01-09 08:28:24 +01:00
kozec
b933e9666a
/rest/upgrade returns HTTP/500 if STNOUPGRADE is defined
2015-01-06 22:50:56 +01:00
Jakob Borg
5143c09bcf
Refactor / cleanup
2015-01-02 15:54:04 +01:00
Audrius Butkevicius
fd0a147ae6
Add job queue ( fixes #629 )
...
Request to terminate currently ongoing downloads and jump to the bumped file
incoming in 3, 2, 1.
Also, has a slightly strange effect where we pop a job off the queue, but
the copyChannel is still busy and blocks, though it gets moved to the
progress slice in the jobqueue, and looks like it's in progress which it isn't
as it's waiting to be picked up from the copyChan.
As a result, the progress emitter doesn't register on the task, and hence the file
doesn't have a progress bar, but cannot be replaced by a bump.
I guess I can fix progress bar issue by moving the progressEmiter.Register just
before passing the file to the copyChan, but then we are back to the initial
problem of a file with a progress bar, but no progress happening as it's stuck
on write to copyChan
I checked if there is a way to check for channel writeability (before popping)
but got struck by lightning just for bringing the idea up in #go-nuts.
My ideal scenario would be to check if copyChan is writeable, pop job from the
queue and shove it down handleFile. This way jobs would stay in the queue while
they cannot be handled, meaning that the `Bump` could bring your file up higher.
2015-01-02 15:33:39 +01:00
Jakob Borg
3704d2d86b
Don't exit after creating HTTPS certs ( fixes #1103 )
2014-12-16 22:55:44 +01:00
Audrius Butkevicius
bde92d5cfe
Display last received file and time ( fixes #292 , fixes #801 )
2014-12-09 20:24:48 +00:00
Jakob Borg
fdd458d2fe
Protect GUI HTTPS from some attacks
...
- Disable SSLv3 against POODLE
- Disable RC4 as a weak cipher
- Set the CommonName to the system host name
2014-12-09 10:49:58 +01:00
Jakob Borg
9d07aa006d
Various style fixes
2014-12-08 16:36:15 +01:00
Jakob Borg
e329c7015e
Refactor random string stuff and seeding
...
Make sure we have a good random seed on the default RNG, that the
predictable RNG is clearly marked as such, that random strings are
actually the length requested, and that they contain a restricted set of
characters only.
2014-12-07 16:47:24 +01:00
Jakob Borg
0fde4b3b2e
Use runtime info to determine ARM version for upgrade ( fixes #1051 )
2014-12-01 10:24:13 +01:00
Jakob Borg
e0265aed05
Increase read timeout on HTTP server, try to not run out of sockets in stress test
2014-11-30 10:38:39 +01:00
Jakob Borg
126c4e9a06
Dependency update, new golang.org/x package names
2014-11-30 00:17:00 +01:00
Jakob Borg
5251f1c9db
Use a separate, unique ID for usage reporting ( fixes #1000 )
2014-11-27 10:00:07 +01:00
Audrius Butkevicius
59a85c1d75
Use custom structure for /need calls ( fixes #1001 )
...
Also, remove trimming by number of blocks as this no longer affects the size
of the response.
2014-11-23 00:52:48 +00:00
bigbear2nd
af08567f24
Add directory separator to autocomplete. Fixes #984
2014-11-20 00:26:06 +09:00
Jakob Borg
64f101f534
Merge pull request #968 from pluby/directory-auto
...
Directory auto-complete.
2014-11-17 19:07:27 +04:00
Jakob Borg
82c6caef85
Use more inclusive copyright header
2014-11-17 12:54:42 +01:00
Phill Luby
46ec72412a
Directory auto-complete.
2014-11-16 19:31:53 +00:00
Jakob Borg
2449723a1c
Add list of compiled regexps to /rest/ignores ( fixes #942 )
2014-11-08 22:13:12 +01:00
Jakob Borg
6820c0a5d7
Don't crash on nil discoverer ( fixes #917 )
2014-10-28 20:40:04 +01:00
Jakob Borg
15ee9a5cac
Break out logger as a reusable component
2014-10-26 13:16:54 +01:00
Phill Luby
b110b7c3f7
Make cacheEntry public so that it can be marshalled to the UI.
2014-10-15 21:52:06 +01:00
Phill Luby
609294deee
Set content type on discovery rest request.
2014-10-15 21:20:38 +01:00
Phill Luby
fffae9a741
Repackage discovery registry so that it can be converted to JSON.
...
The registry uses a non-string type as keys which is not possible in JSON.
2014-10-15 21:20:38 +01:00
Jakob Borg
c8a68001c1
Use HTTP server read timeout ( fixes #805 , fixes #806 )
2014-10-13 19:34:26 +02:00
Jakob Borg
30aabf1da9
InSync is the opposite of RequiresRestart...
2014-10-07 11:31:19 +02:00
Jakob Borg
5338f1cfbd
Fix configInSync which is still needed
2014-10-06 21:28:16 +02:00
Jakob Borg
9b11609b63
Use a configuration wrapper to handle loads and saves
2014-10-06 17:57:35 +02:00
Jakob Borg
9edce23e76
Relicense to GPL
2014-10-01 07:53:59 +02:00
Audrius Butkevicius
fdf8ee7015
Manual fixup
2014-09-28 14:23:08 +01:00
Audrius Butkevicius
6c352dca74
Rename Repository -> Folder, Node -> Device ( fixes #739 )
2014-09-28 14:23:07 +01:00
Jakob Borg
99427d649e
Complete rewrite of the puller ( fixes #638 , fixes #715 , fixes #701 )
2014-09-27 21:51:08 +02:00
Jakob Borg
14817e31f6
Move top level packages to internal.
2014-09-27 09:42:10 +02:00
Audrius Butkevicius
b084b4faaf
Expose ignores in the UI
2014-09-21 22:34:53 +01:00
Audrius Butkevicius
760a9d6d35
Expose ignores rest endpoints
2014-09-21 20:30:06 +01:00
Jakob Borg
6a00b5a79e
Fix import (merge error) that broke the build.
2014-09-20 22:18:03 +02:00
Jakob Borg
e13976a3b3
Adding a node does not require restart; move logic to config package
2014-09-20 20:23:44 +02:00
Jakob Borg
9c68be4d5e
GET and POST /rest/ping as no-op ( fixes #680 )
2014-09-18 12:55:28 +02:00
Jakob Borg
d7956dd495
/rest/version should return JSON ( fixes #694 )
2014-09-18 12:52:45 +02:00
Jakob Borg
37a473e7d6
/rest/errors should return an object ( fixes #695 )
2014-09-18 12:49:59 +02:00
Jakob Borg
0b1136ad82
Panic if http.Serve() returns an error
2014-09-18 11:46:20 +02:00
Jakob Borg
55ea207a55
Merge branch 'new-tls'
...
* new-tls:
Cleanups and tweaks
Add redirection middleware
Add DowngradingListener
Conflicts:
auto/gui.files.go
2014-09-15 00:19:07 +02:00
Jakob Borg
6384d1e5a3
Cleanups and tweaks
2014-09-15 00:18:05 +02:00
Jakob Borg
517b7a14b4
Merge branch 'pr/683'
...
* pr/683:
Restart monitor as part of the upgrade process (fixes #682 )
2014-09-14 23:18:48 +02:00
Jakob Borg
6471ba70e4
Merge pull request #686 from AudriusButkevicius/auth
...
Send the real hash as part of the config (fixes #681 )
2014-09-14 10:50:17 +02:00
Audrius Butkevicius
3662decb8b
Add redirection middleware
2014-09-13 22:10:55 +01:00
Audrius Butkevicius
c45e3fa4d5
Require username and password for authentication
2014-09-13 22:06:25 +01:00
Audrius Butkevicius
24cbcef620
Send the real hash as part of the config ( fixes #681 )
2014-09-13 21:52:20 +01:00
Audrius Butkevicius
a5e3317e28
Restart monitor as part of the upgrade process ( fixes #682 )
2014-09-13 15:32:47 +01:00
Jakob Borg
5638c4ba87
Woops (fixup of previous)
2014-09-13 15:11:47 +02:00
Jakob Borg
bf7a128142
Smarter limit on size of pull block queue
2014-09-13 10:57:36 +02:00
Audrius Butkevicius
4e608b116a
Add session support ( fixes #611 )
2014-09-07 12:10:17 +01:00
Audrius Butkevicius
4b57821f52
Allow saving config from anywhere
2014-09-07 12:00:37 +01:00
Jakob Borg
92c44c8abe
Rework .stignore functionality ( fixes #561 ) (...)
...
- Only one .stignore is supported, at the repo root
- Negative patterns (!) are supported
- Ignore patterns affect sent and received indexes, not only scanning
2014-09-04 22:30:42 +02:00
Jakob Borg
a40217cf07
Trim dead bits of code
2014-09-04 22:07:59 +02:00
Jakob Borg
5c7d977ae0
Use woff instead of ttf font
2014-09-04 08:47:23 +02:00
Jakob Borg
5915e8e86a
Don't trust mime.TypeByExtension for the easy stuff ( fixes #598 )
2014-09-04 08:26:12 +02:00
Jakob Borg
e9c7970ea4
Only create assets map on demand
2014-09-02 13:07:33 +02:00
Jakob Borg
c326103e6e
Add X-Syncthing-Version header to HTTP responses
2014-08-31 12:59:20 +02:00
Jakob Borg
aa827f3042
Fix language detection, never show untranslated strings ( fixes #543 )
2014-08-28 13:23:23 +02:00
Audrius Butkevicius
84c6f147ad
Add /rest/stats/node endpoint
2014-08-25 12:49:22 +01:00
Audrius Butkevicius
0cdb0daa8c
Add stats package and node related statistics model
2014-08-25 12:49:21 +01:00
Audrius Butkevicius
997b20a975
Set Content-Type before sending out headers
2014-08-19 23:30:32 +01:00
Audrius Butkevicius
cfae06db65
Flush headers before potentially blocking
2014-08-19 23:18:28 +01:00
Jakob Borg
1a66461e07
All printed warnings should have some context
2014-08-17 10:28:36 +02:00
Jakob Borg
dfef929187
Translation update, handle locales precisely
2014-08-14 17:04:17 +02:00
Jakob Borg
9752ea9ac3
Implement external scan request ( fixes #9 )
2014-08-11 20:20:01 +02:00
Jakob Borg
528cbf62ec
POST to /config should return an error when something bad happens ( fixes #489 )
2014-08-08 14:09:27 +02:00
Jakob Borg
28db264e90
Upgrade debugging, fix upgrade on ARM ( fixes #482 )
2014-08-07 15:57:20 +02:00
Jakob Borg
5e237aecae
Reflect memory returned to OS in RAM Utilization
2014-08-05 22:14:11 +02:00
Jakob Borg
8ea1e302c3
Also expose ItemStarted events
2014-08-05 13:14:04 +02:00
Jakob Borg
9db75e91ac
HTTP testing corrections
2014-08-05 09:38:38 +02:00
Jakob Borg
f288e00c37
Actually show Node ID in QR ( fixes #471 )
2014-08-04 22:53:37 +02:00
Jakob Borg
cec3bad373
Move calmh/syncthing -> syncthing/syncthing
2014-08-01 16:48:46 +02:00
Jakob Borg
4e36dd2943
Refactor out upgrade package
2014-07-31 16:51:58 +02:00
Jakob Borg
bc6faaffc4
Add debug hook for completion, for integration tests
2014-07-29 13:01:27 +02:00
Jakob Borg
e27d42935c
Use event interface for GUI ( fixes #383 )
2014-07-29 11:06:52 +02:00
Jakob Borg
67a3fb8bf2
Compression as a user option ( fixes #446 )
2014-07-28 12:44:46 +02:00
Jakob Borg
3b65a58f59
Translation, language detection
2014-07-26 22:56:12 +02:00
Jakob Borg
3b4fe19dfb
Use compiled in assets for those not in STGUIASSETS dir
2014-07-22 20:11:36 +02:00
Jakob Borg
3388d5b49c
Use backend service to verify nodeID ( fixes #418 )
2014-07-18 10:00:02 +02:00
Jakob Borg
f88a7a8e6a
Publish more event details
2014-07-17 13:47:46 +02:00
Jakob Borg
8b349945de
Add Local Version field to files, send index in segments.
2014-07-15 13:04:37 +02:00
Jakob Borg
d812f559ef
Upgrade from within GUI ( fixes #190 )
2014-07-14 12:42:29 +02:00
Jakob Borg
b0f46beffb
Basic events interface
2014-07-13 21:07:24 +02:00
Jakob Borg
0a633c526f
Copyright wording
2014-07-13 01:07:49 +02:00
Jakob Borg
b7ea695caf
CSRF protection should only cover /rest
2014-07-06 15:00:44 +02:00
Jakob Borg
ee10295d04
Remove martini, use standard http mux
2014-07-05 21:40:29 +02:00
Jakob Borg
8f3effed32
Refactor node ID handling, use check digits ( fixes #269 )
...
New node ID:s contain four Luhn check digits and are grouped
differently. Code uses NodeID type instead of string, so it's formatted
homogenously everywhere.
2014-06-30 01:42:03 +02:00
Jakob Borg
77fe8449ba
Test script for REST interface
2014-06-22 18:18:21 +02:00
Jakob Borg
efbdf72d20
Lower CPU usage at idle by reducing db polling
2014-06-20 00:28:45 +02:00
Jakob Borg
b05fcbc9d7
Simplify usage reporting config options ( fixes #370 )
2014-06-18 12:54:30 +02:00
Jakob Borg
26ebbee877
Hard override on changes from master repo
2014-06-16 10:47:02 +02:00
Jakob Borg
4c61ab0f18
Request restart for GUI setting changes
2014-06-13 20:25:10 +02:00
Jakob Borg
2ffdb5a82a
Actually generate random certificate serials ( fixes #361 )
2014-06-13 01:49:30 +02:00
Jakob Borg
18e5cb6793
Work around broken DNS on Android for usage reporting
2014-06-12 01:05:00 +02:00
Jakob Borg
9cd6b85c09
Remove dead code from previous commit
2014-06-11 22:29:49 +02:00
Jakob Borg
f40f3b3b7b
Anonymous Usage Reporting
2014-06-11 20:06:53 +02:00
Jakob Borg
7e04c9d048
Information about HTTP certificate issues
2014-06-10 15:40:21 +02:00
Jakob Borg
df381fd03f
Let server side decide if restart is needed on config change
2014-06-07 04:00:46 +02:00
Jakob Borg
1cff9ccc63
API key change should take effect on restart only
2014-06-05 09:16:12 +02:00
Jakob Borg
20a018db2e
Implement API keys
2014-06-04 22:00:55 +02:00
Jakob Borg
80c2b32b92
Implement CSRF protection for REST interface ( fixes #287 )
2014-06-04 21:20:07 +02:00
Jakob Borg
843fd9bdbd
Add license header
2014-06-01 22:50:14 +02:00
Jakob Borg
217f29de76
Don't mess up unset properties of new nodes/repos
2014-05-24 21:00:47 +02:00
Jakob Borg
8661afcb4f
Expand ~/ on Windows as well
2014-05-24 13:34:40 +02:00
Jakob Borg
04130fcb15
Allow GUI development with standard binary
2014-05-22 16:12:19 +02:00
Jakob Borg
6fb05fc82a
Add Edit > Show ID with QR ( fixes #243 )
2014-05-21 20:06:14 +02:00
Jakob Borg
7c8652b600
Implement HTTPS for GUI
2014-05-21 14:42:53 +02:00
Jakob Borg
230f149b4b
Explain tilde in repo editor
2014-05-20 19:44:40 +02:00
Jakob Borg
dba40eefb1
Fix handling of changed/deleted directories ( fixes #231 )
2014-05-19 22:31:28 +02:00