Relay 0.7.0: een weg naar binnen, en de melding bij elke klik weg
Vier punten van de gebruiker, opgekomen tijdens het beproeven met de testclient. De getimede leerstand is eruit; de wachtlijst is de enige weg naar binnen. Zijn redenering: allebei de wegen vragen iemand die bij de app kan, dus het is dubbelop, en het venster is de zwakste omdat het iedereen toelaat die er toevallig in verbindt. Dat weegt zwaarder nu de relay op een publiek wss-adres kan staan. De oorspronkelijke reden voor de leerstand, dat je je eigen OwnerId nergens kon aflezen, verviel toen de weigerlijst dat id ging tonen. Daarmee verdwijnt ook de bug die hij dezelfde dag meldde: een geleerde eigenaar bleef in de weigerlijst staan terwijl hij al kon schrijven en lezen, want decideOwner haalde hem niet van die lijst af en de knop allow wel. "Refused owners" heet "Waiting list", met de badge Waiting en een teller waar de widget van het tijdvenster stond. Het veld op schijf blijft rejected: hernoemen zou een migratie zijn voor een woord dat niemand ziet. Het adres onderaan zei http:// en dat kan nergens werken, want de relay spreekt WebSocket en nooit HTTP. Nu ws://<host>:3852, met een regel over wss://<domein> zonder poort achter een reverse proxy. Dat is precies de fout die diezelfde dag een ronde kostte bij het koppelen van de testclient. De melding bij elke klik is weg. Die stond in de gewone stroom van de pagina, dus alles eronder schoof omlaag en weer omhoog. Nu gaan de knoppen in de lijsten even op slot tot de ronde de nieuwe stand heeft; foutmeldingen blijven wel staan, want die zeggen iets wat je nergens anders ziet. STATE_VERSION blijft 1 en een owners.json van 0.6.0 leest door: learning en learningUntil worden gelezen, genegeerd en niet teruggeschreven. Een verhoging zou store.js de allowlist van een werkende installatie opzij laten schuiven. Twee toetsen bewaken dat de leerstand niet terugsluipt: een onbekende eigenaar wordt geweigerd ook met learning: true in het bestand, en set-learning is een onbekende actie. Beide mutatie-getest. De compose staat op 0.7.0 zonder digest, zodat het hard faalt tot de image bestaat. Bouwen, duwen en pinnen ligt bij de gebruiker. Suite: 424 goed, 0 fout. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -59,7 +59,7 @@ services:
|
||||
# store hoort er een multi-arch index-digest met arm64 in; zie het masterplan
|
||||
# Publicatie-Relay.
|
||||
relay:
|
||||
image: sc.kamenier-hamer.nl/sysop/evolu-relay:0.6.0@sha256:4dc56b8a35a1b79ca6e6a731eb520e20d05c25ad6bfc6c44b3e328f6f08b5b54
|
||||
image: sc.kamenier-hamer.nl/sysop/evolu-relay:0.7.0
|
||||
restart: on-failure
|
||||
# Als node en niet als root, zoals de image tot 0.5.6 zelf al deed met USER.
|
||||
# Nu de image ook nginx en de agent draagt, staat er geen USER meer in en
|
||||
@@ -96,7 +96,7 @@ services:
|
||||
# zelf leegmaakt. Twee processen die in dezelfde allowlist schrijven is een
|
||||
# wedloop die je een keer per jaar treft en dan niet kunt reproduceren.
|
||||
agent:
|
||||
image: sc.kamenier-hamer.nl/sysop/evolu-relay:0.6.0@sha256:4dc56b8a35a1b79ca6e6a731eb520e20d05c25ad6bfc6c44b3e328f6f08b5b54
|
||||
image: sc.kamenier-hamer.nl/sysop/evolu-relay:0.7.0
|
||||
restart: on-failure
|
||||
command:
|
||||
- python3
|
||||
@@ -125,7 +125,7 @@ services:
|
||||
# nginx met de pagina, uit dezelfde image. Geen mounts: pagina, configuratie en
|
||||
# icoon zitten in de image, en de pagina heeft geen eigen staat.
|
||||
server:
|
||||
image: sc.kamenier-hamer.nl/sysop/evolu-relay:0.6.0@sha256:4dc56b8a35a1b79ca6e6a731eb520e20d05c25ad6bfc6c44b3e328f6f08b5b54
|
||||
image: sc.kamenier-hamer.nl/sysop/evolu-relay:0.7.0
|
||||
restart: on-failure
|
||||
command:
|
||||
- nginx
|
||||
|
||||
@@ -11,7 +11,7 @@ manifestVersion: 1
|
||||
id: whatsnext-evolu-relay
|
||||
category: files
|
||||
name: Evolu Relay
|
||||
version: "0.6.0"
|
||||
version: "0.7.0"
|
||||
tagline: Encrypted sync and backup for your local-first apps
|
||||
description: >-
|
||||
Local-first apps keep your data on your own device and work whether or not you have a
|
||||
@@ -43,6 +43,22 @@ description: >-
|
||||
your app at the address shown there. Away from home you will need a way in, such as Tailscale
|
||||
or a reverse proxy with your own domain.
|
||||
releaseNotes: >-
|
||||
There is now one way in: the waiting list. An owner that connects for the first time is turned away and
|
||||
shows up there with its owner id, and you decide whether it may stay. The timed window that let in
|
||||
whoever connected within two minutes is gone; it did the same job less carefully, and both ways need
|
||||
someone at this page anyway. An owner you allow now leaves the waiting list instead of staying in both
|
||||
panels at once.
|
||||
|
||||
|
||||
Two smaller things. Clicking a button no longer pushes the page down with a notice; the buttons freeze
|
||||
until the change has landed, and only real problems still get a message. And the relay address now
|
||||
reads ws:// instead of http://, with a line about what it becomes behind a reverse proxy: the relay
|
||||
speaks WebSocket and never HTTP, so the old address could not work anywhere.
|
||||
|
||||
|
||||
Everything in 0.6.0:
|
||||
|
||||
|
||||
The whole app now ships as one image: the relay, the status page and the small helper behind it. Until
|
||||
now only the relay did, and the other two were mounted into stock images from the app folder. Nothing
|
||||
changes in what the app does; the app data folder now holds only your data, and the icon updates along
|
||||
|
||||
Reference in New Issue
Block a user