2026-08-25 16:27:57 +02:00
|
|
|
# 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
|
|
|
|
|
|
2026-08-27 15:10:06 +02:00
|
|
|
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).
|
|
|
|
|
|
2026-08-25 16:27:57 +02:00
|
|
|
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.
|