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