49 lines
2.0 KiB
Markdown
49 lines
2.0 KiB
Markdown
# Feature Requests & Bug Fixes
|
||
|
||
> Dieses Dokument verfolgt laufende Bug Fixes und kleinere Feature Requests nach Abschluss der Hauptentwicklungsphasen (Implementation-Plan.md Phase 1–9).
|
||
> Größere Änderungen (neue Module, neue Architektur) werden weiterhin im `Implementation-Plan.md` dokumentiert.
|
||
|
||
---
|
||
|
||
## Format
|
||
|
||
```
|
||
- [ ] **FR-NNN** Kurzbeschreibung
|
||
- Details, Kontext, betroffene Dateien
|
||
- Commit: `<hash>` (wird nach Erledigung eingetragen)
|
||
```
|
||
|
||
Status: `[ ]` = offen · `[x]` = erledigt
|
||
|
||
---
|
||
|
||
## Offen
|
||
|
||
- [ ] **FR-002** Web Console – serieller Monitor über Browser
|
||
- Library: `ayushsharma82/WebSerial` (ESPAsyncWebServer-basiert, WebSocket, eigene `/webserial`-Seite)
|
||
- Log-Umfang: **alle** `Serial.print`-Ausgaben (inkl. Libraries) via `TeeStream`-Wrapper:
|
||
- Eigene Klasse `TeeStream : public Print` leitet an `HardwareSerial` + `WebSerial` gleichzeitig weiter
|
||
- In `main.cpp` wird `Serial` durch `TeeSerial` ersetzt → kein Refactoring der bestehenden Aufrufe nötig
|
||
- RAM-Ringbuffer: intern durch WebSerial verwaltet (WebSocket-basiert, kein NVS)
|
||
- Sicherheit: HTTP-Basic-Auth (gleiche Credentials wie restliches Webinterface)
|
||
- WebSerial kennt keine native Auth → eigene Auth-Route `/webserial-auth` als Wrapper,
|
||
oder WebSerial-Seite über eigene Handler-Registrierung mit `requireAuth()` absichern
|
||
- Integration in `WebServerManager::begin()` + `loop()` (`WebSerial.loop()`)
|
||
- Commit: –
|
||
|
||
---
|
||
|
||
## Erledigt
|
||
|
||
- [x] **FR-001** Firmware-Version auf Webseite und im MQTT-Status-Payload
|
||
- Definition: `FIRMWARE_VERSION` als `build_flags` in `platformio.ini` `[env]`-Basisblock (Single Source of Truth)
|
||
- Fallback `#define FIRMWARE_VERSION "0.0.0"` in `config.h` (Arduino IDE ohne build_flags)
|
||
- Format: `1.0.0 (Feb 26 2026)` – Version + C++-Makro `__DATE__` (Compile-Zeitpunkt)
|
||
- Web: Firmware-Zeile in der Statustabelle auf `/` + Footer auf `/config`
|
||
- MQTT: `"firmware_version": "1.0.0 (Feb 26 2026)"` im `lasercutter/status`-Payload
|
||
- Commit: `46a8c59`
|
||
|
||
---
|
||
|
||
*Erstellt: 26. Februar 2026*
|