Fork of Dino XMPP client with additional features
Go to file
Miquel Lionel 2f7f7c37c8 Fix " Dino does not add own account to roster" (#696)
should close #696

(cherry picked from commit 75c76e33bde1238a474eee7ac09acd3036bcbdd6)
2024-04-24 17:25:27 +03:00
.github/workflows Added a workaround for the bug that breaks apt update 2024-04-24 15:56:36 +03:00
cmake webrtc: Replace dsp and echoprobe by gst webrtcdsp and webrtcechoprobe 2024-04-19 11:28:06 +03:00
crypto-vala Allow using OpenSSL instead of GnuTLS 2024-04-01 16:38:27 +03:00
libdino Support dark theme switch in settings 2024-04-24 16:13:37 +03:00
main Fix " Dino does not add own account to roster" (#696) 2024-04-24 17:25:27 +03:00
plugins Added array_length=false attribute for subkeys and uids 2024-04-22 15:43:29 +03:00
qlite meson: Install more stuff 2023-10-06 15:25:12 +02:00
shared-modules@d0229951ac Add shared modules to use libcanberra in Flatpak 2024-03-19 13:00:22 +03:00
windows-installer Added Dino+ info to LICENSE_SHORT 2024-04-18 15:20:17 +03:00
xmpp-vala Show file upload/download progress 2024-04-16 18:21:42 +03:00
.gitignore put meson-build script for windows (mingw64) 2024-04-01 16:38:27 +03:00
.gitmodules Add shared modules to use libcanberra in Flatpak 2024-03-19 13:00:22 +03:00
build-flatpack.sh Added flatpak autobuild (#19) 2024-03-22 12:52:36 +03:00
build-win64.sh webrtc: Replace dsp and echoprobe by gst webrtcdsp and webrtcechoprobe 2024-04-19 11:28:06 +03:00
BUILD_MACOS.md Add instructions for install dino via homebrew 2024-04-18 13:12:48 +03:00
CMakeLists.txt windows: Enable wasapi on windows 2024-04-19 11:28:06 +03:00
configure webrtc: Replace dsp and echoprobe by gst webrtcdsp and webrtcechoprobe 2024-04-19 11:28:06 +03:00
dino.doap Add missing since to DOAP 2023-03-20 15:53:53 -06:00
dino.doap.in Add missing since to DOAP 2023-03-20 15:53:53 -06:00
dino_plus.png Add up-to-date screenshot 2024-03-27 13:22:15 +04:00
im.dino.Dino.json Add shared modules to use libcanberra in Flatpak 2024-03-19 13:00:22 +03:00
LICENSE Update license text (#1186) 2022-01-29 15:46:37 +01:00
LICENSE_SHORT Added Dino+ info to LICENSE_SHORT 2024-04-18 15:20:17 +03:00
meson.build webrtc: Replace dsp and echoprobe by gst webrtcdsp and webrtcechoprobe 2024-04-19 11:28:06 +03:00
meson_options.txt windows: Enable wasapi on windows 2024-04-19 11:28:06 +03:00
README.md webrtc: Replace dsp and echoprobe by gst webrtcdsp and webrtcechoprobe 2024-04-19 11:28:06 +03:00

This is Dino+
A modern XMPP/Jabber client software, based on Dino

screenshots

Project description

Dino+ is a fork of Dino, a modern XMPP/Jabber client written in Vala using GTK+, which includes a few relatively minor but important quality-of-life features.

It was created due to upstream project's maintainers being seemingly unwilling to accept PRs from the community. As of March 2024, there are over 50 PRs pending, most of which are silently ignored.

Some of the features that Dino+ implements:

  • Windows support
  • Proper sync for chats history, including "scroll-to-load"
  • Forced MAM sync for chats
  • Password change via GUI
  • Optional support for Meson build system
  • Some additional QoL-features

What's currently in the works:

  • Multiple UI fixes
  • Fixes for sound notifications
  • MacOS support for Mac silicon
  • and more

Dino+ is currently to be considered an alpha-quality product. Please open an issue or send a PR if you spot or fix any bugs.

OS support

  • Linux (flatpaks are targeted for Ubuntu 22.04+)
  • Windows 10\11
  • MacOS via brew (very experimental!)

We only support 64 bit platforms.

Installation (prebuilt packages)

Have a look at our releases.

Windows installer is self-explanatory, and will place a shortcut on your desktop. Ignore the possible warning from Windows Defender: it's caused by the fact that installer does not have a digital signature.

Flatpak is not present in Flathub yet, but you can install it manually. The commands below assume that you have "flatpak" package of your distro installed in your system. If it is not, please refer to https://flatpak.org/setup/

  1. Download the .flatpak file from releases
  2. Add default Flatpak repo:
    flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
    
  3. Change the directory to the one you've downloaded the .flatpak to and run:
    flatpak install ./im.dino.Dino.flatpak
    
  4. To launch the program, run either
    /usr/bin/dino
    
    or
    flatpak run im.dino.Dino
    

Flatpak distribution is confirmed to be working on Arch Testing, Manjaro Stable, Void Linux and Linux Mint.

Build on Linux

Make sure to install all dependencies.

./configure
make
build/dino

If you want to use meson build system, follow the next instructions:

meson setup build
meson configure --prefix $PWD/build/install --libdir lib build
meson compile -C build
meson install -C build
LD_LIBRARY_PATH+=:$PWD/build/install/lib build/install/bin/dino

If your nice library depends on libsoup-2.4 (consider ldd output for the libnice.so), you should additionally specify -Duse-soup2=true option. LD_LIBRARY_PATH should point to the directory containing the libdino.so library. Skip meson configure step, if you want to install the program globally. You can specify any convenient directory in the option --prefix where the program will be installed.

If there is no webrtcdsp plugin in your system (check this by calling gst-inspect-1.0 webrtcdsp) you should pass extra argument:

  • --without-webrtcdsp for ./configure;
  • -Dplugin-rtp-webrtc-audio-processing=disabled for meson;
  • -DPLUGIN_RTP_WEBRTC_AUDIO_PROCESSING=OFF for cmake.

In addition, there is a git version of this package for Arch Linux on AUR

Build on Windows (x86_64)

  • Install and configure the MSYS2 package;
  • Go to MINGW64 environment;
  • Clone project:
    git clone https://github.com/mxlgv/dino && cd dino
    
  • Run the script to install dependencies:
    ./build-win64.sh --prepare
    
  • Start the build (the builded distribution is available in the windows-installer/dist-win64 folder):
    ./build-win64.sh
    

If you want to use meson build system, please use -s meson key as the first argument, i.e.

bash build-win64.sh -s meson -c -b

will do the same as commands above, but using meson.

Note: the build script has some other options, their description can be found using the --help.

Build Windows Installer (NSIS)

Before this, you must build the project according to the instructions above. It's worth making sure that windows-installer/dist-win64 is not empty. Now you should run:

./build-win64.sh --build-installer

Build on MacOS

Builds for Mac are currently available only as a brew formulae. Please follow these instructions to produce a build.

Please note that Mac support is very experimental, and currently missing support for event notifications, among other things. You have been warned.

Resources

  • Original project's website.
  • Dino's chat room chat@dino.im (please don't post there any issues related to this fork!)
  • The upstream project's wiki provides additional information.

Contribute

  • Pull requests are welcome!
  • Look at how to debug Dino before you report a bug.
  • Help translating Dino into your language.

Special thanks

We'd like to thank all of the contributors whom provided the PRs used in this project.

We also recognise the previous efforts of LAGonauta without whom Windows build wouldn't be available.

License

Dino+, a modern XMPP/Jabber client software based on Dino
Copyright (C) 2016-2023 Dino contributors
Copyright (C) 2024 Dino+ contributors

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.