| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
| |
I mainly did this because I'm going to call formatted_name with
style=default before team is set, and that didn't work as it was because
the other styles used the team.
For SlackDMChannel I moved colorizing into the branch for the sidebar
style because colors should never be included in the other styles.
formatted_name is never called with enable_color=True and another style
than sidebar, so the behavior doesn't change.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Slack only sends typing notices every 5-6 seconds, so when we expired
them after 4, a user which continously typed a message would disappear
from the typing bar every 4 seconds and appear again after a second. Now
they are shown continously, and for about the same duration as the web
client.
|
|
|
|
|
| |
SlackChannel.members is overwritten in set_members and user_joined, so
it could become stale when it was an attribute.
|
|
|
|
|
| |
Lots of places used members instead of get_members, and it's
inconvenient having to call a function anyways.
|
|
|
|
| |
We don't receive any event when a user has stopped typing.
|
|
|
|
|
|
|
|
|
| |
Slack doesn't render the `text` property at all when `blocks` is
non-empty, so we shouldn't render both `text` and `blocks`. However,
because we don't support the `rich_text` block type yet, we have to fall
back to the `text` property when `rich_text` is present. Therefore,
render both `text` and `blocks` if `rich_text` is present, else render
only `blocks` if it is non-empty, and only `text` if `blocks` is empty.
|
|
|
|
|
| |
I don't think this exists anymore, and we support rendering markdown so
we shouldn't use fallback anyways.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, files with a mode other than "tombstone" were assumed to have a
"title" and "private_url". This is not necessarily the case; in particular,
files with the "hidden_by_limit" (removed from visibility because the
workspace has exceeded its free-tier storage limit) mode have *only* "id" and
"mode". This resulted in a KeyError trying to look up the "title" and
"private_url", and truncated history at the message with that file.
This commit explicitly handles "hidden_by_limit" files, and makes the handling
of any other unknown modes more robust by explicitly checking for "title" and
"private_url" before rendering a message with them.
|
| |
|
| |
|
|
|
|
| |
Fixes #764
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Slack now disallows # in OAuth redirect uris, so we can't use it to
prevent GitHub Pages from seeing the OAuth code anymore.
Since the OAuth code is only valid once and expire after 10 minutes, I
don't think it's a problem that they are exposed to GitHub Pages, so
this is the new default so the same registration process can be kept.
However, for people worried about this, there's a new -nothirdparty
option to /slack register which can be used which doesn't expose the
code.
Fixes #766
|
|
|
|
| |
As of today, these can no longer be created.
|
| |
|
| |
|
|
|
|
|
| |
For deleted message events, this field may not exist (e.g. when a giphy
preview is deleted).
|
| |
|
|
|
|
|
|
|
|
|
| |
/reply takes a message, so default completion should work there. /slack
talk only takes one argument with a comma separated list of nicks, so
technically preventing default completion is correct for that. However,
until we support completing multiple nicks separated by comma,
preventing completion of nicks as additional arguments makes it
inconvenient to use.
|
|
|
|
|
| |
The replies property doesn't exist anymore, it has been replaced by
reply_users and reply_users_count.
|
| |
|
|
|
|
| |
Relates to #767
|
|
|
|
|
|
|
|
|
|
|
| |
Completion for our commands can't use || because they can be used as
subcommands for /slack and weechat doesn't support multiple templates
with the same subcommand. See https://github.com/weechat/weechat/issues/1481
This makes the completion for /reply slightly incorrect. It now allows
you to complete two thread arguments when not using -alsochannel. To fix
that, we would have to write a custom completion function. It's not
hard, but I'm not sure it's worth the effort for such a small detail.
|
|
|
|
| |
This bug was introduced in commit b2618af.
|
|
|
|
| |
This was broken in the previous commit, be5d890.
|
|
|
|
|
|
| |
Previously, the emoji completion only returned emojis if you tried to
complete after typing a :. This prevented it to be used in commands
without typing : first.
|
| |
|
|
|
|
| |
Fixes #728
|
|
|
|
| |
Relates to #728
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After running /upgrade, all the buffers will still exist, but the script
is stopped and run again, so all the state in the script will be gone.
This causes a bunch of errors because buffers can't be created and the
script won't know about the existing buffers.
Instead of loading the script normally, print a note that wee-slack will
not work until it's reloaded. I didn't take the effort to make it work
automatically, because it should be easy for users just to reload it.
Fixes #275, fixes #309, fixes #310
|
|
|
|
| |
Fixes #613
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If you right click on an emoji or an emoji name in a message, that emoji
will be either added as a reaction, or removed if you already have
reacted with it. This allows you to easily react with the same reactions
as others have used. If you click anywhere else on a message, the
message hash is inserted in the input field as before.
For emoji names you have to click on the first colon. This is partly
because it was easier to implement, and partly because I'm going to
trigger this using the keyboard (using https://github.com/trygveaa/kitty-hints-mouse-click),
so I don't have a need for clicking other places on the emoji name.
If you want to keep the old behavior of inserting the message hash in
the input field no matter where you click on the message, change the
binding for right click to hsignal:slack_cursor_message, like this:
/key bindctxt mouse @chat(python.*):button2 hsignal:slack_cursor_message
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SlackTeam can't be json serialized, so this broke record_events. I broke
this in commit 324890c when I changed from storing the team hash on the
message_json to storing the team.
You can't currently see which team the message is from, but you couldn't
really with the team hash either since the relation between the team and
the team hash is not printed anywhere. I will add a better way to see
which team the message is from in the next commit.
Fixes #761
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
We should only use the fallback if we don't get any information out of
the attachment. For links that exists in text_before, we have gotten the
information from the attachment, but choose not to display it so we
don't end up with duplicate links. Therefore, we shouldn't use the
fallback in this case.
|
|
|
|
|
| |
The urls in the attachment fields can apparently come both escaped and
unescaped.
|
| |
|
|
|
|
|
| |
Prevents showing "http://some.url (http://some.url)" if the url has a
fallback which is equal to the url.
|
| |
|
|\
| |
| | |
Allow subscribing to threads
|