* fix: encode `ip` in network byte order for udp announce (#6126)
(cherry picked from commit c70c49e87b)
* fixup! fix: encode `ip` in network byte order for udp announce (#6126)
* feat: escape json string according to RFC8259
* fix: do not append newline when json serde is in compact mode
* fix: json tests
1. Use the same locale settings as the apps
2. Added additional test case for a string that are known to be prone to locale issues
3. Removed test for escaping non-BMP characters to UTF-16 escape sequences
* chore: add more test cases to `JSONTest.testUtf8`
* chore: order cases in the same order as RFC8259
(cherry picked from commit 0259edbaf3)
* Add readme with light setup instructions; tweak ui
These are very minor changes that cover a few issues:
- WebUI Peer list too narrow #4209
On very small screens (for-phone-only), we modify width on some fields for less overlap. But we also truncate using `text-overflow: ellipsis` and `overflow-x: hidden`.
- properly style up/down speed icons
Moved SVG contents into index.html so we can make these style changes based on the `prefers-color-scheme` media query.
I also set a min-width, text-align: right on the download/upload label so they aren't shifting when going from 1 kB/s to 800 Mb/s.
- Add README for `web` directory
It made sense to add some super simple getting-started instructions for the directory.
- Limit input width in Add dialog of Web #5639
Add a width to the open-torrent file input, but also increase the modal dialog container size.
* Add bookmarklet for anonymizing screenshots
I see a lot of blurring going on in screenshots for issues and PRs, so this is a quick little bookmarklet trick to add lorem ipsum text to torrent-names.
`tr_parseNum<>()` is implemented with `fast_float::from_chars()`, and
the latter is documented as "expecting a locale-indepent format
equivalent to what is used by std::strtod in the default ("C") locale".
To accomodate locale independent number parsing, switch back to
locale-independent number formatting in `tr_truncd()` by both removing a
`L` format specifier from `fmt::format_to_n()` call and using a fixed
"." decimal separator when truncating the value.