Skip to main content

Module sites

Module sites 

Source
Expand description

Sites kept in Sioul, for the window: the list, their notifications (shown at once for a site in real time, else kept for the Porch), the site a message announces, and logins filled from Bitwarden.

Bitwarden is read here, by Sioul itself (sioul_sync::bitwarden): nothing to install, on every system. Your master password is asked when a login is wanted, used to open the vault and dropped; the logins stay in memory until the window closes or the vault is locked.

Structs§

Choice 🔒
PresetRow 🔒
SiteRow 🔒
Vault 🔒
The vault, open for the session: its logins, in memory only (wiped when dropped), with what each is searched by (bitwarden::Logins).
Waiting 🔒

Constants§

LARGE 🔒
Above this many logins, the chooser searches off the window’s thread: 20,000 made-up logins took 1 to 5.5 ms a search on a desktop computer busy with builds (a_large_vault_is_searched_quickly), a phone being several times slower; below, at once, so the chooser opens filled.
LISTED 🔒
How many logins the chooser lists; the others are counted, to narrow the search.

Statics§

FETCHING 🔒
One fetching of icons at a time; the hosts that had none, and when they were asked.
GATHERED 🔒
The last gathered notification sent: the time it was for (Unix seconds).
NO_ICON 🔒
PASSKEY 🔒
The token of a passkey login begun, until the key answers.

Functions§

add 🔒
A site added as the Add dialog gives it ({“name”, “url”, “kind”, “area”, “announced_by”, “categories”}): its id made from its name, another number when taken. Returns {“id”} or {“error”}.
add_many 🔒
Several usual sites pinned at once (a JSON list of the tree’s rows): those already here left as they are. Returns {“added”, “error”}.
announced_by 🔒
The site a message’s sender announces: {“id”, “name”}, else “”.
bitwarden_later 🔒
Bitwarden’s calls that wait for its server (an unlock, a passkey, the e-mail’s code), made off the window’s thread so that it never freezes meanwhile: a ticket at once, then work’s answer with bitwarden_answered(ticket, answer) on the window’s thread. The dialog waits for its own ticket, saying so (VaultUnlock.qml).
bitwarden_lock 🔒
Locks the vault again: its logins leave memory.
bitwarden_login 🔒
One login of the vault, for a site: {“name”, “username”, “password”, “code”} (the one-time code now, when it keeps its secret), or {“error”}; kept as the site’s choice.
bitwarden_logins 🔒
The chooser’s search: the vault’s logins by site and by user name, each optional, both matching when both are given (bitwarden::Logins::find); the one chosen last for url first, then the best matches, url’s own before others. Names, user names and sites only, never a password. {“found”: [{“id”, “name”, “username”, “site”, “elsewhere”}], “more”} or {“error”}.
bitwarden_passkey 🔒
The key’s answer, from that page ({“response”, “secret”} or {“error”}): the vault opened with it, for the account set here only. Answers as bitwarden_unlock does: {“ok”} or {“error”}.
bitwarden_passkey_begin 🔒
Bitwarden’s passkey login begun: the vault’s page where the key is asked, unseen, and the script that asks it there; {“page”, “script”} or {“error”}.
bitwarden_search 🔒
The chooser’s search as the window asks it: the answer at once (bitwarden_logins); for a large vault {“later”: n}, the answer brought by bitwarden_found(n, …) once searched off the window’s thread.
bitwarden_send_code 🔒
Sends the e-mail step’s code (when you choose that step); returns what went wrong, else “”.
bitwarden_site 🔒
What the vault holds for an address, as the chooser opens on it and as “Fill the login” begins: {“domain”: the address’s registrable domain; “chosen”: the domain of the login chosen last for it, “” when none; “only”: its only login, filled at once unless another was chosen last for it, “” when there is a choice to make} or {“error”}.
bitwarden_state 🔒
“missing” (no account set in Sites ⚙), “locked”, “unlocked”.
bitwarden_unlock 🔒
Opens the vault with your master password, and the second step’s code when one was asked (provider as Bitwarden numbers them; -1 for none, 100 for the code of a new device). Returns {"ok"}, {"factor": [providers]}, {"new_device"} or {"error"}. The password is never kept.
chosen 🔒
chosen_path 🔒
The login last chosen for each site (host → Bitwarden’s item id): proposed first next time.
device 🔒
This computer, as Bitwarden knows it.
favicon_tick 🔒
Your sites’ own icons, asked of each site when missing or a week old, off the window’s thread; the list shows them once there. A site that had none is asked again the next day.
favicons 🔒
Where sites’ icons are kept.
gather_tick 🔒
What sites notified, gathered in one notification at the times you set (docs/sites.md, “Notifications”): only the sites of these hours, not silenced, on the computer you are at. A site in real time, and a call, came at once already; the rest waits for the Porch as before. A gathered time the matrix of what reaches you holds (as usual: sleep, a pause, Free time, a slot of time for you, do-not-disturb) is skipped: what the sites said waits for the next one.
list 🔒
The sites, for their list. In quiet time, work sites keep their news to themselves.
locked 🔒
move_site 🔒
A site moved one place up (-1) or down (1) in the list; returns what went wrong, else “”.
notified 🔒
A site’s notification: shown at once when the site is in real time (or you asked for real time everywhere), else kept for the Porch. In quiet time, a work site’s waits for work to come back; at the times the matrix of what reaches you holds them (as usual: sleep, a pause, Free time, do-not-disturb, and but for a call a slot of time for you), every site’s. A chat site’s that names someone your cards know follows their Messages row too, which may only hold more (docs/attention.md, Q13): a blocked person’s is not even kept.
presets 🔒
What the Add dialog offers: the countries (and their states or provinces), the types and categories to filter by, the country shown (country when given, else your language’s region), and its sites with everyone’s. Words only: no request goes out.
presets_tree 🔒
The usual sites as a menu: each country (and everyone’s), its groups (offices, banks, energy…) and its states or provinces apart, each with its own groups: {"countries": [{"name", "groups": [{"name", "sites": [row]}], "regions_name", "regions": [{"name", "groups"}]}]}.
remembered 🔒
remove 🔒
A site taken out of Sioul; its sign-ins stay in its profile until cleared. Returns what went wrong, else “”.
seen 🔒
A site opened: what it notified is seen.
waiting 🔒
What the sites notified, for the Porch: each site with its lines, oldest first; in quiet time, only your own sites’.