Skip to content
space-protocol-projectPublic

About

Общее Flutter-приложение Space для общения и управления серверами

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

374 Commits

Folders and files

Repository files navigation

Space App

Общее Flutter-приложение Space: общение и управление независимыми серверами в одном интерфейсе.

Опубликован клиент v0.7.21+51 с runtime v0.7.17: персональные отметки чтения публикаций и комментариев ленты, общие для устройств, и счётчики непрочитанного в ленте и сводке. Поиск с пропуском комментариев не прочитывает их автоматически; есть команда «Открыть непрочитанное». Схема PostgreSQL 33 (миграция 32→33), голосовой профиль 3. Перед обновлением сохраните копию пространства и ключей MLS. Изменения.

Результаты выпуска отметок чтения: CI, опубликованные установщики и контрольные суммы. Предыдущие пары: поиск и сводка v0.7.20 / v0.7.16, первый срез ленты v0.7.19 / v0.7.15.

На сайте можно выбрать светлую или тёмную тему снимков. Основные экраны промогалереи можно воспроизвести в обеих темах: задайте SPACE_SITE_GALLERY_OUTPUT и запустите из client flutter test test/site_gallery_test.dart. Это снимки полного SpaceShell с демонстрационной сессией, полученные widget-тестами.

Возможности

Android: установите Space-android.apk из выпуска. Мобильное приложение подключается к пространствам по ссылке или QR (камера либо изображение), поддерживает чат и управление. Создание домашнего сервера доступно только на Windows, macOS и Linux. Обновления Android устанавливаются новым APK, подписанным тем же ключом.

При открытии приложения показывается общая сводка по сохранённым серверам. У каждого сервера — отдельная вкладка-иконка слева, свой список каналов, права и сессия. Dashboard суммирует доступные каналы и непрочитанные; переключение сохраняет черновики и соединения других пространств.

Главная приложения Space

Снимок Flutter-виджетов v0.2.2 с двумя демонстрационными серверами, обновлён 14 октября 2026 года. Все десять экранов. Вложения доступны в чатах начиная с v0.3.0. Лента и медиа остаются будущими этапами; форум доступен с v0.7.13; снимок отражает прежнюю версию интерфейса.

Чат, автоматическое обновление каналов и прав, непрочитанные сообщения, настройки, каналы/ACL, участники, приглашения, устройства, recovery-карточки и сопряжение. Локализация: русский, упрощённый китайский и английский для оболочки, обзора, поиска, личных настроек, основных элементов подключения, чата и домашнего запуска; настройки сервера, назначение владельца и выдача разрешения устройству также переведены. Каналы и редактор прав также переведены; смена языка сохраняет несохранённые названия и ACL. Участники, роли и блокировка также переведены; смена языка сохраняет поиск и несохранённые изменения. Приглашения также переведены: создание, срок, число использований, копирование и отзыв. Устройства, разрешения и отзыв доступа также переведены. Общие формы восстановления, сопряжения, смены ключа и QR-камеры также переведены. Сообщения операций и подтверждения восстановления, сопряжения и смены ключа также переведены. Низкоуровневые ошибки криптографии, запуска и сервера пока требуют отдельного перевода.

«Выйти в эфир» устанавливает проверенный runtime из space-server, создаёт собственную PostgreSQL и сертификат для статического IPv4, назначает владельца локально и открывает управление в этом же приложении. После запуска кнопка становится «Отключиться». Повторный запуск использует тот же сервер и данные. Для друзей нужен проброс TCP 8443 и разрешение брандмауэра.

Разработка

Обновлённый Flutter-интерфейс

Оболочка по согласованному концепту: кнопки пространств без фоновой панели, скруглённый слева список каналов с прямым стыком чата, компактная карточка справа и входящие/исходящие пузырьки. Снимок получен из настоящих Flutter-виджетов с демонстрационными данными, а не из работающего сообщества. Палитры, логотип и локальные шрифты сохранены. Снимок иллюстрирует интерфейс с демонстрационным разговором.

Flutter 3.47.8 и входящий в него Dart 3.13.7 (Flutter закреплён в CI). Используем свежие стабильные совместимые версии; результаты обновления и ограничения зависимостей. Из каталога client:

flutter pub get
dart run build_runner build
flutter run -d windows
flutter analyze --no-pub
flutter test --no-pub

Общие пакеты находятся в packages/. Исходники сервера здесь не дублируются. Протокол лежит в space-protocol; сгенерированные Dart bindings сохраняются в client/lib/src/generated. Из корня этого репозитория генерация: buf generate ../space-protocol/protocol/proto --template client/buf.gen.yaml.

Состояние приложения организовано через BLoC/Cubit; в текущих исходниках 14 моделей состояний генерируются Freezed, включая ленту, её черновики и управление. Правила читаемости и проверки, аудит и результаты рефакторинга от 23 октября.

Публикация

