Solaar/docs
Daniel Banariba b4a8344533 ui: show pairing timeout and offer retry on failure
Three separate gaps around pairing failures:

The discovery phase had no visible time limit, so a pairing attempt that found
nothing just sat there until it gave up. Page 0 now carries a progress bar that
drains over the 30 seconds Solaar itself passes to discover() and set_lock().
It stops as soon as a device is found. The passkey page deliberately gets no
countdown: that timeout lives in the receiver's firmware and is never reported,
so any timer shown there would be invented.

The failure page ran gettext over a runtime value, which xgettext cannot
extract, so no pairing error was ever actually translated. The cause now comes
from literals matched exactly against the error labels that can reach the page,
which also lets each one say something useful. Bolt's "failed" in particular
used to land on "No further details are available about the error"; it now says
the sequence was not accepted, and admits that the receiver cannot tell which
buttons were pressed rather than guessing at a cause. The raw error token is
kept in a small line so bug reports still carry it.

Recovering from a failure meant closing the dialog and starting over from the
main window, so the page now offers a "Try again" button. It is packed into the
page rather than added as an assistant action widget, so the path stays usable
wherever the assistant is only duck-typed, and it is only built when a retry
callback was supplied.

The Bolt instructions also gained the long-press hint the command line already
had, and the passkey page a reminder to keep the device on and in range. The
labels added to both pages are bounded and centred so that they wrap inside the
existing dialog width instead of stretching it.
2026-08-13 16:57:00 -06:00
..
devices
img
screenshots
.gitignore
20121210110342697.pdf
LICENSE.txt
PRO_X2_SUPERSTRIKE_CLI.md
README.text
capabilities.md
debian.md
devices.md
features.md
hidpp-documentation.txt
i18n.md
implementation.md
index.md
installation.md
issues.md
rules.md
uninstallation.md
usage.md ui: show pairing timeout and offer retry on failure 2026-08-13 16:57:00 -06:00
usb.ids.txt

README.text

# Documentation Readme

This project's documentation is hosted using GitHub pages, which serves static pages using Jekyll.
[Please refer to the official documentation for instructions for how to build the site locally.](https://help.github.com/articles/setting-up-your-github-pages-site-locally-with-jekyll/)