Files
SHiNE-server/docs/UI-Design/ISSUES-for-dev.md
T
qandClaude Opus 5.5 f8900e531a UI: новый общий стиль, тёмная/светлая тема, настраиваемая палитра
- styles/main.css: роли цветов (по умолчанию «Индиго»), шкала отступов/скруглений/шрифтов,
  цвета отношений для обеих тем; жёсткие цвета в стилях заменены на роли.
- Палитра: пресеты и личные правки, «Оформление» Авто/День/Ночь, долгое нажатие —
  редактор цветов с экспортом/импортом.
- Каналы: пузыри постов автора, плашки дней, строка «Написать в канал…», «О канале»,
  создание канала с адресом из названия; лента открывается на свежих постах.
- Чаты: плоский список, чипы-фильтры, пузыри, плашки дней; нижняя панель скрыта в переписке.
- Корневые разделы — единая шапка; профиль и чужой профиль — общая карточка;
  настройки, кошелёк, сеансы — меню-списки.
- Нижняя панель: иконки без подписей, бейджи на иконках.
- confirmDialog вместо window.confirm/alert; на телефоне диалоги — шторки снизу.
- docs/UI-Design/ISSUES-for-dev.md — найденные ошибки сервера/UI.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 10:05:26 +03:00

3.6 KiB
Raw Blame History

Замечания к серверу и 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.

Безопасность / конфигурация

  1. Приватный ключ web-push в репозитории: SHiNE-server/src/main/resources/application.properties → webpush.vapid.private. Если он совпадает с продовым — перевыпустить и убрать из git.

  2. По умолчанию сервер представляется логином прода server.SHiNE.login=shineupme — при запуске вне прода легко перепутать.

На будущее

  1. Каждое действие перерисовывает страницу целиком (лайк → шапка на мгновение «Канал / Загрузка…», лента перестраивается), отсюда «дёрганье» при переходах назад. Нужны оптимистичные обновления (лайк/ответ меняют только свой элемент), кэш загруженных лент между переходами, обновление без полной перерисовки.

  2. Кэш модулей после деплоя. Страницы в js/app.js подключаются с метками ?v=…, а js/components/* и js/services/* — без меток, браузер может держать старую версию. Для изменённых страниц метки подняты до ?v=202609260900; для остальных модулей стоит проверить заголовки кэширования или ввести общую метку версии, как у CSS и app.js.

Не сделано в редизайне

  • Автопроверка серверов в настройках.
  • Число подписчиков в шапке канала (нет в API).