Relay 0.7.1: de teller in de kop, en de tegenspraak in About eruit

De teller met wachtenden heette ook "Waiting" en zei hetzelfde als het kader met
de lijst. Het aantal staat nu in de kop van dat kader, met de regel eronder
erbij; bij nul staat er geen getal, want de lijst zegt dan al "None." De plek in
de bovenste rij blijft leeg, op verzoek van de gebruiker: schuiven de andere
drie op, dan verliest "Status" de rechterkolom.

Met de adresregel weg viel op dat "About this app" eiste dat het sync-adres met
http begint en niet met ws, terwijl het kader onderaan ws:// toont. Beide
beweringen waren waar: de relay spreekt WebSocket, en het veld van Trezor Suite
neemt http(s)://, gemeten op 28-08-2026. Wat eruit moest was dus de eis. Er
staat nu dat het van de app afhangt, met dezelfde host en poort in beide
vormen, en de regel over wss:// zonder poort staat bij de alinea over van buiten
verbinden.

Nagekeken in voorbeeld/: de widget is weg met de lege plek op zijn positie, de
kop leest "Waiting 2", en het getal verdwijnt met de hidden-klasse.

Nog steeds 0.7.1 en nog niet gebouwd, dus de compose blijft zonder digest.

Suite groen: 22, 42, 90, 36, 54 en 68 goed, 0 fout.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Harmen
2026-09-10 10:01:15 +02:00
co-authored by Claude Opus 5
parent 090843a523
commit 56918ed2d4
5 changed files with 67 additions and 33 deletions
+35 -27
View File
@@ -431,6 +431,11 @@ body {
color: var(--accent);
}
/* Het aantal wachtenden, in de kop van dat kader. Kleiner en grijzer dan de kop
zelf: het is een telling en geen tweede kop. Bij nul staat er niets, want dan
zegt de lijst eronder al "None." */
.head-count { margin-left: 0.5rem; font-size: 0.85rem; font-weight: 500; color: var(--text-sec); }
/* ── Lijstregels ────────────────────────────────────────────────────────── */
.list-item {
display: flex; justify-content: space-between; align-items: center;
@@ -731,19 +736,13 @@ body.is-busy .list-item button { cursor: progress; }
</div>
</div>
<!-- Hoeveel eigenaars er op een beslissing wachten.
Tot 0.6.0 stond hier het tijdvenster voor nieuwe eigenaars, met een
knop om het twee minuten open te zetten. Dat is eruit in 0.7.0: er is
nog één weg naar binnen, en dat is de wachtlijst hieronder. Twee wegen
was dubbelop, en het venster was de zwakste van de twee omdat het
iederéén toeliet die er toevallig in verbond. -->
<div class="card">
<div class="card-head"><h2 class="t-h3">Waiting</h2></div>
<div class="stat-body">
<div class="stat-val text unknown" id="waiting-state">unknown</div>
<div class="stat-sub" id="waiting-sub"></div>
</div>
</div>
<!-- Een lege plek, met opzet, op verzoek van de gebruiker (10-09-2026).
Hier stond tot 0.6.0 het tijdvenster voor nieuwe eigenaars en in 0.7.0
een teller met wachtenden. Die teller is eruit: het kader eronder heet
"Waiting" en heeft het aantal nu in zijn kop, dus de widget zei het
dubbel. De plek blijft leeg in plaats van dat de andere drie opschuiven,
want dan houdt "Status" de rechterkolom; zie de uitleg hieronder. -->
<div></div>
<!-- De statuswidget staat RECHTS en niet links (keuze gebruiker,
31-08-2026), gelijk aan Electrum Gate. Twee redenen die samenvallen:
de twee pagina's horen naast elkaar te lezen als één store, en dit is
@@ -782,7 +781,10 @@ body.is-busy .list-item button { cursor: progress; }
heet in owners.json nog `rejected`; hernoemen zou een migratie zijn voor
een woord dat niemand ziet. -->
<div class="card col-6">
<div class="card-head"><h2 class="t-h3">Waiting</h2></div>
<!-- Het aantal staat in de kop en niet meer in een eigen widget bovenaan. -->
<div class="card-head">
<h2 class="t-h3">Waiting<span class="head-count hidden" id="waiting-count"></span></h2>
</div>
<div id="refused"></div>
</div>
@@ -839,15 +841,24 @@ body.is-busy .list-item button { cursor: progress; }
</p>
<h3>Pointing an app at it</h3>
<!-- Hier stond tot 0.7.1 dat het adres met http of https moet beginnen en
niet met ws. Dat sprak het kader onderaan tegen, dat sinds 0.7.0
`ws://` toont. Beide waren waar: de relay spreekt WebSocket, en het
veld van Trezor Suite neemt `http(s)://`, gemeten op 28-08-2026. Wat
eruit moest was de eis, niet de vorm. -->
<p>
Set the address at the bottom of this page as the sync address in your app. Some apps only
offer the field in their developer or advanced settings. The address has to start with
<strong>http</strong> or <strong>https</strong>, not ws, even though the connection itself is
a websocket: the client works that out on its own.
offer the field in their developer or advanced settings. Which scheme that field wants
depends on the app: <strong>ws://</strong> as shown below, or <strong>http://</strong>,
which some apps expect because the websocket starts as an HTTP request and they work the
rest out themselves. Same host and same port either way, so try the other one if the first
is refused.
</p>
<p>
Away from home you will need a way in, such as Tailscale or a reverse proxy with your own
domain.
domain. Behind a proxy with a certificate the address becomes <strong>wss://</strong> (or
https) on your own domain, without a port number: the proxy listens on 443 and forwards to
this one.
</p>
<h3>Who may use it</h3>
@@ -1371,16 +1382,13 @@ body.is-busy .list-item button { cursor: progress; }
], 'None.');
}
// De teller met wachtenden. Dit is de plek waar tot 0.6.0 het tijdvenster
// stond; nu telt hij wie er op een beslissing wacht, want dat is sinds
// 0.7.0 de enige weg naar binnen.
// Het aantal wachtenden, in de kop van dat kader. Tot 0.7.0 was dit een
// eigen widget bovenaan met een regel eronder; die zei hetzelfde als het
// kader waar de lijst in staat.
var wachtend = (status.owners.rejected || []).length;
put('waiting-state', String(wachtend));
el('waiting-state').classList.remove('unknown');
el('waiting-sub').textContent = wachtend === 0
? 'nobody is asking to get in'
: (wachtend === 1 ? 'one owner wants in; allow it below if it is yours'
: 'owners want in; allow the ones you recognise below');
var teller = el('waiting-count');
teller.textContent = String(wachtend);
teller.classList.toggle('hidden', wachtend === 0);
if (status.owners.problem === 'onleesbaar') {
show('alert-owners', 'The list of owners could not be read and was moved aside. Everyone is '