mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 21:21:10 +02:00
docs(devlog): rewrite morning session devlog with all 61 commits
Comprehensive devlog covering Manalink deployment, CityCorners features, Spiral-DB stabilization, auth migration, legacy cleanup, observability, Mukke redesign, and landing page builder. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
060eb01de7
commit
9d4b59fcf8
1 changed files with 347 additions and 105 deletions
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: 'Manalink: Matrix-Client Production-Ready & Live'
|
||||
description: 'Manalink (Matrix-Chat-Client) auf Prod-Readiness gebracht und erfolgreich auf link.mana.how deployed. Inkl. Security Headers, Error Pages, Tests und E2EE-Feedback.'
|
||||
title: 'Manalink Live, CityCorners, Spiral-DB, Auth-Migration & Massive Cleanup'
|
||||
description: 'Manalink Matrix-Client live deployed, CityCorners City Guide erweitert, Spiral-DB stabilisiert (174 Tests), 3 Mobile-Apps auf mana-core-auth migriert, Legacy-Codebase bereinigt, Landing Page Builder Service gestartet.'
|
||||
date: 2026-03-23
|
||||
author: 'Till Schneider'
|
||||
category: 'release'
|
||||
|
|
@ -8,45 +8,55 @@ tags:
|
|||
[
|
||||
'matrix',
|
||||
'manalink',
|
||||
'deployment',
|
||||
'citycorners',
|
||||
'spiral-db',
|
||||
'auth',
|
||||
'supabase-migration',
|
||||
'security',
|
||||
'testing',
|
||||
'vitest',
|
||||
'pwa',
|
||||
'e2ee',
|
||||
'observability',
|
||||
'mukke',
|
||||
'docker',
|
||||
'sso',
|
||||
'cleanup',
|
||||
'landing-builder',
|
||||
'pwa',
|
||||
'i18n',
|
||||
]
|
||||
featured: true
|
||||
commits: 7
|
||||
readTime: 5
|
||||
commits: 61
|
||||
readTime: 18
|
||||
stats:
|
||||
filesChanged: 18
|
||||
linesAdded: 942
|
||||
linesRemoved: 620
|
||||
filesChanged: 695
|
||||
linesAdded: 50947
|
||||
linesRemoved: 33665
|
||||
contributors:
|
||||
- name: 'Till Schneider'
|
||||
handle: 'Till-JS'
|
||||
commits: 7
|
||||
commits: 61
|
||||
workingHours:
|
||||
start: '2026-03-23T09:00'
|
||||
start: '2026-03-23T06:00'
|
||||
end: '2026-03-23T13:30'
|
||||
---
|
||||
|
||||
Manalink, unser Matrix-Chat-Client, ist jetzt **live auf [link.mana.how](https://link.mana.how)** mit **7 Commits**:
|
||||
Extrem produktiver Vormittag mit **61 Commits** über **695 Dateien** und netto **+17.282 Zeilen**:
|
||||
|
||||
- **Prod-Readiness Audit** - Umfassende Analyse der Web-App auf Production-Tauglichkeit
|
||||
- **Security** - Server-seitige Security Headers (CSP, X-Frame-Options, Referrer-Policy)
|
||||
- **Error Handling** - Globale Error/404-Page mit Navigation
|
||||
- **Tests** - Vitest-Setup mit 14 Unit-Tests für Matrix-Client-Funktionen
|
||||
- **E2EE-Feedback** - Sichtbarer Hinweis wenn Verschlüsselung nicht verfügbar
|
||||
- **Deployment** - Docker-Build gefixt und Container live auf Mac Mini
|
||||
- **Manalink Live** - Matrix-Chat-Client auf Production gebracht und auf link.mana.how deployed
|
||||
- **CityCorners** - City Guide für Konstanz mit PWA, i18n, mana-search Integration und 31 Backend-Tests
|
||||
- **Spiral-DB** - 174 Tests, kritische PNG-Bugs gefixt, in Zitare und Contacts integriert
|
||||
- **Auth-Migration** - 3 Mobile-Apps (ManaCore, Context, ManaDeck) von Supabase auf mana-core-auth
|
||||
- **Massive Cleanup** - 50+ Legacy-Dateien gelöscht, Hetzner-Artefakte entfernt, API-Keys bereinigt
|
||||
- **Observability** - Prometheus Metrics für mana-search, mana-media und Synapse
|
||||
- **Mukke** - FullPlayer als immersives Fullscreen-Erlebnis, CSP- und CORS-Fixes
|
||||
- **Landing Page Builder** - Neuer Service für Organisation-Landingpages
|
||||
- **Auth Standardisierung** - URL-Handling in allen 20 Web Auth-Stores vereinheitlicht
|
||||
|
||||
---
|
||||
|
||||
## Manalink vs. Chat App: Klarstellung
|
||||
## 1. Manalink: Matrix-Client Production-Ready & Deployed
|
||||
|
||||
Vor der Arbeit wurde die Abgrenzung zwischen unseren zwei Chat-Systemen geklärt:
|
||||
Manalink ist jetzt **live auf [link.mana.how](https://link.mana.how)**. Umfassender Prod-Readiness-Audit mit anschließenden Fixes und Deployment.
|
||||
|
||||
### Abgrenzung Chat App vs. Manalink
|
||||
|
||||
| | **Chat App** | **Manalink** |
|
||||
| --------- | ------------------ | ---------------------------------- |
|
||||
|
|
@ -56,24 +66,11 @@ Vor der Arbeit wurde die Abgrenzung zwischen unseren zwei Chat-Systemen geklärt
|
|||
| E2EE | Nein | Ja (in Arbeit) |
|
||||
| URL | - | https://link.mana.how |
|
||||
|
||||
Beide Apps sind komplementär und werden weiter gepflegt.
|
||||
### Prod-Readiness Fixes (7 Commits)
|
||||
|
||||
---
|
||||
**Error/404-Page** - Neue globale `+error.svelte` mit Statuscode-Anzeige, deutschen Fehlermeldungen, Zurück- und Startseite-Buttons.
|
||||
|
||||
## Prod-Readiness Fixes
|
||||
|
||||
### 1. Error/404-Page
|
||||
|
||||
Neue globale `+error.svelte` mit:
|
||||
|
||||
- Statuscode-Anzeige (404, 500, etc.)
|
||||
- Deutsche Fehlermeldungen
|
||||
- Zurück-Button und Startseite-Link
|
||||
- Konsistentes Design mit dem Rest der App
|
||||
|
||||
### 2. Security Headers
|
||||
|
||||
Neuer `hooks.server.ts` mit allen relevanten Headern:
|
||||
**Security Headers** - Neuer `hooks.server.ts`:
|
||||
|
||||
```typescript
|
||||
response.headers.set('X-Frame-Options', 'SAMEORIGIN');
|
||||
|
|
@ -84,96 +81,341 @@ response.headers.set('Cross-Origin-Opener-Policy', 'same-origin');
|
|||
response.headers.set('Cross-Origin-Embedder-Policy', 'require-corp');
|
||||
```
|
||||
|
||||
### 3. SSO Homeserver-Bug gefixt
|
||||
**SSO Homeserver-Bug** - SSO-Redirect war hardcoded auf `matrix.mana.how`. Jetzt dynamisch via `VITE_MATRIX_HOMESERVER` und `VITE_MANA_AUTH_URL` Env-Variablen.
|
||||
|
||||
SSO-Redirect war hardcoded auf `matrix.mana.how`. Jetzt dynamisch:
|
||||
**Console.log Cleanup** - 54 `console.log`/`console.warn` Statements entfernt aus `store.svelte.ts` und `+layout.svelte`. Nur echte `console.error` für GlitchTip beibehalten.
|
||||
|
||||
- Login-Page: nutzt den eingegebenen Homeserver
|
||||
- Layout SSO-Callback: konfigurierbar via `VITE_MATRIX_HOMESERVER`
|
||||
- Auth-URL: konfigurierbar via `VITE_MANA_AUTH_URL`
|
||||
**PWA devOptions** - `devOptions.enabled` war immer `true` - jetzt nur in Nicht-Production.
|
||||
|
||||
### 4. Console.log Cleanup
|
||||
### Tests: 14 Unit-Tests
|
||||
|
||||
**54 `console.log`/`console.warn` Statements** entfernt aus:
|
||||
Vitest eingerichtet für die kritischen Client-Funktionen:
|
||||
|
||||
- `store.svelte.ts` (Matrix Store)
|
||||
- `+layout.svelte` (App Layout)
|
||||
|
||||
Nur echte `console.error` für Fehlerfälle beibehalten (gehen an GlitchTip).
|
||||
|
||||
### 5. PWA devOptions
|
||||
|
||||
`devOptions.enabled` war immer `true` - jetzt nur noch in Nicht-Production aktiv.
|
||||
|
||||
---
|
||||
|
||||
## Tests
|
||||
|
||||
Vitest eingerichtet mit **14 Unit-Tests** für die kritischen Client-Funktionen:
|
||||
|
||||
| Test-Suite | Tests | Was wird getestet |
|
||||
| Test-Suite | Tests | Abdeckung |
|
||||
| -------------------- | ----- | ---------------------------------------------------------------- |
|
||||
| `discoverHomeserver` | 5 | Matrix-User-ID Parsing, .well-known Discovery, Domain-Extraktion |
|
||||
| `checkHomeserver` | 5 | URL-Normalisierung, Server-Erreichbarkeit, Fehlerbehandlung |
|
||||
| `loginWithToken` | 4 | Token-Login, URL-Normalisierung, DeviceID-Generierung |
|
||||
|
||||
```bash
|
||||
pnpm --filter @matrix/web test
|
||||
# 1 Test File, 14 Tests passed
|
||||
```
|
||||
### E2EE-Feedback
|
||||
|
||||
---
|
||||
Wenn Rust-Crypto-Init fehlschlägt, zeigt ein Amber-Banner "Verschlüsselung nicht verfügbar" in der Sidebar (Mobile + Desktop). Vorher fiel der Fallback komplett still zurück.
|
||||
|
||||
## E2EE-Feedback
|
||||
### Docker-Deployment
|
||||
|
||||
Wenn die Rust-Crypto-Initialisierung fehlschlägt, sieht der User jetzt einen dezenten Amber-Banner:
|
||||
Drei Probleme im Dockerfile gelöst:
|
||||
|
||||
1. **Fehlende `patches/`** - pnpm braucht den Patches-Ordner für Lockfile-Parsing
|
||||
2. **Fehlendes `eslint-config`** - Root-Workspace-Dependency
|
||||
3. **react-native Patches** - Werden vor `pnpm install` aus `package.json` entfernt (nicht anwendbar im Web-Only-Kontext)
|
||||
|
||||
```
|
||||
⚠ Verschlüsselung nicht verfügbar
|
||||
```
|
||||
|
||||
Angezeigt in der Sidebar sowohl auf Mobile als auch Desktop. Vorher fiel der Fallback komplett still zurück.
|
||||
|
||||
---
|
||||
|
||||
## Deployment
|
||||
|
||||
### Docker-Build Fixes
|
||||
|
||||
Drei Probleme mussten im Dockerfile gelöst werden:
|
||||
|
||||
1. **Fehlende `patches/`** - pnpm braucht den Patches-Ordner auch wenn die Patches nicht anwendbar sind
|
||||
2. **Fehlendes `eslint-config`** - Root-Dependency die im Workspace aufgelöst werden muss
|
||||
3. **react-native Patches** - Nicht anwendbar im Web-Only-Kontext, werden jetzt vor `pnpm install` aus der `package.json` entfernt
|
||||
|
||||
### Live-Deployment
|
||||
|
||||
```
|
||||
Container: mana-matrix-web
|
||||
Image: matrix-web:latest
|
||||
Port: 4090 → 5180
|
||||
Status: healthy
|
||||
Container: mana-matrix-web | Port: 4090 → 5180 | Status: healthy
|
||||
URL: https://link.mana.how
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 2. CityCorners: City Guide für Konstanz
|
||||
|
||||
### Initiales Setup (83 Dateien, 3.663+ Zeilen)
|
||||
|
||||
Komplett neues Projekt mit drei Apps:
|
||||
|
||||
| App | Tech | Port | Features |
|
||||
| ----------- | --------- | ---- | --------------------------------------------------------- |
|
||||
| **Landing** | Astro 5 | - | SVG-Illustrationen, Location-Karten, Kategorie-Filter |
|
||||
| **Backend** | NestJS | 3041 | CRUD API, Drizzle ORM, Favorites, Auth via mana-core-auth |
|
||||
| **Web** | SvelteKit | 5196 | Leaflet Map, Favorites, Theme/Settings, PillNav |
|
||||
|
||||
Infrastruktur: DB-Init-SQL, setup-databases.sh, generate-env.mjs, Dockerfiles, docker-compose.macmini.yml, Cloudflare wrangler.toml. In shared-branding registriert (AppId, APP_BRANDING, APP_ICONS, CitycornersLogo).
|
||||
|
||||
### PWA, i18n & Landing-Migration
|
||||
|
||||
- **PWA** mit `@vite-pwa/sveltekit`, Offline-Fallback, Standard-Caching-Preset
|
||||
- **i18n** mit `svelte-i18n` (DE/EN), alle UI-Strings übersetzt, Language Switcher in PillNav
|
||||
- **Landing** von Scoped CSS auf Tailwind CSS migriert: Hero, Card Grid, Category Filter, Detail-Timeline
|
||||
|
||||
### mana-search Integration
|
||||
|
||||
Neues Feature: Web-Lookup für unbekannte Locations über den zentralen mana-search Service. Wenn eine Location nicht in der DB ist, werden Infos aus dem Web extrahiert und vorausgefüllt.
|
||||
|
||||
### Location-Submission-Formular
|
||||
|
||||
Frontend-Formular zum Einreichen neuer Locations mit `/api/v1/` Prefix auf allen API-Calls.
|
||||
|
||||
### Backend Test Suite: 31 Tests
|
||||
|
||||
Umfassende Tests für den CityCorners-Backend:
|
||||
|
||||
```bash
|
||||
pnpm --filter @citycorners/backend test
|
||||
# 31 Tests passed
|
||||
```
|
||||
|
||||
Port von 3025 auf 3041 geändert (3025 war durch mana-llm belegt).
|
||||
|
||||
---
|
||||
|
||||
## 3. Spiral-DB: Stabilisierung & Integration
|
||||
|
||||
### 174 Tests + Kritische Bug-Fixes
|
||||
|
||||
Umfassende Test-Suite und mehrere kritische Fixes:
|
||||
|
||||
| Bug | Fix |
|
||||
| -------------------------------- | ------------------------------------------------------- |
|
||||
| PNG-Kompression funktionslos | `zlibCompress` durch `pako.deflate` ersetzt |
|
||||
| PNG-Import fehlerhaft | CRC-Validierung + alle Filter-Typen (Sub/Up/Avg/Paeth) |
|
||||
| Keine Input-Validierung | Records werden gegen Schema validiert vor Insert |
|
||||
| Index-Overflow | Dynamischer `dataStartRing` verhindert Ring-Überlappung |
|
||||
| Image-Expansion zu spät | Expand vor Writes statt danach (verhindert OOB) |
|
||||
| `update()` liest falschen Record | Suche von Ende statt Anfang für neuesten Eintrag |
|
||||
| String zu lang | 511-Byte Max-Length Enforcement |
|
||||
| Index-Ring-Count zu klein | 6 Bits (2 Pixel) statt 3 Bits für >7 Ring Support |
|
||||
|
||||
### Zitare-Integration
|
||||
|
||||
Spiral-DB als zweite App (nach Todo) mit pixelbasierter Spiral-Visualisierung:
|
||||
|
||||
- `createQuoteSchema()` mit Feldern für Kategorie, Sprache, Autor, Text, Quote-ID
|
||||
- Svelte 5 Spiral Store mit `importFavorites`, CRUD, PNG-Export
|
||||
- `SpiralCanvas` Komponente für interaktive Visualisierung
|
||||
- `/spiral` Route mit Stats, Records-Liste und Actions
|
||||
- Navigation (Ctrl+6) und Auto-Import von Favorites
|
||||
|
||||
### Contacts-Integration
|
||||
|
||||
Dritte App mit Spiral-DB: visuelles Kontakt-Netzwerk (959 Zeilen neu).
|
||||
|
||||
---
|
||||
|
||||
## 4. Auth-Migration: 3 Mobile-Apps auf mana-core-auth
|
||||
|
||||
Große Migrationswelle weg von direkter Supabase-Auth hin zu unserem zentralen `mana-core-auth` Service.
|
||||
|
||||
### ManaCore Mobile (907+ / 3.480- Zeilen)
|
||||
|
||||
Komplette Migration von Supabase-Auth auf `@manacore/shared-auth`. 20 Dateien geändert.
|
||||
|
||||
### Context Mobile (895+ / 2.470- Zeilen)
|
||||
|
||||
Migration von direktem Supabase-Zugriff auf Backend-API + mana-core-auth. `AuthContext.tsx` durch `AuthProvider.tsx` ersetzt, neuer `backendApi.ts` Service. 25 Dateien geändert.
|
||||
|
||||
### ManaDeck Mobile (820+ / 3.014- Zeilen)
|
||||
|
||||
Migration von Custom Auth auf `@manacore/shared-auth`. 8 Dateien geändert.
|
||||
|
||||
### Auth Standardisierung
|
||||
|
||||
**Mobile Return Format** - Alle Mobile Auth-Funktionen nutzen jetzt einheitlich `{ success, error }` als Rückgabeformat (6 Dateien, 79+ / 67-).
|
||||
|
||||
**Web Auth Stores** - URL-Resolution und Token-Handling in allen **20 Web Auth-Stores** standardisiert (530+ / 302-):
|
||||
|
||||
```typescript
|
||||
// Vorher: Hardcoded localhost Fallbacks
|
||||
return injectedUrl || 'http://localhost:3001';
|
||||
|
||||
// Nachher: Nur in DEV Mode Fallback
|
||||
if (injectedUrl) return injectedUrl;
|
||||
return import.meta.env.DEV ? DEV_AUTH_URL : '';
|
||||
```
|
||||
|
||||
### Supabase Package entfernt
|
||||
|
||||
`@manacore/shared-supabase` komplett entfernt (7 Dateien, 128 Zeilen gelöscht). Nicht mehr benötigt nach Migration.
|
||||
|
||||
---
|
||||
|
||||
## 5. Massive Cleanup: Legacy-Bereinigung
|
||||
|
||||
### Docs & Reports (50+ Dateien, ~30.000 Zeilen gelöscht)
|
||||
|
||||
**Root-Level Legacy Reports gelöscht:**
|
||||
|
||||
- AUTH\_\*.md (5 Dateien) - Auth-Architektur-Reports, jetzt in CLAUDE.md
|
||||
- TESTING*STRATEGY*_.md, QA\__, TEST*CASES*\*.md - alte Testing-Pläne
|
||||
- BACKEND_DESIGN_PATTERN_AUDIT.md, COMPATIBILITY_MATRIX_AND_REMEDIATION.md
|
||||
- HISTORICAL-ANALYSIS.md, MERGE-FIX-SUMMARY.md, RELEASE-PLAN.md
|
||||
- MANACORE-TODOS.md, APP-IDEAS.md, COMMANDS.md
|
||||
|
||||
**docs/ Cleanup:**
|
||||
|
||||
- 6 Testing-Docs (Duplikate, ersetzt durch `.claude/guidelines/testing.md`)
|
||||
- 3 Env-Audit-Dateien (kanonisch: `ENVIRONMENT_VARIABLES.md`)
|
||||
- 3 Mac-Mini-Setup-Docs (kanonisch: `MAC_MINI_SERVER.md`)
|
||||
- 5 Daily Reports (historisch, kein Wert mehr)
|
||||
- SELF-HOSTING-GUIDE.md (Coolify/Hetzner-basiert, obsolet)
|
||||
- CHANGELOG, CONSISTENCY_REPORT, CONSOLIDATION_OPPORTUNITIES, pr-reviews/
|
||||
|
||||
### Hetzner-Artefakte entfernt
|
||||
|
||||
Komplette Bereinigung von Hetzner-Referenzen nach Migration auf Mac Mini:
|
||||
|
||||
- `docker/caddy/Caddyfile.production` + `Caddyfile.staging`
|
||||
- `scripts/deploy/` (deploy-hetzner.sh, build-and-push.sh, health-check.sh, migrate-db.sh, rollback.sh)
|
||||
- `cicd/` Verzeichnis (11 Hetzner CI/CD-Planungsdocs)
|
||||
- CI_CD_IMPLEMENTATION_SUMMARY.md, CI_CD_README.md
|
||||
- CLAUDE.md, ANALYTICS.md, URL_SCHEMA.md aktualisiert
|
||||
|
||||
### Security: API-Keys bereinigt
|
||||
|
||||
**Kritisch:** Live API-Keys aus `.env.development` entfernt:
|
||||
|
||||
- Worldream OpenAI Key (sk-proj-...)
|
||||
- Worldream Gemini Key
|
||||
- Worldream Replicate Token
|
||||
- Worldream Supabase Anon Key (live JWT)
|
||||
- Dead Supabase-Configs für archivierte Apps
|
||||
|
||||
TODO erstellt für Key-Rotation.
|
||||
|
||||
### Stale Docs entfernt
|
||||
|
||||
Veraltete Design-Pläne und nicht mehr aktuelle Dokumentation bereinigt (4.095 Zeilen).
|
||||
|
||||
### Presi Mobile App entfernt
|
||||
|
||||
Presi Mobile komplett gelöscht (62 Dateien, 6.528 Zeilen) - war nicht mehr in Entwicklung.
|
||||
|
||||
---
|
||||
|
||||
## 6. Observability & Monitoring
|
||||
|
||||
### Prometheus Metrics für 3 neue Services
|
||||
|
||||
| Service | Port | Prefix | Neu |
|
||||
| ----------- | ---- | -------- | ------------------------ |
|
||||
| mana-search | 3020 | - | Scraping hinzugefügt |
|
||||
| mana-media | 3015 | `media_` | MetricsModule + Scraping |
|
||||
| Synapse | 9002 | - | Scraping hinzugefügt |
|
||||
|
||||
- `ServiceDown` Alert von Hardcoded-Liste auf dynamische Regex umgestellt
|
||||
- `backends.json` Query mit dynamischer Regex ersetzt
|
||||
- Search, Media, Synapse zu Master-Overview und System-Overview Dashboards hinzugefügt
|
||||
|
||||
### Metrics & Monitoring für alle 15 Backends
|
||||
|
||||
Zentrales Monitoring ausgerollt (692+ / 474- Zeilen, 23 Dateien).
|
||||
|
||||
### GlitchTip Health Check & Disk Monitoring
|
||||
|
||||
Neuer Health Check für GlitchTip Error Tracking + Disk Space Monitoring.
|
||||
|
||||
### Docker Fixes für Monitoring
|
||||
|
||||
- `shared-error-tracking` Package zu allen **15 Web-Dockerfiles** hinzugefügt
|
||||
- `shared-nestjs-metrics` zu **5 Backend-Dockerfiles** hinzugefügt
|
||||
- `mana-media` Dockerfile um shared-nestjs-metrics ergänzt
|
||||
|
||||
---
|
||||
|
||||
## 7. Mukke: Immersiver FullPlayer & Fixes
|
||||
|
||||
### FullPlayer Redesign (251+ / 164-)
|
||||
|
||||
Komplettes Redesign des FullPlayers als immersives Fullscreen-Erlebnis:
|
||||
|
||||
- Visualizer füllt den gesamten Hintergrund
|
||||
- Controls als Overlay am unteren Rand mit Gradient für Lesbarkeit
|
||||
- Visualizer-Switcher in der oberen rechten Ecke
|
||||
- Ersetzt den bisherigen Popup-Overlay
|
||||
|
||||
### CSP & CORS Fixes
|
||||
|
||||
| Problem | Fix |
|
||||
| ----------------------------------------- | ----------------------------------- |
|
||||
| Butterchurn Shader-Kompilierung blockiert | `unsafe-eval` zu CSP hinzugefügt |
|
||||
| Audio-Wiedergabe von MinIO blockiert | `media-src` zu CSP hinzugefügt |
|
||||
| MinIO Presigned URLs CORS-Fehler | CORS-Konfiguration für Audio gefixt |
|
||||
|
||||
### MiniPlayer Positioning
|
||||
|
||||
MiniPlayer wird jetzt über der PillNavigation positioniert statt dahinter.
|
||||
|
||||
---
|
||||
|
||||
## 8. Landing Page Builder Service (Neu)
|
||||
|
||||
Neuer Service für automatisch generierte Organisation-Landingpages:
|
||||
|
||||
```
|
||||
┌──────────────────────┐ ┌─────────────────────┐ ┌──────────────────┐
|
||||
│ ManaCore Admin UI │────>│ Landing Builder │────>│ Cloudflare │
|
||||
│ /organizations/ │ │ NestJS (Port 3030) │ │ {slug}.mana.how │
|
||||
│ [id]/landing │ │ Astro Template │ │ Pages Deploy │
|
||||
└──────────────────────┘ └─────────────────────┘ └──────────────────┘
|
||||
```
|
||||
|
||||
- **NestJS Service** (Port 3030) mit Astro-Template-Engine
|
||||
- **Admin UI** in ManaCore Web Dashboard unter `/organizations/[id]/landing`
|
||||
- **TeamSection + ContactSection** für shared-landing-ui
|
||||
- **2 Org-Themes**: Classic Dark, Warm Light
|
||||
- **LandingPageConfig** Types in shared-types
|
||||
- Docker + CI/CD Integration
|
||||
|
||||
---
|
||||
|
||||
## 9. Weitere Änderungen
|
||||
|
||||
### LLM Playground verschoben
|
||||
|
||||
`llm-playground` von `services/` nach `apps/playground/` verschoben (527+ / 530-, 41 Dateien).
|
||||
|
||||
### Todo UI-Verbesserungen
|
||||
|
||||
- FAB Close-Button war hinter PillNav versteckt - gefixt
|
||||
- Settings/Mana in Account-Dropdown verschoben
|
||||
- "Aufgaben" → "Liste" in PillNav umbenannt
|
||||
- Spiral-Icon statt Sparkle für Spiral-Navigation
|
||||
- Feedback, Themes, Spiral in Profile-Dropdown verschoben
|
||||
|
||||
### Shared UI Fix
|
||||
|
||||
Transparenter Hintergrund im Context Menu gefixt.
|
||||
|
||||
### Analytics
|
||||
|
||||
Umami-Tracking in Todo, Calendar und Contacts erweitert. ANALYTICS.md aktualisiert.
|
||||
|
||||
### Error Tracking
|
||||
|
||||
`shared-error-tracking` auf ESM-Output umgestellt für SvelteKit-Kompatibilität.
|
||||
|
||||
### Infra
|
||||
|
||||
- LightWrite → Mukke in Caddyfile Production-Config umbenannt
|
||||
- Tech Stack Independence Analyse und Roadmap erstellt
|
||||
|
||||
---
|
||||
|
||||
## Zusammenfassung
|
||||
|
||||
| Bereich | Commits | Highlights |
|
||||
| ---------- | ------- | ---------------------------------------- |
|
||||
| Security | 1 | Headers, Error Page, Console Cleanup |
|
||||
| SSO/Config | 1 | Dynamischer Homeserver, Env-Variablen |
|
||||
| Tests | 1 | Vitest + 14 Unit-Tests |
|
||||
| E2EE UX | 1 | Verschlüsselungs-Warning Banner |
|
||||
| Docker | 4 | Patches, eslint-config, RN-Patches Strip |
|
||||
| Bereich | Commits | Highlights |
|
||||
| --------------- | ------- | ----------------------------------------------------------------- |
|
||||
| Manalink | 7 | Prod-Ready, Security, Tests, E2EE-Warning, Live Deploy |
|
||||
| CityCorners | 8 | PWA, i18n, mana-search, Submission Form, 31 Tests |
|
||||
| Spiral-DB | 3 | 174 Tests, 8 kritische Bugs gefixt, Zitare + Contacts Integration |
|
||||
| Auth-Migration | 6 | 3 Mobile-Apps, 20 Web-Stores, Supabase-Package entfernt |
|
||||
| Cleanup | 7 | 50+ Dateien gelöscht, Hetzner weg, API-Keys bereinigt |
|
||||
| Observability | 5 | 3 neue Services, 15 Backend Metrics, GlitchTip Health |
|
||||
| Mukke | 4 | Immersiver FullPlayer, CSP/CORS-Fixes, MiniPlayer |
|
||||
| Landing Builder | 3 | Neuer Service, Admin UI, 2 Themes |
|
||||
| Docker | 6 | Error-Tracking + Metrics zu 20 Dockerfiles |
|
||||
| Todo | 4 | UI-Fixes, Navigation, Spiral-Integration |
|
||||
| Docs | 5 | Devlog, Analytics, Tech Stack Analyse |
|
||||
| Sonstiges | 3 | LLM Playground, ESM Fix, Shared UI |
|
||||
| **Gesamt** | **61** | **695 Dateien, +50.947 / -33.665 Zeilen** |
|
||||
|
||||
---
|
||||
|
||||
## Nächste Schritte
|
||||
|
||||
1. **E2EE fertigstellen** - Rust Crypto vollständig integrieren und testen
|
||||
2. **File Uploads** - Bilder und Dateien senden/empfangen
|
||||
3. **Message Reactions** - Emoji-Reaktionen auf Nachrichten
|
||||
4. **Test Coverage erweitern** - Store, Notifications, Auth-Flow testen
|
||||
5. **Mobile App** - Manalink Mobile auf Feature-Parität mit Web bringen
|
||||
1. **API-Key-Rotation** - Geleakte Keys in .env.development müssen rotiert werden
|
||||
2. **Manalink E2EE** - Rust Crypto vollständig integrieren und testen
|
||||
3. **Manalink File Uploads** - Bilder und Dateien senden/empfangen
|
||||
4. **CityCorners Deploy** - Backend und Web auf Mac Mini deployen
|
||||
5. **Landing Builder Deploy** - Service auf Mac Mini deployen
|
||||
6. **Spiral-DB** - Weitere Apps integrieren (Calendar, ManaDeck)
|
||||
7. **Auth-Migration** - Verbleibende Mobile-Apps migrieren
|
||||
8. **Test Coverage** - CityCorners Web, Manalink Store/Auth-Flow
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue