mxlgv / dino Goto Github PK
View Code? Open in Web Editor NEWThis project forked from dino/dino
This is Dino+ A modern XMPP/Jabber client software, based on Dino
License: GNU General Public License v3.0
This project forked from dino/dino
This is Dino+ A modern XMPP/Jabber client software, based on Dino
License: GNU General Public License v3.0
Hi,
I was wondering if you could merge dino#1212 ? This would help in group chats so you readily know the contact name instead of memorizing their JID.
Thank you
Thank you for merging dino#1414 as #20! As I mentioned in a comment on the upstream PR:
Thanks for this PR! My two cents as a user of JMP (where encryption with the SMS bridge is pointless) is that an option to select "none" as default is an important addition.
Would you be willing to add such an option to this fork?
Thank you!! This fork is working very well on the pinephone and desktop!
Joseph
When make calls from windows outgoing audio steam can have sound artifact.
Scaling up avatars and other elements would probably go along with this.
Currently Dino+ fails to properly minimize to taskbar when user presses the taskbar window, and fails to maximize when users does the same.
Look here to find out the reason for the failure: https://github.com/mxlgv/dino/actions/runs/8449074267/job/23142414308
Currently we are able to produce a build which will technically run. What's currently broken are voice calls (MacOS user hears their correspondent, but not the other way around) and notifications.
This is for the purpose of tracking our efforts of porting the build procedure to Meson. The goal here is to unify the process between OSes. As of now, it'll still require usage of mingw64 on Windows, since we're not going to drop GnuTLS in favor of OpenSSL for the time being.
Installing the flatpak (Dino+ version 0.4.3.4) on up-to-date Armbian 24.2.1 (Debian 12), I get the following warning:
Info: runtime org.gnome.Platform branch 44 is end-of-life, with reason:
The GNOME 44 runtime is no longer supported as of March 20, 2024. Please ask your application developer to migrate to a supported platform.
Info: applications using this runtime:
im.dino.Dino
The tags should now look like this: a.b.c.d
, where a.b.c
is the latest version of the original Dino. d
- changes made as part of the Dino+ project.
Thus the next release of Dino+ v0.4.3.4
Native building through msvc on windows is possible with openssl library.
It is recommended to use meson because it is native tool to build vala and glib-oriented projects.
Dino
can be built on windows using mingw + cmake or meson + gnutls.Dino
can be built though meson with openssl but w/o ICE plugin. That's why calling does not work now.The GnuTLS
library is used in the ICE plugin to establish encrypted session.
There are 2 parts in the plugin (dtls_srtp.vala
):
NORMAL:!VERS-TLS-ALL:+VERS-DTLS-ALL:+CTYPE-CLI-X509
.It seems all of the above features are supported by openssl.
There is no much information about DTLS handshaking between openssl and gnutls.
The first part (X509) can be easily ported on openssl.
The most unlear part is SRTP support, set priority string and handshaking.
Memory leak occurs during a call in both Windows and GNU\Linux.
After installing the Dino+ 0.4.3.4 flatpak on Armbian 24.2.1 (Debian 12) on an aarch64 machine, and rebooting, I tried running flatpak run im.dino.Dino
, but the output is:
Note that the directory
'/home/tim/.local/share/flatpak/exports/share'
is not in the search path set by the XDG_DATA_DIRS environment variable, so
applications installed by Flatpak may not appear on your desktop until the
session is restarted.
bwrap: execvp ldconfig: Exec format error
error: ldconfig failed, exit status 256
This may be related to flatpak/flatpak#5228
After updating MinGW Dino+ does not build. One of the problems is with HINSTANCE
.
Suggested fix:
diff --git a/libdino/src/service/util.vala b/libdino/src/service/util.vala
index 496994c8..22708c74 100644
--- a/libdino/src/service/util.vala
+++ b/libdino/src/service/util.vala
@@ -6,7 +6,7 @@ namespace Dino {
public class Util {
#if _WIN32
[CCode (cname = "ShellExecuteA", cheader_filename = "windows.h")]
- private static extern int ShellExecuteA(int* hwnd, string operation, string file, string parameters, string directory, int showCmd);
+ private static extern int* ShellExecuteA(int* hwnd, string operation, string file, string parameters, string directory, int showCmd);
[CCode (cname = "CoInitialize", cheader_filename = "windows.h")]
private static extern int CoInitialize(void* reserved);
@@ -14,7 +14,7 @@ public class Util {
[CCode (cname = "CoUninitialize", cheader_filename = "windows.h")]
private static extern void CoUninitialize();
- private static int ShellExecute(string operation, string file) {
+ private static int* ShellExecute(string operation, string file) {
CoInitialize(null);
var result = ShellExecuteA(null, operation, file, null, null, 1);
CoUninitialize();
The second error is related to Yolort:
C:/msys64/home/user/dino/plugins/windows-notification/yolort/include/winrt/yolort_impl/winrt/Windows.UI.Notifications.h:554:173: error: conversion from 'winrt::impl::bind_in<std::chrono::time_point<winrt::clock, std::chrono::duration<long long int, std::ratio<1, 10000000
> > > >' to 'int64_t' {aka 'long long int'} is ambiguous
554 | check_hresult(WINRT_IMPL_SHIM(Windows::UI::Notifications::IScheduledToastNotificationFactory)->CreateScheduledToastNotificationRecurring(*(void**)(&content), impl::bind_in(deliveryTime), impl::bind_in(snoozeInterval), maximumSnoozeCount, &value));
There is no solution yet...
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.