aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Support starting wee-slack without using rtm.startTrygve Aaberge2022-09-172-23/+258
| | | | | | | | | | | rtm.start is deprecated and will stop working on September 20, 2022. This patch replaces it with several other API endpoints to get the info we need. The handle_rtmstart method is kept for the test setup to work, but this setup should also be replaced with the new API endpoints. This is a necessary step for #699 and #844
* Don't crash on missing mode on files in messagesTrygve Aaberge2022-09-171-1/+1
|
* Use correct parameter name for info requestTrygve Aaberge2022-09-171-1/+1
|
* Fix tests and formatting after last commitTrygve Aaberge2022-09-172-4/+4
|
* Check closed IM channels for unread messages (#859)Daniel Nelson2022-09-171-0/+17
| | | | | On connection check closed IM channels for unread messages and if any are found open a buffer. This ensures that new direct messages are not missed.
* Add /mute to command for setting the token in the readmeTrygve Aaberge2022-09-051-1/+4
| | | | Fixes #869
* Fix message changes not being processedTrygve Aaberge2022-01-311-1/+2
| | | | | | | | | | | | | The Slack API has changed message_changed events from having a unique ts to having the ts of the message that's changed, which means that the condition in the start of process_message to not process duplicate messages (see commit 68966be for info about that) made it skip the message_changed events. To fix this, only do this duplication check for messages without a subtype (i.e. new normal messages). This condition is becoming a bit convoluted, so it might be better to do this duplication check another way, but this will have to do for now to get the issue fixed.
* Fix formatting after black upgradeTrygve Aaberge2022-01-302-10/+5
|
* Update weemoji.jsonTrygve Aaberge2022-01-301-87/+2603
|
* Fix alignment of multiline messages with non-ASCII prefix. (#854)bemoody2021-11-161-1/+2
| | | | | | | | | | | | On Python 2, weechat.string_remove_color doesn't work for Unicode strings containing non-ASCII characters. The string must be converted to bytes using encode_to_utf8. Furthermore, the length of a non-ASCII string (either in bytes or codepoints) isn't the same as the width of the string on screen. To accurately calculate the width, when the string might contain combining or double-width characters, use weechat.strlen_screen. Co-authored-by: Benjamin Moody <benjaminmoody@gmail.com>
* Validate token not empty, before initiate connection (#853)Inom2021-11-161-1/+5
| | | | | | | | | | I continuously received this error: ``` AttributeError: 'NoneType' object has no attribute 'token' ``` Because tokens list was `['', '']`. And wee-chat tried initiate connections without tokens. This small change fix this error.
* Fix README.md broken TOC link (#848)Dmitry Sandalov2021-08-051-1/+1
|
* Don't unhide buffers when reprinting messages (#839)Kevin Pulo2021-06-231-0/+1
|
* Remove Python >= 3.6 only syntaxTrygve Aaberge2021-06-231-1/+1
| | | | This comma broke compatibility with Python 2.7, so remove it.
* Document how to format and lint the codeTrygve Aaberge2021-06-231-2/+20
| | | | Fixes #842
* Fix alignment of multiline messagesTrygve Aaberge2021-05-261-2/+5
| | | | | | When `weechat.look.prefix_align` is set to `none`, lines after the first in a message would not align with the first. Use the same number of spaces as the prefix for those lines, so they align with the first.
* Move IRC channel from freenode to Libera.ChatTrygve Aaberge2021-05-241-1/+1
|
* Release v2.8.0v2.8.0Trygve Aaberge2021-05-112-1/+20
|
* Add compatibility with WeeChat >= 3.2 (XDG directories)Sébastien Helleu2021-05-111-3/+8
|
* Support MPIMs in channel list of rtm.startTrygve Aaberge2021-05-113-15/+41
| | | | | | | | | | | For some reason, some MPIMs are listed in the channel list of the response from rtm.start, with is_mpim set to true, instead of in the mpims list. These incorrectly appeared as private channels instead of MPIMs in wee-slack. These entries do not contain a members list, so we have to call conversations.members and set the name after receiving the response from that.
* Add indicator for broadcast thread messages (#838)Bill Doyle2021-05-111-1/+13
|
* Support mpim_aware RTM APITrygve Aaberge2021-05-082-89/+102
| | | | | | | | | | | | Apparently, the API now sends an mpim_joined event when an MPIM is created instead of a group_joined event, even if we don't set mpim_aware to true. Instead of just handling mpim_joined in addition to group_joined (which could cause issues if both are called for MPIMs, though I haven't experienced that), it's better to properly support mpim_aware. Fixes #825, fixes #833
* Include channel name in file names for downloaded filesTrygve Aaberge2021-04-301-4/+6
| | | | Fixes #836
* Ignore failing flake rules instead of selecting only a fewTrygve Aaberge2021-04-134-5/+13
| | | | E203 should be ignored when using black according to their docs.
* Fix some flake8 errorsTrygve Aaberge2021-04-133-5/+4
|
* Some code cleanup from lgtm.com checksTrygve Aaberge2021-04-122-18/+19
|
* Update docker alpine image to use python3 package (#831)Shawn Toffel2021-04-011-1/+1
|
* Fix test broken in the previous commitTrygve Aaberge2021-03-211-1/+1
|
* Call conversations.members for all channelsTrygve Aaberge2021-03-211-1/+4
| | | | | | | | | It turns out that some channels in rtm.start include a member list with a few users, but not all. Therefore, I don't know how we can know if the list is complete or not, so we have to call conversations.members for all channels. Fixes #829
* Call conversations.members for all channel typesTrygve Aaberge2021-03-211-22/+9
| | | | | | | | | | I'm not sure when members for a channel is included in rtm.start, but it seems like shared and private channels doesn't include the field at all, while some other channels have started to only include the user. Therefore, call conversations.members if a channel doesn't have any members or if the only member is the user. Hopefully this fixes #829
* Run black check in CITrygve Aaberge2021-03-202-0/+5
| | | | | | Thanks to @sudoforge in #828 for this. Closes #828
* Format all python files with blackTrygve Aaberge2021-03-2022-1868/+3154
|
* Clear last_line_from when clearing bufferTrygve Aaberge2021-03-061-0/+1
| | | | | | Fixes a bug where the first line would use prefix_same_nick after reprinting messages if the first and last message were from the same person.
* Increase the number of channel members we fetchTrygve Aaberge2021-03-061-1/+1
| | | | | | | | conversations.members only returns 100 members if we don't specify limit, and requires pagination to get the rest. We want to know more members than that, so specify a limit of 1000, which is the max we can specify. If a channel has more than 1000 members, we would have to use papagination to get all, but I'll just do this simple change for now.
* Get user info for unknown users after getting channel membersTrygve Aaberge2021-03-061-4/+4
| | | | | | | Since all members might not be known yet in get_history (which is why we call conversations.members), if we look up unknown users there, we won't look up all the unknown users. Check for unknown users when receiving the response for conversations.members instead.
* Fallback to user identifier if we can't find a name in get_senderTrygve Aaberge2021-03-061-1/+1
| | | | | | | | | | | | | | | I don't like displaying the user identifier, but if all of the steps in get_sender fails, it's better to fallback to the identifier rather than an empty string, so you can at least distinguish between different users. It falls back to an empty string again if user_identifier is None, because some messages in the tests doesn't even have a user_identifier. Though, I don't think any messages the Slack servers are sending now are missing user_identifier. After the last commit, hopefully this fallback to user identifier will never be used though.
* Get message sender nick from profile for unknown usersTrygve Aaberge2021-03-061-0/+7
| | | | | | If a message is sent from an external user, the message will include the user profile, so we can use that to display the correct name if we haven't fetched the user info yet.
* feat(ci): add python 3.9 to the test matrixBenjamin Denhartog2021-03-061-2/+2
|
* feat(ci): add python 3.8 to the test matrixBenjamin Denhartog2021-03-061-2/+2
|
* feat(ci): use github actions instead of travis-ciBenjamin Denhartog2021-03-062-23/+103
| | | | | | | This patch removes the configuration for Travis-CI, and adds configuration for Github Actions. Co-authored-by: Ashish Kulkarni <ashish@kulkarni.dev>
* Release v2.7.0v2.7.0Trygve Aaberge2021-02-242-1/+51
|
* Update Options.md after last commitsTrygve Aaberge2021-02-241-0/+6
|
* Add tests for link_previous option added in previous commitTrygve Aaberge2021-02-221-0/+31
|
* Add support to disable teammate link previews (#815)Joan Touzet2021-02-221-0/+5
|
* Don't escape <>& in me messagesTrygve Aaberge2021-02-211-14/+16
| | | | | | | | | Apparently chat.meMessage requires these characters unescaped, even though it interpret links using these characters. There doesn't seem to be any options for changing this behavior, so we have to linkify nicks/channels while also leaving <>& unescaped. Fixes #704, closes #822
* lookup message via hash with fallback to countAshish Kulkarni2021-02-202-3/+6
|
* allow new threads to be opened via /thread <THREADID>Ashish Kulkarni2021-02-201-2/+1
| | | | | This was broken in #774 as it checked if there was at least one reply, which is not the case for new threads.
* Replace deprecated APIs with conversations APITrygve Aaberge2021-02-202-20/+22
| | | | | | | | | | | | | | | Now that conversations.mark works for all tokens, just using the conversations API the same way as the old APIs works fine as far as I can see. Loosing unread_count_display by replacing mpim.open with conversations.open and channels.info with conversations.info means that mpims and channels will not be marked as unread when wee-slack loads if background_load_all_history has been set to false anymore. As far as I can see, the only way to check if they have unread messages is by loading the history, so there is no way around this. Fixes #792
* Fix thread id collision detection not working in Python 2Trygve Aaberge2020-10-091-1/+1
| | | | | | | | | hashlib returns a byte string in Python 2, but since we only use unicode strings elsewhere the check against that in SlackChannelHashedMessages.__missing__ didn't work. Make sure sha1_hex returns a unicode string instead. Fixes #800, closes #801
* Combine duplicated send_message codeTrygve Aaberge2020-10-051-19/+14
|