docs: D91-Nachtrag 5 — Ref-Umbruch und Strg+Klick-Öffnen festgehalten; #trk.create bestanden, #trk.open im Plan
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
a22c320909
commit
eae2ff1ef0
@@ -8064,3 +8064,62 @@ ist der Weg nicht gemessen — dafür braucht es echte Zugangsdaten, und die
|
||||
gibt niemand einem Werkzeug. Der Plan-Knoten `#trk.create` steht deshalb
|
||||
auf `[/]` (funktionsbereit, Feinarbeiten offen) statt `[x]`: Der erste
|
||||
echte Login ist der Handtest, der noch aussteht.
|
||||
|
||||
**Nachtrag 5 — Ticket-Refs brechen nicht um und öffnen sich per Strg+Klick
|
||||
(2026-08-27).** Zwei Nutzerwünsche nach dem bestandenen Handtest („anlegen
|
||||
hat funktioniert" — `#trk.create` steht damit auf `[x]`, die
|
||||
Nachtrag-4-Grenze ist gefallen):
|
||||
|
||||
**1. Eine Ref wie `#US-123` bricht im Knoten nie mehr mitten im Token um.**
|
||||
Die Ursache lag nicht in `wrapLabel()` (das bricht nur an Leerzeichen, D64),
|
||||
sondern im Browser: `max-width:32ch` misst die Ziffer „0", Buchstaben sind
|
||||
breiter — eine zu breit geratene Zeile bricht er dann an jedem
|
||||
**Bindestrich**, und aus der Ref wurde `#US-`/`123`. Der Renderer umspannt
|
||||
freistehende Ref-Token im escapten Label deshalb mit einer `tref`-Spanne
|
||||
(`white-space:nowrap`); die Zitier-Konvention bleibt gewahrt (`(#US-123)`
|
||||
ist kein freistehendes Token), und `labelLines()` (Grafikexport) misst die
|
||||
Textknoten der Spanne unverändert mit — nachgemessen: beide Refs stehen im
|
||||
exportierten SVG als ganze Token. Gegenprobe per Mutation: ohne die Spanne
|
||||
fallen genau die zwei danach benannten Zusicherungen.
|
||||
|
||||
**2. Strg+Klick öffnet die Ref im Taiga-Frontend** — im Text (freistehendes
|
||||
Token, dieselben Ausschlüsse wie der Abhängigkeits-Sprung D67: Kommentar,
|
||||
Beschreibungsteil, URL) und auf dem Knoten; Tastatur Strg+Enter. Die
|
||||
Entscheidungen:
|
||||
|
||||
- **Die Web-Basis ist eine zweite Server-Konfiguration**
|
||||
(`WERKBAUM_TAIGA_WEB_URL`, per `GET /info` als `taigaWeb` gemeldet, ohne
|
||||
Schrägstrich am Ende): Sie ist aus der API-URL **nicht ableitbar** — bei
|
||||
der Zielinstanz liegen Frontend und API auf verschiedenen Hosts
|
||||
(Nachtrag 1). Kein Raten per Namenskonvention; fehlt sie, entfällt nur das
|
||||
Öffnen, die Anlage funktioniert weiter. `deploy-backend.sh` zieht die
|
||||
Zeile idempotent nach wie die API-URL.
|
||||
- **Die URL trägt der Typ-Präfix aus**: `US-123` → `/project/<slug>/us/123`,
|
||||
`T-…` → `/task/…` — genau die Auflösung, für die Werkbaum die Präfixe
|
||||
schreibt (Nachtrag 2). Der Slug kommt vom nächsten Vorfahren mit
|
||||
`&taiga.*`-Tag (§1); ohne Slug oder Web-Basis geschieht **still nichts**,
|
||||
das D67-Idiom (eine unbekannte Dep-ID tut auch nichts).
|
||||
- **Die Abhängigkeits-Lesart gewinnt:** In einem `:#…`-Token ist die Ref
|
||||
nicht freistehend — dort bleibt Strg+Klick der Sprung zur Zeile (D67).
|
||||
Erst wenn der nichts findet, wird die Ref versucht.
|
||||
- **Das Knoten-Fenster trägt an Refs einen Öffnen-Knopf** statt der
|
||||
Anlage-Knöpfe (die Ref ist der Idempotenz-Marker, es gibt dort nichts
|
||||
anzulegen): der Weg auf Touch (kein Strg) und zugleich die
|
||||
Auffindbarkeit der Geste (D25-Lehre). Ein i18n-Schlüssel
|
||||
(`taigaOpenBtn`) in neun Sprachen; keine Erweiterung von `hint_jump` —
|
||||
der sichtbare Knopf sagt mehr als eine weitere Legendenzeile.
|
||||
- **Auf einem Link-Knoten ohne Taiga-Adresse bleibt der Browser-Default**
|
||||
(Strg+Klick öffnet die Knoten-URL im Hintergrund-Tab): `preventDefault`
|
||||
nur, wenn wirklich ein Ticket geöffnet wird.
|
||||
|
||||
**Nachgemessen** im Browser gegen ein lokales Backend
|
||||
(`taigaWeb: https://plan.example.test`): tref-Spannen `nowrap`, je genau
|
||||
eine Zeile; der Fenster-Knopf öffnet `/project/mi-kunde/us/123`, Strg+Klick
|
||||
auf den Task-Knoten `/task/4567`; im Text öffnen Klick und Strg+Enter, die
|
||||
Abhängigkeit springt weiter (kein Öffnen), Kommentar/neutral bleiben still;
|
||||
Knoten ohne Ref zeigen unverändert die Anlage-Knöpfe. 576 Frontend-Tests
|
||||
(12 neue), Backend-`check` grün. Werkzeug-Lehre am Rande: In einem
|
||||
gestapelten Prüfskript setzte der Sprung aus dem Vor-Schritt die Auswahl
|
||||
asynchron neu und ließ den Tastaturweg scheinbar die falsche URL öffnen —
|
||||
isoliert wiederholt stimmt sie; dieselbe Zustandsvermischung wie beim
|
||||
Nachtrag-4-Bau.
|
||||
|
||||
@@ -205,13 +205,14 @@
|
||||
- [ ] #trk.resolve.read: Read title, link and status (S)
|
||||
- [ ] #trk.resolve.map: Map the workflow onto the states (S)
|
||||
- [?] #trk.write: Write the status back (M) :#trk.resolve
|
||||
- [/] #trk.create: Create tickets from nodes (XL)
|
||||
- [x] #trk.create: Create tickets from nodes (XL)
|
||||
- [^] #trk.create.proxy: Backend proxy with named endpoints (M)
|
||||
- [^] #trk.create.login: Log in to Taiga, token stays in the browser (S) :#trk.create.proxy
|
||||
- [^] #trk.create.project: The project comes from the inherited tag (S) :#not.tag.project
|
||||
- [^] #trk.create.story: A "create story" action in the node window (S) :#trk.create.login
|
||||
- [^] #trk.create.tasks: Sub-packages become tasks, picked in a dialog (M) :#trk.create.story
|
||||
- [^] #trk.create.ref: The ref lands in the line beside the id (S) :#trk.create.story
|
||||
- [x] #trk.open: Open a ticket ref in Taiga (S) :#trk.create.ref,#not.tag.project
|
||||
- [-] #trk.plugin: A plugin inside Taiga itself (L) %% legacy frontend, self-hosted only
|
||||
= [?] #trk.tenzu: Tenzu, the successor (XXL) https://tenzu.net
|
||||
= [ ] #trk.none: No tracker, plain text is enough (XS)
|
||||
@@ -1164,6 +1165,12 @@
|
||||
live inside them — so a story per node, and tasks only under a node that
|
||||
already carries a story. Decisions in D91.
|
||||
|
||||
#trk.open
|
||||
Ctrl+click on a ticket ref — in the text or on its node — opens the
|
||||
ticket in Taiga's web UI; the node window carries an open button, the way
|
||||
on touch. Needs the instance's web address (server configuration,
|
||||
reported by /info) and the inherited &taiga.slug project (D91-Nachtrag 5).
|
||||
|
||||
#trk.create.proxy
|
||||
A few named endpoints in the Werkbaum backend (auth, projects, user
|
||||
stories, tasks) relay to the Taiga instance configured server-side. No
|
||||
|
||||
Reference in New Issue
Block a user