Der Fix 0fa8fdb hat die zu hoch stehende Leiste am iPhone nicht
behoben. Damit wir nicht weiter raten: die Seite schickt am iPhone
Bildschirmwerte (Fenster, visualViewport, Bildschirm, Safe-Area,
vh-Einheiten, Lage der Leiste, Eingriffe von hoehe.js) an
/api/diag/hoehe, der Server schreibt sie als Zeile "[diag-hoehe]" ins
Log. Keine Inhalte, nur Pilot-Kunden (nicht die Mitarbeiter-Ansicht),
höchstens 80 Meldungen je Seite und 400 Zeilen je Kunde und Stunde.
Wird nach der Klärung wieder entfernt.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
32 lines
1.6 KiB
JavaScript
32 lines
1.6 KiB
JavaScript
import express from 'express'
|
|
import { parsePortalSession } from '../middleware/session.js'
|
|
import { neueAnsichtFuerSession } from '../services/kundenansicht/schalter.js'
|
|
|
|
/* VORÜBERGEHENDE MESSUNG (2026-10-29), wird nach der Klärung wieder entfernt: Am iPhone (App vom Home-Bildschirm) steht die Leiste der neuen
|
|
Kundenansicht zu hoch. Die Seite (public/neu/diag-hoehe.js) schickt Bildschirmwerte, keine Inhalte; hier wird je Meldung eine Zeile
|
|
„[diag-hoehe] …“ ins Log geschrieben. Nur für Kunden-Sitzungen, die die neue Ansicht sehen (Pilot), nicht für die Mitarbeiter-Kundenansicht.
|
|
Ohne Appwrite-Abfrage (der signierte Cookie reicht), höchstens MAX_JE_STUNDE Zeilen je Kunde und Stunde, höchstens MAX_BYTES je Zeile. */
|
|
|
|
export const MAX_BYTES = 4000
|
|
export const MAX_JE_STUNDE = 400
|
|
const zaehler = new Map() // customerId -> { stunde, n }
|
|
|
|
const router = express.Router()
|
|
|
|
router.post('/', (req, res) => {
|
|
const session = parsePortalSession(req)
|
|
if (!session || session.viewAs || !neueAnsichtFuerSession(session)) return res.status(204).end()
|
|
const stunde = Math.floor(Date.now() / 3600000)
|
|
const stand = zaehler.get(session.customerId)
|
|
const z = stand && stand.stunde === stunde ? stand : { stunde, n: 0 }
|
|
z.n += 1
|
|
zaehler.set(session.customerId, z)
|
|
if (z.n > MAX_JE_STUNDE) return res.status(204).end()
|
|
const zeile = JSON.stringify(req.body && typeof req.body === 'object' ? req.body : {})
|
|
if (zeile.length > MAX_BYTES) return res.status(204).end()
|
|
console.log(`[diag-hoehe] ${String(session.customerId).slice(0, 6)} ${zeile}`)
|
|
return res.status(204).end()
|
|
})
|
|
|
|
export default router
|