# YachtMemory Release 1.2.4 – History Time Axis

## Fehlerursache

Die History-APIs liefern absolute Unix-Zeitstempel (`timestamp`) sowie
Metadaten mit ISO-8601-Zeitraumgrenzen (`metadata.range.from/to`).

Die Widgets verwendeten jedoch den zeitzonenlosen String `time` und erzeugten
daraus im Browser mit `new Date(...)` lokale Zeitwerte. Bei unterschiedlichen
Zeitzonen von Server und Browser verschob sich die Darstellung um mehrere
Stunden.

Das erklärt insbesondere:
- 6 h: ein Teil der X-Achse lag scheinbar in der Zukunft.
- 24 h: links fehlten ungefähr die Stunden der Zeitzonendifferenz.

## Lösung

- Messpunkte verwenden jetzt ausschließlich `series[].timestamp`.
- Die X-Achse ist eine lineare Epoch-Millisekunden-Achse.
- `min` = `metadata.range.from`.
- `max` = `metadata.range.to`.
- Die Tickbeschriftung wird erst bei der Darstellung in die Browser-Zeitzone
  formatiert.
- Datenlücken bleiben Lücken (`spanGaps = false`).
- Die Farbkorrekturen aus Release 1.2.3 bleiben enthalten.

## Installation

```bash
cd /var/www/app.yachtmemory.net

mkdir -p backup/release-1.2.4-history-time-axis

cp public_widgets/wind-history/widget.js   backup/release-1.2.4-history-time-axis/wind-widget.js

cp public_widgets/chain-force-history/widget.js   backup/release-1.2.4-history-time-axis/chain-widget.js

unzip -o yachtmemory_release_1_2_4_history_time_axis.zip

sudo cp   yachtmemory_release_1_2_4_history_time_axis/public_widgets/wind-history/widget.js   public_widgets/wind-history/widget.js

sudo cp   yachtmemory_release_1_2_4_history_time_axis/public_widgets/chain-force-history/widget.js   public_widgets/chain-force-history/widget.js
```

## Tests

```bash
node --check public_widgets/wind-history/widget.js
node --check public_widgets/chain-force-history/widget.js
```

Danach Hard Reload.

### Abnahme

6 h:
- rechte Kante = aktuelle Zeit
- linke Kante = aktuelle Zeit minus 6 Stunden

24 h:
- rechte Kante = aktuelle Zeit
- linke Kante = aktuelle Zeit minus 24 Stunden

1 Monat / 1 Jahr:
- weiterhin korrekte zeitliche Darstellung
