chore(test): проверить время истории speed в разных поясах
This commit is contained in:
1 parent
890a5cba09
commit
64bf0b4f6e
8 files changed
+234
-10
No files matched your search
@@ -1,6 +1,6 @@
|
||||
# UX/UI: протокол внешней приёмки 12.5
|
||||
|
||||
Актуальное продолжение 2026-10-10: выполнены12.5.93–95. BGP/BFD alternate-path принят; актуальная матрица docs/ux-ui-remaining-acceptance.md. Проверка902 tracked Docker inputs и980 compiled backend/contracts файлов не выявила production source drift (нормализация CRLF/LF и context exceptions описаны). Runtime backend ux-diagnostics89/frontend ux-ospf91. Следующий12.5.96 — speed timezone/контракт времени и безопасный ограниченный transport disconnect. Этап12.5 открыт.
|
||||
Актуальное продолжение 2026-10-10: завершены12.5.93–96. BGP/BFD alternate-path, актуальная матрица, source/context/compiled audit и speed POST/SQL/GET/browser timezone6/6 приняты в описанных границах. Runtime backend ux-diagnostics89/frontend ux-ospf91, production source изменений нет. Следующий12.5.97 — ограниченный реальный HTTP disconnect native bandwidth receipt и сохранение последнего snapshot. Этап12.5 открыт.
|
||||
|
||||
IPsec78: реальный PSK responder established, mode-config198.18.78.10 и online=true подтверждены API; точные собственные объекты удалены. Сертификатный/DN online, late failure и history restore остаются открытыми. [Отчёт](ux-ui/acceptance/ipsec-mode-config-2026-10-09.json), [журнал](ux-ui-progress.md).
|
||||
|
||||
@@ -700,7 +700,7 @@ flowchart LR
|
||||
|
||||
## 12.5.77 — основной блок IPsec (2026-10-09)
|
||||
|
||||
Актуальное продолжение 2026-10-10: выполнены12.5.93–95. BGP/BFD alternate-path принят; актуальная матрица docs/ux-ui-remaining-acceptance.md. Проверка902 tracked Docker inputs и980 compiled backend/contracts файлов не выявила production source drift (нормализация CRLF/LF и context exceptions описаны). Runtime backend ux-diagnostics89/frontend ux-ospf91. Следующий12.5.96 — speed timezone/контракт времени и безопасный ограниченный transport disconnect. Этап12.5 открыт.
|
||||
Актуальное продолжение 2026-10-10: завершены12.5.93–96. BGP/BFD alternate-path, актуальная матрица, source/context/compiled audit и speed POST/SQL/GET/browser timezone6/6 приняты в описанных границах. Runtime backend ux-diagnostics89/frontend ux-ospf91, production source изменений нет. Следующий12.5.97 — ограниченный реальный HTTP disconnect native bandwidth receipt и сохранение последнего snapshot. Этап12.5 открыт.
|
||||
|
||||
Подробный объём, протоколы, схема и ограничения: [12.5.77 в журнале](ux-ui-progress.md).
|
||||
|
||||
@@ -905,3 +905,13 @@ Production image не содержит dev-only jose: первый fixture impor
|
||||
Локальный contracts/backend production build passed. Дополнительно SHA980 emitted backend/contracts files сверены с реальным запущенным контейнером: missing0; после явной CRLF→LF нормализации different0. При raw byte сравнении10 JS файлов отличались переносами внутри multiline strings; байтовая идентичность не заявлена. Image IDs подтверждены docker inspect: backend97c1cff01efd…/frontendb4bade515234…, labels diagnostics89/ospf91 — названия блока, не Git SHA.
|
||||
|
||||
Для frontend подтверждён сохранённый build context/lockfile/config и текущий image ID; compiled frontend не пересобирался и не заявлен independently reproducible. Ранее принятые build/live proofs91 остаются основанием его поведения. Secrets/env не копировались, native writes/fixture/сообщений/deploy0. Повторный frontend build и широкая регрессия при отсутствии source drift не нужны. Следующий96 — remaining speed timezone/контракт времени, затем ограниченный transport disconnect при возможности безопасного окончания native test. Локальный коммит без push; этап12.5 открыт.
|
||||
|
||||
## 12.5.96 — speed history: одинаковый instant в трёх часовых поясах (2026-10-10)
|
||||
|
||||
[Native/SQL/API](ux-ui/acceptance/speed-timezone-2026-10-10.json), [live browser](ux-ui/acceptance/browser-speed-timezone-2026-10-10.json). Настоящий compiled production speed route/service/MikrotikClient и PG, один accepted TCP transmit3s1→2 с cap10Mbit/s на обоих native tx limits. Только cap добавлен тестовой оснасткой в команду, HTTP/native responses не подменялись. Production API cap не добавлялся; это функциональная проверка времени, неbenchmark. ProbeId отсутствует, существующие snapshots не изменялись.
|
||||
|
||||
POST result.createdAt, SQL created_at и production GET истории совпадают до миллисекунды. Instant фиксируется перед after-ping, после ответа bandwidth и3s ожидания; это не время начала bandwidth. Backend UTC; live browser UTC/AsiaNovosibirsk/AmericaLosAngeles×1280/320 =6/6: один instant, соответствующее местное время, корректная смена календарной даты, reload/document fits/pageerror0; UI native POST0. Миллисекунды не показываются в ячейке, но API не теряет их.
|
||||
|
||||
Две предварительные попытки завершили native тест, но остановились в fixture: лишнее требование Ping0% при фактических25% и Date.parse(Date) с потерей ms. Исправлены только тестовые условия/getTime; реальные timestamp продукта не менялись. Три коротких capped native команды всего, принятый итоговый Ping сохранён в отчёте; успешные browser/native checks повторно не выполнялись. Все три own history IDs удалены, исходный список истории сохранён; процессов/fixtures не осталось, аккаунты/RouterOS конфигурация не менялись.
|
||||
|
||||
ROS-10 принят для текущей версии POST/GET и перечисленных timezone; legacy receipt безcreatedAt сохраняет прежний отдельный fallback. Source/build/deploy0. Следующий97 — реальный обрыв HTTP receipt bandwidth-test через локальный relay, без изменения устройств и с независимым наблюдением короткого native завершения; не заявлять это physical WAN loss или auto cancellation. Квота15% использовано, этап12.5 открыт. Один локальный коммит без push.
|
||||
+3
-3
@@ -1,12 +1,12 @@
|
||||
# План реализации UX/UI по пятичасовым окнам
|
||||
|
||||
Актуальное продолжение 2026-10-10: выполнены12.5.93–95. BGP/BFD alternate-path принят; актуальная матрица docs/ux-ui-remaining-acceptance.md. Проверка902 tracked Docker inputs и980 compiled backend/contracts файлов не выявила production source drift (нормализация CRLF/LF и context exceptions описаны). Runtime backend ux-diagnostics89/frontend ux-ospf91. Следующий12.5.96 — speed timezone/контракт времени и безопасный ограниченный transport disconnect. Этап12.5 открыт.
|
||||
Актуальное продолжение 2026-10-10: завершены12.5.93–96. BGP/BFD alternate-path, актуальная матрица, source/context/compiled audit и speed POST/SQL/GET/browser timezone6/6 приняты в описанных границах. Runtime backend ux-diagnostics89/frontend ux-ospf91, production source изменений нет. Следующий12.5.97 — ограниченный реальный HTTP disconnect native bandwidth receipt и сохранение последнего snapshot. Этап12.5 открыт.
|
||||
|
||||
Общий план проекта MikrotikManager. Основан на согласованном плане из задачи; точка продолжения обновлена 2026-10-10. Источник фактического прогресса, проверок и ограничений — [журнал реализации](ux-ui-progress.md). Этот документ задаёт объём и критерии завершения, журнал фиксирует результат.
|
||||
|
||||
## Актуальная точка продолжения — 2026-10-10
|
||||
|
||||
Актуальное продолжение 2026-10-10: выполнены12.5.93–95. BGP/BFD alternate-path принят; актуальная матрица docs/ux-ui-remaining-acceptance.md. Проверка902 tracked Docker inputs и980 compiled backend/contracts файлов не выявила production source drift (нормализация CRLF/LF и context exceptions описаны). Runtime backend ux-diagnostics89/frontend ux-ospf91. Следующий12.5.96 — speed timezone/контракт времени и безопасный ограниченный transport disconnect. Этап12.5 открыт.
|
||||
Актуальное продолжение 2026-10-10: завершены12.5.93–96. BGP/BFD alternate-path, актуальная матрица, source/context/compiled audit и speed POST/SQL/GET/browser timezone6/6 приняты в описанных границах. Runtime backend ux-diagnostics89/frontend ux-ospf91, production source изменений нет. Следующий12.5.97 — ограниченный реальный HTTP disconnect native bandwidth receipt и сохранение последнего snapshot. Этап12.5 открыт.
|
||||
|
||||
Этапы0–11 завершены в локальных границах журнала. История выполненных внешних блоков и доказательства сохранены в [журнале](ux-ui-stage-12.md) и [протоколе](ux-ui-external-acceptance.md). Реальная Telegram доставка, Portal SSO, multi-instance и оставшиеся профильные сетевые ограничения открыты.
|
||||
|
||||
@@ -371,6 +371,6 @@ flowchart LR
|
||||
|
||||
## 12.5.77 — основной блок IPsec (2026-10-09)
|
||||
|
||||
Актуальное продолжение 2026-10-10: выполнены12.5.93–95. BGP/BFD alternate-path принят; актуальная матрица docs/ux-ui-remaining-acceptance.md. Проверка902 tracked Docker inputs и980 compiled backend/contracts файлов не выявила production source drift (нормализация CRLF/LF и context exceptions описаны). Runtime backend ux-diagnostics89/frontend ux-ospf91. Следующий12.5.96 — speed timezone/контракт времени и безопасный ограниченный transport disconnect. Этап12.5 открыт.
|
||||
Актуальное продолжение 2026-10-10: завершены12.5.93–96. BGP/BFD alternate-path, актуальная матрица, source/context/compiled audit и speed POST/SQL/GET/browser timezone6/6 приняты в описанных границах. Runtime backend ux-diagnostics89/frontend ux-ospf91, production source изменений нет. Следующий12.5.97 — ограниченный реальный HTTP disconnect native bandwidth receipt и сохранение последнего snapshot. Этап12.5 открыт.
|
||||
|
||||
Подробный объём, протоколы, схема и ограничения: [12.5.77 в журнале](ux-ui-progress.md).
|
||||
+12
-2
@@ -1,6 +1,6 @@
|
||||
# UX/UI: журнал реализации
|
||||
|
||||
Актуальное продолжение 2026-10-10: выполнены12.5.93–95. BGP/BFD alternate-path принят; актуальная матрица docs/ux-ui-remaining-acceptance.md. Проверка902 tracked Docker inputs и980 compiled backend/contracts файлов не выявила production source drift (нормализация CRLF/LF и context exceptions описаны). Runtime backend ux-diagnostics89/frontend ux-ospf91. Следующий12.5.96 — speed timezone/контракт времени и безопасный ограниченный transport disconnect. Этап12.5 открыт.
|
||||
Актуальное продолжение 2026-10-10: завершены12.5.93–96. BGP/BFD alternate-path, актуальная матрица, source/context/compiled audit и speed POST/SQL/GET/browser timezone6/6 приняты в описанных границах. Runtime backend ux-diagnostics89/frontend ux-ospf91, production source изменений нет. Следующий12.5.97 — ограниченный реальный HTTP disconnect native bandwidth receipt и сохранение последнего snapshot. Этап12.5 открыт.
|
||||
|
||||
Общий план: [UX/UI по этапам и пятичасовым окнам](ux-ui-plan.md). План задаёт объём, этот журнал фиксирует выполненные блоки и ограничения. Записи расположены от новых к старым; подробная история этапа12 также сохранена в [ux-ui-stage-12.md](ux-ui-stage-12.md).
|
||||
|
||||
@@ -36,7 +36,17 @@
|
||||
| 10 | Маршрутизация, диагностика, карта и терминал | Завершён в границах локальной приёмки 2026-10-01; блоки 10.1–10.71, внешние ограничения в 10.71 |
|
||||
| 11А | Пользователи, контейнеры, сертификаты и резервные копии | Завершён в границах локальной приёмки 2026-10-01; 11А.1–11А.33, внешние ограничения в 11А.33 |
|
||||
| 11Б | Оповещения, сбор данных, интеграции, релизы и настройки | Завершён в границах локальной приёмки 2026-10-03; ограничения и evidence в11Б.7 |
|
||||
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Локальная приёмка завершена в границах12.3.83; внешняя12.5 в работе, выполненные блоки1–95 и ограничения ниже. Runtime backend ux-diagnostics89/frontend ux-ospf91. |
|
||||
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Локальная приёмка завершена в границах12.3.83; внешняя12.5 в работе, выполненные блоки1–96 и ограничения ниже. Runtime backend ux-diagnostics89/frontend ux-ospf91. |
|
||||
|
||||
## 12.5.96 — speed history: одинаковый instant в трёх часовых поясах (2026-10-10)
|
||||
|
||||
[Native/SQL/API](ux-ui/acceptance/speed-timezone-2026-10-10.json), [live browser](ux-ui/acceptance/browser-speed-timezone-2026-10-10.json). Настоящий compiled production speed route/service/MikrotikClient и PG, один accepted TCP transmit3s1→2 с cap10Mbit/s на обоих native tx limits. Только cap добавлен тестовой оснасткой в команду, HTTP/native responses не подменялись. Production API cap не добавлялся; это функциональная проверка времени, неbenchmark. ProbeId отсутствует, существующие snapshots не изменялись.
|
||||
|
||||
POST result.createdAt, SQL created_at и production GET истории совпадают до миллисекунды. Instant фиксируется перед after-ping, после ответа bandwidth и3s ожидания; это не время начала bandwidth. Backend UTC; live browser UTC/AsiaNovosibirsk/AmericaLosAngeles×1280/320 =6/6: один instant, соответствующее местное время, корректная смена календарной даты, reload/document fits/pageerror0; UI native POST0. Миллисекунды не показываются в ячейке, но API не теряет их.
|
||||
|
||||
Две предварительные попытки завершили native тест, но остановились в fixture: лишнее требование Ping0% при фактических25% и Date.parse(Date) с потерей ms. Исправлены только тестовые условия/getTime; реальные timestamp продукта не менялись. Три коротких capped native команды всего, принятый итоговый Ping сохранён в отчёте; успешные browser/native checks повторно не выполнялись. Все три own history IDs удалены, исходный список истории сохранён; процессов/fixtures не осталось, аккаунты/RouterOS конфигурация не менялись.
|
||||
|
||||
ROS-10 принят для текущей версии POST/GET и перечисленных timezone; legacy receipt безcreatedAt сохраняет прежний отдельный fallback. Source/build/deploy0. Следующий97 — реальный обрыв HTTP receipt bandwidth-test через локальный relay, без изменения устройств и с независимым наблюдением короткого native завершения; не заявлять это physical WAN loss или auto cancellation. Квота15% использовано, этап12.5 открыт. Один локальный коммит без push.
|
||||
|
||||
## 12.5.95 — полнота Docker contexts и compiled backend (2026-10-10)
|
||||
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
# Оставшаяся внешняя приёмка — 2026-10-10
|
||||
|
||||
Это актуальная матрица после 12.5.95. Исторические записи сохраняют версии и ограничения на момент выполнения; поздние проверки ниже уточняют их. Этап 12.5 открыт. Успех в двух CHR и одном backend не означает приёмку всех конфигураций, интеграций или полной регрессии.
|
||||
Это актуальная матрица после 12.5.96. Исторические записи сохраняют версии и ограничения на момент выполнения; поздние проверки ниже уточняют их. Этап 12.5 открыт. Успех в двух CHR и одном backend не означает приёмку всех конфигураций, интеграций или полной регрессии.
|
||||
|
||||
Стенд: Debian13/Compose, PostgreSQL18.6, два CHR RouterOS7.24.5. Backend `ux-diagnostics89`, frontend `ux-ospf91`; production lab использует AUTH_REQUIRED=false. Подписанные JWT/RBAC проверялись в изолированных процессах. Все собственные объекты последнего сценария удалены, исходные11 коллекций×2 восстановлены; пароли не менялись.
|
||||
|
||||
| Раздел | Подтверждено | Осталось / условие завершения |
|
||||
| --- | --- | --- |
|
||||
| PostgreSQL | Bootstrap, backup/restore, SQL rollback, concurrency, writer drain одного экземпляра, JWT guards и unknown commit: блоки14–24 | Несколько backend/worker экземпляров и координация всех writers; физическая потеря соединения отличается от введённого отказа подтверждения |
|
||||
| Speed/uptime | TCP transmit/receive/both32–33, короткий UDP34, auth failure25, transport timeout27, интерфейс after-ping28–29, snapshot/history race23–24 | Busy/abort/реальный disconnect; независимое доказательство multi-WAN source/path; Home→JH/JH↔Exit с асимметричными каналами и ROS-10 разные часовые пояса. Короткие тесты не доказывают maximum throughput |
|
||||
| Speed/uptime | TCP transmit/receive/both32–33, короткий UDP34, auth failure25, transport timeout27, интерфейс after-ping28–29, snapshot/history race23–24 | Busy/abort/реальный disconnect; независимое доказательство multi-WAN source/path; Home→JH/JH↔Exit с асимметричными каналами ; ROS-10 POST/SQL/GET и три часовых пояса приняты96. Короткие тесты не доказывают maximum throughput |
|
||||
| Outbox | Production PG claim/dedupe/settlement/retry/JWT/browser checkpoint/a11y35–49 | Настоящий Telegram API/чат, физический timeout после возможной отправки, несколько sender процессов. Нужны тестовый бот/чат и прямое разрешение на конкретное сообщение; подменённый ответ не доказывает доставку |
|
||||
| GRE | Native lifecycle, metadata, live формы/меню/URL/Ping53–57; GRE используется в OSPF/BGP/IPsec последующих блоков | IPv6, независимые WAN, масштаб и длительное восстановление; принятие GRE не означает приёмку всех сценариев автоматического расписания |
|
||||
| WireGuard | Native handshake/data plane58, deletion60, live create/peer/disable/enable/delete62, mobile64, export/import67–74 | Клиентские ОС и произвольные конфигурации, IPv6/scale, физический lost ACK и устойчивое восстановление; `.conf` с placeholders — шаблон, не принятый клиентский tunnel |
|
||||
@@ -25,7 +25,7 @@
|
||||
## Следующая последовательность
|
||||
|
||||
1. **12.5.95 завершён:** [source/context/compiled audit](ux-ui/acceptance/deployment-source-audit-2026-10-10.json), production source drift не выявлен; нормализация и исключения явно указаны.
|
||||
2. **12.5.96 — оставшиеся достижимые проверки speed:** время истории/часовые пояса и короткий ограниченный disconnect на выделенной probe; исходные данные и процессы должны быть восстановлены. Сначала проверить контракт, не повторять принятые направления/нагрузочные тесты.
|
||||
2. **12.5.96 timezone завершён:** [6 live UI cases](ux-ui/acceptance/browser-speed-timezone-2026-10-10.json). Следующий97 — HTTP receipt disconnect через relay, короткая capped команда и сохранение snapshot без auto retry.
|
||||
3. **Заключительный профильный контроль:** после последнего исправления собрать только затронутую часть, проверить её live и обновить матрицу. Общую регрессию выполнить один раз на согласованном runtime.
|
||||
4. **Внешние зависимости:** Telegram/Portal/client OS/multi-WAN/scale проходят отдельную приёмку при наличии нужных аккаунтов, устройств и разрешений. Лабораторный результат двух CHR не закрывает их автоматически.
|
||||
|
||||
|
||||
@@ -2214,3 +2214,13 @@ Production image не содержит dev-only jose: первый fixture impor
|
||||
Локальный contracts/backend production build passed. Дополнительно SHA980 emitted backend/contracts files сверены с реальным запущенным контейнером: missing0; после явной CRLF→LF нормализации different0. При raw byte сравнении10 JS файлов отличались переносами внутри multiline strings; байтовая идентичность не заявлена. Image IDs подтверждены docker inspect: backend97c1cff01efd…/frontendb4bade515234…, labels diagnostics89/ospf91 — названия блока, не Git SHA.
|
||||
|
||||
Для frontend подтверждён сохранённый build context/lockfile/config и текущий image ID; compiled frontend не пересобирался и не заявлен independently reproducible. Ранее принятые build/live proofs91 остаются основанием его поведения. Secrets/env не копировались, native writes/fixture/сообщений/deploy0. Повторный frontend build и широкая регрессия при отсутствии source drift не нужны. Следующий96 — remaining speed timezone/контракт времени, затем ограниченный transport disconnect при возможности безопасного окончания native test. Локальный коммит без push; этап12.5 открыт.
|
||||
|
||||
## 12.5.96 — speed history: одинаковый instant в трёх часовых поясах (2026-10-10)
|
||||
|
||||
[Native/SQL/API](ux-ui/acceptance/speed-timezone-2026-10-10.json), [live browser](ux-ui/acceptance/browser-speed-timezone-2026-10-10.json). Настоящий compiled production speed route/service/MikrotikClient и PG, один accepted TCP transmit3s1→2 с cap10Mbit/s на обоих native tx limits. Только cap добавлен тестовой оснасткой в команду, HTTP/native responses не подменялись. Production API cap не добавлялся; это функциональная проверка времени, неbenchmark. ProbeId отсутствует, существующие snapshots не изменялись.
|
||||
|
||||
POST result.createdAt, SQL created_at и production GET истории совпадают до миллисекунды. Instant фиксируется перед after-ping, после ответа bandwidth и3s ожидания; это не время начала bandwidth. Backend UTC; live browser UTC/AsiaNovosibirsk/AmericaLosAngeles×1280/320 =6/6: один instant, соответствующее местное время, корректная смена календарной даты, reload/document fits/pageerror0; UI native POST0. Миллисекунды не показываются в ячейке, но API не теряет их.
|
||||
|
||||
Две предварительные попытки завершили native тест, но остановились в fixture: лишнее требование Ping0% при фактических25% и Date.parse(Date) с потерей ms. Исправлены только тестовые условия/getTime; реальные timestamp продукта не менялись. Три коротких capped native команды всего, принятый итоговый Ping сохранён в отчёте; успешные browser/native checks повторно не выполнялись. Все три own history IDs удалены, исходный список истории сохранён; процессов/fixtures не осталось, аккаунты/RouterOS конфигурация не менялись.
|
||||
|
||||
ROS-10 принят для текущей версии POST/GET и перечисленных timezone; legacy receipt безcreatedAt сохраняет прежний отдельный fallback. Source/build/deploy0. Следующий97 — реальный обрыв HTTP receipt bandwidth-test через локальный relay, без изменения устройств и с независимым наблюдением короткого native завершения; не заявлять это physical WAN loss или auto cancellation. Квота15% использовано, этап12.5 открыт. Один локальный коммит без push.
|
||||
@@ -727,3 +727,13 @@ flowchart LR
|
||||
Локальный contracts/backend production build passed. Дополнительно SHA980 emitted backend/contracts files сверены с реальным запущенным контейнером: missing0; после явной CRLF→LF нормализации different0. При raw byte сравнении10 JS файлов отличались переносами внутри multiline strings; байтовая идентичность не заявлена. Image IDs подтверждены docker inspect: backend97c1cff01efd…/frontendb4bade515234…, labels diagnostics89/ospf91 — названия блока, не Git SHA.
|
||||
|
||||
Для frontend подтверждён сохранённый build context/lockfile/config и текущий image ID; compiled frontend не пересобирался и не заявлен independently reproducible. Ранее принятые build/live proofs91 остаются основанием его поведения. Secrets/env не копировались, native writes/fixture/сообщений/deploy0. Повторный frontend build и широкая регрессия при отсутствии source drift не нужны. Следующий96 — remaining speed timezone/контракт времени, затем ограниченный transport disconnect при возможности безопасного окончания native test. Локальный коммит без push; этап12.5 открыт.
|
||||
|
||||
## 12.5.96 — speed history: одинаковый instant в трёх часовых поясах (2026-10-10)
|
||||
|
||||
[Native/SQL/API](ux-ui/acceptance/speed-timezone-2026-10-10.json), [live browser](ux-ui/acceptance/browser-speed-timezone-2026-10-10.json). Настоящий compiled production speed route/service/MikrotikClient и PG, один accepted TCP transmit3s1→2 с cap10Mbit/s на обоих native tx limits. Только cap добавлен тестовой оснасткой в команду, HTTP/native responses не подменялись. Production API cap не добавлялся; это функциональная проверка времени, неbenchmark. ProbeId отсутствует, существующие snapshots не изменялись.
|
||||
|
||||
POST result.createdAt, SQL created_at и production GET истории совпадают до миллисекунды. Instant фиксируется перед after-ping, после ответа bandwidth и3s ожидания; это не время начала bandwidth. Backend UTC; live browser UTC/AsiaNovosibirsk/AmericaLosAngeles×1280/320 =6/6: один instant, соответствующее местное время, корректная смена календарной даты, reload/document fits/pageerror0; UI native POST0. Миллисекунды не показываются в ячейке, но API не теряет их.
|
||||
|
||||
Две предварительные попытки завершили native тест, но остановились в fixture: лишнее требование Ping0% при фактических25% и Date.parse(Date) с потерей ms. Исправлены только тестовые условия/getTime; реальные timestamp продукта не менялись. Три коротких capped native команды всего, принятый итоговый Ping сохранён в отчёте; успешные browser/native checks повторно не выполнялись. Все три own history IDs удалены, исходный список истории сохранён; процессов/fixtures не осталось, аккаунты/RouterOS конфигурация не менялись.
|
||||
|
||||
ROS-10 принят для текущей версии POST/GET и перечисленных timezone; legacy receipt безcreatedAt сохраняет прежний отдельный fallback. Source/build/deploy0. Следующий97 — реальный обрыв HTTP receipt bandwidth-test через локальный relay, без изменения устройств и с независимым наблюдением короткого native завершения; не заявлять это physical WAN loss или auto cancellation. Квота15% использовано, этап12.5 открыт. Один локальный коммит без push.
|
||||
@@ -0,0 +1,76 @@
|
||||
{
|
||||
"date": "2026-10-10",
|
||||
"state": {
|
||||
"runId": "mm-time96-1791570287218",
|
||||
"createdAt": "2026-10-09T18:24:54.576Z",
|
||||
"instant": 1791570294576,
|
||||
"servers": [
|
||||
{
|
||||
"id": 1,
|
||||
"host": "194.226.121.150"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"host": "104.165.244.7"
|
||||
}
|
||||
]
|
||||
},
|
||||
"cases": [
|
||||
{
|
||||
"timezoneId": "UTC",
|
||||
"width": 1280,
|
||||
"expected": "09.10, 18:24:54",
|
||||
"instant": 1791570294576,
|
||||
"apiCreatedAt": "2026-10-09T18:24:54.576Z",
|
||||
"reload": true,
|
||||
"documentFits": true
|
||||
},
|
||||
{
|
||||
"timezoneId": "UTC",
|
||||
"width": 320,
|
||||
"expected": "09.10, 18:24:54",
|
||||
"instant": 1791570294576,
|
||||
"apiCreatedAt": "2026-10-09T18:24:54.576Z",
|
||||
"reload": true,
|
||||
"documentFits": true
|
||||
},
|
||||
{
|
||||
"timezoneId": "Asia/Novosibirsk",
|
||||
"width": 1280,
|
||||
"expected": "10.10, 01:24:54",
|
||||
"instant": 1791570294576,
|
||||
"apiCreatedAt": "2026-10-09T18:24:54.576Z",
|
||||
"reload": true,
|
||||
"documentFits": true
|
||||
},
|
||||
{
|
||||
"timezoneId": "Asia/Novosibirsk",
|
||||
"width": 320,
|
||||
"expected": "10.10, 01:24:54",
|
||||
"instant": 1791570294576,
|
||||
"apiCreatedAt": "2026-10-09T18:24:54.576Z",
|
||||
"reload": true,
|
||||
"documentFits": true
|
||||
},
|
||||
{
|
||||
"timezoneId": "America/Los_Angeles",
|
||||
"width": 1280,
|
||||
"expected": "09.10, 11:24:54",
|
||||
"instant": 1791570294576,
|
||||
"apiCreatedAt": "2026-10-09T18:24:54.576Z",
|
||||
"reload": true,
|
||||
"documentFits": true
|
||||
},
|
||||
{
|
||||
"timezoneId": "America/Los_Angeles",
|
||||
"width": 320,
|
||||
"expected": "09.10, 11:24:54",
|
||||
"instant": 1791570294576,
|
||||
"apiCreatedAt": "2026-10-09T18:24:54.576Z",
|
||||
"reload": true,
|
||||
"documentFits": true
|
||||
}
|
||||
],
|
||||
"errors": [],
|
||||
"httpMocks": false
|
||||
}
|
||||
@@ -0,0 +1,108 @@
|
||||
{
|
||||
"date": "2026-10-10",
|
||||
"runId": "mm-time96-1791570287218",
|
||||
"httpMocks": false,
|
||||
"routerOsMocks": false,
|
||||
"backendTimezone": "UTC",
|
||||
"rateLimitBps": 10000000,
|
||||
"durationSec": 3,
|
||||
"times": {
|
||||
"requestStarted": 1791570287522,
|
||||
"nativeStarted": 1791570287557,
|
||||
"nativeReturned": 1791570291575,
|
||||
"beforeAfterPing": 1791570294577
|
||||
},
|
||||
"receipt": {
|
||||
"createdAt": "2026-10-09T18:24:54.576Z",
|
||||
"runId": "mm-time96-1791570287218",
|
||||
"txAvgMbps": 9.950671999999999,
|
||||
"rxAvgMbps": null,
|
||||
"afterBtPing": {
|
||||
"rttMs": 53,
|
||||
"lossPct": 0,
|
||||
"error": null
|
||||
}
|
||||
},
|
||||
"nativeCount": 1,
|
||||
"sql": [
|
||||
{
|
||||
"id": "mm-time96-1791570287218",
|
||||
"created_at": "2026-10-09T18:24:54.576Z",
|
||||
"status": "done",
|
||||
"tx_avg_mbps": 9.950671999999999,
|
||||
"rx_avg_mbps": null
|
||||
}
|
||||
],
|
||||
"history": {
|
||||
"id": "mm-time96-1791570287218",
|
||||
"probeId": null,
|
||||
"srcServerId": "1",
|
||||
"dstServerId": "2",
|
||||
"srcInterface": "",
|
||||
"dstInterface": "",
|
||||
"protocol": "tcp",
|
||||
"direction": "transmit",
|
||||
"durationSec": 3,
|
||||
"txAvgMbps": 9.950671999999999,
|
||||
"rxAvgMbps": null,
|
||||
"status": "done",
|
||||
"error": null,
|
||||
"createdAt": "2026-10-09T18:24:54.576Z",
|
||||
"srcAddress": "194.226.121.150",
|
||||
"dstAddress": "104.165.244.7",
|
||||
"srcInterfaceAddress": null,
|
||||
"dstInterfaceAddress": null,
|
||||
"afterBtPing": {
|
||||
"rttMs": 53,
|
||||
"lossPct": 0,
|
||||
"error": null
|
||||
}
|
||||
},
|
||||
"createdAtMeaning": "Server instant immediately before after-ping, after native bandwidth response plus 3s wait; not bandwidth start",
|
||||
"cleanupHistoryIdsPreserved": true,
|
||||
"preliminary": [
|
||||
{
|
||||
"date": "2026-10-10",
|
||||
"runId": "mm-time96-1791570041190",
|
||||
"httpMocks": false,
|
||||
"routerOsMocks": false,
|
||||
"backendTimezone": "UTC",
|
||||
"rateLimitBps": 10000000,
|
||||
"durationSec": 3,
|
||||
"error": "Expected values to be strictly equal:\n\n25 !== 0\n",
|
||||
"cleanupHistoryIdsPreserved": true,
|
||||
"explanation": "Unrelated fixture assertion required Ping0%; native/API completed but Ping25% stopped before observer. Own history cleaned."
|
||||
},
|
||||
{
|
||||
"date": "2026-10-10",
|
||||
"runId": "mm-time96-1791570164066",
|
||||
"httpMocks": false,
|
||||
"routerOsMocks": false,
|
||||
"backendTimezone": "UTC",
|
||||
"rateLimitBps": 10000000,
|
||||
"durationSec": 3,
|
||||
"times": {
|
||||
"requestStarted": 1791570164456,
|
||||
"nativeStarted": 1791570164493,
|
||||
"nativeReturned": 1791570168501,
|
||||
"beforeAfterPing": 1791570171506
|
||||
},
|
||||
"receipt": {
|
||||
"createdAt": "2026-10-09T18:22:51.506Z",
|
||||
"runId": "mm-time96-1791570164066",
|
||||
"txAvgMbps": 9.941008,
|
||||
"rxAvgMbps": null,
|
||||
"afterBtPing": {
|
||||
"rttMs": 53,
|
||||
"lossPct": 0,
|
||||
"error": null
|
||||
}
|
||||
},
|
||||
"nativeCount": 1,
|
||||
"error": "Expected values to be strictly equal:\n+ actual - expected\n\n+ 1791570171000\n- 1791570171506\n ^\n",
|
||||
"cleanupHistoryIdsPreserved": true,
|
||||
"explanation": "Fixture used Date.parse on PostgreSQL Date object, string coercion omitted ms. Correct getTime comparison passed in accepted run; product timestamps unchanged."
|
||||
}
|
||||
],
|
||||
"nativeCommandsTotal": 3
|
||||
}
|
||||
Reference in new issue
Block a user