- slack: Use conversation API for DM (slack). (#402) Fixes #400
- slack: Fix regression, increase user pag to 1000 (slack) #403
- general: Fixed buffer flushing (#398)
This release couldn't exist without the following contributors: @hloeung
Big shout-out to @hloeung for doing most of the work for this release!
- mattermost: Replay only messages not seen; also make it clear when replaying #373
- mattermost: new ForceAntiIdle option - Allow forcing anti-idle #369
- mattermost: Allow adding or removing reactions #386
- mattermost: Add scrollback support for direct messages (DMs). Fixes #385 #388
- mattermost: Add prefix showing messages are replies to threads when using Mattermost ThreadContext
- mattermost: Save lastViewedAt and load on start up (#313) #368
- mattermost: Add logging when replaying logs #377
- general: Handle events after initialization use buffered channel #383
- general: Flush buffer on ctcp action. Fixes #367 #371
- general: Sanitize nicks, replace invalid chars with dash #374
- general: Sanitize nick before sending PRIVMSG irc command #378
- general: Flush buffers on reactions, allows adding various reactions in sequence, also replies to threads or message modifications #387
- general: Fix fd leak - Timeout unused handshake after 10 seconds. Fixes #390 #392
- general: Space separate 'download file' #394
- mattermost: Fix panic with no postlist returned. Fixes #380 #384
- mattermost: Fix permissions issues when replying to threads in DM #389
This release couldn't exist without the following contributors: @hloeung, @dfskoll
- mattermost: Allow modifying or deleting last message and by Mattermost message ID (mattermost) (#353)
- mattermost: Allow replying to your own last message to start new threads (mattermost) (#362)
- mattermost: Support 2fa authentication (mattermost) (#355)
- general: Log useful timestamp (#364)
- mattermost: Save last viewed at state and use for replaying logs (#361)
- mattermost: Add optional Unicode ellipsis to save on screen real estate (#358)
- mattermost: Allow showing replies with Prefix/SuffixContext (#351)
- mattermost: Do not show replies when hidereplies is enabled (mattermost) (#352)
This release couldn't exist without the following contributors: @hloeung, @eyenx
- general: Reload certs using SIGHUP. Fixes #110
- general: Add a tlskey and tlscert configuration option
- mattermost: Support replying to old mattermost threads (#344)
- mattermost: Allow showing parent thread or message ID with PrefixContext / SuffixContext (#348)
- general: Disable watchconfig on illumos. Fixes #345
- mattermost: Use override_username when available in backlog (mattermost) (#343)
This release couldn't exist without the following contributor: @hloeung
- mattermost: Add ShortenReplies (#322). see matterircd.toml.example
- general: Ignore private messages when not logged in (#331)
- general: Lock updateCounter against concurrent updates (#328)
- general: Ignore empty channels and non-channels for TOPIC (#339)
- mattermost: Move antiIdle to matterclient package. Fixes #327 (#329)
- mattermost: Update user after error checking (#330)
- mattermost: Fix nil User when using tokens (mattermost) (#334)
- mattermost: Use channel id from CreateDirectChannel (mattermost). Fixes #336 (#337)
- slack: Create a fake user when getting a botmessage (slack) (#333)
- slack: Fix missing botname, fix attachments without text (slack) (#335)
This release couldn't exist without the following contributors: @Aketzu, @jetpackdanger
- slack: support SSO/SAML logins using xoxc-token and cookies. See https://github.com/42wim/matterircd#slack-sso-login--xoxc-tokens
- mattermost: Support for adding message/thread context at the end (#319). see matterircd.toml.example
- general: Fix panic on nick change when not logged in
- general: Fix panic on sending to messages/users channels
- mattermost: Do not check alive while reconnecting. Fixes #318
- mattermost: Use always other user as channelID in DM for prefixcontext. Fixes #317
- slack: fix possible panic when self-message #321
This release couldn't exist without the following contributors: @hloeung, @42wim
The refactor edition. Be sure to look into the new prefixcontext.md option for mattermost.
Thanks a lot to @cjwatson, @muesli, @hloeung, @vmiklos and @guilhermepiccoli for contributing and testing this release!
- Switched to viper for cmdline parsing, which does not support "short" flags. You'll need to use
--flag
instead of-flag
. Eg./matterircd --debug
- Bridge specific configuration is now only in configuration file. This means the following flags have been removed:
-restrict
,-mmteam
,-mmserver
,-mminsecure
,-mmskiptlsverify
. You can set those inmatterircd.toml
, see the example file.
BlacklistUser
feature for slack has been renamed toDenyUsers
.JoinMpImOnTalk
feature has been renamed toJoinDM
and is available for slack/mattermostJoinInclude
,JoinExclude
now support regexp (see matterircd.toml.example)
- general: New option
trace
to give even more output asdebug
. See matterircd.toml.example. - general: New option
gops
to activate gops for debugging. - general: Allow binding to a Unix socket #276.
- mattermost: Add prefixcontext option which supports edits/deletes/reactions/threads (see matterircd.toml.example) and (prefixcontext.md)
- mattermost: Add option to use Nickname instead of Username #273 (See matterircd.toml.example).
- mattermost: Add option to disable showing replies/parent posts #283 (See matterircd.toml.example).
- mattermost:
JoinDM
option to enable groups/dm joining on startup. - mattermost: Add thread replies to prefixcontext.
- mattermost: Add support for thread reply using prefixcontext.
- mattermost: Add support for deleting/modifying own messages.
- mattermost: Add support for "words that trigger mentions" (See matterircd.toml.example)
- mattermost/slack:
JoinOnly
option to only join these specific channels (see matterircd.toml.example). - mattermost/slack:
JoinInclude
,JoinExclude
now support regexp (see matterircd.toml.example).
- general: Refactor using interfaces, will make it easier to update and add new bridges.
- general: massive speedups on joining large channels.
- general: less memory/CPU usage on large slacks/mattermost.
- general: Break longer messages at word boundaries #270.
- general: Move matterclient to pkg and refactor.
- general: Batch lastviewed updates.
- mattermost: Handle ratelimiting on frequent used paths.
- mattermost: Rewritten mattermost connection logic fixing goroutine leaks.
- mattermost: make
@ALL
messages also notices #288. - mattermost: add support for updateuser event (realtime nick changes).
- mattermost: private channels are now shown with +p in irc
- mattermost: Convert /me commands from mattermost to irc /me. Closes #281
- mattermost: Handle deleted messages in mattermost.
- mattermost: Add reaction events (using prefixContext).
- slack: speed-up on large slack installations.
- general: Refactor DMs and fix messages to self. Fixes #293
- general: Fix topic messages and check permissions. Closing #294
- general: Fix too many replay messages.
- mattermost: Changing topic also changes channel display name #284.
- mattermost: Images/links in private messages now are on the correct channel.
- mattermost: Ignore user join messages #280
- mattermost: Make mattermost away work. Fix #277
- mattermost: Fix goroutine leaks on multiple login/logout
- mattermost: Fix crash on quit without login #300
- slack: fix double messages on irc because of slack API changes, now using slack blocks.
- slack: fix regression with slack library (#264)
- slack: fix an unexpected panic (#263)
- general: Add UPDATELASTVIEWED command, and make DisableAutoView work consistently (#255)
- slack: Handle message edits and deletion (#260)
- slack: Add handling of reactions, stars and pins (#229)
- mattermost: Fix a panic #247
- mattermost: Fixes incorrect users because of paging. #244
- mattermost: Fix outdated channel issue
- mattermost: Add paging so we can see > 200 users in a channel #248
- mattermost: Fix expired session panic #259
- general: Fix datarace #246
- general: Fix empty JoinInclude
- general: Fix panic #257
This release couldn't exist without the following contributors: @Aketzu, @bucko909, @42wim
- general: Add a default value matterirc.toml for the '-conf' flag (#240)
- slack: library updated
- mattermost: library updated
- mattermost: Add support for channel created/deleted events
- mattermost: Remove ourselves from the channel when removed in mattermost. Fixes #233
- mattermost: Add/remove ourselves to the channel if we join using the GUI. #239
- mattermost: Update topics in mattermost. Closes #241
- mattermost: Fix pastes and attachments in direct message. Closes #228
- mattermost: Update channels if not known on join yet
- mattermost: Added support for disabling of automatic view flag updates (#226). See DisableAutoView in matterircd.toml.example
- slack: Add message showing enhancements and add slackbot to all channels (#230)
- general: Fix tight loop (100% CPU). Closes #231
- irc: Add support for spoofing query messages. #195
- You can now see your own messages you've typed on slack/mattermost web in irc
- irc: Add PasteBufferTimeout option (send ascii-art!) _ See matterircd.toml.example for an example. _ PasteBufferTimeout specifies the amount of time in milliseconds that messages get kept in matterircd internal buffer before being sent to mattermost or slack. Messages that will be received in this time will be concatenated together So this can be used to paste stuff like ascii-art or code. Default 0 (is disabled) Depending on how fast you type 2500 is a good number
- slack: Correctly handle different nick and username #203
- slack: Ignore channel join messages #198
- general: fix cli args not override configuration file #205
- mattermost: support multi DM-groups correctly #209
- mattermost: add correct support for personal tokens #208
Use /msg mattermost login <server> <team> <login> token=<yourtoken>
- mattermost: Fix JoinInclude / JoinExclude logic when joining/parting channels. Also support #team/channel
- mattermost: Fix issue with empty channelname
- mattermost: Fix re-login on session expiry
- slack: api changed, show uploaded files again
Because of changes in slack API and the forced use of pagination, big channels with lots of users can take a while to load.
- slack: fix panic on websocket bug #189, #196
- mattermost: support mattermost 5.x
- general: Add debugmode true/false message in banner
- irc: Add PrefixMainTeam setting. Also set the main team name as prefix in the irc-channel. See matterircd.toml.example
- slack: Add support for login for slack (as addition to login )
- mattermost: update channels when adding/removing users to new channel. Alsso join channel when we are added. Closes 42wim#178
- irc: fix NAMES reply to send entire member list
- irc: Use service for on-join topic changes (instead of your own username)
- irc: Handle \r, ACTION and colour sanitization everywhere
- irc: Fix concurrent map read/write. Closes 42wim#188
- slack: Make sure to return for not implemented functions in slack. Closes 42wim#186
- slack: Replace spaces to underscore in botnames. Closes 42wim#184
- slack: Fix issues with bots with spaces in the name
- mattermost: Actually join/remove users to channel when they join, not when they say something #113
- mattermost: Join/remove users when they're added by someone else. Use a system message to show this #175
- mattermost: Fix message looping issue
- general: enable login via irc PASS command during handshake instead of PRIVMSG
- mattermost: Update GetFileLinks to API_V4
- slack/mattermost: Fix issue with matterircd users not being able to chat to eachother
- slack: Do not join channels for single direct messages (slack)
- slack: Split fallback messages on newline (slack)
- general: mattermost configuration settings need to be migrated to
[mattermost]
settings. See matterircd.toml.example - slack: Add BlackListUser config setting. Blacklist users from connecting to slack. See matterircd.toml.example
- slack: Add JoinMpImOnTalk config setting. Only join MultiPerson IM when someone talks. See mattericd.toml.example
- slack: Add Restrict config setting. Only allowed to connect to specified slack teams. See matterircd.toml.example
- slack: Add UseDisplayName config setting. If displayname is set, the message will be prepended with
<displayname>
. See matterircd.toml.example - slack: also show messages from bots
- slack: reconnect on disconnects
- &users join speedup on teams with massive amount of users (tested on 26k users)
- Only allow 1 login/logout in progress
- slack: Fix on-join race condition
- slack: Always add yourself to your channels (fixes problem with > 500 users channels)
- slack: remove carriage returns from topic
- slack: Autojoin new channel/group when invited
- slack: Join MpIm channel if we haven't joined it yet
- Fix newlines in topic to client. Closes 42wim#163
- Remove double part messages. Closes 42wim#156
- mattermost: Fix away (mattermost). Closes 42wim#165
- slack: Look into attachments if message is empty (slack). Fixes 42wim#160
- mattermost: Update lastview every 60 second as antiIdle (mattermost). Closes 42wim#147
- slack: Make sure we only can execute comands if login is fully done. Closes 42wim#154
- slack: Add invite support (slack). Closes 42wim#159
- slack: Add list support (slack)
- slack: Fix channel parts for private channels
- slack: Add kick support (slack)
- slack: Allow to mention yourself.. Closes 42wim#157
- Strip IRC colors. Closes 42wim#149
- slack: Replace mentions, channels, etc.. #13
- slack: Use displayname if possible (instead of name)
- slack: Enable LinkNames. (@here,@all) Closes 42wim#152
- slack: Add topic change support (slack). Closes 42wim#151
- mattermost: Print list of valid team names when team not found (42wim/matterbridge#390)
- Add support for private channels in slack #142
- Slack: fixes join/parts #143, #146
- Slack: fixes away #144
- Fix some messages going to &messages #140
- Fix crash on /nick change when not logged in #141
- Remove crash on channel lookup of private messages
- Remove debug code which could cause a crash
- Only append channel name to sender once in &messages
-
-conf
option (for a config file). See https://github.com/42wim/matterircd/blob/master/matterircd.toml.example for an example. Thanks @slowbro for this PR. -
New config file options
- JoinExclude: an array of channels that won't be joined on IRC. Messages that get sent to unjoined channels (but you're joined on mattermost) will get sent to the &messages channel. You can still /JOIN exclude channels.
JoinExclude = ["#town-square","#boringchannel"]
- JoinInclude: an array of channels that only will be joined on IRC. If it's empty, it means all channels get joined (except those defined in JoinExclude) Messages that get sent to unjoined channels (but you're joined on mattermost) will get sent to the &messages channel.
JoinInclude = ["#devops"]
- PartFake: a bool that defines if you do a /LEAVE or /PART on IRC it will also actually leave the channel on mattermost. Default false
PartFake = true
-
don't log passwords used with 'mattermost' and 'slack'. Closes #73
- Already read messages are replayed again and again #130
- Update to latest mattermost (4.6) libs
- Deprecated flags
-bindinterface
and-port
removed
- Support mattermost 4.2 and higher (4.x) (use mattermost v4 API)
- Add -mmskiptlsverify option to skip TLS certificate checks on mattermost
- Display nickname, if set #120
- Replace IRC parsing function with shellwords like function to allow for passwords with spaces. (#8)
- Support mattermost 4.1
- Add initial support for slack
- Support mattermost 4.0
- Show slack attachments if they have a fallback/contain text
- Show links even when public links are disabled #105
- Edited messages now have "(edited)" appended
-bind ""
now disables non-tls port-binding when you have-tlsbind
specified #109
- Long messages from mattermost will be split in multiple smaller messages #103
- Fix join/leave messages for recent mattermost versions #113, #104
- Ignore messages sent to &users #108
- Ignore posts that have a reaction (emoji) added #111
(thanks to @recht matterircd fork)
- Add KICK support
- Add INVITE support
- Also relay edited messages
- Show the original message/author after replied messages
- Print timestamp of replayed messages
- Faster startup (joining channels)
- Do not clear topic on empty /TOPIC command
- Fix various possible panics
- Support mattermost 3.10.0
- Fix crash #97
- Support mattermost 3.9.0
- Use props instead of ZWSP to check if message comes from matterircd (no more spaces after messages from matterircd -> mattermost)
- Support mattermost 3.7.0 and 3.8.0
- Make public links (pasted images/attachments) work again
- Add support for public links in SCROLLBACK and SEARCH
- Use correct status for /WHO #81
- Fix ISON for misbehaving clients #78
- Support mattermost 3.6.0
- Fix crash on new channel joins #77
- Fix crash on channel join/leaves of other mattermost users #77
- Support mattermost 3.5.0