В клиенте v0.7.16 и runtime v0.7.13 добавлены жалобы на темы и ответы, очередь модерации и решения с причиной и аудитом. Данные заявителя не возвращаются модераторам; сервер проверяет права и ограничивает повторные жалобы. Возможности и ограничения, 15 снимков полного работающего приложения.

В клиенте v0.7.19 каталог «Эфира» закрепляет опубликованный runtime v0.7.15 для Windows x64, Linux x64 и macOS arm64. Архивы, дескрипторы, размеры и SHA-256 полностью проверены. Сначала обновите клиент, сохраните резервную копию пространства и ключей MLS, затем примените обновление сервера. Схема PostgreSQL — 31, голосовой профиль — 3; бинарный откат к схеме 30 требует восстановления копии. Форум и лента доступны серверу без MLS/E2EE; уже скачанные копии не отзываются.

Первый срез ленты milestone «Сообщества» опубликован в паре v0.7.19 / v0.7.15: хронология, комментарии, вложения, раздельные права, жалобы и модерация. Сервер объявляет core.feed.v1, используется схема 31. Возможности, проверки и ограничения, снимки полного Windows-приложения. Android входит в выпуск; проверка на физическом устройстве отложена по решению пользователя. Поиск, уведомления, редактирование, personas и несколько коллекций внутри одного канала остаются отдельными задачами.

Результаты проверки форума на Windows и воспроизводимый стенд tools/check_forum_windows.ps1. Для ленты используется параметр -Scenario feed; контракт и правила доступа — ADR-046.

В боковой панели — чаты, комнаты и обсуждения с едиными отступами и подстройкой длинных заголовков. Управление пространством, избранное и файлы находятся в «Обзоре». Плавные переходы сохраняют черновики и учитывают системное отключение анимаций. Поле ответа общее с чатом: эмодзи, вложения и отправка; подсказка «Что у вас нового?» убрана.

Система Скачать последнюю версию
Windows 10/11 x64 Установщик EXE
macOS Apple Silicon Образ DMG
Linux x64 Установщик RUN
Android Подписанный APK

SHA-256 установщиков. Ссылки автоматически ведут на последний публичный выпуск. Отдельная подпись манифеста настольного обновления не используется; загрузка проверяется по размеру и SHA-256. Android APK подписывается ключом выпуска, и обновление требует сохранения этой подписи. В установленной Windows-копии приложение запускает установщик и перезапускается после обновления. Как обновить, как восстановить домашний сервер.

В срезе v0.7.13 локально прошли 777 Flutter-тестов (19 штатных пропусков), анализ клиента и пакета управления, проверка COG ≤ 15, Windows Debug и hot reload. Стенд с 32 настоящими WebRTC-соединениями проверил все 992 направления RTP, отказ лишнему участнику и повторное использование места. Это не приёмка разговора 32 людей на реальных устройствах через интернет. Аппаратные проверки голоса и их границы.

Для v0.7.16 локально прошли 795 Flutter-тестов (21 штатный пропуск), анализ и проверка COG ≤15. После закрепления runtime прошли ещё пять тестов каталога, установки и перезапуска. Полный Go-прогон с PostgreSQL, права и scope, жалобы, решения, аудит, защита файлов, гонки и миграция 29→30 прошли. Windows Debug запущен с настоящим сервером и двумя участниками; подготовлены 15 снимков полной оболочки. Релизные CI и установка опубликованного runtime на трёх ОС подтверждены выше.

Тег vX.Y.Z запускает проверки и сборку Windows Setup, macOS DMG, Linux RUN и подписанного Android APK. CI публикует выпуск только после успешных сборок и проверок; описание берётся из одноимённого раздела Changelog.md, вместе с установщиками публикуется SHA-256. Подробности.

Windows прошла нативные стенды аудио и переподключения. Ручные акустика, физические клавиши/гарнитуры, публичный TURN/TLS, перенос на чистую ОС и приёмка на реальном оборудовании macOS/Linux ещё не завершены; Android 10 проверен на Honor PCT-L29 вместе с Windows через TURN TCP, включая фон и восстановление. Android 12+/14+, Bluetooth и длительная нагрузка ещё требуют проверки. Эти ограничения не закрываются зелёным CI: открытая матрица Р1–Р12. DMG пока без подписи Apple и notarization. Звук доступен runtime и не является MLS/E2EE; экспериментальные ограничения MLS сохраняются.

Вложения до пяти файлов по 20 МиБ, независимая политика файлов и квоты каждого сервера, а также уникальное имя участника доступны начиная с v0.3.0. Для клиента v0.7.19 используйте runtime v0.7.15 со схемой 31; прежняя рекомендация runtime v0.3.0 относится к историческому выпуску.

Резервные копии по расписанию и настройки хранения.

Форум в v0.7.16 / runtime v0.7.13: темы, ответы и серверная модерация.

Выпуск v0.7.16 добавляет жалобы, очередь и решения модератора с причиной и аудитом. Требуется runtime v0.7.13 со схемой 30 / core.forum.reports.v1. Сценарий и ограничения, полное приложение.

About

Общее Flutter-приложение Space для общения и управления серверами

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages