| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
| |
On some Linux systems org.freedesktop.Secret D-Bus service is not
available (installed/enabled), typically as a deliberate choice. In
those cases `extract_token_from_browser.py` hands for the duration of
D-Bus timeout and eventually fails. Note that it does not handle the
timeout exception, so a fallback is not used.
This commit adds `--no-secretstorage` option which skips using that
service.
|
|
|
|
|
|
|
| |
Previously running /thread with a message id for a thread reply (or
pressing T on the message in cursor mode, which is the same thing) would
open a buffer with just the thread reply. Now the thread buffer for the
thread the message is in is opened instead.
|
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
| |
Fixes #912
|
| |
|
| |
|
|
|
|
|
|
|
| |
The caching doesn't seem to help much and it spends a while in the post
step for the cache so the total runtime is lower without the cache.
Having linting and testing in separate jobs doesn't seem valuable to me
either.
|
|
|
|
|
|
|
|
| |
I tried to do a fix for this in commit 6478c141, but it only fixed
normal text, not e.g. code blocks and attachments. With this I think it
should be correct everywhere.
Fixes #908
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The extract_token_from_browser.py script does not handle Firefox containers
correctly. The container support works by namespacing cookies and local storage
with a 'userContextId'. In effect this means that when containers are used,
running the script will select the cookie from whichever container happens to be
returned first by the database query, which will be combined with the
non-containerised instance of the local storage.
Add correct handling by adding a new --container flag which specifies a
container either by numeric ID or by name, and including the correct
userContextId into the cookie query and local storage path (or excluding all
cookies from containers from the query if no --container flag is supplied).
With this the script can be run like:
python extract_token_from_browser.py --container Work firefox
to get the Slack auth token for the 'Work' container.
Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Slack documentation claims that the “ts” flag on attachments
is “An integer Unix timestamp”. However, evidently it can be in
milliseconds (i.e., a timestamp multiplied by 1000), causing
out-of-range exceptions when trying to feed them to date.fromtimestamp().
This can cause all messages after such attachments to just vanish,
as if they were never there, as parsing stops.
Accept both; as a heuristic, the Slack web interface seems to use
100000000000 as a threshold, so we do the same and divide by 1000
if so.
Co-authored-by: Steinar H. Gunderson <steinar+git@gunderson.no>
|
|
|
|
|
| |
It already marks it as read when `/input set_unread_current_buffer` is
run, but this command was replaced with `/buffer set unread` in WeeChat 3.8.
|
|
|
|
|
|
|
|
|
| |
Only subscribed threads can be marked as read. This means that if we
open other threads, they will be opened every time you reload wee-slack
which is impractical and annoying. Previously, any thread with a
highlight (in WeeChat, not necessarily a Slack highlight) was opened.
Fixes #803, fixes #830
|
|
|
|
|
|
| |
This fixes a regression in commit 74da303 which caused certain messages
to include the bold/italic/strikethrough characters (but not the color
attributes) even though the style should not be active.
|
| |
|
| |
|
|
|
|
|
|
|
| |
When you're invited to a new channel, it's useful that it shows up in
the hotlist so you notice it. Previously it would not do that until a
message was posted to the channel after you joined. Now the join message
itself will also be added to the hotlist.
|
|
|
|
|
|
| |
If someone invited you to a private channel, it wouldn't work because
the channel would be unknown to wee-slack and the join function didn't
create a new channel instance.
|
|
|
|
|
|
|
| |
In commit 6478c14 the block rendering was changed to escape `<` and `>`.
However, this caused links and refs in normal (not rich_text) blocks to
be shown as refs instead of rendered correctly. The correct behavior is
to not process refs in rich_text blocks, but do it in normal blocks.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit 74da30342e8d328fc085d2158e37afda3b908f2c added support for using
rich_text blocks to format messages. With this change, the use of
replace_string_with_emoji() for text type "emoji" can result in running
the replacement twice as replace_string_with_emoji() is also called as
one of the last steps in SlackMessage.render().
This works fine in the default case when render_emoji_as_string = "",
however render_emoji_as_string = "both" results in output like:
😄 (😄 (:smile:))
instead of the intended:
😄 (:smile:)
This excludes blocks rendered earlier in the method from the second
call of replace_string_with_emoji().
|
|
|
|
| |
Slack began to require this for xoxc tokens today.
|
|
|
|
| |
Fixes #900
|
|
|
|
|
|
|
| |
This fixes a regression in commit 74da303 which caused < and > to be
removed from messages. Escaping them in unfurl_block_element so they can
be unescaped later isn't the nicest fix, but it's the easiest so I'll do
it this way until this is rewritten in the new version.
|
|
|
|
|
| |
After using blocks to render messages in commit 74da303, huddle
messages got the text twice since they already used blocks.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
This caused some nicks and bots to be colored as offline if the option
weechat.look.color_nick_offline was enabled because not all nicks and
bots are included in the nicklist. Revert this for now, and see if we
can bring it back later.
This reverts commit 7310fe88d6fbf94d1bda7c10f24fa9e396d80311.
|
|
|
|
|
| |
This option wasn't accounted for when the message rendering was changed
to using blocks in commit 74da303.
|
| |
|
|
|
|
| |
Fixes #550 properly.
|
|
|
|
|
|
|
| |
When a Slack message is linked and unfurled (previewed) the footer
previously contained the channel name for the message, but now it just
says "Slack Conversation" or "Thread in Slack Conversation" instead.
This brings back display of the channel name.
|
|
|
|
|
|
|
|
| |
The commit 74da303 introduced a regression with messages not being shown
as deleted anymore because deleting only changed the text field, and
that's not being used anymore with that commit.
Fixes #897
|
|
|
|
| |
I missed this file in commit 6202a7c.
|
| |
|
|
|
|
|
| |
For some reason these errors were not reported by flake8 before version
6.1.0.
|
|
|
|
|
| |
It can be difficult to find a specific channel if there are thousands
of them in your slack workspace. This enhancement allows you to
filter the channels based on a regular expression.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of just using the text field of a message, use the rich_text
blocks to format the message.
The main reason for doing this was that messages that include images
suddenly started just having "This message contains interactive
elements." in the text field.
There are some other benefits as well:
- It fixes some bugs with multiple formatting styles not being applied
correctly.
- It fixes links in code blocks not being rendered verbatim (but with
text and url, like outside code blocks).
- It fixes code blocks sometimes having newlines after/before ``` and
sometimes not, depending on how the message was sent.
It looks like messages with images are now back to having the proper
text in the text field (for new messages), so this change isn't
necessary to fix that after all (except for for messages in the history
sent in the last couple of days), but since it fixes other issues as
well, it's best to keep it.
There is one bug left when inline code blocks contains links. Then there
will be ` characters before and after the link, which shouldn't be
there, but I'll leave fixing this for later.
Fixes #354, fixes #550, fixes #893
|
|
|
|
| |
Not sure if this ever occurs, but better safe than sorry.
|
|
|
|
|
| |
This line was wrongly indented after the merge conflict resolution in
commit e86e05e.
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This flag overrides detction and uses the specified profile path. This
helps when a non-default profile is used for Slack. It also helps if
autodetection fails; accordingly, recommend use of the flag in that
case.
Signed-off-by: Robbie Harwood <rharwood@redhat.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
webappsstore.sqlite seems to be deprecated, and firefox is migrating to
per-page locations. The values inside the database can be
snappy-compressed, so handle decoding with a new dependency on
python-snappy. Suggested by Trygve Aaberge.
Signed-off-by: Robbie Harwood <rharwood@redhat.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Firefox's default profile can have several different name suffixes,
including ".default-release", the legacy ".default", and others for
different release channels. Rather than guessing, just parse
profiles.ini to determine the default path. Suggested by Trygve
Aaberge.
Link: https://support.mozilla.org/gl/questions/1264072
Link: https://support.mozilla.org/en-US/kb/understanding-depth-profile-installation
Signed-off-by: Robbie Harwood <rharwood@redhat.com>
|
| | |
|
| | |
|
| | |
|