Об этом проекте

HuLa — это открытая система обмена мгновенными сообщениями, фронтенд которой построен на Tauri, Vite 7, Vue 3 и TypeScript. Благодаря кроссплатформенным возможностям контейнера Tauri один и тот же код фронтенда упаковывается в приложения для настольных и мобильных платформ. Проект поддерживается на Windows 10/11, macOS 10.5+, Ubuntu 22.0+, iOS 9.0+ и Android 12+ (SDK30+). Веб-версия пока не поддерживается; для её использования потребуется самостоятельно удалить функции, связанные с настольной версией. В плане функциональности README содержит довольно полный список прогресса разработки. Аутентификация пользователей поддерживает вход по логину и паролю, вход по QR-коду и управление входом с нескольких устройств. Обмен сообщениями охватывает личные чаты один на один, групповые чаты, отзыв сообщений, упоминания через @ и ответы, статус прочтения, стикеры, контекстное меню сообщений, карточки предпросмотра ссылок, взаимодействие через лайки и управление историей. Социальное управление включает добавление, удаление и поиск друзей, создание и управление группами, статус онлайн, значки друзей, блокировку, чёрные списки и режим «не беспокоить», пересылку сообщений, объявления групп, управление примечаниями и никнеймами, отправку местоположения, а также вход в группу по QR-коду. Интерфейс предлагает современный дизайн, переключение светлой и тёмной темы, а также смену скинов и тем. Системные функции включают управление несколькими окнами, уведомления в системном трее, просмотрщик изображений, скриншоты, голосовые звонки, видеозвонки, глобальные горячие клавиши, отдельный просмотрщик медиа, загрузку файлов на базе Qiniu Cloud, систему автообновления и поддержку интернационализации i18n, готовую примерно на 98%. Проект также интегрирует AI-помощника для чата и заявляет поддержку AI на нескольких платформах. С точки зрения технологического стека Vite 7 отвечает за сервер разработки и production-сборку, композиционный API Vue 3 и система типов TypeScript используются для организации логики интерфейса, UnoCSS и Sass обрабатывают стили, а pnpm выступает менеджером пакетов. В репозитории также предоставляется сопутствующий сервер HuLa-Server, а также документация по настройке окружения и запуску. Установка выполняется клонированием репозитория, после чего нужно выполнить pnpm install, запустить разработку через pnpm run tauri:dev и собрать production-версию через pnpm run tauri:build. Пользователям macOS при появлении сообщения о повреждении установочного пакета необходимо разрешить установку из любого источника в настройках системы или удалить атрибут карантина с помощью команды xattr. В проекте в качестве точки входа для соблюдения правил коммитов используется pnpm run commit. README также содержит отказ от ответственности: программное обеспечение предоставляется «как есть», без гарантий функциональности и безопасности, а при вторичной разработке необходимо соблюдать местные законы и нормативные акты. В репозитории указаны сообщества: официальный сайт, Discord, группы в WeChat и QQ, а также список спонсоров.