aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix flake8 errors after new flake8 releaseTrygve Aaberge2023-07-301-7/+9
| | | | | For some reason these errors were not reported by flake8 before version 6.1.0.
* feat: Filter channel list based on regular expression (#896)Bryan Mason2023-07-301-3/+10
| | | | | 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.
* Update instructions for running docker with shared stateTrygve Aaberge2023-07-071-7/+9
|
* docker: Update script path for wee_slack.py (#894)Jordan Matelsky2023-07-071-1/+1
|
* Split long line to satisfy flake8Trygve Aaberge2023-07-071-1/+4
|
* Support and use rich_text blocks for message contentTrygve Aaberge2023-07-072-10/+397
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Support printing URLs without a title/alt textTrygve Aaberge2023-07-061-5/+9
| | | | Not sure if this ever occurs, but better safe than sorry.
* Fix indentation errorTrygve Aaberge2023-06-291-1/+1
| | | | | This line was wrongly indented after the merge conflict resolution in commit e86e05e.
* Update readme for extract_token_from_browser.py scriptTrygve Aaberge2023-06-292-5/+8
|
* Merge pull request #887 from frozencemetery/default-profileTrygve Aaberge2023-06-292-13/+52
|\
| * extract_token_from_browser: Add manual --profile-pathRobbie Harwood2023-03-131-14/+31
| | | | | | | | | | | | | | | | | | 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>
| * extract_token_from_browser: use new local storage pathRobbie Harwood2023-03-132-4/+18
| | | | | | | | | | | | | | | | | | 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>
| * extract_token_from_browser: read default from profiles.iniRobbie Harwood2023-03-131-3/+16
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Fix or ignore flake8 errorsTrygve Aaberge2023-06-292-1/+5
| |
* | Gracefully handle not finding Chrome local storage valuesTrygve Aaberge2023-06-291-1/+1
| |
* | Delete temp copy of leveldb after reading itTrygve Aaberge2023-06-291-11/+11
| |
* | Simplify defining cookie queriesTrygve Aaberge2023-06-291-24/+9
| |
* | Reorder some variablesTrygve Aaberge2023-06-291-14/+14
| |
* | Refactor get_cookiesTrygve Aaberge2023-06-291-11/+14
| |
* | Clearly separate code for Firefox and ChromeTrygve Aaberge2023-06-291-51/+61
| | | | | | | | | | This makes the code much easier to read in my opinion. It also fixes some errors about potentially unbound variables.
* | Don't try to read webappsstore.sqlite for ChromeTrygve Aaberge2023-06-291-10/+11
| | | | | | | | | | | | | | Although this file exists in the Chromium profile directory, it's empty. I would assume Chrome/Chromium always uses the LevelDB file, so there's no point in checking the webappsstore.sqlite file. Doing this allows us to refactor some code in the next commit.
* | Add support for Chromium in extract_token_from_browser.pyTrygve Aaberge2023-06-291-6/+7
| | | | | | | | | | | | Chromium encrypted values start with v10, while Chrome values start with v11. I don't see any reason to check that the prefix is either of these really, just remove it unconditionally.
* | Rename variable to be more descriptiveTrygve Aaberge2023-06-291-3/+3
| |
* | Fix path to Chrome profile on macOSTrygve Aaberge2023-06-291-1/+1
| |
* | Refactor unsupported browser checkTrygve Aaberge2023-06-291-10/+12
| |
* | Use a contextmanager for connecting to sqlite3Trygve Aaberge2023-06-291-14/+22
| |
* | Remove the token option from extract_token_from_browser.pyTrygve Aaberge2023-06-291-11/+7
| | | | | | | | | | I see no value of having this option, and it's just confusing since the script is meant for extracting the token.
* | Fix extract_token_from_browser.py for firefoxTrygve Aaberge2023-06-291-0/+2
| | | | | | | | The script didn't work anymore for firefox after commit c7868cc.
* | Fix usage of potentially unbound variablesTrygve Aaberge2023-06-291-2/+6
| |
* | Remove redundant pass statementsTrygve Aaberge2023-06-291-2/+0
| |
* | Fix incorrect placement of f for an f-stringTrygve Aaberge2023-06-291-2/+2
| |
* | Remove examples from top of extract_token_from_browser.pyTrygve Aaberge2023-06-291-4/+0
| | | | | | | | | | | | The script prints usage if you run it with --help, so I don't see a need for these examples. The examples are likely to get outdated when the script options are changed, so I rather not have them there.
* | Run black to format extract_token_from_browser.pyTrygve Aaberge2023-06-291-46/+52
| |
* | Firefox-snap and chrome/chrome-beta support (#884)Bogdan Dobrelya2023-06-291-30/+180
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add support for cookies decryption for Chrome/beta * Add support for firefox-snap, and multiple default/custom profiles paths * If no token can be found, like no key localConfig_v2 in webappsstore2, try the best to fetch it from leveldb (or online copy of it, if locked by running browser). When no luck even with that, suggest the user to fetch it manually from dev console, and pass it as an extra argument. This way it still saves some extra cycles for the script users by fetching d/d-s values, and formatting the ultimate registration command string. Not tested on Darwin, leaving this as an exercise for you Adding Chromium support should be straightforward and can be done in follow-ups. Signed-off-by: Bohdan Dobrelia <bdobreli@redhat.com> Co-authored-by: Bogdan Dobrelya <bogdando@mail.ru>
* | Support /msg * in thread buffersTrygve Aaberge2023-06-231-7/+9
| | | | | | | | Fixes #888
* | Add info to get contents of a messageTrygve Aaberge2023-06-231-0/+19
| | | | | | | | Fixes #889
* | Remove Debian instructions for Python 2Trygve Aaberge2023-06-231-1/+1
| | | | | | | | | | WeeChat in Debian switched to Python 3 in bullseye (currently oldstable), so the Python 2 instructions shouldn't be necessary anymore.
* | Remove macOS specific note for pipTrygve Aaberge2023-06-231-3/+0
| | | | | | | | | | | | If I understand https://docs.brew.sh/Homebrew-and-Python correctly, Homebrew Python installs python3 so you can use pip as described for "Other".
* | Use `python3 -m pip` instead of `pip3` in readmeTrygve Aaberge2023-06-231-1/+1
| | | | | | | | | | Pip recommends using `python3 -m pip` instead of just `pip` (and Python recommends using `python3` rather than just `python`).
* | Note that slack_api_token is evaluated in descriptionTrygve Aaberge2023-06-232-2/+3
| |
* | Add a note that /slack register stores the token in plain textTrygve Aaberge2023-06-231-0/+8
| |
* | Automatically enable emoji/usergroups completionTrygve Aaberge2023-06-232-20/+16
| | | | | | | | | | | | Automatically set completion_default_template on wee-slack buffers, so emojis and usergroups can be tab completed without having to set weechat.completion.default_template manually.
* | Remove running on Python 2.7 in CITrygve Aaberge2023-06-231-2/+2
| | | | | | | | The setup-python action doesn't support Python 2.7 anymore.
* | Return from modify_buffer_line if the line isn't foundTrygve Aaberge2023-06-231-0/+3
| | | | | | | | | | | | | | | | | | If the line isn't found, line_pointer becomes an empty string which will crash WeeChat when it's used with hdata_update. This happened when the history for a channel that contained a reply also posted to the channel was loaded, because in that case wee-slack tries to modify the parent message before the channel history is printed, so it couldn't find the line.
* | Use prefix_nick_<color> tag for messages in WeeChat 4.0.0Trygve Aaberge2023-06-031-1/+23
| | | | | | | | | | | | | | | | | | | | Since WeeChat now has multiline support, the problems with using prefix_nick_<color> (mainly that it isn't possible to distinguish between a multiline message and multiple messages when weechat.look.prefix_same_nick is set) isn't present anymore, so we can use this tag to properly mark lines as chat messages from a nick. This also means that we don't have to use prefix_same_nick or nick_prefix/suffix ourselves anymore.
* | Only modify a single chat line for one message in WeeChat 4.0.0Trygve Aaberge2023-06-031-0/+5
| | | | | | | | | | | | | | | | | | Since WeeChat now has multiline support, the whole message is in one chat line. This means that we don't need to look for all the lines belonging to a message and modify them, we can just modify the line for the message directly. This has the benefit of making it possible to increase and decrease the number of lines for a message, rather than having to join extra lines or get blank lines.
* | Support multiline rendering in WeeChat 4.0.0Trygve Aaberge2023-06-031-4/+5
| | | | | | | | | | | | Don't insert a prefix at the start of each line of a message so it renders normally in WeeChat 4.0.0 which supports chat lines with multiple lines.
* | Include a space between nicks in reaction stringTrygve Aaberge2023-05-301-1/+1
|/ | | | | | | | | Without spaces, WeeChat will consider all the nicks as one word, which means that rather than wrapping between nicks, it will fill the whole line and wrap in the middle of nicks. Additionally, if you have disabled weechat.look.align_multiline_words it will start from the beginning of the line when wrapping, rather than after the prefix, which doesn't look nice.
* Fix some text formattingTrygve Aaberge2023-03-071-2/+2
| | | | | Remove a space before a colon and add a comma after a sentence starting with if.
* Format with new black versionTrygve Aaberge2023-03-071-7/+1
|