Commit Graph

49 Commits

Author SHA1 Message Date
Penar Musaraj f93b540f93
DEV: Use CSS custom properties for colors in SCSS
Prepares the plugin for an upcoming change in core while maintaining
backwards compatiblity.
2020-08-03 13:28:45 -04:00
David Taylor 933a3f5aa2
DEV: Apply prettier 2020-07-16 12:41:05 +01:00
David Taylor 945c0a6e4f
FIX: Allow using `thread` filter for new rules 2020-07-16 12:31:42 +01:00
David Taylor e3448d3a33
FIX: Allow selecting any tag for rule, ignoring tag group restrictions 2020-06-19 09:32:51 +01:00
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
Robin Ward 368b60cd80 DEV: Discourse.Route has been deprecated 2020-05-12 14:24:33 -04:00
Penar Musaraj 63ddf106a4 DEV: Find/replace deprecated decorators 2020-02-19 11:56:45 -05:00
David Taylor a48870ef38 FIX: Access transcript params correctly
Previously we were using an undocumented Ember API
2019-07-27 15:04:42 +01:00
Penar Musaraj 4336374d27 Update deprecated icon names 2019-07-16 12:55:26 -04:00
Joffrey JAFFEUX cd53275098 REFACTOR: uses more modern patterns to prevent issues (#27) 2019-03-20 10:57:07 +00:00
Penar Musaraj 5cd076803a fix icon + relative link without base_url 2018-11-11 22:34:33 -05:00
Penar Musaraj 762300ab22 Avoid targetting "fa-" icon in test, prepare for FA5 in Discourse core 2018-11-01 18:03:39 -04:00
David Taylor 44001e259b DEV: Apply prettier to JS and SCSS files 2018-09-12 16:16:18 +01:00
David Taylor fc721a1768 FEATURE: Improve channel error visibility in the admin panel, stop adding chat integration errors to logs 2018-08-20 12:06:10 +01:00
David Taylor c766a9cae9 FIX: client-side channel validation (#10) 2017-10-15 22:25:02 +08:00
Guo Xiang Tan eb6575fd44 Fix plugin after I broke it while refactoring. 2017-10-03 22:49:19 +08:00
Guo Xiang Tan 44ade676e1 Fix JS tests. 2017-10-03 18:11:58 +08:00
Guo Xiang Tan f836047f90 REFACTOR: Clean up code in plugin. 2017-10-03 17:42:07 +08:00
David Taylor 645c21f2f7 Correct eslint fails 2017-08-21 16:46:43 +01:00
David Taylor d13bf5409d Improve QUnit tests for admin interface 2017-08-14 16:02:43 +03:00
David Taylor 4932c078ed Correct eslint offences 2017-08-02 11:33:50 +01:00
David Taylor 7c3f58de41 Update display of group rules in admin UI 2017-08-01 20:12:42 +01:00
David Taylor 209daf7801 Add group messages support to admin UI, and add a ‘type’ field for further improvements 2017-08-01 15:20:00 +01:00
David Taylor d437634f61 Move rule editing into a modal dialog 2017-07-31 17:09:21 +01:00
David Taylor 11c8817ebd Allow enter key to submit admin modal forms 2017-07-28 15:09:04 +01:00
David Taylor 2275793f6c Allow fields to be hidden from channel list (still visible in edit modal). 2017-07-28 14:15:53 +01:00
David Taylor 2d7f25d7e6 Add support for chat transcripts
(still needs to be implemented by providers)
2017-07-24 16:13:53 +01:00
David Taylor 5d18e1e444 Update language strings for new error message 2017-07-18 23:15:56 +01:00
David Taylor c5fdebd1bc Store errors per-channel rather than per-rule, and update UI to match 2017-07-18 23:08:06 +01:00
David Taylor 97c4592950 Display provider-specific data for each channel in the UI 2017-07-18 21:21:09 +01:00
David Taylor 2772856201 Update qunit tests
Have removed a lot of them until the UI is finalised, so as not to waste time constantly updating them.
2017-07-18 20:42:00 +01:00
David Taylor bdb81191d7 New admin interface for improved channel definitions 2017-07-18 16:17:03 +01:00
David Taylor e85657181c Add qunit acceptance tests for admin interface 2017-07-11 15:37:44 +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 aaaffdf371 Add ‘send test message’ functionality to the admin interface 2017-07-04 23:35:45 +01:00
David Taylor d97d35fd0d Handle errors on trigger_notification
Providers can define their own errors, and these are presented in the user interface. e.g. Slack can define an error that says “That channel doesn’t exist”.
Errors in the UI disappear once a message has been sent successfully, or the rule is edited.
2017-07-04 19:37:56 +01:00
David Taylor 4be010fd07 Allow providers to specify a regex that the channel identifier is checked against during validation 2017-07-04 00:14:01 +01:00
David Taylor 444e380ca1 Tidy up admin user interface 2017-07-03 22:11:17 +01:00
David Taylor 1c416d5a81 Allow providers to be disabled, and tidy up translations 2017-07-03 15:53:26 +01:00
David Taylor 984211e9ce Fix javascript imports after plugin rename 2017-07-03 12:18:30 +01:00
David Taylor 8d70b4ad46 Allow add, edit & delete in the admin UI 2017-06-29 20:19:40 +01:00
David Taylor 61caca3c5b Use new DiscourseChat::Rule model throughout the backend code 2017-06-29 17:50:54 +01:00
David Taylor 8b1a065e3d Style categories in list to match rest of Discourse 2017-06-29 13:28:49 +01:00
David Taylor 304d8f962f Refresh the list of rules when the modal dialog closes 2017-06-29 12:56:48 +01:00
David Taylor 8e0bec6e6f Use RestModel and buildPluginAdapter to deal with communication of data models between client and server 2017-06-28 22:32:02 +01:00
David Taylor e067f8611d Add modal dialog for editing rules.
Currently non-functional, work in progress
2017-06-28 18:04:21 +01:00
David Taylor d8e5494d4c Add (currently read-only) UI to the admin panel, displaying all existing rules. Dynamic routes created for each registered provider. 2017-06-28 15:12:37 +01:00
David Taylor 02692cf100 Added filtering logic for multiple providers, along with many RSpec tests.
General structure of the filter rules is taken from discourse-slack-official, but re-written to be more robust and easier to understand.
2017-06-27 19:43:29 +01:00
David Taylor 3967e2cd91 Created basic system to allow multiple integrations to register themselves, creating a separate tab in the admin interface for each one. 2017-06-26 19:19:50 +01:00