diff --git a/ROADMAP.md b/ROADMAP.md index 13085a2..ad8ee31 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -11,28 +11,19 @@ Was bereits steht, listet [FEATURES.md](FEATURES.md). ## 1 · Als Nächstes empfohlen -### 1.0 v1.6.0 „unterwegs erfassen" `M` +### 1.0 Rest aus v1.6.0: persönliche API-Token `M` -Drei Dinge, die zusammengehören: erfassen am Telefon, überblicken an einer -Stelle, ansprechen per Shortcut. +Schnellerfassung und die projektübergreifende Aufgabenseite sind mit v1.6.0 +ausgeliefert. Offen bleibt der dritte Teil — siehe 1.3. Er gehört sachlich +dazu: erfassen am Telefon, überblicken an einer Stelle, ansprechen per +Shortcut. -**Schnellerfassung.** „Ideen festhalten" steht als Erstes auf dem Dashboard, -aber eine Idee anzulegen heißt bisher: Dialog mit sieben Feldern. Ein Feld, -Name, Enter, Status `IDEA` — der Rest wird später am Rechner nachgezogen. -Dasselbe für Aufgaben, dort mit Projektwähler. - -**Zentrales Aufgaben-Dashboard.** Eine Seite über alle Projekte hinweg. -Zwei Dinge aus dem Schema sind dabei zu beachten: - -- `Task` hat kein `ownerId` — die Datentrennung läuft über - `project: { ownerId }`. Der Index `[projectId, status, position]` greift - für eine projektübergreifende Abfrage nicht; es braucht einen passenden. -- `position` ist spaltenweise **je Projekt** vergeben und global damit - bedeutungslos. Die Seite sortiert deshalb nach Fälligkeit und ist bewusst - **nicht** per Ziehen sortierbar — sonst verspricht sie eine Ordnung, die - es nicht gibt. - -**Persönliche API-Token** — siehe 1.3, gehört sachlich hierher. +Bewusst nicht mitgeliefert wurde ein **Index für die übergreifende +Aufgabenabfrage**. `Task` hat kein `ownerId`, die Trennung läuft über +`project: { ownerId }`, und `[projectId, status, position]` greift dafür +nicht. Bei einigen hundert Aufgaben fällt das nicht auf; wird die Seite +träge, ist ein Index auf `dueDate` der erste Griff — und dann eine +Migration wert. --- @@ -180,6 +171,7 @@ Damit klar ist, was **nicht** kommt und warum: | **v1.3.0** Wiederkehrende Aufgaben, Barrierefreiheit nach WCAG 2.1 AA | ✓ | | **v1.4.0** README-Vorschau auf der Projektseite | ✓ | | **v1.5.0** Sicherheitsdurchsicht, Server-Anleitung und Update-Skript | ✓ | +| **v1.6.0** Mobile Ansicht, Listenansicht, Schnellerfassung, Aufgaben über alle Projekte | ✓ | Zur Entscheidung beim Export: Git-Tokens gehen **nicht** mit. Die Verbindung wird nur beschrieben, das Token ist nach dem Import neu zu hinterlegen. Snapshots bleiben diff --git a/package.json b/package.json index 158a59c..b12e176 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nebula", - "version": "1.5.0", + "version": "1.6.0", "private": true, "description": "Nebula – Dashboard fuer Vibe-Coding Projekte mit Git-Anbindung (GitHub, GitLab, Gitea)", "scripts": { diff --git a/src/lib/changelog.ts b/src/lib/changelog.ts index 9b6525f..70d6279 100644 --- a/src/lib/changelog.ts +++ b/src/lib/changelog.ts @@ -41,6 +41,62 @@ export const KIND_META: Record }; export const CHANGELOG: Release[] = [ + { + version: "1.6.0", + date: "2026-08-14", + headline: "Unterwegs erfassen — und eine Oberfläche, die aufs Telefon passt.", + changes: [ + { + kind: "behoben", + text: + "Auf dem Telefon war das Dashboard breiter als der Bildschirm: die Steuerleiste " + + "konnte nicht umbrechen und schob den Knopf „Neues Projekt“ aus dem Bild. " + + "Dasselbe im Projektkopf, wo „Löschen“ außerhalb lag. Beide Zeilen brechen " + + "jetzt um.", + }, + { + kind: "neu", + text: + "Schnellerfassung: ein Blitzsymbol in der Kopfleiste, auf jeder Seite " + + "erreichbar. Ein Feld, Enter, fertig — als Idee entsteht ein Projekt, als " + + "Aufgabe eine Aufgabe im gewählten Projekt. Der Dialog bleibt danach offen, " + + "weil auf eine Idee meist gleich die nächste folgt.", + }, + { + kind: "neu", + text: + "Eine Aufgabenseite über alle Projekte hinweg, geordnet nach Fälligkeit: " + + "überfällig, heute, diese Woche, später, ohne Termin. Abhaken geht direkt " + + "aus der Liste.", + }, + { + kind: "neu", + text: + "Vierte Ansicht im Dashboard: eine kompakte Liste. Auf dem Telefon passen " + + "damit fünf Projekte auf einen Bildschirm statt auf vier.", + }, + { + kind: "besser", + text: + "Eingabefelder sind auf Berührungsgeräten 16 Pixel groß — darunter zoomt " + + "iOS Safari beim Hineintippen die Seite heran und kehrt nicht von selbst " + + "zurück. Knöpfe und der Fortschrittsregler sind mit dem Finger zu treffen.", + }, + { + kind: "behoben", + text: + "Die Verweise in der Kopfleiste und „Neues Projekt“ sind auf schmalen " + + "Anzeigen reine Symbole und hießen für einen Screenreader gar nichts. " + + "Jetzt tragen sie eine Beschriftung.", + }, + { + kind: "behoben", + text: + "Das Tag-Formular der Auswahlleiste war breiter als sein Menü und wurde " + + "beschnitten — auf jeder Bildschirmbreite.", + }, + ], + }, { version: "1.5.0", date: "2026-07-27",