diff --git a/docs/quality/qa-responsive-navigation.json b/docs/quality/qa-responsive-navigation.json new file mode 100644 index 0000000..571385c --- /dev/null +++ b/docs/quality/qa-responsive-navigation.json @@ -0,0 +1,94 @@ +{ + "date": "2026-09-06", + "environment": "localhost:5184 actual app in same-origin iframe, widths 390/768/1440, height 900", + "measurements": [ + { + "width": 384, + "scrollWidth": 384, + "groups": [ + { + "label": "Keşfet", + "left": 16, + "right": 94 + }, + { + "label": "Hazırlan", + "left": 102, + "right": 193 + }, + { + "label": "Pazar", + "left": 201, + "right": 274 + }, + { + "label": "Yönetim", + "left": 16, + "right": 106 + } + ] + }, + { + "width": 762, + "scrollWidth": 762, + "groups": [ + { + "label": "Keşfet", + "left": 16, + "right": 94 + }, + { + "label": "Hazırlan", + "left": 102, + "right": 193 + }, + { + "label": "Pazar", + "left": 201, + "right": 274 + }, + { + "label": "Yönetim", + "left": 282, + "right": 372 + } + ] + }, + { + "width": 1434, + "scrollWidth": 1434, + "groups": [ + { + "label": "Keşfet", + "left": 16, + "right": 94 + }, + { + "label": "Hazırlan", + "left": 102, + "right": 193 + }, + { + "label": "Pazar", + "left": 201, + "right": 274 + }, + { + "label": "Yönetim", + "left": 282, + "right": 372 + } + ] + } + ], + "checks": { + "noDocumentHorizontalOverflow": true, + "groupButtonsWithinViewport": true + }, + "limits": [ + "Scrollbar leaves content widths 384/762/1434", + "Only initial tender list and group geometry measured", + "Nested frame interaction did not resolve via root locator; no claim of mobile interaction acceptance", + "Portfolio modal and preparation overview remain to be tested at small widths" + ] +} diff --git a/docs/quality/uygulama-durumu.md b/docs/quality/uygulama-durumu.md index 3fc75c7..378c47c 100644 --- a/docs/quality/uygulama-durumu.md +++ b/docs/quality/uygulama-durumu.md @@ -931,3 +931,9 @@ Taslak türü seçicisine erişilebilir ad eklendi. Üretim derlemesi geçti. Ö - Bot kurulum talimatları yalnız yöneticide gösterilir. Normal kullanıcı hizmetin etkin olmadığını ve yöneticiyle görüşmesi gerektiğini görür. Bağlama başarısı mesajının dış onay mesajını gönderildi varsayması kaldırıldı. - 5183 yeni izole QA örneğinde ilk GET 503, ardından gerçek API yanıtıyla kurtarma sınandı. 5 kontrol geçti: hata, retry, kurtarma, normal kullanıcıda kurulum ayrıntılarının gizli olması ve hatanın temizlenmesi. Kanıt qa-telegram-status.json. Dış mesaj veya bağlama isteği gönderilmedi. - Derleme geçti. Sunucu iş mantığı değişmediği için önceki 209 otomatik test tekrar çalıştırılmadı. Bot eşleme kodunun yaşam döngüsü ve gerçek teslim kabulü açık. + +### Yeni menüde üç genişlikte görünüm ölçümü — 6 Eylül 2026 +- Yerel QA'ya gerçek uygulamayı aynı origin iframe içinde 390/768/1440 piksel genişlik ve 900 piksel yükseklikte açan görünüm sayfası eklendi. Görünür ölçüm alanı document client/scroll genişliğini ve grup düğmelerinin sınırlarını gösterir; uygulama durumu değiştirilmez. +- Scrollbar sonrası içerik genişlikleri 384/762/1434 piksel olarak ölçüldü. Her üçünde document scrollWidth=clientWidth; dört çalışma alanı düğmesi görünümün yatay sınırları içinde. Dar görünümde Yönetim ikinci satıra geçiyor. Kanıt qa-responsive-navigation.json. +- Yalnız ana liste ve menü geometrisi doğrulandı. Kök locator iç iframe düğmesine erişemediğinden dar ekran etkileşim kabulü iddia edilmez. Portföy formu, hazırlık özeti, odak sırası ve dokunmatik kullanım açık. +- Üretim kodu değişmedi; otomatik test/derleme tekrarlanmadı. Eklenen QA sunucusu bu ölçümden sonra kapatıldı ve geçici deposu temizlendi. diff --git a/tests/browser-qa.mjs b/tests/browser-qa.mjs index f243092..6e56bf2 100644 --- a/tests/browser-qa.mjs +++ b/tests/browser-qa.mjs @@ -41,6 +41,7 @@ qaSubscriptionStore.reserveDelivery(qaReviewSub.id,null,[]); let subscriptionFailure='read'; let telegramFailure=true; const ui=await createServer({server:{host:'127.0.0.1',port:0,proxy:{'/api':{target:'http://127.0.0.1:'+port}}},plugins:[{name:'qa-fixtures',configureServer(server){server.middlewares.use(async(req,res,next)=>{ + if(req.url==='/qa-responsive'){res.setHeader('Content-Type','text/html; charset=utf-8');res.end(`
Gerçek uygulama ayrı bir görünüm alanında yüklenir.
`);return;} if(req.url==='/qa-telegram-controls'){res.setHeader('Content-Type','text/html; charset=utf-8');res.end(`