Giter Site home page Giter Site logo

gabrieljackson / mattermost-plugin-wrangler Goto Github PK

View Code? Open in Web Editor NEW
46.0 5.0 13.0 795 KB

Manage Mattermost Messages Masterfully!

License: Apache License 2.0

Makefile 3.68% Go 66.09% JavaScript 1.20% TypeScript 28.73% SCSS 0.31%
mattermost mattermost-plugin golang go typescript react redux

mattermost-plugin-wrangler's People

Contributors

crspeller avatar gabrieljackson avatar haliax avatar swills avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

mattermost-plugin-wrangler's Issues

Forwarding a message to another person

Hello to all friends

The "Wrangler" plugin can only be used to move and copy messages to other channels !!...

Forwarding a message to another person is one of the requirements for your messenger...

Inexplicable error message

I tried to post a post (thread) from a direct message channel to a private channel within the same team. However, I get the error message:

"Wrangler is currently configured to not allow moving messages to different teams"

Allow System Admin or Team Admin to use Wrangler

For now, plugin access is allowed for either all users or users with the "Allowed Email Domain". It could be nice to allow it to System Admin or Team Admin.

For example, we can choose in the settings between "Allowed Email Domain", "System Admins", "System and Team Admins" or "All users".
For Team Admins, it may be trickier : are they authorised to move a thread from a team to another ?

Webapp crash on render error

An error occurred where team was undefined in this loop:

