Ontwerp van de gebruiker, na het testen van de eerste indeling: vijf kleine widgets op de bovenste rij, certificaatkeuze en uploaden naar een dialoog achter een menu rechtsboven, activiteitenlog over de volle breedte, en het instelkader dichtgeklapt met twee kopieerknoppen in plaats van een per clientregel. Vastgelegd als PLAN.md 4a2 naast 4a1, want die eerste blijft de verantwoording van wat er staat. Drie dingen staan erbij die uit de brief zelf volgen: De harde eis. Kiezen achter een menu botst met de ergste toestand die deze app kent, een verse installatie zonder certificaat, en dat is letterlijk de klem van 0.0.3. De foutmelding bovenaan blijft dus staan en krijgt de knop die de dialoog opent; de hamburger is de weg terug, niet de enige weg erheen. Twee teruggedraaide besluiten, opgeschreven zodat niemand ze later herstelt met een verwijzing naar de oude reden: de kopieerknop per client verdwijnt, en de afwijzing van een dropdown uit 19-08 verbiedt geen dialoog. Bij de eerste hoort een voorwaarde: de wallets blijven gegroepeerd onder de vorm die ze willen, want anders is er wel een adres maar niet meer bij welke wallet het hoort. Deze indeling haalt bovendien twee koppelingen weg die er alleen waren omdat kaders naast elkaar stonden. Een daarvan was de hele inhoud van 0.0.13. Open punt 5 is goedgekeurd en verhuisd naar Beslist; punt 3 stond nog open terwijl het log al twee versies draait. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
108 lines
6.8 KiB
Markdown
108 lines
6.8 KiB
Markdown
# Open punten - Webinterface
|
|
|
|
> Beslissingen die nog een **eigenaar** of een **moment** nodig hebben. Wordt een punt een taak, dan
|
|
> verhuist het naar [TAKEN.md](TAKEN.md).
|
|
>
|
|
> **Nummers blijven staan**, ook als een punt beslist is: er kan elders naar verwezen worden. Beslissen
|
|
> betekent verplaatsen naar de kop hieronder, niet hernummeren.
|
|
|
|
## Nog te beslissen
|
|
|
|
7. **Kan Zoraxy of Nginx Proxy Manager verplicht gesteld worden bij de installatie?** Gevraagd door de
|
|
gebruiker op 20-08-2026, die erbij opmerkte dat sommige apps bij de installatie twee dropdowns tonen.
|
|
**Technisch antwoord: nee, niet als "de een of de ander".** Nagetrokken in de bron, zie
|
|
[Umbrel-appstore-spec.md](../../../Referenties/Umbrel-appstore-spec.md) §4, met bronlinks.
|
|
|
|
Kort: dat dialoog toont één dropdown **per afhankelijkheid** en niet per keuze. In het schema van
|
|
umbreld is `dependencies` een platte lijst van app-id's, en wat er in een dropdown staat komt van de
|
|
andere kant, namelijk elke app die `implements: [<dat id>]` declareert. Het voorbeeld dat de gebruiker
|
|
zag is `mempool` met `dependencies: [bitcoin, electrs]`. Zoraxy en NPM declareren geen `implements`,
|
|
dus er is geen gedeelde rol om naar te wijzen, en dat staat in hún manifest en niet in het onze.
|
|
|
|
Wat overblijft is Zoraxy hard eisen, en dat is een dropdown met één optie. Wat er nog over te beslissen
|
|
is, is of dat wenselijk is: het sluit de bron `Own folder` uit, en Zoraxy deïnstalleren zou deze app
|
|
meesleuren.
|
|
**Moment:** vrij · **Eigenaar:** gebruiker beslist
|
|
|
|
## Beslist
|
|
|
|
5. **Wordt er gecontroleerd of de TLS-poort zelf antwoordt?** - **Ja, bouwen** (27-08-2026, gebruiker:
|
|
"punt 5 is goed").
|
|
|
|
De vraag kwam op 19-08-2026 op, nadat de badge "Serving this page" eruit ging omdat die niets zei: die
|
|
pagina wordt nooit getoond aan een wallet die op 50022 verbindt. Het eigenlijke punt eronder was groter
|
|
dan de badge: **de app controleert wel of de Electrum-server antwoordt, maar niet of hij zelf
|
|
antwoordt**, en dat is precies zijn enige taak.
|
|
|
|
Wat er gebouwd wordt: de agent zet een TLS-verbinding naar de eigen poort op en maakt de handdruk af.
|
|
Dat bewijst het luisteren, het certificaat en de doorverbinding in één keer, met dezelfde truc waarmee
|
|
de einddatum van het actieve certificaat gelezen wordt.
|
|
|
|
Het lag stil omdat de agent nog nooit gedraaid had, en die reden is vervallen. De uitkomst wordt de
|
|
vijfde widget van de bovenste rij uit [PLAN.md](PLAN.md) §4a2. Staat als eerste taak in fase 6, want
|
|
het is het enige echte nieuwe werk in die fase en de rest is opmaak eromheen.
|
|
|
|
3. **Komt het activiteitenlog er?** - **Ja, en gebouwd** (opgemerkt 27-08-2026; het besluit is nooit als
|
|
zodanig opgeschreven, het werk is gewoon gedaan en uitgerold in 0.0.6 en verfijnd in 0.0.14).
|
|
|
|
De afweging was niet "kan het" maar "is dit het waard, nu het niet is wat er gevraagd werd": er was
|
|
gevraagd om elk verzoek te loggen, en dat kan niet zonder het Electrum-verkeer van de gebruiker uit te
|
|
lezen. Wat het geworden is, is een regel per verbinding.
|
|
|
|
De twee obstakels die hier stonden zijn ongelijk afgelopen. Het `log_format` met dollartekens is
|
|
**langs de template-invulling gekomen** zoals voorgesteld: het `command`-blok schrijft
|
|
`stream-log.conf` met `$$` ontsnapt en `stream.conf` haalt het op met een `include`. De bytetellers van
|
|
een lopende verbinding zijn er **niet** gekomen; daarvoor in de plaats kwam een sessieteller uit
|
|
`/proc/net/tcp`, die ziet dát er verbindingen zijn maar niet hoeveel er doorheen gaat. Dat is een
|
|
bewuste halve oplossing en staat als zodanig in fase 5 van [TAKEN.md](TAKEN.md).
|
|
|
|
8. **Welke tagline, en waar?** - **Overal die van de appstore** (20-08-2026, gebruiker).
|
|
"Your own node from anywhere, without waiting for Tor" staat nu ook op de pagina; daar stond "TLS in
|
|
front of your own Electrum server".
|
|
|
|
De afweging was dat de twee lezers op een ander moment zitten: in de winkel moet de regel iemand
|
|
overtuigen die de app niet kent, op het dashboard staat iemand die hem al draait. Dat pleit voor twee
|
|
regels. Wat de doorslag gaf is dat deze afweging al eerder gemaakt is: bij het hernoemen naar Electrum
|
|
Gate was de reden dat de oude naam het **middel** beschreef en niet de opbrengst. Met die maatstaf was
|
|
de dashboardregel de achterblijver, niet de winkelregel.
|
|
|
|
Een toets houdt de twee plekken nu gelijk. Niet omdat het kan, maar omdat ze ver uit elkaar staan:
|
|
niemand die het manifest aanpast, opent daarna de pagina.
|
|
|
|
6. **Kan een certificaat via de pagina geupload worden?** - **Ja, en gebouwd** (20-08-2026, op verzoek van
|
|
de gebruiker). Zie [CHANGELOG-electrum-gate.md](../../../CHANGELOG-electrum-gate.md) 0.0.7 voor de vier
|
|
stukken die het vroeg.
|
|
|
|
Twee besluiten die eruit voortkwamen en die het waard zijn om terug te lezen:
|
|
|
|
- **de bestandsnaam komt uit het certificaat en niet uit het verzoek.** Daarmee is de hele klasse
|
|
padtrucs weg zonder dat er iets gefilterd hoeft te worden op invoer die je niet vertrouwt. Wat er
|
|
niet in het alfabet zit gaat eruit, dus een jokerteken-certificaat voor `*.example.org` wordt
|
|
`example.org`;
|
|
- **uploaden kiest niet.** De nieuwe komt voorgeselecteerd in de lijst en de gebruiker drukt op de
|
|
bestaande knop. Zo blijft er precies één plek waar TLS van certificaat wisselt, en dat is dezelfde
|
|
reden waarom de app bij twijfel niets kiest.
|
|
|
|
Het geheim door een formulier: te verantwoorden omdat het pad achter de inlog van umbrelOS zit en de
|
|
sleutel in de app-data van de gebruiker zelf landt, met rechten 0600. De agent kapt af op 96k en nginx
|
|
ook, dus een verzoek dat te groot is komt niet eens bij de validatie.
|
|
|
|
|
|
4. **Wat gebeurt er met de blokken-per-uur-grafiek in het eerste etmaal?** - **Vervallen** (19-08-2026).
|
|
De vraag ging over een grafiek die er niet meer is: de gebruiker heeft blokken per uur diezelfde dag
|
|
geschrapt, als grafiek én als tegel. Zie [PLAN.md](PLAN.md) §3.
|
|
|
|
1. **Wat toont de pagina als `status.json` ontbreekt?** - **Een neutrale melding, geen fout**
|
|
(19-08-2026).
|
|
"No readings yet", met de uitleg dat dit normaal is in de eerste minuten na een installatie of een
|
|
herstart. Bewust neutraal opgemaakt en niet rood: het bestand ontbreekt in de normale gang van zaken
|
|
even, en een foutkleur op een normale toestand leert mensen foutkleuren negeren.
|
|
|
|
Daarnaast blijft elk afzonderlijk veld op `unknown` staan in plaats van leeg. Een leeg veld leest als
|
|
"in orde", en dit is de pagina die juist geraadpleegd wordt wanneer er iets mis lijkt.
|
|
|
|
2. **Nederlands of Engels?** - **Engels, en alles** (19-08-2026, gebruiker).
|
|
Dat betekent de pagina én de teksten in `umbrel-app.yml`, want een Engelse pagina onder een
|
|
Nederlandse winkelbeschrijving is een halve keuze. Codecommentaar blijft Nederlands: de
|
|
projectafspraak koppelt zichtbare UI-tekst aan de taal van de app, en commentaar niet.
|