# Замечания к серверу и UI (найдено при редизайне) Код по этим пунктам не менялся. ## Ошибки 1. **Лента «Подписки» пуста у логинов с заглавными буквами** (например `User_t2_03`). `Net_ListSubscriptionsFeed_Handler.loadFollowedChannels` ищет `connections_state.login = ?` в исходном регистре, а в `connections_state` логин хранится в нижнем регистре (FK на `solana_user_pda_current.normalized_login`). Подписки в базе есть, но `followedChannels` пуст. Отсюда же «подписка не срабатывает» в UI: кнопка не меняется на «Отписаться», канал не появляется в «Подписках». 2. **Превью в списке чатов — «Сообщение недоступно»**, хотя в самом чате сообщения расшифровываются. `messages-list.js` строит превью по `dialog.lastMessageBlobB64`, `catch` глушит настоящую ошибку. Проверить, не бывает ли так у реальных пользователей (например, если последнее сообщение отправлено с другого устройства). 3. **Прямой переход по адресу** `/settings`, `/profile`, `/channels/new` при загрузке страницы уводит на «Личные». 4. **`?localWsPort=` теряется при навигации**: после обновления страницы UI молча подключается к `shineup.me`. ## Безопасность / конфигурация 5. **Приватный ключ web-push в репозитории**: `SHiNE-server/src/main/resources/application.properties` → `webpush.vapid.private`. Если он совпадает с продовым — перевыпустить и убрать из git. 6. По умолчанию сервер представляется логином прода `server.SHiNE.login=shineupme` — при запуске вне прода легко перепутать. ## На будущее 7. **Каждое действие перерисовывает страницу целиком** (лайк → шапка на мгновение «Канал / Загрузка…», лента перестраивается), отсюда «дёрганье» при переходах назад. Нужны оптимистичные обновления (лайк/ответ меняют только свой элемент), кэш загруженных лент между переходами, обновление без полной перерисовки. 8. **Кэш модулей после деплоя.** Страницы в `js/app.js` подключаются с метками `?v=…`, а `js/components/*` и `js/services/*` — без меток, браузер может держать старую версию. Для изменённых страниц метки подняты до `?v=202609260900`; для остальных модулей стоит проверить заголовки кэширования или ввести общую метку версии, как у CSS и `app.js`. ## Не сделано в редизайне - Автопроверка серверов в настройках. - Число подписчиков в шапке канала (нет в API).