>
{this.state.allTeams.map((team) => (
<option
key={team.id}
id={team.id}
value={team.id}
>
{team.display_name}
</option>

I don't have consistent repo steps. It first happened when I exited the system console to go back to a team. There is an archived team on the instance if that could be affecting this.

Users get a white screen on browser & app when activated in 7.1/7.2

Some users are experiencing a white /empty screen with Wrangler enabled in 7.1/7.2

I disabled all plugins & enabled them one-by-one. Apparently, when enabling Wrangler the issue came back.

Server logs are empty. The issue doesn't affect all users, but I got messages from at least three.

Allowing customizable Bot-Messages

After attaching a message to a thread or moving/copying a thread, a bot message is sent to the author of that message.

Problems with that message:

  1. The message is not customizable.
  2. someone wrangled one of your messages is very unclear. For non native speakers and people not knowing about "wrangler", this message does not make sense.
  3. It is not clear which moderator moved the message. Therefore not allowing the author to contact the executing moderator.

Possible fix:

  1. It would be nice to change someone to the name of the executing moderator.
  2. It would be nice to make the message customizable.

RPC call OnConfigurationChange to plugin failed

Hi

I uploaded the plugin to my 5.19.0 instance and activated it. The plugin is showed as running and i can see it in the process list.

But when i type /wrangler it doesn't show up.

In the logs i see this:

{"level":"error","ts":1579872782.813044,"caller":"mlog/log.go:174","msg":"RPC call OnConfigurationChange to plugin failed.","plugin_id":"com.mattermost.wrangler","error":"connection is shut down"}

Commands: allow links to be used in stead of message IDs.

The Wrangler-UI and Mattermost's built-in moderation tools are currently not usable on mobile. The only way to move/copy messages on mobile is to use Slash-Commands. An example command would be /wrangler attach message message_id_1 message_id_2.

The only way to get those message IDs on mobile is to use the built-in 'copy link' feature. It gives a link like https://instance_url/team_id/pl/8w89igrsffyt3ghmwsmsgyeoqe. To use that ID for the command, a big part of that link has to be removed manually. It has to be done two times on small displays, and scrolling is quite tedious.

I would suggest allowing the use of URLs as parameters as well. With a simple regex, the URLs could be validated and edited to get the ID of the corresponding messages. This would greatly increase the usability of this plugin.

I am down to create a PR with these changes in the upcoming days if there are no reservations against it.

Wrangler creates http instead of https addresses

Hi,

when I move a message to another channel, the system message reports:

A thread has been moved: http://mm.ourdomain.de/zgk/pl/zc7spc9a7fg4ubskes5piutwgo

The correct address however, is httpS:///mm.ourdomain.de/zgk/pl/zc7spc9a7fg4ubskes5piutwgo As a result, when clicking on the link in the Mattermost desktop app, the newly created message is not opened in the app but in the standard browser.

When I edit the message manually (http://... > https://...), I'm led correctly to the message within the app.

As I am not an administrator, I don't know whether the issue is a matter of the wrangler extension or our configuration. Can anyone give me a hint whether this is a bug or our administrator must change something in the configuration file?

Frank

Option to disable bot notification message?

I would like to ask if the bot has an option (or if there is a consideration to provide an option) for users to copy messages/threads to a channel, and disable the notification message that comes with the copied message.

I probably understand that there is reason to keep the message (for privacy notice), and keeping the bot notification message on the original channel/PM is fine.

However, I am wondering if there is an option to disable the message that is attached to the copied message/thread on the receiving channel?

For example, my core use case for this bot is whenever a person leaves the organisation, we want to copy the history and paste it to a channel, so that the person taking over can have a knowledge transfer. However, with so many threads being copied, the whole channel seems flooded with notification messages from the bot.

Would like to know your thoughts on this feeedback/suggestion too.

Bug: opening dropdown on a system message crashes the webapp

When opening the dropdown menu on a system message, the webapp crashes

Reproduce

  1. Enable the Wrangler webapp functionality [BETA]
  2. Refresh the webapp
  3. Click on the dropdown for a system message (i.e. "@someUse has joined the channel")
  4. The screen becomes white
  5. Refresh to restore the webapp

Webapp logs

TypeError: can't access property "user_id", n is undefined
    lt com.mattermost.wrangler_451a6ce528877b61_bundle.js:26
    Redux 5
    React 2
    k Redux
    React 9
    unstable_runWithPriority scheduler.production.min.js:19
    React 15
    unstable_runWithPriority scheduler.production.min.js:19
    React 2
    j scheduler.production.min.js:17
    onmessage scheduler.production.min.js:14
    EventHandlerNonNull* scheduler.production.min.js:13
    Webpack 13
react-dom.production.min.js:209:194
[Util] handleError::  TypeError: can't access property "user_id", n is undefined index.js:158:36
Uncaught TypeError: can't access property "user_id", n is undefined

Build fails with invalid sass loader options

With node 14 on OSX, make dist eventually failed with:

ERROR in ./src/components/left_sidebar_element/style.scss (./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./src/components/left_sidebar_element/style.scss)
Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
ValidationError: Invalid options object. Sass Loader has been initialized using an options object that does not match the API schema.
 - options has an unknown property 'includePaths'. These properties are valid:
   object { implementation?, sassOptions?, additionalData?, sourceMap?, webpackImporter?, warnRuleAsWarning? }
    at validate (/Users/dgittins/code/github/mattermost-plugin-wrangler.git/webapp/node_modules/schema-utils/dist/validate.js:105:11)
    at Object.getOptions (/Users/dgittins/code/github/mattermost-plugin-wrangler.git/webapp/node_modules/webpack/lib/NormalModule.js:527:19)
    at Object.loader (/Users/dgittins/code/github/mattermost-plugin-wrangler.git/webapp/node_modules/sass-loader/dist/index.js:25:24)

I was able to make the build complete with this patch:

diff --git a/webapp/webpack.config.js b/webapp/webpack.config.js
index 0fd7126..042899d 100644
--- a/webapp/webpack.config.js
+++ b/webapp/webpack.config.js
@@ -38,7 +38,9 @@ module.exports = {
                     {
                         loader: 'sass-loader',
                         options: {
-                            includePaths: ['node_modules/compass-mixins/lib', 'sass'],
+                            sassOptions: {
+                                includePaths: ['node_modules/compass-mixins/lib', 'sass'],
+                            },
                         },
                     },
                 ],

Is that the correct fix...?

Give option for more discreet notification when a thread is moved

The bot's message when a thread is moved to a different channel takes a lot of space, it would be great if there was a way to have it be just a simple message that says "A thread has been moved to this channel" (and "this channel" could be hyperlinked to the thread's new location). If folks find it helpful to have all the information that is currently included in the message, this could be set in a plugin setting to show a short or long notification message.

Newly created channel does not show in Move Thread modal

Repro steps:

  • Create a new channel
  • Navigate to a different channel where a post exists
  • Click the Wrangler's post dropdown menu item
  • Observe that the new channel made does not show in the modal's dropdown

Refreshing makes it so the new channel appears in the modal

Add to Plugin Marketplace

This is an awesome plugin that has already helped with maintain a clean message flow on the Community Server.

As discussed offline, this would be a great addition to Plugin Marketplace. Would you be interested on submitting your plugin ? You can find the process for submitting your plugin here.

Plugin resources are loaded from mattermost domain disregarding context path

I have a Mattermost server behind nginx with a URL with a context path, eg https://MY-DOMAIN/mattermost/ (and Mattermost works fine)

When mattermost loads, I see the following URL in developer console with a 404:
https://MY-DOMAIN/plugins/com.github.matterpoll.matterpoll/api/v1/configuration

But it should be:
https://MY-DOMAIN/mattermost/plugins/com.github.matterpoll.matterpoll/api/v1/configuration

I am using the recommended nginx proxy configuration which does not cover /plugins (nor should it). Since I have a context path, my nginx location block is set to location /mattermost { .... The mattermost system console has the site url set with the context path.

Wrangler commands still work, but the UI does not load. I've attempted to temporarily add /plugins to the nginx proxied URLs, and the resource is then loaded correctly. I still did not discover any Wrangler UI (but I don't know where to look).

  • Mattermost Server 7.5.2
  • Wrangler Plugin 0.7.0

Attaching a thread to a thread

This is a feature request.

In some cases, some people reply by using a thread, but others do not use the thread. As a result, there are some small parts of threads which should be merged into one thread.

I tried to check if this is possible with this plugin, wrangler. Attaching a message in a thread is unavailable from the UI button, but I could move the message by the slash command. But, in this case, associated messages following the moved message was removed completely.

Again, my suggestion is that enabling to attach a thread to thread from both the slash command and UI button is really useful to maintain the message flow in the channel.

Move Channel to Another Team?

Wrangler can move a Thread from one Channel to another.
Is it possible to move a Channel from one Team to another?

I18n for the Wrangler

First, I want to thank you for this plugin, the work-in-progress UI is great and the features are really useful. And they are especially with new-comers, who haven't really understood the functioning of Mattermost WRT threads and channels.

And so, as these new comers aren't often comfortable with English when it's not their primary language, it could be great to have the "A thread has been moved" and "Someone wrangled one of your messages into a thread for you" messages translated for the user.

Messages cannot be moved

A message to contact the admin is displayed.

The following messages are printed to server log:

error [2022-08-16 08:52:26.639 +02:00] unable to re-upload file: DoUploadFile: File rejected by plugin. File Blocker plugin - There was an error retrieving the session information, caller="app/plugin_api.go:975" plugin_id=com.mattermost.wrangler

We've got the Flie Blocker plugin active, but never got any problems inserting images. This could be related to image files handled differently, when pasted/uploaded in contrast to be moved by Wrangler.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.