There are ongoing discussions right now on transitioning real-time chat primacy from IRC to Matrix in Fedora. For reference, here are some of the discussions:
As that is being worked out, we should try to figure out what Matrix client to preload for the KDE Spin.
There are some requirements for a Matrix client to preload:
As I'm not sure when we'd be making this change, clients that don't satisfy the last point are eligible as long as there's a roadmap to actually get there in time that we'd decide to ship it. We just need to know what the deficiencies are and what timeframes we're looking at for closing those.
There is 4 Qt-based Matrix client:
So if both Quaternion and NeoChat use the same libQuotient library and libQuotient supports end-to-end encryption, what's holding back support for this for the client?
Sorry, libQuotient has some development around e2ee but it's for the moment just a poc and it will need more work to make it work.
Metadata Update from @ngompa: - Issue tagged with: meeting
So tentatively, we're looking at nheko as the client to preload by default, because it's the most advanced one and works well (even though the Plasma Desktop integration is not the best).
nheko
However, @carlschwan, we're interested in hearing more about NeoChat in a future meeting.
Metadata Update from @ngompa: - Issue untagged with: meeting - Issue tagged with: meeting-request
@mattdm posted an update to the development mailing list indicating that we're going forward with implementing this transition imminently.
Thus, we should talk about this in tomorrow's meeting. I've also asked @carlschwan to try to join us in the meeting tomorrow.
Metadata Update from @ngompa: - Issue untagged with: meeting-request - Issue set to the milestone: Fedora 34 (was: Future Release) - Issue tagged with: meeting
We've agreed to ship NeoChat for Fedora 34 by default. The issue with end-to-end encryption is not a major priority for the use-cases we need it preloaded for, and there's potential for this to be solved in the near term anyway.
In order to execute on this, we need to do the following:
@kde-sig
neochat
I have filed relevant issues for NeoChat to target for our use-case:
Metadata Update from @ngompa: - Issue untagged with: meeting
Request from @xvitaly to grant @kde-sig group admin privileges on the package
Done.
We've agreed to ship NeoChat for Fedora 34 by default.
Too buggy and unstable yet. Still has no releases. I use Git snapshots now.
Nheko-reborn
Btw, only nheko supports SSO now.
We've agreed to ship NeoChat for Fedora 34 by default. Too buggy and unstable yet. Still has no releases. I use Git snapshots now.
In our meeting yesterday, @carlschwan indicated that the first releases will be coming in January and NeoChat will be part of the Plasma applications release cadence. I expect things will improve drastically because of that.
In our meeting yesterday, @carlschwan indicated that the first releases will be coming in January and NeoChat will be part of the Plasma applications release cadence
Great. I will build the latest Git snapshot today for testing purposes.
Also someone need to package kquickimageeditor due to the following:
org.kde.kquickimageeditor-QMLModule, QML module 'org.kde.kquickimageeditor' is a runtime dependency.
NeoChat recently switched to the non-released version of libQuotient. I can build the latest snapshots only in COPR repository.
@xvitaly we created a stable branch depending on 0.6.x in preparation of doing the first release this weekend
NeoChat 1.0 is out, but I cannot build it due to missing kquickimageeditor library in Fedora repos.
Can someone package it? I think in the future it will become part of KF5.
We are working on it @xvitaly
Packaged kquickimageeditor and built in my COPR with NeoChat 1.0.
Importantly there was some change in KQuickImageEditor so I needed to release a 0.1.2 version.
https://download.kde.org/stable/kquickimageeditor/0.1/kquickimageeditor-0.1.2.tar.xz
@xvitaly KQuickImageEditor should be considered for now as an internal dependency of NeoChat. We don't have a stable API and the release process is synchronized with NeoChat. So not yet part of KF5 but maybe in the future ;)
Updated in COPR.
KQuickImageEditor should be considered for now as an internal dependency of NeoChat. We don't have a stable API and the release process is synchronized with NeoChat. So not yet part of KF5 but maybe in the future ;)
OK. Renamed to kquickimageeditor.
The package for kquickimageeditor is in the process of being included into Fedora :-)
BTW, users are reporting that version 1.0 from COPR is crashing:
Timestamp: Thu 2020-12-24 08:53:41 EET (32s ago) Command Line: neochat Executable: /usr/bin/neochat Control Group: /user.slice/user-1000.slice/user@1000.service/app.slice/app-org.gnome.Terminal.slice/vte-spawn-fa2eb407-2a3b-4d54-95ac-b65ade355803.scope Unit: user@1000.service User Unit: vte-spawn-fa2eb407-2a3b-4d54-95ac-b65ade355803.scope Slice: user-1000.slice Owner UID: 1000 (tim) Boot ID: 1fab074b5cc7431a9c64efa4e374e24d Machine ID: 00ab5c5d4e8b43598d263254a974136e Hostname: pc Storage: /var/lib/systemd/coredump/core.neochat.1000.1fab074b5cc7431a9c64efa4e374e24d.5752.1608792821000000.zst Message: Process 5752 (neochat) of user 1000 dumped core. Stack trace of thread 5752: #0 0x00007f6662f6c9d5 raise (libc.so.6 + 0x3d9d5) #1 0x00007f6662f558a4 abort (libc.so.6 + 0x268a4) #2 0x00007f66652ac154 _ZSt20__replacement_assertPKciS0_S0_ (libQuotient.so.0.6 + 0x77154) #3 0x00007f66652d2c45 _ZNKSt10unique_ptrIN8Quotient5EventESt14default_deleteIS1_EEdeEv.part.0.lto_priv.0 (libQuotient.so.0.6 + 0x9dc45) #4 0x00007f66652c3d80 _ZN8Quotient10Connection7Private21consumeToDeviceEventsEOSt6vectorISt10unique_ptrINS_5EventESt14default_deleteIS4_EESaIS7_EE (libQuotient.so.0.6 + 0x8ed80) #5 0x00007f66652c4cb6 _ZN8Quotient10Connection13onSyncSuccessEONS_8SyncDataEb (libQuotient.so.0.6 + 0x8fcb6) #6 0x00007f66652cd2e0 _ZN9QtPrivate18QFunctorSlotObjectIZN8Quotient10Connection4syncEiEUlvE_Li0ENS_4ListIJEEEvE4implEiPNS_15QSlotObjectBaseEP7QObjectPPvPb.lto_priv.0 (libQuotient.so.0.6 + 0x> #7 0x00007f6663595386 _Z10doActivateILb0EEvP7QObjectiPPv (libQt5Core.so.5 + 0x2b1386) #8 0x00007f66652aaaf2 _ZN8Quotient7BaseJob7successEPS0_ (libQuotient.so.0.6 + 0x75af2) #9 0x00007f666531b399 _ZN8Quotient7BaseJob9finishJobEv (libQuotient.so.0.6 + 0xe6399) #10 0x00007f6663595386 _Z10doActivateILb0EEvP7QObjectiPPv (libQt5Core.so.5 + 0x2b1386) #11 0x00007f66638ef3b8 _ZN28QNetworkReplyHttpImplPrivate8finishedEv (libQt5Network.so.5 + 0xb63b8) #12 0x00007f666358dd1e _ZN7QObject5eventEP6QEvent (libQt5Core.so.5 + 0x2a9d1e) #13 0x00007f6664cadec3 _ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent (libQt5Widgets.so.5 + 0x1adec3) #14 0x00007f6663565bd8 _ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent (libQt5Core.so.5 + 0x281bd8) #15 0x00007f66635688c7 _ZN23QCoreApplicationPrivate16sendPostedEventsEP7QObjectiP11QThreadData (libQt5Core.so.5 + 0x2848c7) #16 0x00007f66635b2c27 _ZL23postEventSourceDispatchP8_GSourcePFiPvES1_ (libQt5Core.so.5 + 0x2cec27) #17 0x00007f66629ca96f g_main_context_dispatch (libglib-2.0.so.0 + 0x5396f) #18 0x00007f6662a1c758 g_main_context_iterate.constprop.0 (libglib-2.0.so.0 + 0xa5758) #19 0x00007f66629c7d43 g_main_context_iteration (libglib-2.0.so.0 + 0x50d43) #20 0x00007f66635b26f3 _ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt5Core.so.5 + 0x2ce6f3) #21 0x00007f666356457b _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE (libQt5Core.so.5 + 0x28057b) #22 0x00007f666356c1b4 _ZN16QCoreApplication4execEv (libQt5Core.so.5 + 0x2881b4) #23 0x000055578236723e main (neochat + 0x3b23e) #24 0x00007f6662f571e2 __libc_start_main (libc.so.6 + 0x281e2) #25 0x00005557823a99ee _start (neochat + 0x7d9ee) Stack trace of thread 5753: #0 0x00007f666302580f __poll (libc.so.6 + 0xf680f) #1 0x00007f6661aaf842 _xcb_conn_wait.part.0 (libxcb.so.1 + 0xd842) #2 0x00007f6661ab11cc xcb_wait_for_event (libxcb.so.1 + 0xf1cc) #3 0x00007f6651f9a448 _ZN14QXcbEventQueue3runEv (libQt5XcbQpa.so.5 + 0x6a448) #4 0x00007f66633cadf0 _ZN14QThreadPrivate5startEPv (libQt5Core.so.5 + 0xe6df0) #5 0x00007f6662c5e3f9 start_thread (libpthread.so.0 + 0x93f9)
But I cannot reproduce this crash on my system.
If you need a reviewer, I can review it quickly.
The package for kquickimageeditor is in the process of being included into Fedora :-) If you need a reviewer, I can review it quickly.
It's been reviewed already. Awaiting repo generation: here
OK. Great. Please add build override for f33 after building in Koji. Later we can add them to a single Bodhi update.
Full crash backtrace:
Thread 1 "neochat" received signal SIGABRT, Aborted. 0x00007ffff5a199d5 in raise () from /lib64/libc.so.6 Missing separate debuginfos, use: dnf debuginfo-install adwaita-qt5-1.2.0-1.fc33.x86_64 gvfs-client-1.46.1-1.fc33.x86_64 kquickimageeditor-0.1.2-1.fc33.x86_64 libXi-1.7.10-4.fc33.x86_64 libXinerama-1.1.4-6.fc33.x86_64 libXrender-0.9.10-12.fc33.x86_64 libadwaita-qt5-1.2.0-1.fc33.x86_64 libdrm-2.4.102-2.fc33.x86_64 libepoxy-1.5.4-3.fc33.x86_64 libffi-3.1-26.fc33.x86_64 libgpg-error-1.39-1.fc33.x86_64 libicu-67.1-4.fc33.x86_64 libjpeg-turbo-2.0.5-5.fc33.x86_64 libogg-1.3.4-3.fc33.x86_64 libpng-1.6.37-6.fc33.x86_64 libsecret-0.20.4-1.fc33.x86_64 libsndfile-1.0.28-13.fc33.x86_64 libtdb-1.4.3-5.fc33.x86_64 libtool-ltdl-2.4.6-36.fc33.x86_64 libxcb-1.13.1-5.fc33.x86_64 libxkbcommon-1.0.1-1.fc33.x86_64 libxkbcommon-x11-1.0.1-1.fc33.x86_64 nss-mdns-0.14.1-9.fc33.x86_64 openssl-libs-1.1.1i-1.fc33.x86_64 pulseaudio-libs-14.0-2.fc33.x86_64 qgnomeplatform-0.7.0-1.fc33.x86_64 qt5-qtgraphicaleffects-5.15.2-2.fc33.x86_64 qt5-qtquickcontrols-5.15.2-2.fc33.x86_64 qt5-qtquickcontrols2-5.15.2-2.fc33.x86_64 qt5-qtx11extras-5.15.2-2.fc33.x86_64 xcb-util-0.4.0-16.fc33.x86_64 xcb-util-renderutil-0.3.9-17.fc33.x86_64 xz-libs-5.2.5-3.fc33.x86_64 (gdb) bt full #0 0x00007ffff5a199d5 in raise () from /lib64/libc.so.6 No symbol table info available. #1 0x00007ffff5a028a4 in abort () from /lib64/libc.so.6 No symbol table info available. #2 0x00007ffff7d59154 in std::__replacement_assert (__file=<optimized out>, __line=<optimized out>, __function=<optimized out>, __condition=<optimized out>) at /usr/include/c++/10/x86_64-redhat-linux/bits/c++config.h:2560 No locals. #3 0x00007ffff7d7fc45 in std::unique_ptr<Quotient::Event, std::default_delete<Quotient::Event> >::operator*() const [clone .part.0] [clone .lto_priv.0] (this=<optimized out>) at /usr/include/c++/10/bits/unique_ptr.h:407 __PRETTY_FUNCTION__ = {<optimized out> <repeats 230 times>} #4 0x00007ffff7d70d80 in std::unique_ptr<Quotient::Event, std::default_delete<Quotient::Event> >::operator* (this=0x7fffffffd540) at /usr/include/c++/10/bits/unique_ptr.h:173 __PRETTY_FUNCTION__ = {<optimized out> <repeats 230 times>} #5 operator() (ee=..., __closure=<optimized out>) at ../lib/connection.cpp:724 this = <optimized out> this = <optimized out> qt_category_enabled = <optimized out> qt_category_enabled = <optimized out> #6 Quotient::visit<Quotient::Event, Quotient::Connection::Private::consumeToDeviceEvents(Quotient::Events&&)::<lambda(const Quotient::EncryptedEvent&)> > (visitor=..., event=...) at ../lib/events/event.h:353 No locals. #7 Quotient::visitEach<std::vector<std::unique_ptr<Quotient::Event, std::default_delete<Quotient::Event> >, std::allocator<std::unique_ptr<Quotient::Event, std::default_delete<Quotient::Event> > > >&, Quotient::Connection::Private::consumeToDeviceEvents(Quotient::Events&&)::<lambda(const Quotient::EncryptedEvent&)> > (events=...) at ../lib/events/event.h:389 evtPtr = std::unique_ptr<Quotient::Event> = {get() = 0x55555c76f650} __for_range = <optimized out> Python Exception <class 'gdb.error'> value has been optimized out: __for_begin = Python Exception <class 'gdb.error'> value has been optimized out: __for_end = #8 Quotient::Connection::Private::consumeToDeviceEvents (this=0x55555618bac0, toDeviceEvents=...) at ../lib/connection.cpp:711 No locals. #9 0x00007ffff7d71cb6 in Quotient::Connection::onSyncSuccess (this=0x5555561f86d0, data=..., fromCache=<optimized out>) at ../lib/connection.cpp:569 No locals. #10 0x00007ffff7d7a2e0 in operator() (__closure=0x55555a12e190) at ../lib/connection.cpp:501 job = 0x55555669ecb0 this = 0x5555561f86d0 job = <optimized out> this = <optimized out> #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, Quotient::Connection::sync(int)::<lambda()> >::call (arg=<optimized out>, f=...) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:146 No locals. #12 QtPrivate::Functor<Quotient::Connection::sync(int)::<lambda()>, 0>::call<QtPrivate::List<>, void> (arg=<optimized out>, f=...) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:256 No locals. #13 QtPrivate::QFunctorSlotObject<Quotient::Connection::sync(int)::<lambda()>, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=0x55555a12e180, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:443 No locals. #14 0x00007ffff6042386 in QtPrivate::QSlotObjectBase::call (a=0x7fffffffd770, r=0x5555561f86d0, this=0x55555a12e180) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 No locals. #15 doActivate<false> (sender=0x55555669ecb0, signal_index=10, argv=0x7fffffffd770) at kernel/qobject.cpp:3886 obj = std::unique_ptr<QtPrivate::QSlotObjectBase> = {get() = 0x55555a12e180} receiver = 0x5555561f86d0 td = <optimized out> receiverInSameThread = <optimized out> senderData = {previous = 0x0, receiver = 0x5555561f86d0, sender = 0x55555669ecb0, signal = 10} c = 0x555555fbe780 connections = {d = 0x55555a1732e0} list = <optimized out> inSenderThread = true highestConnectionId = 4 signalVector = 0x555559692560 currentThreadId = 0x7ffff2060980 sp = <optimized out> signal_spy_set = 0x0 empty_argv = {0x0} senderDeleted = false #16 0x00007ffff7d57af2 in Quotient::BaseJob::success (this=<optimized out>, _t1=<optimized out>) at Quotient_autogen/3INUWTIJ2C/moc_basejob.cpp:542 _a = {0x0, 0x7fffffffd768} #17 0x00007ffff7dc8399 in Quotient::BaseJob::finishJob (this=0x55555669ecb0) at ../lib/jobs/basejob.cpp:634 No locals. #18 0x00007ffff6042386 in QtPrivate::QSlotObjectBase::call (a=0x7fffffffd8c0, r=0x55555669ecb0, this=0x55555aab2d60) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 No locals. #19 doActivate<false> (sender=0x555559dbb7a0, signal_index=10, argv=0x7fffffffd8c0) at kernel/qobject.cpp:3886 obj = std::unique_ptr<QtPrivate::QSlotObjectBase> = {get() = 0x55555aab2d60} receiver = 0x55555669ecb0 td = <optimized out> receiverInSameThread = <optimized out> senderData = {previous = 0x0, receiver = 0x55555669ecb0, sender = 0x555559dbb7a0, signal = 10} c = 0x55555b02dab0 connections = {d = 0x55555b02c690} list = <optimized out> inSenderThread = true highestConnectionId = 14 signalVector = 0x55555b02d6c0 currentThreadId = 0x7ffff2060980 sp = <optimized out> signal_spy_set = 0x0 empty_argv = {0x0} senderDeleted = false #20 0x00007ffff639c3b8 in QNetworkReplyHttpImplPrivate::finished (this=0x55555af406b0) at access/qnetworkreplyhttpimpl.cpp:2270 q = 0x555559dbb7a0 totalSize = {d = {data = {c = 0 '\000', uc = 0 '\000', s = 0, sc = 0 '\000', us = 0, i = 0, u = 0, l = 0, ul = 0, b = false, d = 0, f = 0, real = 0, ll = 0, ull = 0, o = 0x0, ptr = 0x0, shared = 0x0}, type = 0, is_shared = 0, is_null = 1}} session = {value = 0x0, d = 0x0} #21 0x00007ffff603ad1e in QObject::event (this=0x555559dbb7a0, e=0x7fffb03b8fe0) at kernel/qobject.cpp:1314 mce = 0x7fffb03b8fe0 sender = {previous = 0x0, receiver = 0x555559dbb7a0, sender = 0x55555b02c880, signal = 13} #22 0x00007ffff775aec3 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x555559dbb7a0, e=0x7fffb03b8fe0) at kernel/qapplication.cpp:3632 consumed = false filtered = false #23 0x00007ffff6012bd8 in QCoreApplication::notifyInternal2 (receiver=0x555559dbb7a0, event=0x7fffb03b8fe0) at kernel/qcoreapplication.cpp:1063 selfRequired = true result = false cbdata = {0x555559dbb7a0, 0x7fffb03b8fe0, 0x7fffffffda4f} d = <optimized out> threadData = 0x55555565c000 scopeLevelCounter = {threadData = 0x55555565c000} #24 0x00007ffff60158c7 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x55555565c000) at kernel/qcoreapplication.cpp:1817 e = 0x7fffb03b8fe0 pe = <optimized out> r = 0x555559dbb7a0 relocker = {m_func = {__locker = @0x7fffffffdac0}, m_invoke = true} event_deleter = {d = 0x7fffb03b8fe0} locker = {_M_device = 0x55555565c030, _M_owns = false} startOffset = 0 i = @0x55555565c024: 0 cleanup = {receiver = 0x0, event_type = 0, data = 0x55555565c000, exceptionCaught = true} #25 0x00007ffff605fc27 in postEventSourceDispatch (s=s@entry=0x555555862f80) at kernel/qeventdispatcher_glib.cpp:277 source = 0x555555862f80 #26 0x00007ffff547796f in g_main_dispatch (context=0x7fffdc005000) at ../glib/gmain.c:3325 dispatch = <optimized out> prev_source = 0x0 begin_time_nsec = 0 was_in_call = <optimized out> user_data = 0x0 callback = 0x0 cb_funcs = 0x0 cb_data = 0x0 need_destroy = <optimized out> source = 0x555555862f80 current = 0x5555558099a0 i = 0 current = <optimized out> i = <optimized out> __func__ = {<optimized out> <repeats 16 times>} source = <optimized out> _g_boolean_var_ = <optimized out> was_in_call = <optimized out> user_data = <optimized out> callback = <optimized out> cb_funcs = <optimized out> cb_data = <optimized out> need_destroy = <optimized out> dispatch = <optimized out> prev_source = <optimized out> begin_time_nsec = <optimized out> _g_boolean_var_ = <optimized out> #27 g_main_context_dispatch (context=0x7fffdc005000) at ../glib/gmain.c:4043 No locals. #28 0x00007ffff54c9758 in g_main_context_iterate.constprop.0 (context=context@entry=0x7fffdc005000, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4119 max_priority = 2147483647 timeout = 1532 some_ready = 1 nfds = <optimized out> allocated_nfds = <optimized out> fds = 0x5555561f7fc0 begin_time_nsec = 0 #29 0x00007ffff5474d43 in g_main_context_iteration (context=0x7fffdc005000, may_block=1) at ../glib/gmain.c:4184 retval = <optimized out> #30 0x00007ffff605f6f3 in QEventDispatcherGlib::processEvents (this=0x555555783110, flags=...) at kernel/qeventdispatcher_glib.cpp:423 d = 0x555555824d60 canWait = true savedFlags = {i = 0} result = <optimized out> #31 0x00007ffff601157b in QEventLoop::exec (this=0x7fffffffdd20, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 d = 0x5555561f85f0 threadData = <optimized out> locker = {val = 93824993364744} ref = {d = <optimized out>, locker = <optimized out>, exceptionCaught = <optimized out>} app = <optimized out> #32 0x00007ffff60191b4 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 threadData = 0x55555565c000 eventLoop = {<QObject> = {_vptr.QObject = 0x7ffff62d7b48 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7ffff61baac0 <qt_meta_stringdata_QObject>, data = 0x7ffff61ba9a0 <qt_meta_data_QObject>, static_metacall = 0x7ffff60408b0 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x5555561f85f0}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7ffff61bda60 <qt_meta_stringdata_Qt>, data = 0x7ffff61babe0 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = { superdata = {direct = 0x7ffff62cf3c0 <QObject::staticMetaObject>}, stringdata = 0x7ffff61b4bc0 <qt_meta_stringdata_QEventLoop>, data = 0x7ffff61b4b60 <qt_meta_data_QEventLoop>, static_metacall = 0x7ffff6011290 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}} returnCode = <optimized out> #33 0x000055555558f23e in main (argc=<optimized out>, argv=0x7fffffffde70) at ../src/main.cpp:151 app = {<QGuiApplication> = {<QCoreApplication> = {<QObject> = { _vptr.QObject = 0x7ffff7c61448 <vtable for QApplication+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7ffff61baac0 <qt_meta_stringdata_QObject>, data = 0x7ffff61ba9a0 <qt_meta_data_QObject>, static_metacall = 0x7ffff60408b0 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x5555556b4700}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7ffff61bda60 <qt_meta_stringdata_Qt>, data = 0x7ffff61babe0 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = { superdata = {direct = 0x7ffff62cf3c0 <QObject::staticMetaObject>}, stringdata = 0x7ffff61b5260 <qt_meta_stringdata_QCoreApplication>, data = 0x7ffff61b5140 <qt_meta_data_QCoreApplication>, static_metacall = 0x7ffff60143f0 <QCoreApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, static self = 0x7fffffffde20}, static staticMetaObject = {d = {superdata = { direct = 0x7ffff62d7ce0 <QCoreApplication::staticMetaObject>}, stringdata = 0x7ffff696c7e0 <qt_meta_stringdata_QGuiApplication>, data = 0x7ffff696c560 <qt_meta_data_QGuiApplication>, static_metacall = 0x7ffff65dacd0 <QGuiApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = { d = {superdata = {direct = 0x7ffff6a6ec60 <QGuiApplication::staticMetaObject>}, stringdata = 0x7ffff7afab40 <qt_meta_stringdata_QApplication>, data = 0x7ffff7afa9c0 <qt_meta_data_QApplication>, static_metacall = 0x7ffff775e3e0 <QApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}} about = {static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7ffff7eb6b40 <qt_meta_stringdata_KAboutData>, data = 0x7ffff7eb6a40 <qt_meta_data_KAboutData>, static_metacall = 0x7ffff7e76ac0 <KAboutData::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d = 0x555555781740} service = {<QObject> = {_vptr.QObject = 0x7ffff75ab510 <vtable for KDBusService+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7ffff61baac0 <qt_meta_stringdata_QObject>, data = 0x7ffff61ba9a0 <qt_meta_data_QObject>, static_metacall = 0x7ffff60408b0 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x5555558cf6f0}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7ffff61bda60 <qt_meta_stringdata_Qt>, data = 0x7ffff61babe0 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = { superdata = {direct = 0x7ffff62cf3c0 <QObject::staticMetaObject>}, stringdata = 0x7ffff75a7ec0 <qt_meta_stringdata_KDBusService>, data = 0x7ffff75a68a0 <qt_meta_data_KDBusService>, static_metacall = 0x7ffff759fb50 <KDBusService::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d = 0x555555899e00} clipboard = {<QObject> = {_vptr.QObject = 0x555555643728 <vtable for Clipboard+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7ffff61baac0 <qt_meta_stringdata_QObject>, data = 0x7ffff61ba9a0 <qt_meta_data_QObject>, static_metacall = 0x7ffff60408b0 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x5555558aae50}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7ffff61bda60 <qt_meta_stringdata_Qt>, data = 0x7ffff61babe0 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = { superdata = {direct = 0x7ffff62cf3c0 <QObject::staticMetaObject>}, stringdata = 0x555555616000 <_ZL28qt_meta_stringdata_Clipboard.lto_priv.0>, data = 0x555555613120 <_ZL22qt_meta_data_Clipboard.lto_priv.0>, static_metacall = 0x5555555d7280 <Clipboard::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, m_clipboard = 0x5555558aae00} config = <optimized out> engine = {<QQmlEngine> = {<QJSEngine> = {<QObject> = { _vptr.QObject = 0x7ffff6fed8a0 <vtable for QQmlApplicationEngine+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7ffff61baac0 <qt_meta_stringdata_QObject>, data = 0x7ffff61ba9a0 <qt_meta_data_QObject>, static_metacall = 0x7ffff60408b0 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x55555581cb30}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7ffff61bda60 <qt_meta_stringdata_Qt>, data = 0x7ffff61babe0 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = { superdata = {direct = 0x7ffff62cf3c0 <QObject::staticMetaObject>}, stringdata = 0x7ffff6f268c0 <_ZL28qt_meta_stringdata_QJSEngine.lto_priv.0>, data = 0x7ffff6f265c0 <_ZL22qt_meta_data_QJSEngine.lto_priv.0>, static_metacall = 0x7ffff6d00900 <QJSEngine::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, m_v4Engine = 0x5555557d1a20}, static staticMetaObject = {d = {superdata = { direct = 0x7ffff6fedae0 <QJSEngine::staticMetaObject>}, stringdata = 0x7ffff6f26480 <_ZL29qt_meta_stringdata_QQmlEngine.lto_priv.0>, data = 0x7ffff6f263c0 <_ZL23qt_meta_data_QQmlEngine.lto_priv.0>, static_metacall = 0x7ffff6e36c20 <QQmlEngine::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = { superdata = {direct = 0x7ffff6fed840 <QQmlEngine::staticMetaObject>}, stringdata = 0x7ffff6f26200 <_ZL40qt_meta_stringdata_QQmlApplicationEngine.lto_priv.0>, data = 0x7ffff6f260c0 <_ZL34qt_meta_data_QQmlApplicationEngine.lto_priv.0>, static_metacall = 0x7ffff6e9a610 <QQmlApplicationEngine::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}} parser = {d = 0x5555558f0120}
I've also filed an issue with KAccounts to ask for FAS integration: kdebugs#430793.
@marcdeop Please create build override for kquickimageeditor-0.1.2-1.fc33.
NeoChat 1.0 builds for F33 and F34.
@xvitaly The crash seems to be caused by End-to-end encryption being enabled in the libQuotient build. At the moment, no client actually uses E2EE and it is very experimental, to the point where the maintainer advises strongly against using it. It also brings instability and memory leaks even when encryption is not used. With that in mind, would it be an option to disable E2EE for now?
@tobiasfella No longer crashes after removing the following files/directories: - ~/.local/share/KDE/neochat - ~/.cache/KDE/neochat - ~/.config/neochatrc - ~/.config/KDE/neochat.conf
~/.local/share/KDE/neochat
~/.cache/KDE/neochat
~/.config/neochatrc
~/.config/KDE/neochat.conf
With that in mind, would it be an option to disable E2EE for now?
Metadata Update from @ngompa: - Issue set to the milestone: Fedora 35 (was: Fedora 34)
Unfortunately, since we don't yet have the Fedora Matrix server yet and we're so close to Beta release, this is going to be deferred for Fedora 35. We'll be shipping the latest version of Neochat in the repositories, but it won't be on the ISO just yet.
Metadata Update from @ngompa: - Issue set to the milestone: Fedora 36 (was: Fedora 35)
Moving to Fedora 36, since we still don't have the Matrix server...
Fedora Matrix server is up.
NeoChat still has no E2EE support, that's why I suggest preloading nheko for Fedora 35.
If it will get E2EE support, we can change the default from nheko to neochat.
It's too late for Fedora Linux 35, we're well into Beta Freeze.
We need to add only one weak dependency. It can be done when the Beta Freeze is lifted.
Any pointers for that news? Thanks!
https://discussion.fedoraproject.org/t/hello-everyone-interested-in-matrix/32944
Metadata Update from @ngompa: - Issue set to the milestone: Fedora Linux 36 (was: Fedora 36)
Any progress with this? I think we should preload nheko, because NeoChat still has no E2EE support and I don't think it will in the next year.
It's probably worth checking in with @tobiasfella on the state of things from his point of view, as he's the one working on E2EE for NeoChat.
Metadata Update from @siosm: - Issue set to the milestone: Fedora Linux 39 (was: Fedora Linux 36)
Metadata Update from @siosm: - Issue tagged with: kinoite
Commit 133b3d6a fixes this issue
Metadata Update from @siosm: - Issue set to the milestone: Fedora Linux 40 (was: Fedora Linux 39) - Issue status updated to: Open (was: Closed)
We've done the switch for Fedora 40 in https://pagure.io/fedora-comps/pull-request/897 Hopefully https://invent.kde.org/network/neochat/-/issues/137 gets resolved by then. Keeping open to track this.
Login to comment on this ticket.