Compare commits
1
Commits
5ae1b6ed06
..
v1.6.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c9202fb65e |
+12
-20
@@ -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
|
||||
|
||||
+1
-1
@@ -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": {
|
||||
|
||||
@@ -41,6 +41,62 @@ export const KIND_META: Record<ChangeKind, { label: string; className: string }>
|
||||
};
|
||||
|
||||
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",
|
||||
|
||||
Reference in New Issue
Block a user