* master:
Update docs & translations
build.sh prerelease should rebuild author credits in about dialog
Use dialer in relay checks (fixes#2732)
Handle null case for invalid ng-model value (fixes#2392)
Return status code 307 instead of 302 when redirecting from HTTP to HTTPS
Benchmark for single database update
Add a CORS handler to deal with preflight OPTIONS requests
Add letiemble
Update docs and translations
Correct order of pkill(1) arguments in debian script (fixes#2728)
* master:
Update docs and translations
Model.internalScanFolder: Don't ignore special .stfolder and .stignore files.
Model.internalScanFolderSubs: Scan only requested subs.
A couple of protocol tests
Humanize serialization of version vectors (again)
FetchLatestReleases: fix the error log message
Add postinst script to restart after upgrade
Templatize Debian files
Don't require restart for usage reporting changes (fixes#2704)
RLimit comment typo
After the first media break (under 1200px), the footer is too long to
fit in a single line, taking up too much space in small screen devices.
This makes it so that it will stop being fixed at the bottom, freeing up
valuable screen real estate.
Safari has its own standard for handling icons for pinned tabs,
which requires a black-and-white .svg and a special tag.
Without using this, pinning a tab to localhost will show just
a blank square, instead of a pre-generated letter.
This will open the "edit device" dialogue after accepting a new device
connection. This will allow the user to specify the name of the device
or leave it blank in case they want to accept whatever the device
advertises once it connects.
When upgrade info is not available and the "Automatic Upgrades" options
is hidden, then "Global Discovery Server" wraps around and gets
misaligned. This fixes all that.
This is the same issue as #2014/#2062. Bootstrap doesn't like having two dialogs
open at once: it marks the body has having no dialogs open when the first dialog
is closed, regardless of whether the second dialog is still open.
This means that scrolling doesn't happen properly, and the user cannot
scroll to the dialog's 'close' button.
Work around this by making sure the first dialog (the settings page) is fully closed
before the second dialog (usage preview) is opened.