aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Print error message when sending message failsTrygve Aaberge2020-10-052-4/+7
| | | | Relates to #797
* Remove unnecessary team parameter in SlackMessage initTrygve Aaberge2020-10-051-7/+7
|
* Don't display the typing indicator for muted conversations (#794)Latchezar Tzvetkoff2020-10-041-1/+1
|
* Remove section about adding dependencies from contributing docsTrygve Aaberge2020-10-041-28/+0
| | | | | | | Since people install this either just by copying the script, or by installing it from WeeChats repo, and neither of these methods install dependencies automatically, I really want to keep dependencies to a minimum. So I don't think it's useful to document how to add new ones.
* Remove outdated info about virtualenv and improve debugging docsTrygve Aaberge2020-10-041-7/+13
| | | | | | How to install the dependencies for development and running tests is now documented in docs/contributing.md, so change the development section to just a debugging section.
* Use direct pypi url to skip redirectTrygve Aaberge2020-10-041-2/+2
| | | | | Doesn't matter much, but this skips a redirect, and is the url I get when starting a new Pipenv.
* feat: use pipenv to manage the development environment (#784)Ben Denhartog2020-10-046-5/+109
| | | | | | | | | | | | | | | | | | | | [Pipenv][0] makes it easier to maintain a consistent development environment for projects using Python. You no longer need to manage `pip` and `virtualenv` separately, nor deal with the drift and other issues requirements.txt brings. It enables gaining insights into your dependency graph, but most importantly - it enables deterministic builds, which prevents the entire class of "it works on my machine" problems. [Pipenv][0] is similar to package managers from other ecosystems, such as Node.js' `npm` or Rust's `cargo`. Additionally, [Pipenv][0] is an [officially recommended package manager][1] by the Python project. This patch brings [Pipenv][0] to the wee-slack project to simplify the development and contribution experience. Additionally, this patch brings basic contributing documentation to help onboarding. [0]: https://github.com/pypa/pipenv [1]: https://packaging.python.org/tutorials/managing-dependencies/#managing-dependencies
* Improve documentation for notify methodsTrygve Aaberge2020-09-161-7/+18
| | | | | | lnotify.py and all of the other local notification scripts for linux in the repo have issues (see https://github.com/weechat/scripts/issues/433), so recommend the trigger in the wiki instead, which seems to work great.
* Use slack_timeout for websocket connectionTrygve Aaberge2020-09-091-2/+3
| | | | Relates to #793
* Check that user is not None in typing noticesTrygve Aaberge2020-09-081-1/+1
| | | | | | | | | I have experienced this being called with a user id we're not aware of, in which case metadata["user"] will be None. I think shared teams/channels are the reason for this. We should look up the user id when it's unknown, but for now just ignore typing notices for unknown users so we don't get an exception.
* Fix argument names in format functionTrygve Aaberge2020-08-291-1/+1
| | | | | The argument names didn't match the names used in the template string. This bug was introduced in commit 63382c5.
* Fix session token description to work in FirefoxTrygve Aaberge2020-08-271-3/+4
|
* Fix thread broadcasts sent from wee-slack not becoming broadcastsTrygve Aaberge2020-08-241-1/+2
| | | | This was broken in commit d427501.
* Fix thread broadcasts not appearing in channelsTrygve Aaberge2020-08-241-2/+5
| | | | This was broken in commit d427501.
* Set correct localvar type for threads in pmsTrygve Aaberge2020-08-201-5/+9
| | | | | | | Previously threads in pms had localvar type set to channel. Now the type is set to the same as the parent channel. Fixes #789
* Support global weemoji.json fileTrygve Aaberge2020-08-181-2/+7
|
* Use native multiline input support for weechat >= 2.9Trygve Aaberge2020-08-181-5/+10
|
* Fix usage of dates with non ASCII characters for Python 2 (#788)Nicolas Schodet2020-08-111-1/+1
| | | | | When not using english locale, date could contains non ASCII characters. Fixes #419
* Fix thread bot messages appearing in channel instead of threadTrygve Aaberge2020-08-021-11/+7
| | | | | | | | Bot messages in threads have subtype set to bot_message (just like bot messages in channels), so we can't use subtype to check if a message is a thread message or a channel message. Fixes #749
* Remove thread short_name indent if buflist.format.indent checks slack_typeTrygve Aaberge2020-07-141-1/+4
| | | | | | | | | | | | | If buflist.format.indent includes "slack_type", assume that it handles the indent for slack threads specifically, so we should not add any indent in the short_name. Otherwise, add a space at the start of short_name so it is indented in the buflist. This means that you can use e.g. this value for buflist.format.indent to get a nice tree view in the buflist, with threads nested under the channels: /set buflist.format.indent "${color:237}${if:${buffer.local_variables.slack_type}==thread?${if:${buffer.next_buffer.local_variables.slack_type}==thread?│ ├─:│ └─}:${if:${buffer.next_buffer.local_variables.type}=~^(channel|private)$?├─:└─}}"
* Revert "Use buflist.format.indent for thread short name indent"Trygve Aaberge2020-07-141-3/+1
| | | | | | | | | | | | | | | | | | | | This caused some issues, so I think it's best to revert it: - If you don't set a color in the indent option, and otherwise use default format options, the normal indent will be colored green while the thread indent will be colored white. - It will look worse for people with tree-style indent unless they specifically change the indent option for Slack. - The indent will be included when the name is shown in the hotlist, and other places that show short_name. Even without this, it's still possible to get nice indenting of threads if you add the condition `${buffer.local_variables.slack_type}==thread` in the indent option and use that to print extra indent for threads. You will get an extra space before the name (the default indent), but I'll add a commit to remove that if the indent option includes slack_type. This reverts commit f55bf93ad9dd9a90afa987ee45ac7c862d85084b.
* Support creating channelsTrygve Aaberge2020-07-092-0/+39
| | | | | | | | Add command /slack create to create a channel. Currently doesn't switch to the channel after it's created, even when switch_buffer_on_join is true, that is a todo for later. Fixes #415
* Set buffer localvar slack_typeTrygve Aaberge2020-07-091-1/+4
| | | | | | The localvar type has to be set to server, channel or private for things to work properly. Add slack_type so you can differentiate between channels, groups/private channels, threads, ims and mpims.
* Set extra_var slack_thread in indent evaluationTrygve Aaberge2020-07-091-1/+1
| | | | | This allows you add a condition for slack threads in the indent option to display the correct thing, e.g. when using tree style indent.
* Set default color for thread short_nameTrygve Aaberge2020-07-091-1/+1
| | | | | The indent string may set a color and not reset it, because it's not necessary to reset it for normal channels.
* Evaluate buflist indent config option as an expressionTrygve Aaberge2020-07-091-1/+2
| | | | Fixes #783
* Revert "Don't set no_highlight for backlog messages"Trygve Aaberge2020-07-061-2/+2
| | | | | | | | | | | | | | | | | | | This caused a problem for relay clients. They are not notified when print hooks are disabled/enabled, so they have to use the tags and line properties to determine if a line should notify. One could argue that they should not notify when notify_none is present, even if it's a highlight, but this is not how the hotlist or default beep trigger in weechat behaves. When a message with a highlight is printed, that is added to the hotlist and beeps even if notify_none is set (wee-slack removes the buffer from the hotlist immediately after printing the line, which is why that wasn't a problem in plain weechat). Additionally, this caused messages you had reacted to to be highlighted when the buffer was reprinted, since the text now included your name when the line was printed. This reverts commit de5eb518fda26fed3b5cd41c20b064c04020bbb9.
* Set time zone to UTC for unfurl test (#782)Tollef Fog Heen2020-07-041-0/+2
| | | Fixes #781
* Fix buffers not changing color in buflist when (un)mutedTrygve Aaberge2020-06-241-0/+1
|
* Remove buffer notify option for unmuted buffersTrygve Aaberge2020-06-241-1/+2
| | | | | | | | | | | | | | | | | | | | | We were setting the notify level for unmuted buffers to 3. This is not the right thing to do because weechat has a weechat.look.buffer_notify_default option which might be set to a different value. By removing the option instead, weechat will use the default value. Additionally, when we change the notify level for a buffer, this is stored in the config (for weechat >= 2.6). Having such a config for all buffers is annoying, but with this change the config will only be present for muted buffers. This fix is not perfect because you still get config values for muted buffers, and since wee-slack is overriding the notify level you can't override it yourself for specific buffers. A potential solution to this could be to set notify level for each line instead of setting notify level for the buffer. Fixes #746
* Set localvar type to private for mpdmsTrygve Aaberge2020-06-241-1/+1
| | | | | | Mpdms should behave the same way as dms when it comes to notifications etc., so I think it makes more sense to set type to private than to channel.
* Support showing buflist presence when short_name is overriddenTrygve Aaberge2020-06-201-0/+2
| | | | | | | | | | | When you set a short name, the prefix wee-slack sets (# for channels, + for dms with present users etc.) is normally dropped so the short name is exactly how the user wants it. However that makes it impossible to see presence in the buflist when short name is set (unless you set it with /label which keeps the prefix). Therefore, if the short name is set to a name starting with a space, replace the space with + if the user is present. This gives the same prefix behavior and characters as when short name is not set.
* Add some tests for formatted_nameTrygve Aaberge2020-06-201-0/+201
|
* Combine channel formatted_name methodsTrygve Aaberge2020-06-201-58/+22
|
* Don't throw error if trying to rename team bufferTrygve Aaberge2020-06-201-1/+1
|
* Don't print short name prefix if set with /buffer setTrygve Aaberge2020-06-201-8/+37
| | | | | | | | When short name is set with /buffer set short_name, instead of changing it to include the prefix, keep it as is. I think this is what would be expected, and it also allows the user to choose which prefix to show. When showing typing notices, replace the first character with the typing character.
* Support renaming buffer with /buffer set name and /label -fullTrygve Aaberge2020-06-202-28/+70
|
* Don't set label when changing buffer nameTrygve Aaberge2020-06-201-1/+2
| | | | | This caused a bug where the short_name got a double prefix, because the label was set to the short_name which wasn't changed.
* Show blocks in attachmentsTrygve Aaberge2020-06-161-2/+5
|
* Support colorizing attachment prefix or lineTrygve Aaberge2020-06-165-2/+49
| | | | | | | | | Thanks to @Informatic for the initial implementation of this in PR #426. I have seen that most attachment colors are without the leading #, but a few does include it, so we have to handle it. Fixes #424, closes #426
* Assert color values in testsTrygve Aaberge2020-06-144-5/+10
|
* Include a prefix character in front of attachmentsTrygve Aaberge2020-06-142-43/+45
|
* When changing last message, print new lines if neededTrygve Aaberge2020-06-141-6/+40
| | | | | | | | WeeChat doesn't support inserting new lines apart from at the bottom, so normally when a message is changed to contain more lines, it is not shown properly until the buffer is redrawn. However, if the message that's being changed is the last one, we can insert new lines so it's shown properly.
* Don't set no_highlight for backlog messagesTrygve Aaberge2020-06-141-2/+2
| | | | | Now that we don't run print hooks for backlog messages, we can keep highlights without triggering anything else.
* Support unsetting buffer labelTrygve Aaberge2020-06-141-2/+4
|
* Change thread short name prefix to $Trygve Aaberge2020-06-141-1/+1
| | | | | | | The + prefix is used for presence in dm channels, so it's easier to distinguish threads by using a different character. $ is used for message ids, which is how the threads are named by default, so I thought that was natural.
* Use buflist.format.indent for thread short name indentTrygve Aaberge2020-06-141-1/+2
|
* Refactor to if/else for SlackThreadChannel.formatted_nameTrygve Aaberge2020-06-141-6/+8
|
* Include channel name in thread localvar channelTrygve Aaberge2020-06-141-1/+1
|
* Set label to short_name when short_name is setTrygve Aaberge2020-06-141-0/+19
| | | | Fixes #563