| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2026-10-15 | 4.2 kB | |
| v0.9.1 -- Sentiment split + Projekt-Cockpit + inline-edit UX source code.tar.gz | 2026-10-15 | 14.1 MB | |
| v0.9.1 -- Sentiment split + Projekt-Cockpit + inline-edit UX source code.zip | 2026-10-15 | 14.2 MB | |
| Totals: 3 Items | 28.2 MB | 0 | |
v0.9.1 — Sentiment split + Projekt-Cockpit + inline-edit UX
Hotfix on top of v0.9.0 that addresses user feedback from the first click-through — four scope issues (#122, [#123], [#124], scopes/intro) plus three polish items. Last 0.9.x — next release is v1.0.0.
Headline changes
Sentiment-Tracking split in Mood + Flow (#122)
Previously a single 1-5 "Stimmung" per day. Problem: it conflated personal mood with work-flow — an "innerlich gekündigt" developer can be privately cheerful (fine mood) and simultaneously stuck in a frustrating project (bad flow). One scalar hid that pattern.
- Daily form shows two independent 5-smiley rows:
- Mood (persönliche Stimmung): 😞 😕 😐 🙂 😄
- Flow (wie läuft die Arbeit): 🛑 🐢 😐 🏃 🚀
- Each row is optional, "überspringen" radio for NULL; submit refused only if both are empty.
- Personal history + team summary render two sparkline rows + two independent averages.
- Portable PHP migration renames
score→mood(same semantics, keeps data), addsflow INTEGER NULL, drops NOT NULL onmood(SQLite via table rebuild, MySQLMODIFY COLUMN).
Projekt-Cockpit (#124)
The v0.9.0 Report was a snapshot (one row per project with Soll/Ist/%); v0.9.1 ships a real per-project cockpit at project_show?id=<id>.
- Burn-up line chart — cumulative Ist hours over time + horizontal dashed Soll line + status-tinted path color. Inline SVG, geometry computed server-side, no JS chart library.
- KPI tiles: Soll / Ist / Rest-or-Over (sign-aware) / % / 4-week h-per-week trend / status badge.
- CSS-only line toggles (
:has()selector) hide/show Ist, Soll, plus two Pro-locked toggles (Budget in €, Ideal-Verlauf). - Projekt-Health-Checks list — seven Pro-only automatic signals (offene Rechnungen, Angebot vs Aufwand, Terminverschiebungs-Log, Budget-Burn, Ressourcen-Konflikt, Portfolio-Heatmap, PDF-Export). Dashed border + "in Pro freischalten"-CTA.
- Last 10 project entries below.
- Linked from the projects list (name = link) and the dashboard planning tile.
- Nav "Report" renamed to "Portfolio" for IA clarity — drill-down lives on each project.
Abstract inline list-editor pattern (#123)
The "statisches Form-Panel neben der Liste"-pattern used across six views was unclear — users couldn't tell which row was being edited.
- New abstract partial
views/partials/list_editor.php+ per-model form partials underviews/partials/forms/. - Edit form now expands inline in a
<tr>directly below the clicked row; the clicked row gets.is-editing(soft background) and the edit row carries a brand-tinted left stripe. - "neu" lives above the list instead of beside it.
- Rolled out across Clients, Projects, Workpackages, Tasks, Admin→Users, Admin→Roles.
- Future pattern changes happen in one place, not six.
UX polish
- Sidepanel-Overlap on topbar + footer fixed via
body:has(.sidepanel) .topbar, …foot { padding-right: 200px }with matching breakpoint drop. - Feiertags-Liste below the week grid — the holiday overlay from v0.9.0 only surfaced as tiny badges in the day heads, hard to discover. Now a full list of the current week + next 90 days.
- Projekt-Report Empty-State actionable — no more dead "Lege ein Soll an"-text; the page now lists active unplanned projects with a direct "Soll setzen"-button straight into each project's edit form, or links to project creation when there are none.
- Scopes intro clearer — the Nachweis-Sichten edit form now explains what proof views are (saved filter + rebooking profile for the Statistics page), where they show up (dropdown there), with a collapsible Trägerwechsel-example.
Upgrade notes
- The on-boot migrator handles the Sentiment schema change idempotently (SQLite + MySQL). Existing single-score entries migrate as Mood values; Flow starts out NULL.
- No new permission codes.
- No changes to any public API, route table or on-disk layout beyond the one new migration file and the
project_showroute.
Tests
131 tests, 439 assertions, all green.
🤖 Generated with Claude Code