Skip to content

test(behaviors): ограничить срок завершения sheet после перехвата - #479

Merged
lemone112 merged 2 commits into
mainfrom
test/motion444-sheet-deadline-20261005
Oct 6, 2026
Merged

lemone112 merged 2 commits into
mainfrom
test/motion444-sheet-deadline-20261005

Conversation

@lemone112

@lemone112 lemone112 commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

Проверка прерываемой нижней панели теперь ограничивает завершение независимо рассчитанным сроком 1548 мс виртуального времени. Она наблюдает движение и сохранение скорости, затем проверяет точное конечное состояние и отсутствие оставшейся кадровой работы до очистки.

Полезное свойство из #444 перенесено в существующий browser-тест. Прежние проверки непрерывности скорости и очистки сохранены. Исторические профильные артефакты #444 остаются отдельным evidence; этот PR не закрывает PROFILE-01, JOURNEY-01 или выпуск.

Проверки:

  • Для d7bf6252dd05908f520dfe15004383c50af394d5 прошёл CI: Chromium, Firefox, WebKit, тесты и мутации, сборка и размер пакета, потребители Node 22/24. profile-baseline пропущен.
  • Для исходного 2d894093 сохранены независимый рациональный расчёт, численное и интеграционное ревью и отрицательный сценарий: движение продолжается, но задержанное завершение обнаруживается новым assertion.
  • Финальный commit меняет только два русских пояснения; отдельное независимое ревью подтвердило побайтную сохранность остального теста.

Откат — обычный revert изменения теста через PR.

Summary by CodeRabbit

  • Тесты
    • Добавлена проверка перенаправления прерванного движения нижней панели при вызове snapTo(1): панель сохраняет позицию и скорость как при перенаправлении, так и в новом callback.
    • Проверяется переход движения в состояние завершения (settle) в рассчитанный момент, а также отсутствие ожидающих кадров после завершения.
    • Уточнено, что сценарий с виртуальными кадрами проверяет аналитический срок завершения прерванного движения, а не реальную частоту обновления экрана.

@coderabbitai

coderabbitai Bot commented Oct 5, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Team
  • Run ID: 8f556535-3056-4d5e-8dcc-28ebe5498ac0
📥 Commits

Reviewing files that changed from the base of the PR and between 2d89409 and d7bf625.

📒 Files selected for processing (1)
  • browser/11-behaviors-pointer.spec.ts

Included review availability: This review used your included allowance. 0 included reviews remain after this review. Your included PR review attempts over the past 7 days set your current allowance at 1 review per hour.


📝 Walkthrough

Walkthrough

Добавлен тест bottom sheet с виртуальными кадрами. Он прерывает release вызовом snapTo(1), проверяет сохранение позиции и скорости, а затем подтверждает достижение settle к рассчитанному времени и отсутствие ожидающих кадров.

Changes

Проверка прерванного release bottom sheet

Layer / File(s) Summary
Сценарий и проверки с виртуальными кадрами
browser/11-behaviors-pointer.spec.ts
Уточнён комментарий: сценарий проверяет аналитический срок завершения прерванного release, а не частоту экрана. Добавлен тест, который вычисляет время терминального состояния для заданной пружины, прерывает release через snapTo(1) и проверяет позицию и скорость до и после перенаправления. Тест также проверяет переход в settle к рассчитанному времени и пустую очередь кадров.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Other

Merge Risk: ⚪ Minimal · up to d7bf6

This PR adds a virtual-time test for interrupted release completion. Its deadline and completion checks align with the implementation, and the browser workflow builds the current code before running the test. No merge blocker was identified.

