Releases: tim-rose-hnvr/hnvr-me
Releases · tim-rose-hnvr/hnvr-me
Release list
1.0.2
Genau eine Release je Fassung — sonst antwortet der Download mit 404 v1.0.1 lag als Datei vor, war öffentlich, und die Adresse gab trotzdem 404. Der Grund: `electron-builder` startet je Datei einen Veröffentlicher. Finden die gleichzeitig keine Release, legt JEDER eine an — und zwei Releases mit demselben Tag machen `/releases/download/<tag>/…` mehrdeutig. Über die API war dieselbe Datei die ganze Zeit ladbar; nur der Weg, den ein Mensch nimmt, war zu. Der Lauf legt jetzt selbst genau eine an: Tag setzen, alle Releases zu diesem Tag wegräumen — auch doppelte —, eine anlegen. Danach hat electron-builder nichts mehr zu entscheiden. Fassung 1.0.2, damit ein sauberer Stand entsteht. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AjEe35NFGvNrAdStaUc4Bm
1.0.2
Genau eine Release je Fassung — sonst antwortet der Download mit 404 v1.0.1 lag als Datei vor, war öffentlich, und die Adresse gab trotzdem 404. Der Grund: `electron-builder` startet je Datei einen Veröffentlicher. Finden die gleichzeitig keine Release, legt JEDER eine an — und zwei Releases mit demselben Tag machen `/releases/download/<tag>/…` mehrdeutig. Über die API war dieselbe Datei die ganze Zeit ladbar; nur der Weg, den ein Mensch nimmt, war zu. Der Lauf legt jetzt selbst genau eine an: Tag setzen, alle Releases zu diesem Tag wegräumen — auch doppelte —, eine anlegen. Danach hat electron-builder nichts mehr zu entscheiden. Fassung 1.0.2, damit ein sauberer Stand entsteht. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AjEe35NFGvNrAdStaUc4Bm
1.0.1
Installer repariert: die Box startet aus dem Paket · Fassung 1.0.1 Gemeldet mit einem Bildschirmfoto: „Die Box startet nicht — der Dienst hat nicht geantwortet." Örtlich nachgestellt und in vier Schritten gefunden, weil jeder Schritt den nächsten Fehler freilegte: 1. Der Server lag im `app.asar` — daraus kann kein Kindprozess starten. 2. Ausgepackt daneben fand er seine Abhängigkeiten nicht (`express`). 3. Dann fehlte ihm die `package.json` für seine Fassungsnummer. 4. Und danach die `formate.json`. Statt weiter einzelne Dateien nachzuziehen: **kein asar mehr.** Das Archiv hat hier nichts gebracht und vier Anläufe gekostet; verheimlichen ließe sich damit ohnehin nichts, der Quelltext ist offen. Jetzt liegt alles als gewöhnliche Datei neben der Hülle — genau so, wie es im Entwicklungsbetrieb läuft, und das läuft nachweislich. Die Fassungsnummer kommt jetzt von der Hülle statt aus einer Datei: Sie kennt sie ohnehin, und ein Griff ins Archiv war genau der dritte Fehler. Damit so etwas nie wieder nur „antwortet nicht" heißt, sagt der Dialog jetzt, was der Dienst zuletzt von sich gegeben hat, und legt das vollständige Protokoll als `start-fehler.log` neben die Daten. Ein Betreiber vor einer wartenden Gesellschaft kann mit „antwortet nicht" nichts anfangen, mit der Zeile aus dem Protokoll schon. Nachgemessen am gepackten Programm: Booth, Cockpit, Portal, Buchungsseite und Anmeldung antworten alle mit 200. Dazu: Die Google-Anmeldung auf der Website ist wieder heraus. Sie verlangt eine freigeschaltete Rücksprungadresse in den Headless-Einstellungen, und eine Anmeldung, die beim ersten Klick in eine Fehlermeldung läuft, ist schlimmer als eine, die es nicht gibt. Stattdessen steht dort, was stimmt: Ein Konto über mehrere Boxen gibt es noch nicht, die Box wird am Gerät eingerichtet. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AjEe35NFGvNrAdStaUc4Bm
1.0.1
Installer repariert: die Box startet aus dem Paket · Fassung 1.0.1 Gemeldet mit einem Bildschirmfoto: „Die Box startet nicht — der Dienst hat nicht geantwortet." Örtlich nachgestellt und in vier Schritten gefunden, weil jeder Schritt den nächsten Fehler freilegte: 1. Der Server lag im `app.asar` — daraus kann kein Kindprozess starten. 2. Ausgepackt daneben fand er seine Abhängigkeiten nicht (`express`). 3. Dann fehlte ihm die `package.json` für seine Fassungsnummer. 4. Und danach die `formate.json`. Statt weiter einzelne Dateien nachzuziehen: **kein asar mehr.** Das Archiv hat hier nichts gebracht und vier Anläufe gekostet; verheimlichen ließe sich damit ohnehin nichts, der Quelltext ist offen. Jetzt liegt alles als gewöhnliche Datei neben der Hülle — genau so, wie es im Entwicklungsbetrieb läuft, und das läuft nachweislich. Die Fassungsnummer kommt jetzt von der Hülle statt aus einer Datei: Sie kennt sie ohnehin, und ein Griff ins Archiv war genau der dritte Fehler. Damit so etwas nie wieder nur „antwortet nicht" heißt, sagt der Dialog jetzt, was der Dienst zuletzt von sich gegeben hat, und legt das vollständige Protokoll als `start-fehler.log` neben die Daten. Ein Betreiber vor einer wartenden Gesellschaft kann mit „antwortet nicht" nichts anfangen, mit der Zeile aus dem Protokoll schon. Nachgemessen am gepackten Programm: Booth, Cockpit, Portal, Buchungsseite und Anmeldung antworten alle mit 200. Dazu: Die Google-Anmeldung auf der Website ist wieder heraus. Sie verlangt eine freigeschaltete Rücksprungadresse in den Headless-Einstellungen, und eine Anmeldung, die beim ersten Klick in eine Fehlermeldung läuft, ist schlimmer als eine, die es nicht gibt. Stattdessen steht dort, was stimmt: Ein Konto über mehrere Boxen gibt es noch nicht, die Box wird am Gerät eingerichtet. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AjEe35NFGvNrAdStaUc4Bm
1.0.0
Website: Auftakt, Bewegung, echte Bilder statt „Bild fehlt" Vier Dinge, die die Seite von einem Dokument zu einem Auftritt machen: **Anmelden und Testen stehen ganz rechts.** Sie waren vor der Navigation einsortiert, also mitten in der Leiste. Das Auge läuft von links nach rechts — dort endet es, und dort gehört das Ziel hin. **Ein Auftakt beim ersten Besuch.** Die Blende schließt sich einmal, dann öffnet sich die Seite. Zwei Regeln machen den Unterschied zwischen Auftakt und Ärgernis: Er verschwindet spätestens nach 1,4 Sekunden, auch wenn etwas hängt — und er kommt nur beim ersten Mal, nicht bei jedem Klick. **Bewegung beim Scrollen.** Abschnitte und Karten kommen leicht von unten herein, Geschwister versetzt: Eine Reihe, die gleichzeitig erscheint, wirkt wie ein Sprung; nacheinander wirkt sie gebaut. Beobachtet wird mit IntersectionObserver, nicht bei jedem Scrollschritt gerechnet — sonst ruckelt es auf schwachen Geräten genau dann, wenn man es flüssig will. Nichts wird erst durch das Skript sichtbar: Ohne JavaScript steht alles da. **Und die „Bild fehlt"-Kästen sind weg.** Zwei davon waren unnötig: Die Software gibt es, sie läuft, ein Bild davon ist einen Befehl entfernt — `tools/website-aufnahmen.mjs` nimmt Portal und Buchungsseite auf, in doppelter Auflösung, damit sie auf Retina nicht matschen. Für die Hardware bleibt es beim Zeichnen: `Boxbild.astro`, erkennbar als Zeichnung. Kein Schein-Foto — wer später ein echtes hat, tauscht es aus, ohne dass vorher jemand getäuscht wurde. Beim Porträt der Rollen steht jetzt ein Monogramm: Ein erfundenes Gesicht wäre schlimmer als keins. Nachgemessen: fünfzehn Seiten im Handyformat, keine scrollt waagerecht. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AjEe35NFGvNrAdStaUc4Bm
pnkt-v1.0.0
What's Changed
- Get in Touch — eigenständiges Produkt, live und mit Veröffentlichen-Knopf by @tim-rose-hnvr in #1
New Contributors
- @tim-rose-hnvr made their first contribution in #1
Full Changelog: https://github.com/tim-rose-hnvr/hnvr-me/commits/pnkt-v1.0.0