Commit Graph
151 Commits
Author SHA1 Message Date
Ted Johansson 481dc797a8 DEV: Replace #pluck_first monkey patch with native #pick (#166) 2023-05-09 10:47:42 +08:00
David Taylor 0522ad6414 FIX: Always use parent thread_ts for slack threads (#159)
Previously we were using the `ts` of the previous message we sent to the thread. While this did work under some situations, it's not recommended in the Slack API docs, and can lead to some unexpected behavior (e.g. when one of the threaded messages is deleted).

This commit updates our logic to always use Slack's returned `thread_ts`, which represents the thread's parent.
2023-01-26 12:18:48 +00:00
David Taylor 49956bf829 DEV: Introduce syntax_tree for ruby formatting (#149) 2022-12-29 13:31:05 +01:00
David Taylor 820d04d1b2 SECURITY: Improve SSRF protections (#144)
See https://github.com/discourse/discourse/security/advisories/GHSA-rcc5-28r3-23rr
2022-11-01 17:36:56 +00:00
Martin Lim 4e73da8856 FEATURE: Introduce Guilded as a provider (#135)
Support for integration with https://www.guilded.gg/
2022-08-30 18:10:17 +01:00
Loïc Guitaut c68fde5d2b FIX: Don’t process commands when 'text' is missing
This patch concerns the Telegram integration. Currently, we always try
to process commands when we receive a hook from Telegram. To do so we
rely on the `text` parameters from a Telegram message but the
API documentation tells us this parameters is actually optional. It
means sometimes it’s not present in the payload we receive but we still
try to access it resulting in a crash.

This patch addresses the issue by simply returning early from the
`#process_command` method when `text` is missing from the payload since
we don’t have anything to process then.
2022-07-18 18:11:22 +02:00
Leonardo Mosquera fd6be34974 FIX: don't send nil user.name for MS Teams (#131)
Because Teams rejects the request for having a JSON `null` where a string is expected.
2022-06-16 17:12:56 +01:00
David Taylor 157f3e910d FIX: Respect core settings when rendering user names/usernames (#129)
This commit centralizes 'display name' generation into a helper, and updates it to respect core preferences for `enable_names` and `prioritize_username_in_ux`.
2022-05-30 17:13:55 +01:00
David Taylor cd6e4a8b62 FEATURE: Allow [quote] to be disabled for slack transcripts (#120)
https://meta.discourse.org/t/222145
2022-04-01 13:49:34 +01:00
David Taylor d63477fec0 FIX: Use correct identifier in transcript thread hint (#115)
We were using the internal UID of the channel in the hint, which would then fail to match any 'channel' configs in Discourse (which use the human-friendly `#channel` format). This was causing automatic threading for transcripts to fail.
2022-03-21 16:03:23 +00:00
David Taylor 20f0b1c6ce DEV: Cache slack users list for 10 minutes (#113)
This should help to avoid Slack API rate limiting in very large slack communities
2022-03-15 13:32:28 +00:00
Blake Erickson 0eebd9f3ed DEV: Adds post_to_slack scriptable for automation (#108)
This allows for the discourse automation plugin to have a "Send Slack
Message" script.

The script fields are a message, url, and slack channel. This will allow
for a custom slack message to be posted but can link back to an
arbitrary url (hopefully a discourse url) like a list of unanswered
topics instead of strictly only allowing a slack message that links back
to a Discourse Post object.
2022-02-25 12:17:20 -07:00
David Taylor 36087f3004 DEV: Update Discord webhook domain (#106)
discordapp.com is being deprecated and replaced with discord.com - https://github.com/discord/discord-api-docs/discussions/4510
2022-02-15 11:53:53 +00:00
David Taylor 6e7fa8ebd1 FIX: Store slack thread_ts on a per-channel basis (#95)
When notifications about a topic are posted to multiple slack channels, and the Discourse channels are configured to "thread" the notifications, each channel will have a different thread_id. Previously we were only storing a single slack thread id per Discourse topic. This commit fixes that logic, so that threads in different channels are tracked separately.
2021-12-02 14:29:06 +00:00
Aljaž SrebrničandFroggy C ae0389ca89 FIX: Ensure telegram bot only responds to slash-commands (#94)
Co-authored-by: Froggy C <[email protected]>
2021-12-01 22:19:50 +00:00
Mark VanLandingham a73f5da114 Rename DiscourseChat to DiscourseChatIntegration (#82) 2021-07-13 14:36:16 -05:00
David Taylor 610364ff6d FEATURE: Add support for slack message shortcuts for transcripts (#68)
Once configured, this adds a new item to the context menu of slack messages. When clicked, the menu item will generate a transcript and present the user with a custom "Post to Discourse" modal. This provides the same functionality as the existing slash-command interface, but is much more user friendly.
2021-04-22 18:50:11 +01:00
David Taylor 08e6718722 FEATURE: Improve formatting for Slack transcript messages (#70)
- Fix multi-line code blocks
- Add strikethrough support
- Fix HTML entities inside code blocks
- Do not process formatting inside code blocks
- Ensure links are never created with no URL
- Replace - with _ in emoji names
2021-04-22 18:49:21 +01:00
Robin Ward 8c166e1b06 Revert "Add username and fullname for formatting (#65)"
This reverts commit 7f5ef4f8f5.
2021-03-16 10:27:14 -04:00
Gökhan Gurbetoğlu 7f5ef4f8f5 Add username and fullname for formatting (#65)
Added username and fullname to make them usable in the custom formatting for the posts.
2021-03-15 11:19:05 -04:00
David Taylor 4261814162 FIX: Improve error handling for slack transcript generation (#63)
- Stop using `break` in a block - it doesn't work. The failure here was hidden because it was within a `defer` block, so would not cause a server error
- Refactor the error handling so that the error is passed back to Slack and displayed to the user
- Return specific error messages for user / message-history / message errors
- Tidy up the SlackCommandController to make all non-requestable methods private
- Add a test to ensure error messages are passed correctly to Slack
2021-03-01 19:07:31 +00:00
David Taylor 13fea5b803 FEATURE: Google Chat integration (#57) 2021-01-26 20:33:03 +00:00
David Taylor 00ec1f486a FIX: Relax validation for teams webhook urls to support custom domains (#56) 2021-01-26 17:45:49 +00:00
Mathieu Trudel-Lapierre 0c0e86b772 FEATURE: Add support for Webex Teams (#49) 2020-12-11 09:43:03 +00:00
David Taylor 1dc753771b FIX: Update telegram webhook correctly and remove old code (#46)
The `site_setting_changed` event passes the setting name as a symbol, not a string. This commit also removes the backwards-compatible `site_setting_saved` event, which was deprecated in 2.3.0.
2020-11-02 16:58:29 +00:00
jjaffeux d5808f4e9a FIX: these are not spe and dont have response.parsed_body 2020-09-25 21:08:28 +02:00
jjaffeux d483f4ae5a DEV: s/JSON.parse(response.body)/response.parsed_body 2020-09-25 20:47:30 +02:00
David Taylor bb4143a695 FIX: Allow discord.com webhook URLs 2020-08-18 00:34:59 +01:00
David Taylor bdca153a09 FIX: Send new topic Slack notifications to the correct thread
This applies when topics are created using the slack transcript feature, and there is a rule configured with filter=thread
2020-08-14 19:15:02 +01:00
Tosin Sonuyi 1a49df23c6 update groupme message format for clarity (#41) 2020-08-10 12:29:08 -04:00