Compare commits

..

2 Commits

Author SHA1 Message Date
Bernd Steckmeister 90593d2f81 docs: Regression in ROADMAP: Push-Benachrichtigungen werden nicht mehr entschlüsselt
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CPrAGBxBT6GfPXzeWQ4AXb
2026-07-03 06:33:37 +02:00
Bernd Steckmeister d2fcc59f7a feat: Matrix-Statusberichte nach jeder Autopilot-Session
Nach jeder Session mit neuen Commits postet der Autopilot Commits + nächsten
Schritt in den Raum '🔺 Pyramid Autopilot' (Token vom Gatus-Bot, nur auf dem Pi).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CPrAGBxBT6GfPXzeWQ4AXb
2026-07-03 06:32:54 +02:00
2 changed files with 33 additions and 0 deletions
+6
View File
@@ -19,6 +19,12 @@ Punkte abhaken (`[x]`), wenn erledigt UND in `PROGRESS.md` protokolliert.
ungültig? Fehlerpfad im Sync, der zum Logout führt?). Erst Logging an allen
Logout-Pfaden einbauen, dann Ursache fixen. Ein unerwarteter Logout darf NIE
Krypto-Schlüssel wegwerfen.
- [ ] **REGRESSION: Push-Benachrichtigungen werden nicht mehr entschlüsselt** (seit dem
letzten Update; in der Version davor funktionierte es). Vorgehen: Diff der letzten
Release-Versionen auf Push-/E2EE-Code prüfen (`background_push.dart`,
`fcm_push_service.dart`, `notification_service.dart`, Kotlin `PushService.kt`/`BgEngine.kt`),
`docs/NOTIFICATIONS.md` + Memory „Pyramid Push" lesen (dort stehen 3 bekannte
Fallstricke der Hintergrund-Entschlüsselung!), dann Fix + Test auf echtem Gerät.
- [ ] Sichere Speicherung von Access-Token & Krypto-DB prüfen (secure storage / sqlcipher korrekt?)
- [ ] Key-Backup einrichten-Flow: Recovery-Key erzeugen, verständlich erklären, zum Sichern zwingen
- [ ] Key-Backup wiederherstellen-Flow: nach Login auf neuem Gerät alte Nachrichten entschlüsseln
+27
View File
@@ -9,6 +9,21 @@
cd "$(dirname "$0")"
export PATH="$HOME/.local/bin:$HOME/flutter/bin:$PATH"
# --- Matrix-Statusberichte (Raum "🔺 Pyramid Autopilot", Token vom Gatus-Bot) ---
MATRIX_URL="http://127.0.0.1:6167"
MATRIX_ROOM="!sYfOwD4Dw4jBDTlNmL:steggi-matrix.work"
MATRIX_TOKEN="$(grep -s '^MATRIX_TOKEN=' "$HOME/gatus/.env" | cut -d= -f2-)"
notify_matrix() {
[ -z "$MATRIX_TOKEN" ] && return 0
local body
body=$(python3 -c 'import json,sys; print(json.dumps({"msgtype":"m.text","body":sys.stdin.read().strip()}))' <<< "$1")
curl -s -m 10 -X PUT \
"$MATRIX_URL/_matrix/client/v3/rooms/$MATRIX_ROOM/send/m.room.message/autopilot$(date +%s%N)" \
-H "Authorization: Bearer $MATRIX_TOKEN" -H "Content-Type: application/json" \
-d "$body" > /dev/null || true
}
PROMPT="Lies CLAUDE.md und arbeite ROADMAP.md Punkt für Punkt weiter ab. \
Halte dich strikt an den Arbeitszyklus (PROGRESS.md pflegen, kleine Commits + Push). \
Arbeite so viele Punkte ab wie möglich."
@@ -20,7 +35,19 @@ while true; do
continue
fi
echo "===== $(date '+%F %T') Neue Claude-Session =====" | tee -a autopilot.log
BEFORE=$(git rev-parse HEAD 2>/dev/null)
claude -p "$PROMPT" --dangerously-skip-permissions 2>&1 | tee -a autopilot.log
AFTER=$(git rev-parse HEAD 2>/dev/null)
if [ -n "$BEFORE" ] && [ "$BEFORE" != "$AFTER" ]; then
COMMITS=$(git log --oneline --no-decorate "$BEFORE..$AFTER" | head -15)
NEXT=$(grep -m1 -A3 "Offen/Nächster Schritt" PROGRESS.md)
notify_matrix "🔺 Pyramid-Autopilot $(date '+%H:%M') Session fertig.
Neue Commits:
$COMMITS
$NEXT"
fi
echo "===== $(date '+%F %T') Session beendet - Neustart in 20 Minuten (Strg+C zum Stoppen) =====" | tee -a autopilot.log
sleep 1200
done