Desktop client for the Matrix protocol

Edit Package nheko

The motivation behind the project is to provide a native desktop app
for Matrix that feels more like a mainstream chat app.

Refresh
Refresh
Source Files
Filename Size Changed
_constraints 0000000189 189 Bytes
_service 0000000625 625 Bytes
nheko-0.9.0.obscpio 0008211981 7.83 MB
nheko.changes 0000050570 49.4 KB
nheko.obsinfo 0000000095 95 Bytes
nheko.spec 0000003930 3.84 KB
Revision 92 (latest revision is 107)
Dead Mozay's avatar Dead Mozay (Dead_Mozay) accepted request 932421 from Dead Mozay's avatar Dead Mozay (Dead_Mozay) (revision 92)
- Update to version 0.9.0:
  + Highlights
    - Somewhat stable end to end encryption
      * Show the room verification status
      * Configure Nheko to only send to verified users
      * Store the encryption keys securely in the OS-provided secrets service.
      * Support online keybackup as well as sharing historical session keys.
  + Crosssigning bootstrapping
    - Crosssigning is used to simplify the verification process. In this release
    - Nheko can setup crosssigning on a new account without having to use a
      different client.
    - Nheko now also prompts you, if there are any unverified devices and asks you to verify them.
  + Room directory (Manu)
    - Search for rooms on your server and other servers. (Prezu)
    - If their topic interests you and it has the right amount of members, join
    - the room and the discussion!
  + Custom sticker packs
    - Add a custom sticker picker, that allows you to send stickers from MSC2545.
    - Support creating new sticker (and emote) packs.
    - You can share packs in a room and enable them globally or just for that
      room.
  + Token authenticated registration (Callum)
    - Sign up with a token to servers, that have otherwise disabled registration.
    - This was done as part of GSoC and makes it easier to run private servers for
      your family and friends!
  + Features
    - Support email in registration (required on matrix.org for example)
    - Warn, if an @room would mention the whole room, because some people don't like that.
    - Support device removal as well as renaming. (Thulinma)
    - Show your devices without encryption support, when showing your profile.
      (Thulinma)
    - Move to the next room with unread messages by pressing Alt-A. (Symphorien)
    - Support jdenticons as a placeholder for rooms or users without avatars.
      (LorenDB)
      * You will need to install https://github.com/Nheko-Reborn/qt-jdenticon
    - Support animated images like GIF and WebP.
      * Optionally just play them on hover.
    - Support accepting knocks in the timeline.
    - Close a room when clicking it again. (LorenDB)
    - Close image overlay with escape.
    - Support .well-known discovery during registration.
    - Limited spaces support.
      * No nice display of nested spaces.
      * No previews of unjoined rooms.
      * No way to edit a space.
    - Render room avatar changes in the timeline. (BShipman)
    - Support pulling out the sidebar to make it wider.
    - Allow editing pending messages instead of blocking until they are sent.
      (balsoft)
    - Support mnemonics in the context menus. (AppAraat)
    - Support TOFU for encryption. (Trust on first use)
    - Right click -> copy address location.
    - Forward messages. (Jedi18)
    - Alt-F to forward messages.
    - A new video and audio player, that should look a bit nicer.
  + Improvements
    - Translation updates:
      * French by MayeulC, ISSOtm, Glandos, Carl Schwan
      * Dutch by Thulinma, Bas van Rossem, Glael, Thijs
      * Esperanto by Tirifto, Colin
      * Estonian by Priit
      * Indonesian by Linerly
      * German by 123, Konstantin, fnetX, Mr. X, CryptKid
      * Portuguese (Portugal) by Tnpod, Xenovox, Gabriel R
      * Portuguese (Brazil) by Terry, zerowhy
      * Finnish by sdrrespudro, Priit
      * Polish by Prezu, AXD, stabor
      * Malayalam by vachan-maker
      * Italian by Daniele, Lorenzo
      * Spanish by lluise
      * Russian by kirillpt
      * Various wording improvements throughout.
    - Verification status and identity keys should now update properly after login.
    - Clicking the user in a read receipt opens their profile. (LorenDB)
    - Invites should now work properly on mobile.
    - Decode blurhashes faster.
    - Port various dialogs to Qml. (LorenDB)
    - --help and --version now work, even if Nheko is already running somewhere.
    - Update emoji support to version 14.
    - Properly navigate to linked to events. (Thulinma)
    - Lots of smaller bugfixes and refactorings. (LorenDB)
    - Scroll entire profile page and properly trim contents. (Thulinma)
    - Make it easy to switch between global and room specific profiles. (Thulinma)
    - Deduplicate messages sent by the server. (Thulinma)
    - Decrease the margin of blockquotes. (tastytea)
    - Alerts now work, if the homeserver does not implement the notifications
      endpoint. (Thulinma)
    - Right click menu now works on replies.
    - Decrypt encrypted media only in memory.
    - Don't use CC-BY in the appstream license to not confuse Gnome Software.
    - Support online key backup.
    - Improve FAQ. (harmathy)
    - Support Backtab/Shift-Tab for moving backwards in completer selections.
    - Clear cache to support the new features.
    - Improve the emoji completer (less jitter and fix places where it didn't open). (Thomaps Karpiniec)
    - Cleanup @room escape logic.
    - Improve performance of timeline rendering.
    - Load rooms somewhat lazily.
    - Properly scale avatars to DPI.
    - Round avatars once in the backend instead of on every render.
    - Request keys of all members, when opening a room the first time.
    - Timeout TCP connections, if heartbeat can't be heard.
    - Change secrets name. You might need to rerequest your secrets after upgrading!
    - Protect against replay attacks where megolm sessions are reused.
    - Add "request keys" button to undecryptable messages.
    - Properly set window parents on Wayland.
    - Properly show users and allow opening their profiles in the members and read
      receipt dialogs. (LorenDB)
    - Use Qt5.15 Connections syntax in Qml.
    - Remove "respond to keyrequests option". We now reply to the right requests
      automatically and securely.
    - Show confirmation prompt when leaving a room.
    - Add trailing newline to session export for gomuks compatibility.
    - Use a fancy Nheko logo as the loading indicator.
    - Improve how the invite dialog handles users. (LorenDB)
    - Store more data about megolm sessions.
    - Speed up database queries by caching transactions.
    - Use curl for network requests.
      * This removes the boost dependency.
      * Proxies now work using the usual curl variables.
      * Fixes a myriad of crashes.
      * Faster.
      * Less CPU load.
      * Less bandwidth usage.
    - Cleanup user color generation.
    - Show borders around tables.
    - Improve wording of a few menu entries. (absorber)
    - Highlight navigated to message.
    - Switched to the fluent icon set. (LorenDB)
  + Bugfixes
    - Redaction of edited messages should now actually show those messages as removed.
    - Bootstrap after registration should run properly now.
    - Getting logged out after registration should not happen anymore.
    - Removed edgecases where identity keys could get uploaded twice.
    - Fix the event loop when fetching secrets breaking random things like scrolling.
    - Don't crash when clearing an empty timeline.
    - Opening an invite in your browser or a matrix: URI should not crash Nheko anymore or do nothing.
    - When clicking on an item in the roomlist, you don't have to move your mouse anymore, before being able to click again.
    - Don't hide space childs when viewing that specific space and its children are hidden.
    - Only allow specific URI schemes to be followed automatically.
    - Properly hide day change indicator, when loading older messages.
    - Rotate session properly when 'verified only' is set.
    - Handle missing keys in key queries properly.
    - Properly show the window title for Qml dialogs on windows.
    - Don't show decryption errors in replies.
    - Don't crash when storing secrets.
    - Don't send megolm messages to ourselves, if possible.
    - Fix SSSS without a password.
    - Fix a few edge cases with OTK upload.
    - Cache more media properly (i.e. in the Goose Chooser).
    - Inline images in messages now load properly.
    - Don't show verification requests after startup.
    - Emoji picker now follows the theme.
    - Send less newlines in the reply fallback.
    - Fix tags going missing when joining spaces.
    - Handle inline images with single quotes. (Cadair)
    - Delay key requests until a room is opened.
    - Fix rooms not showing, when groups endpoint is missing.
    - Don't use deprecated parameters in /login.
    - Fix encoding issues when translating matrix.to to matrix: URIs.
    - Prevent edits from stripping the whole message, if it had a quote.
  + Packaging changes
    - Removed the AppImage
    - Removed dependency on boost
    - Now depends on coeurl, which depends on libevent and libcurl.
    - VOIP support now needs to be explicitly controlled using the VOIP and SCREENSHARE_X11 cmake options.
Comments 22

Luca Beltrame's avatar

As noted in nheko's bug tracker (https://github.com/mujx/nheko/issues/344) multi-core builds can consume a lot of RAM (as seen in the failure for TW i586 as well). Perhaps it might be worth to either scale them down or use _constraints.


Dead Mozay's avatar

Thank you, as I missed this moment, the problem was observed everywhere, the compilation stopped randomly anywhere, but like such a problem is not observed


Oliver Kurz's avatar

@Dead_Mozay did you see the build failures on at least openSUSE Leap 15.0? They seem to be reproducible.


Dead Mozay's avatar

Yes I see, spdlog version should be no lower 1.0.0, in Leap 0.16.3


Oliver Kurz's avatar

current build failures on Leap 15.0/15.1 seem to be due to a too old cmake version. I guess we should either disable the build for Leap or create a specific subproject for Leap 15 providing the missing dependencies (updated cmake version). WDYT?


Dead Mozay's avatar

I would prefer to have a version for leap, but how best to make this decision is yours, I am not against a separate subproject, at the moment 2 updated packages are required, cmake and spdlog


Oliver Kurz's avatar

Hi, I have disabled the build for the (last) repo "openSUSE_Tumbleweed" as the package currently does not build.


Dead Mozay's avatar

Hi, yes, I myself noticed yesterday, but have not yet looked why, as I fix it, I'll let you know


Krisztián Szegi's avatar

Hi!

Two things I'd like to mention/ask: - Maybe there is no real gain, but could you mention this repo on nheko-s github page? Other distros have instructions for install. - There is a new big release in RC phase. When would it land - when it is not a candidate anymore? It is quite a big and needed release, as you all know most probably.

And last: thanks for the build! My KDE desktop is much more complete with this! Don't want another crappy repurposed browser on my system tray, like all the other stuff these days...


Krisztián Szegi's avatar

Hi again!

nheko cannot be installed currently (since about two weeks) from this repo as: - "nothing provides libmatrix_client.so.0.3.0()(64bit) needed by nheko-v0.7.1+20200423.14ce840-3.29.x86_64"

This repo ship libmatrix_client version 0.3.1+0-1.1 If I chose to break the dependency (and install the newer one from the repo) than nheko cannot start, as it does not load newer libmatrix than 0.3.0: "error while loading shared libraries: libmatrix_client.so.0.3.0: cannot open shared object file: No such file or directory"

Could you be kind enough to build the nheko with updated deps, as the repo is inconsistent and unusable this way?


Oliver Kurz's avatar

@Samonitari OBS automatically takes care to build packages with updated deps. The problem is that the build currently fails. Unfortunately no one could provide a fix for now. I will for now disable the build of the package as it fails anyway.


Luca Beltrame's avatar

Now that 0.8.0 is out, it might be worth pushing this to TW along with mtxclient.


Dead Mozay's avatar

In addition to mtxclient, other libraries are also needed, neither mtxclient nor nheko itself are ready yet, they have some problems, they may be fixed in the next releases, but not yet


Dura-Kovács's avatar

Can't install nheko on Leap 15.4

zypper in nheko
Loading repository data...
Reading installed packages...
Resolving package dependencies...

Problem: nothing provides 'libc.so.6(GLIBC_2.34)(64bit)' needed by the to be installed nheko-0.10.0-1.8.x86_64
 Solution 1: do not install nheko-0.10.0-1.8.x86_64
 Solution 2: break nheko-0.10.0-1.8.x86_64 by ignoring some of its dependencies

Dead Mozay's avatar

Update the metadata before installing, just checked, there is no such error


Dura-Kovács's avatar

I accidentally added the TW repo instead of Leap 15.4. My bad, thanks for the reply.


Bunte Katze's avatar

Hi! nheko cannot be installed on OpenSUSE Tumbleweed, e.g. from https://software.opensuse.org/ymp/network:messaging:matrix/openSUSE_Tumbleweed/nheko.ymp?base=openSUSE%3AFactory&query=nheko

Problem: nichts stellt 'libspdlog.so.1.11()(64bit)' bereit, das vom zu installierenden nheko-0.11.3-1.9.x86_64 benötigt wird
 Lösung 1: nheko-0.11.3-1.9.x86_64 nicht installieren
 Lösung 2: nheko-0.11.3-1.9.x86_64 durch Ignorieren einiger Abhängigkeiten brechen

Could you please have a look?


Loren Burkholder's avatar

It seems that this is a problem with more than just nheko; I've heard from other people that an unrelated package on Leap is having the same issue. I'm guessing there was a problem with a repository update.


Bunte Katze's avatar

Just a coincidence then. Thank you for your response! I'll try again on another day.


Dead Mozay's avatar

Someone disabled package building, check


Oliver Kurz's avatar

that was likely me. I extended the description with the build failure. Seems you fixed and re-enabled the project now. I updated the description.


Oliver Kurz's avatar

Disabled the build due to reproducing issue

[ 48s] /usr/include/fmt/core.h:1580:7: error: static assertion failed: Cannot format an argument.
[ 48s] /usr/include/fmt/core.h:1580:7: note: 'formattable' evaluates to false
openSUSE Build Service is sponsored by