Michael K Johnson
da9106127a
FEATURE: Enable optional support for threading slack posts ( #38 )
...
When creating a new Discourse post from slack with the `post` feature, record the
slack `ts` thread ID for the resulting topic post using an HTML comment to pass
the `ts` through.
When notifying slack of new Discourse posts, record the slack `ts` thread ID in
the post's topic if it has not yet been recorded. (Normally, this will be done
for the topic post, except where notifications are being posted for old topics
before this feature was created.)
Add a new rule filter `thread` which posts threaded responses to slack if there
is a `ts` recorded for the post topic.
Modify the `trigger_notifications` interface to enable other integrations to
implement similar functionality.
Present the `thread` rule in the help text and admin UI only for the slack
providers.
https://meta.discourse.org/t/optionally-threading-posts-to-parent-topic-in-slack-integration/150759
2020-06-15 16:45:25 +01:00
Penar Musaraj
6fcf381751
Rubocop redundant return fix
2019-11-14 15:03:49 -05:00
David Taylor
7e5dc5acc1
FIX: Allow slash commands to set rules in private groups
...
The Slack 'slash commands' API does not provide the user-friendly group name, so we must use the group ID. We could use the API to obtain the group name, but it would require adding additional scopes to the app.
2019-09-30 13:27:35 +01:00
Raimundo Herrera
695d56a3dd
FEATURE: support for slack custom username ( #22 )
...
* FEATURE: support for slack custom username
* make slack username setting backwards compatible
* fix slack username behavior when empty string
2019-09-11 10:08:40 -04:00
Robin Ward
82351a790c
FIX: An error would be raised if fewer than "skip_messages" existed
2019-08-07 16:59:34 -04:00
James Nylen
5ca3652ba7
Use Slack display names instead of the "name" field ( #29 )
...
* Use Slack display names instead of the "name" field
The "name" field is the left-hand side of the email address in many
cases. This information is not otherwise available so we shouldn't
expose it in forum posts.
* Fall back to real_name, add comments
* Store users as a hash
This should avoid a lot of O(n) lookups
* Format user mentions with the correct name also
* Fix the tests (first try)
* Fix the tests (second try); add a test for user mentions
* Fix the tests (third try)
* Empty commit to trigger Travis
* Fix the tests (fourth try)
* Fix the tests (fifth try)
* Change spaces to underscores
* Updates per feedback
2019-07-04 14:50:07 -04:00
David Taylor
f75903cae5
FIX: Determine uncategorized category name using new core pattern
2019-06-04 18:47:32 +01:00
Guo Xiang Tan
ac288b9300
Add frozen string literal comment to files.
2019-05-13 10:37:49 +08:00
David Taylor
b7dff35722
FIX: Handle `mailto` links in slack messages
2019-01-03 11:14:26 +00:00
Mateusz Bugowski
1a08d64785
FIX: loading user.list longer than 1000 ( #24 )
2018-12-14 01:03:49 +00:00
Guo Xiang Tan
2b357b2dfe
Add support for new upload site settings.
...
44391ee8ab
2018-11-14 15:17:44 +08:00
Guo Xiang Tan
c44ac56d32
Make rubocop happy.
2018-06-08 09:52:35 +08:00
David Taylor
0ed6343874
Add basic support for thread transcripts
2018-04-08 03:22:58 +01:00
David Taylor
427cfc2305
Use generic ‘conversations’ API endpoint to enable transcripts for slack IMs and groups
2018-04-08 02:50:46 +01:00
David Taylor
180011c097
Fix slash commands in private groups
2018-04-08 02:26:36 +01:00
David Taylor
5f555849e5
Replace `render nothing: true` with a JSON response. This has the added benefit of showing a “loading” message ( #12 )
...
render:nothing was producing an error 500 for some reason
2017-11-27 16:08:19 +08:00
David Taylor
b69abe3913
Include attachments in message selection dropdowns ( #13 )
...
* Include attachments in message selection dropdowns
* DRY up message attachment string generation
* Add specs for attachments in UI
2017-11-27 16:07:54 +08:00
David Taylor
6ed0deedf8
Don’t load responses to threads ( #14 )
...
* Don’t load responses to threads
* Add test case for ignoring threaded messages
* Appease rubocop
2017-11-27 16:07:25 +08:00
Guo Xiang Tan
b19550502e
Fix the build.
2017-10-10 12:56:48 +08:00
Guo Xiang Tan
5d11f443c0
REFACTOR: No need for `return` at end of each method.
2017-10-10 12:02:27 +08:00
Guo Xiang Tan
efddfe1d9b
Minor refactor.
2017-10-10 10:08:26 +08:00
David Taylor
47a6a89e5a
Defer processing of transcripts to avoid timeouts
2017-09-15 23:12:02 +01:00
David Taylor
6a976c4d66
Remove thumb_url from Mattermost, and restore accidental deletion from Slack
2017-09-09 23:08:45 +01:00
David Taylor
438a9d92fe
Remove incorrect thumb_url from mattermost
2017-09-09 21:07:07 +01:00
Guo Xiang Tan
16c5607fa4
Use `before_action` instead of `before_filter` for Rails 5.1 compatibility.
2017-09-04 10:44:32 +08:00
David Taylor
148dd8df6b
Tidy up Slack provider implementation
2017-08-21 15:28:37 +01:00
David Taylor
064079a4ed
Add auto-detection of first message in conversation
2017-08-15 18:19:24 +03:00
David Taylor
3314721232
RSpec tests for slack transcript posting
2017-08-15 17:44:51 +03:00
David Taylor
658553e875
Refactor transcript posting
2017-08-15 10:26:03 +03:00
David Taylor
9604edaf88
Allow selecting first transcript message using a URL
2017-08-04 13:06:57 +01:00
David Taylor
9dc5445b7b
Fix spec
2017-08-04 00:54:11 +01:00
David Taylor
12f3b96e02
Improve slack transcript posting UI with message buttons
2017-08-04 00:47:04 +01:00
David Taylor
cfaef26e5d
More modularisation for slack transcript generation
2017-08-03 17:24:49 +01:00
David Taylor
4d811ed83e
Make transcript generation object-oriented
2017-08-03 15:48:33 +01:00
David Taylor
4f9ad4efef
Correct rubocop offenses
2017-08-01 20:53:39 +01:00
David Taylor
ce8acc9c26
Disallow duplicate channels - providers can define which fields should be ‘unique’
2017-07-28 15:47:46 +01:00
David Taylor
5c93b7792c
Add ‘view on slack’ link to transcripts
2017-07-26 19:51:44 +01:00
David Taylor
95f99e5fcf
Improve slack transcript formatting
2017-07-26 19:27:22 +01:00
David Taylor
e733c2564f
Add mattermost slash command support
2017-07-26 13:09:05 +01:00
David Taylor
8ca4797797
Add transcript posting support to slack
2017-07-24 16:43:37 +01:00
David Taylor
694bf919ce
Move slack command processor into common helper so it can be used by other providers
2017-07-19 16:57:33 +01:00
David Taylor
1ef9073027
Make CHANNEL_PARAMETERS a list
2017-07-17 17:53:32 +01:00
David Taylor
ebb6fa947d
Update slack provider to deal with new channel structure
2017-07-13 23:21:15 +01:00
David Taylor
4b25dcec8f
Allow providers to define a data schema for their channel parameters
2017-07-13 20:50:45 +01:00
David Taylor
bfb499d4cf
Refactor into /app directory, move everything out of plugin.rb
2017-07-13 13:32:11 +01:00
David Taylor
f2c5223bc6
Remove accidental dependency on discourse-slack-official
2017-07-12 11:58:19 +01:00
David Taylor
95dd6bc09c
Add error handling to the slack API requests, and associated tests
2017-07-07 11:23:25 +01:00
David Taylor
062aa8d875
Add create/delete rule functionality to the slack ‘slash commands’
2017-07-06 21:42:37 +01:00
David Taylor
fd333d59b7
Add basic “slash command” functionality to the slack provider
...
Based on the existing slack plugin. Currently does not implement creating new rules or deleting rules.
2017-07-05 23:01:46 +01:00
David Taylor
2f6d6f0d54
Automatically mount provider’s engines at /chat-integration/{provider_name}
...
Provider controllers are automatically disabled when the provider is disabled (works the same way as plugin controllers)
2017-07-05 15:03:02 +01:00