mujx / nheko Goto Github PK
View Code? Open in Web Editor NEWNo longer maintained - Desktop client for the Matrix protocol (active fork https://github.com/Nheko-Reborn)
License: GNU General Public License v3.0
No longer maintained - Desktop client for the Matrix protocol (active fork https://github.com/Nheko-Reborn)
License: GNU General Public License v3.0
For example.
Signing the code (either Standard or EV) should make Windows agree that the file is safe.
This would be the first and most important step to make nheko themeable. include/ui/Theme.h
could be a starting point for anyone wishing to try this.
As a starting point it would be nice to have:
When someone posts multiple messages in a row, it would be nice if I could select them with the mouse, and do either right click -> copy or press CTRL
+ C
.
Right now, you press the "Power" icon and you are logged out immediately. There should be a popup (or similar) asking you if you really want to do this.
The current windows build done by appveyor makes a debug build and therefor misses these required files:
A easy fix is to build a release version and use that as it than uses the correct and present dll files.
According to StackOverflow adding --config Release
to the - cmake --build build
line in the appveyor.yml file and changing the copy command to the release output folder would generate a correct release file and fix the dll loading bugs.
If wanted I add a PR (after nsis stuff is added or if wanted even in that PR) (Reason: don't want to mess that PR up :P)
This will save a lot of time because the client won't have to perform a full state sync every time the user logs in.
As Telegram does, and Riot to an extend, it would be nice to have the room list re-order itself based on activity. So if a room gets a new message, it gets send to the top of the list.
See #31 (comment)
I'm getting segfault after I signed in. I'm on arch linux
Reading symbols from nheko...done.
(gdb) r
Starting program: /run/media/aj/Buffer/git-clones/nheko/build/nheko
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7fffeb83f700 (LWP 7778)]
[New Thread 0x7fffe05a4700 (LWP 7779)]
[New Thread 0x7fffdfda3700 (LWP 7780)]
** (nheko:7774): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-kJG2SRP7Va: Connection refused
[New Thread 0x7fffdf16c700 (LWP 7781)]
[New Thread 0x7fffddb8b700 (LWP 7782)]
[New Thread 0x7fffcde23700 (LWP 7783)]
[New Thread 0x7fffcd622700 (LWP 7784)]
ASSERT: "!isEmpty()" in file /usr/include/qt/QtCore/qmap.h, line 401
Thread 1 "nheko" received signal SIGABRT, Aborted.
0x00007ffff57bba10 in raise () from /usr/lib/libc.so.6
(gdb) bt
#0 0x00007ffff57bba10 in raise () at /usr/lib/libc.so.6
#1 0x00007ffff57bd13a in abort () at /usr/lib/libc.so.6
#2 0x00007ffff6471e21 in () at /usr/lib/libQt5Core.so.5
#3 0x00007ffff646d3de in () at /usr/lib/libQt5Core.so.5
#4 0x000000000046f850 in QMap<QString, RoomInfoListItem*>::first() (this=0x11d5c18) at /usr/include/qt/QtCore/qmap.h:401
#5 0x000000000046e188 in RoomList::setInitialRooms(Rooms const&) (this=0x11d5be0, rooms=...) at /run/media/aj/Buffer/git-clones/nheko/src/RoomList.cc:135
#6 0x000000000043c294 in ChatPage::initialSyncCompleted(SyncResponse const&) (this=0x116c470, response=...)
at /run/media/aj/Buffer/git-clones/nheko/src/ChatPage.cc:176
#7 0x0000000000485b0b in ChatPage::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=0x116c470, _c=QMetaObject::InvokeMetaMethod, _id=6, _a=0x7fffffffd310)
at /run/media/aj/Buffer/git-clones/nheko/build/include/moc_ChatPage.cpp:132
#8 0x00007ffff6691d49 in QMetaObject::activate(QObject*, int, int, void**) ()
at /usr/lib/libQt5Core.so.5
#9 0x0000000000487dd5 in MatrixClient::initialSyncCompleted(SyncResponse const&) (this=0xabbd30, _t1=...)
at /run/media/aj/Buffer/git-clones/nheko/build/include/moc_MatrixClient.cpp:359
#10 0x00000000004670de in MatrixClient::onInitialSyncResponse(QNetworkReply*) (this=0xabbd30, reply=0xe45c60)
---Type <return> to continue, or q <return> to quit---
xClient.cc:196
#11 0x0000000000468007 in MatrixClient::onResponse(QNetworkReply*) (this=0xabbd30, reply=0xe45c60) at /run/media/aj/Buffer/git-clones/nheko/src/MatrixClient.cc:330
#12 0x000000000048746c in MatrixClient::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=0xabbd30, _c=QMetaObject::InvokeMetaMethod, _id=17, _a=0x7fffffffd730) at /run/media/aj/Buffer/git-clones/nheko/build/include/moc_MatrixClient.cpp:171
#13 0x00007ffff6691d49 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/libQt5Core.so.5
#14 0x00007ffff7258d12 in QNetworkAccessManager::finished(QNetworkReply*) () at /usr/lib/libQt5Network.so.5
#15 0x00007ffff7259824 in () at /usr/lib/libQt5Network.so.5
#16 0x00007ffff725ce81 in () at /usr/lib/libQt5Network.so.5
#17 0x00007ffff6691d49 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/libQt5Core.so.5
#18 0x00007ffff727c577 in () at /usr/lib/libQt5Network.so.5
#19 0x00007ffff7328469 in () at /usr/lib/libQt5Network.so.5
#20 0x00007ffff6692ba9 in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5
#21 0x00007ffff76d334c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#22 0x00007ffff76dab61 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#23 0x00007ffff6666440 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#24 0x00007ffff6668bcd in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt5Core.so.5
#25 0x00007ffff66bac43 in () at /usr/lib/libQt5Core.so.5
#26 0x00007ffff33b45a7 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#27 0x00007ffff33b4810 in () at /usr/lib/libglib-2.0.so.0
#28 0x00007ffff33b48bc in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#29 0x00007ffff66bb04f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#30 0x00007ffff666489a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#31 0x00007ffff666cde4 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#32 0x000000000047a743 in main(int, char**) (argc=1, argv=0x7fffffffe228) at /run/media/aj/Buffer/git-clones/nheko/src/main.cc:63
Currently, the unread message counter is shown when any new events/messages appear in a room, no matter who sends them. However, this even happens if those messages are only sent by the user itself, just on a different device.
So say I've read all messages in a room on nheko, and then send a single message on Riot to that same room. nheko will show the unread message count as 1. Obviously this is incorrect.
The window hides but it's still running in the background.
The spinner stays active for ever.
The following message is in the terminal:
qt.network.ssl: Error receiving trust for a CA certificate
qt.network.ssl: Error receiving trust for a CA certificate
qt.network.ssl: Error receiving trust for a CA certificate
qt.network.ssl: Error receiving trust for a CA certificate
qt.network.ssl: Error receiving trust for a CA certificate
qt.network.ssl: Error receiving trust for a CA certificate
qt.network.ssl: Error receiving trust for a CA certificate
qt.network.ssl: Error receiving trust for a CA certificate
qt.network.ssl: Error receiving trust for a CA certificate
qt.network.ssl: Error receiving trust for a CA certificate
"Connection refused"
Profile: Response is not a JSON object
Login with riot to my HS is working fine.
Currently the overlay is shown at the first available screen.
An issue to track the state of encryption 😃
Probably a long-term feature. It be nice to be able to use 2 or more accounts at the same time. Maybe a tab switch somewhere? Not sure on what to do with the UX.
When connecting to the matrix.org HS via https, I get lots of these SSL warnings, which surprises me as matrix.org's SSL cert is of course valid...
Hello we have some encrypted channels.. and is not seem to be working.
Currently the username field requires the input to start with a @ but most people are not used to typing the whole matrix id to login and that creates some confusion.
One possible solution would be to validate the input while the user is typing (without the automatic regex validator) and then add any missing @ behind the scenes.
For example both of the following inputs should be valid:
user:matrix.org
@user:matrix.org
I personally don't really care if I miss hundreds of messages which aren't directed to me, but I do care if I miss mentions and keywords. I'd like to have an option to have the tray icon only show the unread notification count, instead of just all unread messages.
What happens:
What I expected:
A convenience shortcut which every program ever seems to support. Use Ctrl+Q to quit the program
Usually a timeout is caused by synapse gathering data, so this can be annoying.
I installed nheko yesterday using the provided gentoo ebuild. The client appeared nearly unusable, crash very quickly after startup with messages like:
fish: “nheko” terminated by signal SIGSEGV (Address boundary error)
or
nheko: malloc.c:3720: _int_malloc: Assertion `(unsigned long) (size) >= (unsigned long) (nb)' failed.
fish: “nheko” terminated by signal SIGABRT (Abort
I don't know much more, but I can try to provide help debugging this on my computer.
Currently URLs in room topics are not clickable, whereas ones in room messages are.
:-)
End-to-end encryption information
Event information
User ID | @user:matrix.org
-- | --
Curve25519 identity key | none
Claimed Ed25519 fingerprint key | none
Algorithm | unencrypted
Session ID | none
Sender device information
unknown device
An auto-complete feature for display names would be nice. Start typing the first few letters of a display name, press tab to "scroll" through a list of nicks (or possibly even rooms known to the user) that apply to those letters, then either continue typing or press return to "select" the nickname and fill it in the chatbox.
I cannot define a portnumber when try to login an HS
Currently the domain part of the mxid is used verbatim. This breaks when the server's client API is at a different domain from the mxid or a port other than 443.
Implementing this looks relatively straightforward using QDnsLookup. I'll try to submit a PR for this in the next couple of days, unless someone beats me to it.
Will this client support olm?
On Windows there is no color at the emoji bar and when adding emojis. Maybe a issue with the used font.
nheko is awesome, thanks for making this piece of software!
It looks like /me
and /topic
are not working, it would be nice if they were implemented.
Compiled following the instructions on macOS 10.12.6.
While you can't write any text in the server address field, you can still write in a password.
Any form of image support (inline or at least a link to the image) would be nice, as right now it doesn't show any indication that an image has been sent whatsoever. A link at first would be fine, inline images could come later.
This would probably make the client usable for me.
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.