Это Laney 2 — кроссплатформенная версия Laney, альтернативного мессенджера ВКонтакте, написанная на платформе .NET с использованием UI-фреймворка Avalonia.
Первая версия Laney разрабатывается с 2018 года, является UWP-приложением, которое работает на компьютере и смартфоне на Windows 10, и в Xbox.
В связи с желанием разработчика и пользователей иметь кроссплатформенную версию Laney, а также с устареванием платформы UWP, в конце 2021-го года было принято решение написать с нуля новую версию.
Главное отличие Laney от десктопного приложения VK Мессенджер — мгновенный запуск и быстрая работа приложения, а также более экономное потребление ОЗУ.
Warning
macOS: приложение не подписано. Для запуска введите в терминале xattr -r -d com.apple.quarantine /Applications/Laney.app
Linux: установите libvlc. Без него Laney не сможет воспроизводить звуки уведомлений и проигрывать музыку и голосовые сообщения.
APT (Ubuntu, etc.): sudo apt install libvlc-dev
DNF (Fedora, etc.): sudo dnf install vlc-devel.
Если не сработает, попробуйте установить и сам VLC.
Сначала установите .NET SDK 10 и PowerShell.
Для проверки корректности установки: dotnet --version и pwsh -v.
git clone --recurse-submodules https://github.com/Elorucov/Laney-Avalonia.git
cd Laney-Avalonia/L2
dotnet runЗапустите скрипт build_aot.ps1, находящийся в папке L2:
- На Windows:
pwsh .\build_aot.ps1 - На Linux/macOS:
pwsh ./build_aot.ps1
Скрипт скомпилирует релизную версию программы (т. е. выполнит dotnet publish -c Release). Для Windows и macOS будут скомпилированы x86-64 и arm64-версии, для Linux — только x86-64. 32-битные версии не поддерживаются.
Скрипт в конце выведет путь к скомпилированной программе.
Обратите внимание: скрипт скомпилирует бинарник только для той ОС, на которой запущен скрипт.
Warning
На данный момент скрипт не работает корректно на macOS.
Скрипту можно передавать аргумент channel, доступны два значения: BETA и RELEASE.
pwsh ./build_aot.ps1 -channel RELEASEЭто папка, где Laney хранит свои данные: файл с настройками и токеном, логи и кэш. В Windows она находится по адресу C:\Users\<User>\AppData\Local\ELOR\Laney\, в macOS — /Users/<User>/Library/Application Support/ELOR/Laney, в Linux — $HOME/.local/share/ELOR/Laney.
Местоположение папки можно менять, для этого надо запускать Laney с аргументом командной строки -ldp=<path>, где <path> — это путь к папке (например, laney.exe -ldp=D:\custom\folder\for\my\fake\account\)
Таким образом, например, вы можете создавать несколько папок для ваших фейков разных пользователей, и дял этих папок одновременно запустить свой экземпляр Laney.
В репозитории находится файл demo.json. Если скопировать этот файл в локальную папку, то Laney запустится в демо-режиме. В таком случае будут отображаться только те чаты и сообщения, которые были прописаны в файле, а большинство функций становятся недоступной.
Описание файла находится тут
При пуше в ветку beta и release автоматически запустится Action, который соберёт и выложит сборки в разделе Releases. Не забудьте перед пушем сменить версию приложния в L2.csproj и в MacOS_layout\Contents\Info.plist.
На данный момент реализована приблизительно половина функциональности из старой версии Laney, но пока отсутствуют следующие фичи:
- Горячие клавиши (реализовано только отправка сообщения).
- Просмотр непрочитанных чатов. В сообществах ещё и важные с неотвеченными.
- Некоторые функций в окне информации о пользователе/сообществе/чате.
- Кастомизация интерфейса (смена акцентного цвета, фон под сообщениями и темы чатов).
- Системные уведомления. На данный момент Laney отображает уведомления в своём стиле.
- Настройка приватности.
- Отправка фото и файлов через буфер обмена (однако их можно отправить с помощью перетаскивания в окно (drag'n'drop)).
- Все функции фотопросмотрщика (пока он умеет только отображать фото).
- Запись голосовых сообщений.
- Просмотр историй.
- Просмотр постов.
- Опросы и их создание.
- Просмотр некупленных стикерпаков.
- Приглашение в чат, а также присоединение в чат по ссылке.
- Оптимизировать работу приложения с большими кол-вами добавленных сообществ. На данный момент каждое добавленное в приложение сообщество можно запускать в отдельном окне, и они будут одновременно работать. При больших кол-вах добавленных групп (особенно активных) API чаще будет возвращать ошибку 6.
- Callback-кнопки ботов и карусель (код последнего уже написан)
- Выбор участника чата после ввода @.
- Создание аватарок для чатов и статистика чатов.
- Форматирование текста.
- Фичи из VK Мессенджера, которые недоступны сторонним приложениям, но были реализованы в старой версии Laney. (папки, архив и др.)
- Из-за анимированных стикеров увеличивается потребление ОЗУ. Проблема на стороне используемой библиотеки.
- Непроходимая капча (ВК выкатили
not_robot_captcha, который требует WebView)
- Выделить проект VKUI в отдельный репозиторий, чтобы другие разработчики могли использовать VKUI в своих Avalonia-приложениях. Возможно, ещё и ELOR.VKAPILib, но пока не планирую.