An alternative Slack client written in Swift, optimized for Mac
Inactive as Slack does not allow just any workspace to create legacy tokens anymore, there is not much of a point on continueing development (for me at least). I might pick it back up once slack might release some more flexible (non app) authentication methods. However I am not expecting anyting like this soon.
If you want to continue development. Feel free to create merge requests, I will review and approve, or give maintainership.
(Formerly SlackDesk)
An alternative client for Slack written in swift. V2.
Short demo:
The app is adaptive to the MacOs color scheme (light/dark) 💪
The official client for me was pretty resource heavy. With around 8 teams active
the memory consumption was above 1GB.
This inspired me, together with my interest in learning a new programming
language to develop a simpler client, natively for os x.
The client is build with the vision of giving as much of the features, but to
keep it from being distractive and resource heavy
LOW! 🙏 Memory usage (as per demo):
Disclaimer
This is my first project I have ever written in Swift. I am pretty sure that many
improvements can be made (and will be made) over time. Feel free to point me to
better implementation techniques if you feel they can improve the client.
Pull requests and bug reports are welcome!
What does not work
Many things, but that is the point. I will try to add more features but I will
add them one by one:
If you want a full featured Slack client, you should use the official client.
However, the end goal is to implement every feature into collabApp
Download the latest release and copy it to your applications
folder.
Then go and create legacy tokens
Last is to add the legacy tokens to the settings pane (CMD+,)
Restart the client for the new connections to be initialized.
If you would like to contribute, clone the repository.
As this project is using CocoaPods, you should run pod install
after cloning.
After running pod install
open the collabapp.xcworkspace
All code goes thorough pull requests together with an issue explaining the
motivation for the code.
All help is welcome and much appreciated.
Some basic testing is implemented.
For mocking a websocket we can use the following:
gem install em-websocket --user-install
gem install faker --user-install
ruby mock_server.rb