Sailtrix

Rating: 
4.923075
Your rating: None Average: 4.9 (13 votes)

Donations: PayPal or Liberapay

Sailtrix is a matrix client for SailfishOS supporting end-to-end encryption among many other features. Currently in beta state and is intended to become more feature-rich over time.

Made for Matrix

Features

  • Logging in with username and password
  • Reading the past messages in a room (currently limited to loading 30 at a time)
  • Messages with basic formatting can be read (bold, italic, etc)
  • Timestamps of messages are displayed
  • Sending messages
  • Sending messages in reply
  • Editing messages
  • Deleting messages
  • Starting direct messages
  • Ignoring and unignoring users
  • Viewing and downloading of images
  • Viewing of audio and video
  • Display of member events
  • Downloading files
  • Sending files
  • Accepting invites
  • Public room directory
  • Creating Rooms
  • Sorting by Activity or Alphabetically
  • Launching Matrix.to and matrix:// links (at present, you need to use the "Nheko" button at Matrix.to)
  • Notifications
  • Basic end-to-end encryption support (Late Alpha State - please do not use when security is important, it is more than a proof of concept but not in a beta state yet)
  • All sensitive information including messages are encrypted at rest with Sailfish Secrets

Sailtrix features an encrypted message cache to load only the newest messages when you open a room, improving its performace significantly. However, it can corrupt at times, and may cause strange behavior, such as the wrong avatars being displayed. It is easy to clear this cache in the settings.

There are currently many features that are not implemented. Please see the GitLab issue tracker for an incomplete list. Feel free to add to it if you want a feature to be implemented or a bug to be fixed.

Sailtrix has been tested to be working on Sailfish 3.4 and newer.

A note on notifications

Sailtrix >= 1.3 supports notifications. They may eat battery as it causes the phone to wake up every 30 seconds - you can change this interval in the settings. You can also disable them there. Every time you restart your device, you will need to launch Sailtrix to start the notifications. Then, you can close the app.

Development

Pipeline status

