Jens Reinemann
6d5066e26a
fix(sync): notify all co-users on inventory mutations (PATCH/DELETE/PUT)
2026-05-18 18:53:21 +02:00
Jens Reinemann
5a5e2548ac
chore(db): Room-Schema v8 exportieren (is_read-Spalte)
2026-05-18 18:33:25 +02:00
Jens Reinemann
084b315b95
chore: release v1.7.18
2026-05-18 18:30:57 +02:00
Jens Reinemann
512829dd49
feat(messaging): ungelesene Nachrichten als Badges anzeigen ( #110 )
...
- DB-Migration 7→8: is_read-Spalte in messages (default 1 für bestehende Rows)
- DAO: getUnreadCountsBySender, getTotalUnreadCount, markConversationAsRead
- Repository: totalUnreadCount Flow + getUnreadCountsBySender() + markConversationAsRead()
- ChatViewModel: markConversationAsRead beim Öffnen/Empfangen
- UserListViewModel: unreadCounts StateFlow
- UserListScreen: rote Badge-Anzeige pro Chat
- MainViewModel: totalUnreadCount StateFlow
- MainScreen: BadgedBox am Nachrichten-Icon in Bottom Nav
- NotificationHelper: updateBadgeCount() für Launcher-Badge
- Tests: 3 neue Fälle, FakeDao+FakeRepo aktualisiert (328 Tests grün)
2026-05-18 18:28:49 +02:00
Jens Reinemann
06fa017c04
chore: update generaltest_admin_message.cpython-313.pyc, receive_admin_messages.cpython-313.pyc, send_admin_messages.cpython-313.pyc
2026-05-18 18:04:50 +02:00
Jens Reinemann
33c7ddb9ab
fix(notification): suppress only when active chat is visible
2026-05-18 17:59:54 +02:00
Jens Reinemann
4ce585971d
chore: release v1.7.17
2026-05-18 17:59:15 +02:00
Jens Reinemann
fb46c83f7b
chore: release v1.7.16
2026-05-18 17:58:05 +02:00
Jens Reinemann
bce4abc1dd
chore: release v1.7.15
2026-05-18 17:54:17 +02:00
Jens Reinemann
6fd8528577
feat(admin-message): simplify scripts, add inbox route, fix notification chat switch
2026-05-18 17:45:19 +02:00
Jens Reinemann
0a4d9fc20e
fix(server): use CleartextKeysetHandle for admin E2EE encryption
2026-05-18 16:23:12 +02:00
Jens Reinemann
e0026b6eff
fix(server): use direct Tink primitive for admin message encryption
2026-05-18 16:17:50 +02:00
Jens Reinemann
cd8290098c
chore: remove accidental pycache artifact
2026-05-18 16:14:20 +02:00
Jens Reinemann
65913fa3b5
feat(server): token-only admin message API with sender/receiver usernames
2026-05-18 16:13:38 +02:00
Jens Reinemann
a1a9529b7d
chore: release v1.7.14
2026-05-18 15:15:53 +02:00
Jens Reinemann
e3bcddac70
chore: update publish tooling and Android messaging integration
2026-05-18 15:13:49 +02:00
Jens Reinemann
87a8deb83c
docs: add slim knowledge-conduit generaltest concept
2026-05-18 15:11:53 +02:00
Jens Reinemann
73d5e62a4e
chore: release v1.7 (13)
2026-05-18 15:04:59 +02:00
Jens Reinemann
64ebb737d1
chore: add ADMIN_MESSAGE_TOKEN to VPS docker-compose config
2026-05-18 14:13:52 +02:00
Jens Reinemann
61ef0aa1ac
feat(admin): implement E2EE encryption for admin test messages using recipient public keys
2026-05-18 14:12:12 +02:00
Jens Reinemann
ff80293c7a
fix(server): add startShadowScripts dependency
2026-05-18 13:57:14 +02:00
Jens Reinemann
ca6cfbfad9
feat: add plaintext admin message endpoint for testing
...
- New POST /api/admin/send-message endpoint (admin-only)
- Messages prefixed with [PLAINTEXT] bypass E2EE decryption
- App recognizes [PLAINTEXT] marker and strips it before display
- Allows easy chat testing without E2EE key management
2026-05-18 13:56:15 +02:00
Jens Reinemann
30e86bb7e0
feat(notifications): request POST_NOTIFICATIONS permission on app start
2026-05-18 13:54:03 +02:00
Jens Reinemann
c39bc5e485
feat: foreground service for background message notifications
2026-05-18 13:45:06 +02:00
Jens Reinemann
38394c6350
chore: release v1.7 (12)
2026-05-18 13:23:09 +02:00
Jens Reinemann
cc8bbc3111
docs(knowledge-conduit): update Concept + SKILL
2026-05-18 13:22:08 +02:00
Jens Reinemann
e43c0ebbb5
feat(update): UpToDate-Status mit temporärem Feedback anzeigen
...
- Neuer UpdateStatus.UpToDate State
- Button zeigt 'Keine Updates gefunden' für 5 Sekunden
- Mindestens 1s Checking-Anzeige (vermeidet Flicker bei schneller Antwort)
- UpdateBanner blendet UpToDate-Status aus
2026-05-18 13:04:12 +02:00
Jens Reinemann
f93b4d0b72
fix(docs): Mermaid-Diagramme in Concept.md verbessern
...
- Emojis aus Mermaid-Nodes entfernt (verursachten Fragezeichen)
- Pipeline-Diagramm vereinfacht (single flowchart statt verschachtelter Subgraphs)
- Dateistruktur: Subgraph-Labels gekuerzt damit Text nicht verdeckt wird
2026-05-18 13:03:13 +02:00
Jens Reinemann
bfa1f2b649
rename: Genome Engine → Knowledge Conduit
...
Gesamtes System umbenannt:
- .github/genome/ → .github/knowledge-conduit/
- .github/skills/genome/ → .github/skills/knowledge-conduit/
- genome-extract.py → kc-extract.py
- genome.prompt.md → knowledge-conduit.prompt.md
- genome-distill.prompt.md → kc-distill.prompt.md
- genome-propagate.prompt.md → kc-transfer.prompt.md
- Concept Genome Engine.md → Concept.md
- Alle internen Referenzen aktualisiert
- .gitignore aktualisiert
2026-05-18 13:01:02 +02:00
Jens Reinemann
1492fa879b
refactor(ui): Update-Status-Anzeige in Settings überarbeiten
...
- Einzelne Buttons pro Status statt gemeinsamer 'Auf Updates prüfen'-Button
- Available-Status als prominenter Button mit Icon
- Checking/Downloading als disabled OutlinedButton
- Error-Status mit 'Erneut prüfen'-Button
- Hidden-Status zeigt den Check-Button
2026-05-18 12:48:04 +02:00
Jens Reinemann
ddf9272dda
refactor(genome): Terminologie vereinheitlichen – Trait→Capability, Mutation→Improvement, Growth Vector→Insight, Propagation→Transfer
...
Alle Genome-Engine-Dateien auf lernbasierte Begriffe umgestellt:
- Concept Doc: komplett überarbeitet mit Mermaid-Diagrammen
- genome.prompt.md: neue Dateinamen + Begriffe
- genome-distill.prompt.md: Improvements/Insights statt Mutations/Vectors
- genome-propagate.prompt.md: Transfer statt Propagation, Capability statt Trait
- genome-extract.py: Output-Dateiname + Ausgabetext aktualisiert
- SKILL.md: Beschreibung + Dateitabelle aktualisiert
2026-05-18 12:46:39 +02:00
Jens Reinemann
5eae3a4813
chore: release v1.7 (11)
2026-05-18 12:34:58 +02:00
Jens Reinemann
587c7c5f14
chore(genome): update SKILL.md
2026-05-18 12:33:32 +02:00
Jens Reinemann
292c538d45
fix(ui): close BottomSheet when 'Alle zurücksetzen' is tapped
2026-05-18 12:29:49 +02:00
Jens Reinemann
ad0945ec3c
feat(ui): replace filter chips with BottomSheet + sort options
...
- Filter button with badge next to search bar
- BottomSheet with filter dropdowns (Kategorie, Lagerort, Ablauf)
- Sort options: Name, Ablaufdatum, Menge (asc/desc)
- 'Alle zurücksetzen' button to clear filters + sort
- docs(genome): Konzept nach .github/genome/ verschoben
2026-05-18 12:27:28 +02:00
Jens Reinemann
6a3009569b
fix(ui): filter chip label too long – show only selected value
2026-05-18 12:16:35 +02:00
Jens Reinemann
d59663a2fa
docs(genome): Konzept aktualisiert + Mermaid-Diagramme, Inkonsistenzen behoben
...
- genome-engine.md: Script-Name, Pfade, Scope korrigiert, Mermaid-Visualisierungen
- genome-extract.py: dynamisches Pattern statt hardcoded kotlin-conventions
- SKILL.md: vollständige Dateiliste mit korrekten Pfaden
- genome.prompt.md: Referenz auf Konzept-Dokument korrigiert
2026-05-18 12:16:23 +02:00
Jens Reinemann
7ea7729f96
fix: version display format -> three-number (e.g. 1.7.10) without v prefix
2026-05-18 12:16:01 +02:00
Jens Reinemann
461fca7ead
chore: release v1.7 (10)
2026-05-18 12:09:11 +02:00
Jens Reinemann
39956cc7d9
feat(publish): Python-basierter publish-apk Workflow
2026-05-18 12:08:12 +02:00
Jens Reinemann
09e01dff00
style: Beton & Stahl Theme - höhere Kontraste, stahlblaue Surfaces
2026-05-18 12:08:06 +02:00
Jens Reinemann
8459705bb1
chore: release v1.7 (9)
2026-05-18 11:46:28 +02:00
Jens Reinemann
23e0a47967
fix(publish): robustes Error-Handling in publish-apk.ps1
...
- Pre-Checks vor jeder Dateiänderung (Token, Regex-Validierung, SSH-Agent)
- Rollback: build.gradle.kts wird bei Build- oder Upload-Fehler zurückgesetzt
- SCP/SSH mit ConnectTimeout (kein ewiges Hängen bei VPS-Ausfall)
- API-Call mit Retry (2 Versuche, 3s Pause) + Recovery-Hinweis
- Verify + Git: non-fatal (nur Warnung, kein Abbruch)
- versionCode-Validierung: neuer Code muss > aktueller sein
- Set-StrictMode -Version Latest
2026-05-18 11:38:01 +02:00
Jens Reinemann
f3eab7b10d
chore: deploy.ps1 entfernt (Logik in publish-apk.ps1)
2026-05-18 11:34:51 +02:00
Jens Reinemann
76ad50e3aa
refactor(publish): publish-apk.ps1 übernimmt vollständigen Deploy-Workflow
...
- publish-apk.ps1: Version-Bump, Build, SCP, API, Verify, git commit/push
(alle Parameter optional – Standalone-Nutzung ohne Copilot möglich)
- publish.prompt.md: vereinfacht (kein manueller Version-Bump mehr nötig)
- SKILL.md: Parameter-Tabelle aktualisiert
- deploy.ps1 im Root entfernt (Logik lebt jetzt im Skill)
2026-05-18 11:34:42 +02:00
Jens Reinemann
301d60aea4
chore: lokales deploy.ps1 statt GitHub Actions
...
- deploy.ps1: ein Befehl für vollständigen Release-Workflow
(version bump + build + SCP + API + git commit/push)
- android-ci.yml entfernt (kein GitHub-Quota-Verbrauch mehr)
- BOLLWERK_ADMIN_TOKEN muss als Env-Var gesetzt sein
2026-05-18 11:29:47 +02:00
Jens Reinemann
ac5f346858
chore: .kotlin/ zu .gitignore hinzufügen
2026-05-18 11:25:14 +02:00
Jens Reinemann
ca1680b3a2
fix(genome): Distillation-Prompt schärfen – Specialized-Definition + Anti-Patterns
...
- Specialized klar abgegrenzt: nur konkrete Server-Deployments, Renames, Seeding
- 5 häufige Distillation-Fehler dokumentiert (member-added ignorieren, nur Anfang lesen, etc.)
- Erweiterte Evolutions-Muster (GPU-Hardening, Hot-Reload, API statt Restart)
- Zusätzliche Sanitization-Regeln (Server-IPs, Package-Namen)
- Erwartete Conversion-Rate: 15-30% als Orientierung
2026-05-18 11:23:56 +02:00
Jens Reinemann
bb578c5076
chore: version bump 1.6 (7) -> 1.7 (8), CI Deploy-Workflow redesign
...
- Version 1.7 (versionCode 8) deployed auf bollwerk.online
- android-ci.yml: nur workflow_dispatch, kein auto-Trigger
- Auto-Versionierung: versionCode wird im CI hochgezählt
- CI deployed direkt auf VPS via SCP + API-Call
- VPS: BOLLWERK_ADMIN_TOKEN konfiguriert (einmalig)
Benötigte Secrets in GitHub: BOLLWERK_ADMIN_TOKEN, VPS_SSH_PRIVATE_KEY
2026-05-18 11:09:26 +02:00
Jens Reinemann
5e73eccce6
chore(genome): alle genome-prompts auf Claude Opus 4.6 umgestellt
2026-05-18 10:55:53 +02:00