seaglass

A truly native Matrix client for macOS - written in Swift/Cocoa, with E2E encryption support

Stars
526
Forks
37
Open issues
48
Closed issues
42
Last commit
almost 5 years ago
Watchers
526
Total releases
5
Total commits
538
Open PRs
5
Closed PRs
43
Repo URL
Platform
Mac
License
other
Category
Usecase
Chat
Offers premium version?
NO
Proprietary?
NO
About

Seaglass

Seaglass is a truly native macOS client for Matrix. It is written in Swift and uses the Cocoa user interface framework.

Install Seaglass

You can find the latest release on GitHub or you can install Seaglass from Homebrew Cask. Either way, you'll be able to use the built in auto updating feature to ensure you have the latest version.

brew cask install seaglass
Building from source

Use Xcode 9.4 or Xcode 10.0 on macOS 10.13. Seaglass may require macOS 10.13 as a result of using auto-layout for some table views, which seems to have been introduced with High Sierra. I hope to find an alternate way to relax this requirement.

If you do not already have CocoaPods installed, then install it:

sudo gem install cocoapods

Clone the Seaglass repository and install dependencies:

git clone https://github.com/neilalexander/seaglass
cd seaglass
pod install

Open up Seaglass.xcworkspace in Xcode and build!

Current features

  • Logging in to a homeserver you are already registered with
  • Creating and leaving rooms and direct chats
  • Joining and parting rooms
  • Inviting users to rooms (through /invite)
  • Emotes (using /me)
  • Message redaction
  • Posting text to rooms with Markdown formatting
  • Changing some room settings (history visibility, join rules, name, topic, aliases)
  • Message coalescing
  • End-to-end encryption
    • Enabling end-to-end encryption in rooms
    • Marking devices as verified or blacklisted
    • Exporting and importing encryption keys (compatible with Riot)
    • Requesting (and re-requesting) keys from other Matrix clients
    • Choosing whether to send encrypted messages to unverified devices

  • Viewing inline images and stickers
  • Links to non-image attachments
Disclaimer

At this stage it is early in development and stands a good chance of being buggy and unreliable. I'm also not a Swift expert - I only started using Swift three or four days before my initial commit - and this code is probably awful. You've been warned. :-)

Alternative Projects

Subscribe to Open Source Businees Newsletter

Twice a month we will interview people behind open source businesses. We will talk about how they are building a business on top of open source projects.

We'll never share your email with anyone else.