🚥 Pre-merge checks | ✅ 9
✅ Passed checks (9 passed)
Check name Status Explanation
Title check ✅ Passed Заголовок кратко и точно описывает основное изменение: тест проверяет срок завершения нижней панели после перехвата.
Description check ✅ Passed Описание раскрывает цель изменения, поведение теста, результаты проверок и ограничения выпуска. Оно не повторяет шаблонные заголовки и не отмечает каждый пункт шаблона, но содержит достаточно сведений…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
краткие русские документации ✅ Passed Проверка пройдена. Добавленные пояснения и название теста написаны по-русски; термины release и settleTimeUpperBound сохранены как названия фазы и API. Математическое пояснение подробное, но относ…
Diataxis ✅ Passed Проверка пройдена. В PR изменён только browser/11-behaviors-pointer.spec.ts; документационные файлы не менялись. Добавленный текст — комментарии к тесту с описанием расчёта и проверяемого поведения,…
архитектура ✅ Passed PASS. Изменён только browser/11-behaviors-pointer.spec.ts: PR добавляет проверку и пояснение, но не меняет производственный код или публичный API. Тест вызывает createBottomSheet, snapTo, `state…
тесты ✅ Passed Тест проверяет класс «прерванный release нижней панели с перенаправлением через snapTo при ненулевой скорости». Он проверяет исходные условия на состоянии потребителя, сохранение позиции и скорости пр…
промежуточные документы (напр. планы) ✅ Passed Изменён только browser/11-behaviors-pointer.spec.ts. В PR добавлен браузерный тест и пояснения к его расчёту; планы, ревью, исследования или отдельные промежуточные документы не добавлены. Изменения…
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@lemone112
lemone112 marked this pull request as ready for review October 5, 2026 23:02

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pre-merge checks failed. Please resolve the failing checks before merging.

Copy link
Copy Markdown
Contributor Author

@coderabbitai Замечание «краткие русские документации» исправлено в d7bf6252dd05908f520dfe15004383c50af394d5: название теста использует «нижняя панель», комментарий — «потребителе». release сохранён как точное имя фазы.

Diff содержит только эти две текстовые замены. Их обратная замена побайтно восстанавливает файл из 2d894093; assertions, независимый расчёт, callback и workflow неизменны. Независимое ревью этой правки — PASS. Обязательный CI нового SHA также прошёл: https://github.com/Labpics-Team/lab-motion/actions/runs/37389555963.

Пожалуйста, перепроверь исправление этого замечания и актуальный review verdict. Прежний substantive review логики сохранён; гейты не изменялись.

@coderabbitai

coderabbitai Bot commented Oct 5, 2026

Copy link
Copy Markdown

Tip

For best results, initiate chat on the files or code changes.

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail
gh pr view 479 --repo Labpics-Team/lab-motion --json headRefOid,state,reviewDecision,reviews,statusCheckRollup
gh api repos/Labpics-Team/lab-motion/compare/2d8940935372d08348ea2a1d3f95c2bfec6aebc1...d7bf6252dd05908f520dfe15004383c50af394d5 --jq '{status,ahead_by,behind_by,files:[.files[]|{filename,status,additions,deletions,patch}]}'
gh api repos/Labpics-Team/lab-motion/actions/runs/37389555963 --jq '{head_sha,status,conclusion,html_url}'
gh api --paginate repos/Labpics-Team/lab-motion/actions/runs/37389555963/jobs --jq '.jobs[]|{name,status,conclusion}'
gh api --paginate repos/Labpics-Team/lab-motion/pulls/479/comments --jq '.[]|select(.user.login=="coderabbitai" or .user.login=="coderabbitai[bot]")|{id,path,line,body}'
ast-grep outline browser/11-behaviors-pointer.spec.ts --items all
rg -n -C 10 'нижняя панель|потребителе|1548|release' browser/11-behaviors-pointer.spec.ts
git diff 2d8940935372d08348ea2a1d3f95c2bfec6aebc1 d7bf6252dd05908f520dfe15004383c50af394d5 --stat
python - <<'PY'
import subprocess
p = 'browser/11-behaviors-pointer.spec.ts'
old = subprocess.check_output(['git','show',f'2d8940935372d08348ea2a1d3f95c2bfec6aebc1:{p}'])
new = subprocess.check_output(['git','show',f'd7bf6252dd05908f520dfe15004383c50af394d5:{p}'])
import difflib
print(''.join(difflib.unified_diff(old.decode().splitlines(True),new.decode().splitlines(True))))
changes = list(difflib.SequenceMatcher(None, old, new, autojunk=False).get_opcodes())
restored = bytearray()
for tag, i, j, k, l in changes:
    restored.extend(new[k:l] if tag == 'equal' else old[i:j])
print('Byte restoration matches baseline:', bytes(restored) == old)
print('Checkout HEAD:', subprocess.check_output(['git','rev-parse','HEAD'],text=True).strip())
PY

Length of output: 16544


@lemone112 Перепроверил d7bf6252dd05908f520dfe15004383c50af394d5. Замечание «краткие русские документации» исправлено.

  • В browser/11-behaviors-pointer.spec.ts изменены только две строки: название теста использует «нижняя панель», комментарий — «потребителе».
  • release сохранён как точное имя фазы.
  • Расчёт срока, assertions и callback не изменены. Других изменённых файлов нет.
  • CI нового SHA завершился успешно. Проверки Chromium, Firefox, WebKit и consumer contract прошли. profile-baseline имеет статус SKIPPED, а не SUCCESS.

Результат этой перепроверки: PASS. Текстовая правка не требует пересмотра прежнего substantive review логики. Она не подтверждает закрытие PROFILE-01, JOURNEY-01 или готовность release.

В GitHub пока сохраняется CHANGES_REQUESTED от ревью коммита 2d894093. Статус проверки CodeRabbit SUCCESS не заменяет этот verdict. Запускаю повторное ревью для его актуализации.

[review]

You are interacting with an AI system.

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

Для d7bf6252dd05908f520dfe15004383c50af394d5 исправление двух русских пояснений уже подтверждено вашим ответом #479 (comment); обязательный CI зелёный. После окна включённого review прошу обновить формальный verdict. Полное повторное ревью неизменённой логики не требуется; гейты сохранены.

@coderabbitai

coderabbitai Bot commented Oct 6, 2026 •

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@lemone112
lemone112 merged commit 6e198fc into main Oct 6, 2026
12 checks passed
@lemone112
lemone112 deleted the test/motion444-sheet-deadline-20261005 branch October 6, 2026 00:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant