| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
If we get a channel_leave message from a user that hasn't spoken
recently in the channel and hasn't been loaded in the nicklist (because
the channel has too many members to load all of them into the nicklist),
it isn't in _nicklist so trying to pop it from there would fail.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Apparently it varies how many users can be fetched in one request with
the users.info method. I have had successful requests with 4096 users,
while some people have reported getting HTTP 500 when fetching 1000
users and one person got an error response with error `too_many_users`
when fetching 500 users.
So when we get either of those errors, reduce the number of users we
fetch in one request and try again until it works or the number of users
has been reduced to 1.
Fixes #924
|
| |
|
|
|
|
|
|
| |
This fixes an issue where the temporary directory couldn't be deleted
after use because the connection to the LevelDB file in it was still
open.
|
|
|
|
|
|
|
|
|
| |
history_pending had a problem with being stuck as True if a crash
occurred. Additionally, only is_loading is shown in the input bar item,
so if only history_pending is True for some reason (which shouldn't
happen), it's not shown. I don't think I need a separate variable, so
instead of fixing history_pending, just use is_loading which doesn't
have these problems.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
It seems like for enterprise workspaces you have to use the enterprise
id (if the token is a workspace level token,
`enterprise_id/workspace_id` can also be used, but isn't necessary),
while for non-enterprise workspaces the workspace id should be used.
|
| |
|
|
|
|
|
|
|
| |
Otherwise a hash that's all digits can't be used without the $ prefix.
Message hashes are always at least three characters, so even though this
prevents using indexes that collides with a hash, I don't think it's a
problem as such large indexes doesn't seem practical anyways.
|
| |
|
|
|
|
| |
This is 1 if the conversation is muted and 0 if it's not.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Move the configuration of which files pyright should run on from the CI
command to pyproject.toml.
Pyright is only configured to run on the main files for v3. So don't run
it on the files for the old version of wee-slack, and don't run it on
the util scripts. Ideally we would run it on the util scripts, but they
give a lot of errors now, so we'd have to fix that first.
|
|
|
|
|
|
|
|
|
|
|
| |
Move the configuration of which files ruff check should run on from the
CI command to pyproject.toml and change it to run on most files.
Exclude these files:
- typings/weechat.pyi because it's copied from the WeeChat repo and I
don't want errors from that.
- wee_slack.py and _pytest because it's the old version, so there's no
point spending time fixing lint errors there.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This will update the nightly release with the latest build every time
master is pushed to.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
The with_color helper is usually used to set only the foreground color
(currently all usages), so by only reseting the foreground we keep any
existing background color. This fixes the default background on the
current buffer in the buflist for muted conversations.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
It will use the current buffer if no arguments are given.
|
|
|
|
|
| |
Some users have gotten HTTP 500 from the API when trying to request 1000
users in one request.
|
|
|
|
|
|
|
|
|
|
| |
When joining a channel you seem to get the last messages for it over the
WebSocket. When joining a channel you've parted and you still have the
buffer for open, those messages will already be in the buffer, so we
have to make sure their not printed multiple times.
I've also been told that messages can appear multiple times in the
reconnect brach, which this should fix too.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
For now this only supports known channels, which currently typically
means they have to be referenced in a channel with history loaded.
|
| |
|
|
|
|
|
|
| |
For now this only supports known nicks, i.e. mostly nicks that have
posted a message, is mentioned in a message or appears in the nicklist
in any of the conversations that's loaded.
|
|
|
|
|
| |
We don't want to call the API to close im/mpim conversations when the
script is unloading.
|
|
|
|
|
|
|
| |
If _connect_task remains set, the connect command won't allow you to
connect again because it thinks it's still connecting. This caused a
problem where if you disconnect while connecting (or after connecting
has crashed), it wasn't possible to connect again afterwards.
|
|
|
|
|
|
|
|
|
|
|
| |
If a reaction has more than 50 users, the list of users will be cropped
to just 50 users. This made the counts wrong since we used the number of
users rather than the count property. Fix it by using the count property
instead and adding "and others" to the list of users if
show_reaction_nicks is enabled (the same as the Slack client shows when
you hover over the reaction).
This is the same fix as in commit 6b388cd9, but for version 3.0.0.
|
|
|
|
|
|
|
|
|
| |
Files uploaded in Slack Connect channels doesn't contain any
information, so we have to make a request to files.info in order to get
the information to render it.
See https://api.slack.com/apis/channels-between-orgs#check_file_info for
more info.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously each message was rerendered individually. This meant that for
each message, we start at the bottom of the buffer and go through all
the lines upwards until we find the message. So the lines were looped
through a lot of times which was slow. Now we instead go through all the
lines once, look up the message for each line and updates it.
This is only for >= 4.0.0 since earlier versions may have multiple lines
for each message (when the message has multiple lines). That would
complicate this way of updating the messages, and I don't think it's
worth implementing it when it's only for an old version.
|
|
|
|
|
| |
It's better to post nested objects as JSON rather than url encoding
them, and this fixes some type errors.
|
| |
|