The layout of the request differs based on whether it comes from an
untrusted device or a trusted device with encrypted enabled. Handle
both.
Closes#8819.
Allow the watcher delay to take fractional values, effectively allowing
for much shorter delays. The minimum value is limited at 0.01, which
effectively translates to 10ms. This is required in order to guarantee
that there is still enough time to aggregate multiple single change
events.
Signed-off-by: Tomasz Wilczyński <twilczynski@naver.com>
This adds a cache to the expensive key generation operations. It's fixes
size LRU/MRU stuff to keep memory usage bounded under absurd conditions.
Also closes#8600.
Currently, the name and date filters in the Restore Versions modal are
always enabled, even if there are no versioned files present. With this
change, they are enabled only when there are no errors and versioned
files actually exist.
In addition to disabling the filters, also completely skip date picker
generation, as it serves no function while still displaying a non-sense
date range, which starts today and ends in the past.
Signed-off-by: Tomasz Wilczyński <twilczynski@naver.com>
This adds the BlocksHash field from the FileInfo to our API output. It
can be useful for debugging, or for external tools. I'm intentionally
leaving it as an opaque base64 string because no meaning should be
derived from it: it's just a string.
The reference comes from fd0a6225aa,
but the file itself was removed in the process of working on the pull
request, yet the reference to it was still left in the index.html.
Signed-off-by: Tomasz Wilczyński <twilczynski@naver.com>
gui: Remove duplicate Spanish (Spain) translation.
Currently not among the set of "valid" (sufficiently complete)
languages and no longer synced with the tranlation platform, Weblate.
* Normalize EOL before EOF.
* Import current Transifex state, only translated.
Skip duplicated and completely empty languages.
* Re-add untranslated strings to JSON files.
These are now treated correctly as untranslated, but present with the
original (English) translation key.
* Update valid language codes and names.
* Refer to Weblate instead of Transifex for translations.
* lang-es: Copy untranslated strings from es-ES.
* Integrate translation changes from Weblate.
Translated using Weblate (Polish)
Currently translated at 100.0% (512 of 512 strings)
Translation: Syncthing/GUI strings
Translate-URL: https://hosted.weblate.org/projects/syncthing/gui/pl/
Translated using Weblate (Danish)
Currently translated at 98.6% (505 of 512 strings)
Translation: Syncthing/GUI strings
Translate-URL: https://hosted.weblate.org/projects/syncthing/gui/da/
Translated using Weblate (Lithuanian)
Currently translated at 85.4% (441 of 516 strings)
Translation: Syncthing/GUI strings
Translate-URL: https://hosted.weblate.org/projects/syncthing/gui/lt/
Translated using Weblate (French)
Currently translated at 100.0% (516 of 516 strings)
Translation: Syncthing/GUI strings
Translate-URL: https://hosted.weblate.org/projects/syncthing/gui/fr/
Translated using Weblate (Danish)
Currently translated at 98.6% (509 of 516 strings)
Translation: Syncthing/GUI strings
Translate-URL: https://hosted.weblate.org/projects/syncthing/gui/da/
Translated using Weblate (Spanish)
Currently translated at 100.0% (516 of 516 strings)
Translation: Syncthing/GUI strings
Translate-URL: https://hosted.weblate.org/projects/syncthing/gui/es/
* translation update uses weblate
---------
Co-authored-by: Jakob Borg <jakob@kastelo.net>
This makes sure the service manager doesn't interpret timeout errors, or any other error, as a signal to stop the service instead of restarting it.
I added it directly to our service utility function, as it may help catch other instances of the same problem... We would typically want timeouts etc to be a retryable error, unless it is the top level context that has timed out and we check for that specifically.
Currently, action and type are both displayed only in English. This
commit makes it possible to translate both of them.
Signed-off-by: Tomasz Wilczyński <twilczynski@naver.com>
The current code assumes that lastSeenDays is always set which is not
the case when device reports its lastSeen as equal to the Unix epoch.
Thus, make sure that lastSeenDays is set before proceeding with the
disconnected-inactive status check to avoid JS errors in the browser.
Signed-off-by: Tomasz Wilczyński <twilczynski@naver.com>