generated from DevCraftClub/template
-
-
Notifications
You must be signed in to change notification settings - Fork 0
releases/v0.2.6 #30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
releases/v0.2.6 #30
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Beschreibe Änderungen: - Normaliere Pausendaten auf das Datum des Arbeitsbeginns, damit Pausenberechnungen auch funktionieren, wenn Pausen mit anderem Datum erstellt wurden. - Berechne Pausen-Overlap robuster: zähle nur den überlappenden Anteil einer Pause mit der Arbeitszeit (inkl. Pausen, die vor Arbeitsbeginn starten und danach enden). - Stelle sicher, dass aktive Pausen die Berechnung einfrieren, indem calculationTime bei Pausenstart benutzt wird; vermeide doppelte Zählung aktiver Pausen. - Füge Unit- und Integrationstests hinzu, die das Einfrieren der verbleibenden Zeit und das Fallback-Verhalten bei fehlerhaften Pausen (z. B. null Startzeit) prüfen. - Aktualisiere Changelog mit Fehlerbehebungen, Änderungen und technischen Details (Pausen-Normalisierung, Sekunden-Genauigkeit, Endlosschleifen-Fixes). Warum: - Behebt Inkonsistenzen zwischen Anzeige von geleisteter Arbeitszeit und verbleibender Zeit während aktiver Pausen sowie Fehler bei Pausen, die auf einem anderen Datum liegen. Verbessert Stabilität, Genauigkeit und verhindert Re-Render-/Hook-Endlosschleifen.
Füge ein .github/scripts-Verzeichnis mit zwei Shell-Skripten hinzu: - prepare-pr.sh: Erzeugt eine PR-Beschreibung aus einem Template, extrahiert die Version aus dem Branch-Namen oder nimmt übergebene Parameter, ermittelt automatisch die Vorgängerversion (Git-Branches oder CHANGELOG.md), extrahiert den Changelog-Eintrag und schreibt die fertige Beschreibung nach /tmp/pr_description.md. - extract-changelog.sh: Extrahiert die Changelog-Sektion für eine angegebene Version aus CHANGELOG.md und gibt sie auf stdout aus. Füge außerdem eine README für die Scripts und ein Pull Request Template hinzu, das Platzhalter für Version, Vorgängerversion und Datum enthält sowie Felder für automatisierte Statistiken und Checklisten. Ziel ist, PR-Erstellung und Release-Notes zu standardisieren und zu automatisieren.
Ändere die GitHub Actions so, dass der aus CHANGELOG.md extrahierte Eintrag base64-codiert an Outputs geschrieben wird, um Sonderzeichen und Zeilenumbrüche zuverlässig zu handhaben. Unterstütze sowohl Linux- als auch macOS-Varianten von base64. Dekodiere das base64-kodierte Changelog in der JavaScript-Action und baue den Kommentar durch string-Konkatenation zusammen, statt rohe Template-Strings zu verwenden. Dadurch vermeide ich Probleme mit Einschüben und Formatierung beim Erzeugen des Issue-/PR-Kommentars.
Füge explizit minimale Permissions zum PR-Changelog-Workflow hinzu, damit der Job nur die benötigten Rechte besitzt: - contents: read - pull-requests: write - issues: write Begrenze dadurch die Berechtigungen des Workflows auf das Nötigste, erhöhe die Sicherheit und erfülle Prinzip der geringsten Rechte.
📋 Automatisch generierte Changelog-InformationenVersion: 📊 Statistik
📝 Changelog-Eintrag## [0.2.6] - 2025-11-14
### Fixed
- **Verbleibende Zeit während Pause**: "Verbleibende Zeit" wird jetzt korrekt eingefroren, wenn eine aktive Pause erkannt wird (konsistent mit geleisteter Arbeitszeit)
- **Sekundenzähler**: Sekundenzähler aktualisiert sich jetzt korrekt jede Sekunde (war zuvor bei 0 Sekunden eingefroren)
- **Überstunden-Anzeige**: Überstunden werden jetzt korrekt berechnet und aktualisiert, auch mit Sekunden-Präzision
- **Arbeitsbeginn-Änderung**: Wenn der "Tatsächlicher Arbeitsbeginn" geändert wird, wird die geleistete Arbeitszeit sofort neu berechnet und angezeigt
- **Pausenberechnung**: Pausen, die vor dem Arbeitsbeginn starten, aber danach enden, werden jetzt korrekt behandelt (nur der überlappende Teil wird abgezogen)
- **Pausen-Datumsnormalisierung**: Pausen-Daten werden jetzt automatisch auf das Datum des Arbeitsbeginns normalisiert, um korrekte Berechnungen zu gewährleisten
- **Endlosschleifen behoben**: Mehrere "Maximum update depth exceeded" Fehler behoben durch:
- Verwendung funktionaler State-Updates in `useTimeTracking` Hook
- Entfernung von `validateAndSetWarnings` Callback-Dependencies
- Optimierung der `useEffect` Dependencies
- Prüfung auf tatsächliche Änderungen vor State-Updates
### Changed
- `TimeDisplay` Komponente: Verbleibende Zeit-Berechnung verwendet jetzt `calculationTime` (eingefroren bei aktiver Pause) statt `now`
- `calculateWorkedTime` Funktion: Pausen-Overlap-Berechnung verbessert für Pausen, die vor Arbeitsbeginn starten
- `useTimeTracking` Hook: `ensureRequiredBreaks` verwendet jetzt funktionales State-Update, um Endlosschleifen zu vermeiden
- `useTimeTracking` Hook: Validierung wird jetzt direkt in `useEffect` durchgeführt statt über Callback
- Meta-Tag aktualisiert: `mobile-web-app-capable` hinzugefügt (neuer Standard), `apple-mobile-web-app-capable` bleibt für Rückwärtskompatibilität
### Technical
- Verbesserte Fehlerbehandlung: Graceful degradation bei Pausenerkennungsfehlern
- Performance-Optimierung: Reduzierte unnötige Re-Renders durch State-Update-Prüfungen
- Code-Stabilität: Eliminierung von React Hooks Endlosschleifen
Diese Informationen wurden automatisch aus CHANGELOG.md extrahiert. |
Ersetzt Platzhalter in der PR-Template-Erzeugung durch Markdown-Links statt reiner Versionsstrings. Dadurch enthalten automatisch generierte PR- Beschreibungen direkte Links zur Release-Branchseite für die neue Version und zur Release-Tag-Seite für die vorherige Version, was Navigation und Review erleichtert.
Füge einen neuen GitHub Actions Workflow hinzu, der PRs von dependabot automatisch zur nächsten Release-Branch (releases/vX.Y.Z) routet. Der Workflow bestimmt die aktuelle Version,chnet die nächste Patch- Version, erstellt die Ziel-Branch falls nötig (von main/master) und aktualisiert die Basis des Pull Requests. Ergänze Hilfsskripte zum Ermitteln der neuesten Version und zur Berechnung der nächsten Version (.github/scripts/get-latest-version.sh und get-next-version.sh). Die Skripte holen Branches/Tags, parsen und validieren Versionsnummern und geben die passende Version zurück. Passe den pr-changelog Workflow an, sodass er das neue Helferskript verwendet, um die vorherige Version zuverlässiger zu bestimmen. Entferne die veraltete README im scripts-Verzeichnis, da die Skripte direkt eingebunden werden.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
TBD