bakhirev / assayo

📈 Visualization and analysis of your git repository data.
https://assayo.online/
Other
147 stars 10 forks source link

Необработанное исключение при попытке загрузить лог #29

Open ChernyshevDS opened 1 week ago

ChernyshevDS commented 1 week ago

Хотел испробовать проект и загрузил в него лог с нашего долгоиграющего проекта, но, к сожалению, он даже не открылся. Ошибка в консоли браузера:

Uncaught (in promise) TypeError: t.commitsByDayAndHour[e.day] is undefined
    vs author.ts:51
    addCommit author.ts:29
    addCommit index.ts:68
    setCommits DataGrip.ts:56
    setCommits DataGrip.ts:55
    MobX 2
    onChange Success.tsx:118
    getOnDrop index.ts:61

Браузер: Имя: Firefox Версия: 111.0 ID сборки: 20230309232128 ID дистрибутива: Канал обновления: release User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/111.0 ОС: Windows_NT 10.0 19045

bakhirev commented 6 days ago

Дата промахивается. Варианта два:

  1. необычный формат даты
  2. какой-то сдвиг / символ в логе, который ломает парсинг. Есть какие-то особенности локализации? Иврит или Арабский к commit message, необычный часовой пояс, символ ` ?

Возможно ли приложить кусок лога? Можно в частном порядке в телеграмме @bakhirev

bakhirev commented 6 days ago

Добавил отображение ошибки парсинга. Возможно это покажет какую-то информацию, которая поможет. В консоли будет отображаться некорректная дата. Пример:

image

Подскажите, что-то сейчас изменилось?

ChernyshevDS commented 5 days ago

@bakhirev Да, весь лог завален сообщениями вида:

PARSE ERROR: Rename "�D�a�n�i�i�l� �C�h�e�r�n�y�s�h�e�v�" to "�d�a�n�i�i�l�c�h�" getCommitInfo.ts:31:12
PARSE ERROR: Rename "�d�a�n�i�i�l�c�h�@�b�r�i�o�g�r�o�u�p�.�r�u�" to "�d�a�n�i�i�l�c�h�" by "�d�a�n�i�i�l�c�h�" getCommitInfo.ts:41:12
PARSE ERROR: Date parse error for: "�2�0�2�3�-�1�0�-�0�6�T�1�3�:�4�9�:�2�4�+�0�3�:�0�0�>�R�a�m�i�r� �G�i�m�a�l�t�d�i�n�o�v�>�r�g�i�m�a�l�t�d�i�n�o�v�@�b�r�i�o�g�r�o�u�p�.�r�u�>�M�e�r�g�e� �r�e�m�o�t�e�-�t�r�a�c�k�i�n�g� �b�r�a�n�c�h� �'�o�r�i�g�i�n�/�m�a�s�t�e�r�'� �i�n�t�o� �f�e�a�t�u�r�e�/�g�t�e�c�-�i�n�c�l�u�s�i�o�n�-�f�i�l�t�e�r�
�" getCommitInfo.ts:18:12
PARSE ERROR: Date parse error for: "�2�0�2�3�-�1�0�-�0�6�T�1�4�:�3�2�:�3�5�+�0�3�:�0�0�>�R�a�m�i�r� �G�i�m�a�l�t�d�i�n�o�v�>�r�g�i�m�a�l�t�d�i�n�o�v�@�b�r�i�o�g�r�o�u�p�.�r�u�>�F�i�x� �n�o�n� �s�t�o�p�p�i�n�g� �l�o�a�d�i�n�g�s�
�"

Смахивает на проблемы с кодировкой.

UPD: пересохранил лог в UTF8, и процесс пошёл. Затрудняюсь сказать, почему мой лог изначально сохранился в UTF-16LE ¯_(ツ)_/¯

bakhirev commented 5 days ago

ОС -- Windows_NT 10.0, а лог через bash, cmd или power shell снимали? ОС обычная или что-то корпоративное? Добавлю с справку описание такой ситуации. Думаю это будет распространенная ошибка.

ChernyshevDS commented 4 days ago

Команду выполнял в powershell, ОС обычная. Похоже, в powershell оператор > использует переменную $OutputEncoding для определения кодировки вывода. У меня она равна Windows-1252, вот и результат.