summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2022-11-08lib/protocol: Ignore inode time when xattr&ownership is ignored (fixes ↵android-hotfixSimon Frei
#8654) (#8655) lib/protocol: Ignore inode time when both xattr and ownership is ignored (fixes #8654)
2022-11-02build: Add GitHub actions build for Windowsv1.22.1Jakob Borg
This is sort of a proof of concept, but since our current Windows builder is down this might solve the problem. It includes a change for easier code signing (taking the certificate in a secret/env var rather than existing already on disk), but otherwise mirrors precisely what we already do in the build server.
2022-10-21gui: Display folder and device count number (#8615)v1.22.1-rc.2tomasz1986
In large setups, it is currently impossible to know the exact number of folders and remote devices without counting them manually, either in the GUI or in config.xml. Thus, to provide this information to the user, add a specific number right next to both Folders and Remote Devices headers in the Web GUI. The numbers are only displayed when two or more folders or devices are present. Signed-off-by: Tomasz Wilczyński <twilczynski@naver.com>
2022-10-17gui, man, authors: Update docs, translations, and contributorsv1.22.1-rc.1Syncthing Release Automation
2022-10-16lib/model, lib/protocol: Fix file comparisons (fixes #8594) (#8603)Jakob Borg
2022-10-13lib/scanner: More sensible debug output (#8596)Jakob Borg
Previous debug input didn't really give enough info to show what was happening, while it also printed full block lists which are enormously verbose. Now it consistently prints 1. what it sees on disk, 2. what it got from CurrentFile (without blocks), 3. the action taken on that file.
2022-10-10gui: Allow automatic device ID selection on WebKit browsers (ref #8544) (#8597)tomasz1986
Some WebKit browsers select more than needed when using double click to select device IDs, e.g. new lines and white space. This commit adds a prefixed version of user-select in CSS in order to add support for those browsers and allow them to select just device IDs automatically. Signed-off-by: Tomasz Wilczyński <twilczynski@naver.com>
2022-10-10gui, man, authors: Update docs, translations, and contributorsSyncthing Release Automation
2022-10-08lib/protocol: Show inode change time in FileInfo debug string (#8591)Jakob Borg
2022-10-07gui: Tweak whitespace (#8587)André Colomb
2022-10-06lib/api: Add /rest/noauth/health health-check (fixes #8430) (#8585)Eric P
2022-10-06api, gui: Prevent connection issues due to unsupported-upgrade (fixes #8569) ↵Eric P
(#8586) There are some situations where an upgrade wouldn't be supported, even though the noUpgrade bool isn't set. So when handling the errors that are caused by this, when attempting an upgrade, it shouldn't lead to some sort of offline-message/restart/warning/etc... I added some checks on specific errors related to this and return a 501 (Not Implemented) response instead, in case of an "UpgradeUnsupported"-error. Additionally, on the GUI-side, the 501-response is now not to be considered an error to act upon.
2022-10-05lib/model: Fix warning log statement (ref #8583) (#8584)Simon Frei
2022-10-04build: Update dependencies (#8581)Jakob Borg
2022-10-04build: Also update Dockerfile.buildx for new package dependencyJakob Borg
2022-10-04Merge branch 'release'Jakob Borg
* release: docker: Fix handling of PCAP variable (fixes #8567) (#8568) lib/fs: Skip xattrs test on EOPNOTSUPP (fixes #8564) (#8565)
2022-10-03gui, man, authors: Update docs, translations, and contributorsSyncthing Release Automation
2022-10-02docker: Fix handling of PCAP variable (fixes #8567) (#8568)v1.22.0Jakob Borg
This correctly handles the absense of the PCAP environment variable, which was broken in the previous change.
2022-10-02lib/fs: Skip xattrs test on EOPNOTSUPP (fixes #8564) (#8565)Simon Frei
2022-10-02docker: Fix handling of PCAP variable (fixes #8567) (#8568)Jakob Borg
This correctly handles the absense of the PCAP environment variable, which was broken in the previous change.
2022-10-01cmd/stcrashreceiver: Update to more modern panicparse (#8566)Jakob Borg
2022-10-01cmd/strelaysrv: Add optional auth token (fixes #3987) (#8561)entity0xfe
* implement authentication via token for relaysrv Make replaysrv check for a token before allowing clients to join. The token can be set via the replay-uri. * fix formatting * key composite literal * do not error out if auth material is provided but not needed * remove unused method receiver * clean up unused parameter in functions * cleaner token handling, disable joining the pool if token is set. * Keep backwards compatibility with older clients. In prior versions of the protocol JoinRelayRequest did not have a token field. Trying to unmarshal such a request will result in an error. Return an empty JoinRelayRequest, that is a request without token, instead. Co-authored-by: entity0xfe <entity0xfe@my.domain>
2022-10-01lib/fs: Skip xattrs test on EOPNOTSUPP (fixes #8564) (#8565)Simon Frei
2022-09-30gui: Add connection status icons to Remote Devices (fixes #8244) (#8553)Eric P
2022-09-27gui: Filter scope ID out of IPv6 addresses in Remote GUI (fixes #8084) (#8559)tomasz1986
Currently, the link to remote GUI uses device addresses as they are advertised from the router. Because of this, they may end up having a scope ID attached to them. The problem is that browsers do not support such addresses, leaving the user with a non-working URL. Because of the above, use regex to simply filter out the scope ID from the address before using it for Remote GUI. Signed-off-by: Tomasz Wilczyński <twilczynski@naver.com>
2022-09-26cmd/syncthing: Fix incorrect cli help text (#8557)v1.22.0-rc.2Nick Busey
2022-09-26docker: Add env var to control capabilities (#8552)Jakob Borg
As it's not simple to run a container under Docker/Kubernetes as non-root but with additional capabilities, add an internal hack.
2022-09-26gui, man, authors: Update docs, translations, and contributorsSyncthing Release Automation
2022-09-20gui: Add size and improve alt text of device QR code image (#8545)tomasz1986
Currently, the QR code image has no size specified in the HTML. This causes other elements of the modal to jump around when opening it for the first time and waiting for the QR image to generate. The jumping is especially noticeable when the GUI is accessed remotely and there is a delay while loading the elements due to slow connection. In addition, capitalise "QR" in the alt text. This is necessary for accessibility reasons, e.g. when using a screen reader, which may read upper- and lowercase characters differently. Lastly, allow to translate the alt text itself. Signed-off-by: Tomasz Wilczyński <twilczynski@naver.com>
2022-09-20build(deps): bump actions/setup-go from 3.2.1 to 3.3.0 (#8518)dependabot[bot]
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 3.2.1 to 3.3.0. - [Release notes](https://github.com/actions/setup-go/releases) - [Commits](https://github.com/actions/setup-go/compare/84cbf8094393cdc5fe1fe1671ff2647332956b1a...268d8c0ca0432bb2cf416faae41297df9d262d7f) --- updated-dependencies: - dependency-name: actions/setup-go dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-20gui: Replace JS select-on-click with CSS user-select (fixes #3868) (#8544)tomasz1986
Currently, a custom JS script is used to select the whole device ID on click. However, the current script isn't compatible with all browsers (and in IE in particular), making it impossible to select the ID in them at all. Additionally, the same functionality is already available in CSS with no such drawbacks, as the whole selection process is handled by the Web browser natively, which is lightweight and does not require custom code. Thus, remove the currently used JS script completely, replacing it with a new CSS class that can be added to an element when required. If the browser does not support the CSS, the user can still select the element manually, which makes it safer than the current behaviour that can block the user from being able to select the element at all. Signed-off-by: Tomasz Wilczyński <twilczynski@naver.com>
2022-09-20lib/versioner: Fix error in Trashcan restore (fixes: #7965) (#8549)Eric P
The restore function of Trash Can ran a rename at the end regardless of whether there was anything to rename. In this case, when the file-to-be-restored did not exist in the destination folder, this resulted in an error. I added a simple check, keeping track of whether the file existed prior to restoring it in the destination folder and depending on this value it will now return nil after the restoration to prevent the renaming function to kick off. Added a test for this specific edge-case as well.
2022-09-19gui: Fix missing word in sendOwnership explanation in GUI (#8547)tomasz1986
For consistency with syncOwnership explanation right above this one, the sentence should talk about "sending ownership information", and not just "sending ownership". Signed-off-by: Tomasz Wilczyński <twilczynski@naver.com>
2022-09-19gui, man, authors: Update docs, translations, and contributorsSyncthing Release Automation
2022-09-16script: Support single quotes in $translate.instant() parsing (#8542)André Colomb
Duplicate the regular expression for single and double quotes. Support additional arguments (string substitution) in both variants. Simplify the translation string group matching by using a lazy quantifier instead of excluding the quote itself.
2022-09-14build: Improve update-deps command, update deps (#8540)v1.22.0-rc.1Jakob Borg
2022-09-14all: Support syncing extended attributes (fixes #2698) (#8513)Jakob Borg
This adds support for syncing extended attributes on supported filesystem on Linux, macOS, FreeBSD and NetBSD. Windows is currently excluded because the APIs seem onerous and annoying and frankly the uses cases seem few and far between. On Unixes this also covers ACLs as those are stored as extended attributes. Similar to ownership syncing this will optional & opt-in, which two settings controlling the main behavior: one to "sync" xattrs (read & write) and another one to "scan" xattrs (only read them so other devices can "sync" them, but not apply any locally). Co-authored-by: Tomasz Wilczyński <twilczynski@naver.com>
2022-09-14lib: Factor out getting IP address from net.Addr (#8538)greatroar
... and add fast paths for common cases.
2022-09-13lib/versioner: Fix cleaning behaviour (fixes #7988) (#8537)Eric P
The cleaning logic in util.go was used by Simple and Trashcan but only really suited Trashcan since it works based on mtimes which Simple does not use. The cleaning logic in util.go was moved to trashcan.go. Staggered and Simple seemed to be able to benefit from the same base so util.go now has the base for those two with an added parameter which takes a function so it can still handle versioner-specific logic to decide which files to clean up. Simple now also correctly cleans files based on their time-stamp in the title together with a specific maximum amount to keep. The Archive function in Simple.go was changed to get rid of duplicated code. Additionally the trashcan testcase which was used by Trashcan as well as Simple was moved from versioner_test.go to trashcan_test.go to keep it clean, there was no need to keep it in a separate test file
2022-09-13gui: Fix text wrapping on tablet-sized screens (fixes #8529) (#8533)tomasz1986
Currently, the code contains a "mobile phone" fix to allow wrapping of long lines in table heading and cells. However, the fix is applied to all screen sizes equal or below 768 px wide, which causes the layout to break on tablet-sized screens. The commit moves the "mobile" fix to the actual mobile media query, which is applied to screens up to 419 px wide. It is only really needed there, where it synergises with the existing fix that changes table cell display to "block". There is no need to wrap the text on larger screens, as there is more than enough space to display the lines in full on them. Signed-off-by: Tomasz Wilczyński <twilczynski@naver.com>
2022-09-13etc/linux-systemd: Mention AmbientCapabilities for syncOwnership. (#8536)André Colomb
Add a commented entry to the systemd service file templates to point the user in the right direction when using syncOwnership and starting via systemd. Which is more upgrade-friendly than setting caps on the executable directly, as mentioned in the docs.
2022-09-12gui: Fix error in Restore Versions when path exists as both directory and ↵tomasz1986
file (fixes #7068) (#8532) The current code checks whether the same-named item exists in the tree, and when it does, it re-uses it when adding new children to it. However, the code doesn't check whether the existing item is a folder or a file. It rather assumes that it is always a folder, which is not necessarily the case. This commit adds a new check to the code, so that the existing element is reused only when it is a folder, and ignored otherwise. Signed-off-by: Tomasz Wilczyński <twilczynski@naver.com>
2022-09-12gui, man, authors: Update docs, translations, and contributorsSyncthing Release Automation
2022-09-11gui: Add tooltip to folder error message (fixes #7603) (#8531)tomasz1986
Currently, the error message is often quite long and thus it appears truncated with no possibility for the user to view the full string. Thus, add a tooltip that displays the message in full on hover. This follows the convention used in other parts of the GUI in similar cases. Signed-off-by: Tomasz Wilczyński <twilczynski@naver.com>
2022-09-11build(deps): Bump github.com/pierrec/lz4 (#8528)greatroar
2022-09-11cmd/syncthing: Fix two typos (#8493)cui fliter
Signed-off-by: cui fliter <imcusg@gmail.com>
2022-09-09lib/tlsutil: Use crypto.Signer interface (#8526)greatroar
*rsa.PrivateKey and *ecdsa.PrivateKey are both Signers, which have a method to get the public key. No need for the type switch.
2022-09-05gui, man, authors: Update docs, translations, and contributorsSyncthing Release Automation
2022-08-29gui, man, authors: Update docs, translations, and contributorsSyncthing Release Automation
2022-08-23all: Fix various user-facing and non-user-facing typos (#8509)luzpaz
Found via `codespell -q 3 -S lang,./gui/default/vendor -L benchs,bu,inflight,ro`