iOS: запрет масштабирования, версия в подвале, самообновление, строка ввода
Отзыв с iPhone после первого живого прогона. Масштабирование запрещено (ADR-066): viewport как в соседнем sixlines плюс viewport-fit=cover, мета-теги установленного приложения, touch-action против двойного тапа и страховка на JS — гашение жестов iOS, потому что мета-строку Safari вправе проигнорировать. Размеры шрифтов не тронуты: 14 px из брифа остаются, поднимать поля до 16 px владелец отклонил. Цена — доступность для тех, кому зум нужен — записана в ADR и в ui.md честно. Версия в подвале (ADR-065, 067): GET /api/config отдаёт короткую ревизию и время коммита. Именно коммита, а не сборки: штамп компиляции в бинаре means каждая пересборка даёт новый хеш, и обещание ADR-022 «бинарь собирается из тега байт в байт» перестаёт проверяться. Самообновление PWA (ADR-068, 070): в режиме приложения на iPhone перезагрузки нет, и старая версия жила бы вечно. Проверка при возврате в приложение, включение ждущей оболочки, перезагрузка — но не тогда, когда в строке набран текст. Замок от петли сравнивает версию оболочки, а не считает перезагрузки: счётчик отменял саму фичу, долгоживущая вкладка переставала обновляться. Замерено: было 30, 60, 120, 240 секунд между релизами, стало ровно 30. Строка ввода — редактируемый блок (ADR-069): iOS рисует над клавиатурой полосу со стрелками и «готово» для полей формы, и убрать её со страницы нельзя. Для contenteditable не рисует. Режим plaintext-only с проверкой, что он применился, и запасным путём с разбором вставки: невалидное значение атрибута в части браузеров делает блок нередактируемым вовсе. Чтение и запись только через textContent, innerHTML в клиенте по-прежнему нет. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015DbCjVfTFq4ZFG8juD45YJ
This commit is contained in:
+3
-1
@@ -18,6 +18,7 @@
|
||||
```
|
||||
embed.go //go:embed web в корне модуля (ADR-025)
|
||||
cmd/bare/main.go подкоманды: serve, vapid, version
|
||||
internal/build/ ревизия и время коммита из build info (ADR-065)
|
||||
internal/config/ переменные BARE_*
|
||||
internal/store/ SQLite, migrations/*.sql (embed), запросы
|
||||
internal/auth/ argon2id, сессии, cookie
|
||||
@@ -33,8 +34,9 @@ web/
|
||||
js/crypto.js всё из crypto.md
|
||||
js/db.js IndexedDB из storage.md
|
||||
js/sync.js устройство, поток событий, приём и отправка
|
||||
js/pwa.js service worker, подписка на пуши, установка
|
||||
js/pwa.js service worker, самообновление (ADR-068), пуши, установка
|
||||
js/ulid.js ULID
|
||||
js/zoom.js запрет масштабирования (ADR-066)
|
||||
js/ui/*.js экраны из ui.md
|
||||
js/export.js .bare
|
||||
scripts/deploy.sh
|
||||
|
||||
Reference in New Issue
Block a user