This is open source and MIT licensed. Contributions are welcome!
Contributions can take any shape or form, but they must adhere to the project's code of conduct. If that looks good to you, feel free to open issues, send PRs (although an issue before a PR could be useful).
If you find a typo or something that doesn't make sense here, feel free to send a PR to this site's repository.
PRs and issues are welcome on the project's repository.
If you want to contribute with the extension, keep in mind it's plugin-based. All the features are plugins so that they can easily be disabled by the user. If a feature breaks (because Slack changed something on their end) a user should be able to disable that feature in particular and that should solve the issue.
The extension is written in TypeScript and the plugins can be found on the plugins folder. They can choose to observe DOM elements, intercept XHR and WS messages, and communicate with the extension.
The existing plugins should (hopefully) provide a guide on how you can implement your own... but feel free to open an issue and we can discuss if I should add some documentation.