Решение
Закрыть как not planned: несогласованность реальна, но рабочего потребителя этой функции в проверенном коде нет. Исправление не реализовано.
Что воспроизведено
Для content:
[{ type: 'text', text: '\n<teammate-message teammate_id="a">hi</teammate-message>' }]
isRealUserLine возвращает true, тогда как isUserChunkLine = false и isTeammateRelayLine = true. Причина — отсутствие trim перед проверкой relay в array-ветке.
Почему отдельная задача не нужна
Поиск всех мест использования показал только определения, импорты/реэкспорты и тестовые вызовы isRealUserLine. Реэкспорт в hook не означает использование для границы хода: действующий путь использует isTurnBoundary / isUserChunkLine.
Не описывать это как действующую поломку hook или UI и не строить работу вокруг гипотетического будущего потребителя.
Когда вернуться
При появлении реального вызова либо попутном изменении этой функции выровнять trim в строковой и array-ветках и закрепить поведение минимальным тестом.
Код: isRealUserLine, действующая граница хода. Методика и ограничения проверки: #59.
Решение
Закрыть как not planned: несогласованность реальна, но рабочего потребителя этой функции в проверенном коде нет. Исправление не реализовано.
Что воспроизведено
Для content:
isRealUserLineвозвращаетtrue, тогда какisUserChunkLine = falseиisTeammateRelayLine = true. Причина — отсутствие trim перед проверкой relay в array-ветке.Почему отдельная задача не нужна
Поиск всех мест использования показал только определения, импорты/реэкспорты и тестовые вызовы
isRealUserLine. Реэкспорт в hook не означает использование для границы хода: действующий путь используетisTurnBoundary/isUserChunkLine.Не описывать это как действующую поломку hook или UI и не строить работу вокруг гипотетического будущего потребителя.
Когда вернуться
При появлении реального вызова либо попутном изменении этой функции выровнять trim в строковой и array-ветках и закрепить поведение минимальным тестом.
Код: isRealUserLine, действующая граница хода. Методика и ограничения проверки: #59.