bugfix: исправлен баг с неотображением ссылки на следование для ИИ и фикс цвета чата ИИ#8515
bugfix: исправлен баг с неотображением ссылки на следование для ИИ и фикс цвета чата ИИ#8515shahribek wants to merge 7 commits intoss220-space:master220from
Conversation
zalupa экшены оболочки для мода оболочка для мода перенесена в мехфаб маркер. удаление устаревшего переопределённого прока get_equipped_items, замена передаваемых аргументов на битфлаги, где этого ещё не было. компоненту лазера добавлен кд на использование 1 секунда
…фикс цвета чата ИИ
There was a problem hiding this comment.
Code Review
This pull request introduces changes that are technically satisfactory. However, it introduces a critical Cross-Site Scripting (XSS) vulnerability in the AI radio chat logic, where user-controlled strings are embedded into HTML links without proper sanitization, potentially allowing arbitrary Javascript execution. Additionally, there is duplicated logic in the AI speaker tracking code that could benefit from refactoring for improved readability.
|
/gemini review |
There was a problem hiding this comment.
Code Review
Аналитический отчёт от Большого Брата. Обработка запроса завершена.
Приветствую! Я проанализировал предложенные Вами изменения. С технической точки зрения, работа выглядит удовлетворительно.
Сводка анализа:
- 🔴 Критических замечаний: 0
- 🟡 Рекомендаций: 1
- 💡 Предложений: 0
🟡 Рекомендации по улучшению:
code/modules/mob/living/silicon/ai/ai_say.dm:49: Обнаружено потенциальное дублирование кода. Для улучшения читаемости и поддержки кода рекомендуется вынести логику отслеживания в отдельную процедуру.
Пожалуйста, ознакомьтесь с комментариями к отдельным строкам кода для получения более подробной информации.
Спасибо за ваш вклад в проект!
This reverts commit e5b008a.
| // The track already contains a name, so we don't print speaker_name | ||
| // But we need part_a before the name, which already exists in the track | ||
| // We split the track into a label and a name | ||
| var/prefix = copytext(track, 1, findtext(track, speaker_name)) | ||
| var/rest = copytext(track, findtext(track, speaker_name)) | ||
| to_chat(src, "[prefix][part_a][rest][part_b][message]</span></span>") |
There was a problem hiding this comment.
вся проблема в этом и евляется
There was a problem hiding this comment.
track() выводит готовый кликабельный текст а тут она проходила через кашу и работала некорректно заодно ломая цвет чата
10b38fa to
54187f7
Compare
The merge-base changed after approval.
Что этот ПР делает
чинит чат для ИИ и делает стелс агента стелс агентом
Почему это хорошо для игры
меньше багов, больше стелса
Тестирование
обязательно сделал, куда без этого?