diff --git a/backend/static/js/controllers/chatControllerV2.js b/backend/static/js/controllers/chatControllerV2.js
index ef01abc1..88f86a16 100644
--- a/backend/static/js/controllers/chatControllerV2.js
+++ b/backend/static/js/controllers/chatControllerV2.js
@@ -513,11 +513,14 @@ export class ChatControllerV2 {
const messageEl = this.scrollElement.querySelector(`[data-message-id="${messageId}"]`);
if (messageEl) {
- messageEl.scrollIntoView({
- behavior: 'instant',
- block: 'center',
- inline: 'nearest'
- });
+ // ✅ КРИТИЧНО: НЕ используем scrollIntoView() - он скроллит родителей!
+ // Вместо этого вручную скроллим только scrollElement
+ const containerRect = this.scrollElement.getBoundingClientRect();
+ const messageRect = messageEl.getBoundingClientRect();
+ const relativeTop = messageRect.top - containerRect.top;
+ const targetScrollTop = this.scrollElement.scrollTop + relativeTop - (this.scrollElement.clientHeight / 2) + (messageRect.height / 2);
+
+ this.scrollElement.scrollTop = Math.max(0, targetScrollTop);
return true;
}
diff --git a/backend/templates/communications/chat_detail.html b/backend/templates/communications/chat_detail.html
index af430058..6f0b6897 100644
--- a/backend/templates/communications/chat_detail.html
+++ b/backend/templates/communications/chat_detail.html
@@ -311,8 +311,8 @@
{# ========== CHAT DETAIL PAGE - CORE FUNCTIONALITY ========== #}
- {# chatDetail.js инициализирует все компоненты в правильном порядке #}
-
+ {# chatDetailV2.js - чистая архитектура с прямым импортом V2 #}
+
{# ========== CHAT DETAIL - UI ENHANCEMENTS ========== #}
{# Реакции, контекстное меню, выделение, голосования #}