Skip to content
This repository has been archived by the owner on Mar 11, 2022. It is now read-only.
/ seaglass Public archive

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

License

Notifications You must be signed in to change notification settings

neilalexander/seaglass

Repository files navigation

Seaglass

#seaglass:matrix.org CircleCI Build Status Stable Version

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

Screenshot of Seaglass

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. :-)

About

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

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published