Development status and source code are available on GitLab (https://gitlab.com/HengYeDev/harbour-sailtrix) - feel free to fork and submit merge requests.

Support

I'm not always available for support and it may take a few hours or days for me to respond. Discussion will take place in the Sailtrix matrix room:

Updating

Please note that to prevent strange occurrences, one should execute "killall harbour-sailtrix" to stop the daemons before updating.

Legal notice

The software may be subject to the U.S. export control laws and regulations and by downloading the software the user certifies that he/she/it is authorized to do so in accordance with those export control laws and regulations.

Sailtrix is used at your own risk. The author does not take legal responsiblity for problems such as missed messages.

 

Screenshots: 
Application versions: 
AttachmentSizeDate
File harbour-sailtrix-1.0-1.i486.rpm333.7 KB03/07/2021 - 16:29
File harbour-sailtrix-1.0-1.armv7hl.rpm305.07 KB03/07/2021 - 16:29
File harbour-sailtrix-1.0-1.aarch64.rpm295.62 KB03/07/2021 - 16:29
File harbour-sailtrix-1.1-1.i486.rpm386.02 KB21/07/2021 - 17:36
File harbour-sailtrix-1.1-1.armv7hl.rpm349.86 KB21/07/2021 - 17:36
File harbour-sailtrix-1.1-1.aarch64.rpm339.82 KB21/07/2021 - 17:36
File harbour-sailtrix-1.2-0.aarch64.rpm290.8 KB04/08/2021 - 19:10
File harbour-sailtrix-1.2-0.armv7hl.rpm300.34 KB04/08/2021 - 19:10
File harbour-sailtrix-1.2-0.i486.rpm342.78 KB04/08/2021 - 19:10
File harbour-sailtrix-1.3-0.aarch64.rpm326.46 KB18/08/2021 - 19:44
File harbour-sailtrix-1.3-0.armv7hl.rpm335.86 KB18/08/2021 - 19:44
File harbour-sailtrix-1.3-0.i486.rpm385.5 KB18/08/2021 - 19:44
File harbour-sailtrix-1.3.1-0.aarch64.rpm328.43 KB26/08/2021 - 17:37
File harbour-sailtrix-1.3.1-0.armv7hl.rpm337.43 KB26/08/2021 - 17:37
File harbour-sailtrix-1.3.1-0.i486.rpm387.66 KB26/08/2021 - 17:37
File harbour-sailtrix-1.3.2-0.aarch64.rpm331.99 KB26/09/2021 - 17:05
File harbour-sailtrix-1.3.2-0.armv7hl.rpm341.65 KB26/09/2021 - 17:05
File harbour-sailtrix-1.3.2-0.i486.rpm391.2 KB26/09/2021 - 17:05
File harbour-sailtrix-1.3.3-0.aarch64.rpm331.87 KB27/10/2021 - 23:54
File harbour-sailtrix-1.3.3-0.armv7hl.rpm341.96 KB27/10/2021 - 23:54
File harbour-sailtrix-1.3.3-0.i486.rpm392.54 KB27/10/2021 - 23:54
File harbour-sailtrix-1.3.4-0.aarch64.rpm332.95 KB02/11/2021 - 20:38
File harbour-sailtrix-1.3.4-0.armv7hl.rpm342.71 KB02/11/2021 - 20:38
File harbour-sailtrix-1.3.4-0.i486.rpm393 KB02/11/2021 - 20:38
File harbour-sailtrix-1.3.5-0.aarch64.rpm812.25 KB11/11/2021 - 01:29
File harbour-sailtrix-1.3.5-0.armv7hl.rpm772.3 KB11/11/2021 - 01:29
File harbour-sailtrix-1.3.5-0.i486.rpm887.62 KB11/11/2021 - 01:29
File harbour-sailtrix-1.3.6-1.aarch64.rpm332.86 KB21/11/2021 - 17:52
File harbour-sailtrix-1.3.6-1.armv7hl.rpm342.4 KB21/11/2021 - 17:52
File harbour-sailtrix-1.3.6-1.i486.rpm393.16 KB21/11/2021 - 17:52
Changelog: 

Sailtrix 1.3.6

View changes on GitLab

  • Use Sailfish Crypto and remove dependency to OpenSSL

Sailtrix 1.3.5

View changes on GitLab

  • Fix Sailfish 4.3 compatibility issue by statically linking OpenSSL
  • Improve UI

Sailtrix 1.3.4

View changes on GitLab

  • Fix bug in DM rooms not being displayed properly
  • Make links sent by user more clear
  • Linkify emails in plaintext messages
  • Add Polish translation (by Atlochowski)

Sailtrix 1.3.3

View changes on GitLab

  • Add size parameter to file uploads for better compatibility with bridges
  • Fix bug that mimetype field is not sent in the proper object

Sailtrix 1.3.2

View changes on GitLab

  • Add display of member events
  • Fix bugs

Sailtrix 1.3.1

View changes on GitLab

  • Add more notification interval options
  • Add option to disable background service but keep notifications on when app is open
  • Use round avatars for rooms and users
  • Fix local echo bug when editing messages
  • Add info.mimetype to file data for increased compatibility
  • Use qsTr everywhere
  • Use percent encoding for matrix: urls
  • Numerous other cosmetic modifications

Sailtrix 1.3

View changes on GitLab

  • Add notification functionality
  • Switch to a tab based layout
  • Add ordering by activity or alphabetically
  • Display avatar and display-name in direct messages
  • Add Matrix.to and Matrix:// functionality
  • Fix editing in encrypted rooms

Sailtrix 1.2

View changes on GitLab

  • Add video, audio, and file functionality
  • Add ability to accept invites
  • Add room directory
  • Add create room functionality
  • Numerous bug fixes and security improvements

Sailtrix 1.1

View changes on GitLab

  • Store sensitive data securely with Sailfish Secrets
  • Images can now be viewed and saved
  • Files can now be uploaded
  • Enhanced support for sandboxing
  • Numerous bugfixes and improvements regarding encryption and performance.

Sailtrix 1.0

  • Initial release.

Comments

huggymann's picture

app takes no changes anymore: I have a state in my app where the chats, invites and room will never change. When deleting they disappear until next app start, it is all there again. Also the invites, if accepted, do not go to poeple or rooms but stay as invite. Is there a way to do a clean install and remove all config files? i couldnt find anything for harbour-sailtrix

HengYeDev's picture

Please go into settings and click clear cache.

huggymann's picture

...the solution was right there :D Thanks!

direc85's picture

With SFOS 4.3 (released in EA yesterday), `libcrypto.so.10` is missing, as OpenSSL 1.0 was (finally) removed. A rebuild with newer SDK should fix it.

lpr's picture
HengYeDev's picture

I have fixed it by statically linking but haven't merged yet. Download artifacts from https://gitlab.com/HengYeDev/harbour-sailtrix/-/jobs/1761163726

lpr's picture

that is bad practise, openSSL1.1.1 is available for all armv7 devices here on openrepos so you should use dynamic linking openssl1.1.1 while remaining SFOS3.4 compatible in respect to other parts GUI/silica/etc.

slava's picture

Yes, it's a bad practice, I absolutely agree with that but it's the only way to avoid non-standard dependencies, unfortunately. You download the rpm, tap on it and it gets installed, that's my personal requirement.

Breaking backward compatibility is a bad practice, that's what it boils down to. That's what created the problem in the first place, and the rest is a consequence of that.

lpr's picture

but it is as simple as that. Just tap install-button on storeman and install openssl1.1.1

slava's picture

That means dependency on storeman. Some people may be ok with that, but I don't want even that. When package has dependencies, removing the app leaves (by default) dependencies around, I don't like it. If nothing else it may mean trouble next time you upgrade the OS. I want removal to mean removal.

HengYeDev's picture

It is bad practice but imo for now it's the best way to go without adding confusion for anything...dynamic link builds will still be available on chum. Foil notes did it

lpr's picture

just tell openssl1.1.1 in requirements section , maybe with link or without but it is there

slava's picture

And make the build incompatible with systems which don't have libcrypto.so.1.1

delocoyo's picture

Done. Thanks for the help. Keep rocking the app @HengYeDev

delocoyo's picture

Hello. Sorry for my little knowledge , but how and where can I find the homeserver url for element to be use in the app? Thanks

HengYeDev's picture

It's the second part of your matrix user id. For example, my matrix username is @hengyedev:matrix.org, so my homeserver URL would be matrix.org

apozaf's picture

Wow, this evolves. What a fantastic job.
Small bug I noticed: If I edit my msg in Elements app f.e. 4 times, it shows uo 4 times in sailtrix.

HengYeDev's picture
meemorph's picture

@lpr this was a little helpful, agter reboot I can start sailtrix. But cannot enter credentials, only cancel / Login are usable all other GUI elements are printef at top edge over each other and unusable. This piece of software maybe usable above 4.0 only.

HengYeDev's picture

Please try the new build from the artifacts here: https://gitlab.com/HengYeDev/harbour-sailtrix/-/commit/7a9cfc3e4909e72d6...

meemorph's picture

still the same, added comment on gitlab at issue 'SFOS 3.4 show stoppers'. Problem with 'width: page.width', looks like page.width could not be referenced.

meemorph's picture

Does not work on 3.4: harbour-sailtrix: error while loading shared libraries: libcrypto.so.1.1: cannot open shared ob
ject file: No such file or directory

HengYeDev's picture

Issue open here: https://gitlab.com/HengYeDev/harbour-sailtrix/-/issues/9
In SFOS 4.0 libcrypto was updated to 1.1 and the packages were built with 4.1 sdk

 

kaulian's picture

Hi, with the 3.4 release of sailfishos i have got an error with libcrypt. Do you support this release ?

HengYeDev's picture

Best way is to try it :) It should work as libcrypt is not used, only libcrypto, and only one function as of now (RAND_bytes) is used now.