GithubHelp home page GithubHelp logo

mattermost-community / mattermost-plugin-jitsi Goto Github PK

View Code? Open in Web Editor NEW
190.0 37.0 89.0 19.13 MB

Jitsi plugin for Mattermost :electric_plug:

License: Apache License 2.0

Makefile 7.45% Go 51.70% JavaScript 1.47% Dockerfile 0.25% Shell 0.10% TypeScript 39.03%
hacktoberfest mattermost mattermost-plugin

mattermost-plugin-jitsi's Introduction

Disclaimer

This repository is community supported and not maintained by Mattermost. Mattermost disclaims liability for integrations, including Third Party Integrations and Mattermost Integrations. Integrations may be modified or discontinued at any time.

Mattermost Jitsi Plugin (Beta)

Build Status Code Coverage Release HW

Maintainer: @mickmister Originally developed by: Sean Sackowitz.

Start and join voice calls, video calls and use screen sharing with your team members with a Jitsi plugin for Mattermost.

Clicking a video icon in a Mattermost channel posts a message that invites team members to join a Jitsi meetings call.

image

Features

  • Use a /jitsi command to start a new meeting. Optionally append a desired meeting topic after the command.
  • Embed Jitsi meetings as a floating window inside Mattermost for a seamless experience.
  • Click a video icon in channel header to start a new Jitsi meeting in the channel. Not yet supported on mobile.
  • Use a /jitsi settings command to configure user preferences, including
    • whether Jitsi meetings appear as a floating window inside Mattermost or in a separate window
    • how meeting names are generated

The plugin has been tested on Chrome, Firefox and the Mattermost Desktop Apps.

Installation

  1. In GitHub, go to the Releases directory to download the plugin file.
  2. In Mattermost, go to System Console > Plugins > Plugin Management.
  3. Select Choose File to upload the plugin file.

Configuration

Go to System Console > Plugins > Jitsi and set the following values:

  1. Enable Plugin: true.
  2. Jitsi Server URL: The URL for your Jitsi server. If you set the Jitsi Server URL to https://meet.jit.si, it uses the public server provided by Jitsi.
  3. Embed Jitsi video inside Mattermost: When true, Jitsi video is embedded as a floating window inside Mattermost. This feature is experimental.
  4. (Optional) If your Jitsi server uses JSON Web Tokens (JWT) for authentication, set:
  • Use JWT Authentication for Jitsi: true.
  • App ID and App Secret used for JWT authentication.
  • Meeting Link Expiry Time in minutes. Defaults to 30 minutes.
  1. Jitsi Meeting Names: Select how Jitsi meeting names are generated by default. The user can optionally override this setting for themselves via /jitsi settings.
  • Defaults to using random English words in title case, but you can also use a UUID as the meeting link, or the team and channel name where the Jitsi meeting is created. You can also allow the user to choose the meeting name each time by default.

You're all set! To test it, go to any Mattermost channel and click the video icon in the channel header to start a new Jitsi meeting.

Localization

Mattermost Jitsi Plugin supports localization in multiple languages:

  • English
  • French
  • German
  • Spanish
  • Hungarian

The plugin automatically displays languages based on the following:

  • For system messages, the locale set in System Console > General > Localization > Default Server Language is used.
  • For user messages, such as help text and error messages, the locale set set in Account Settings > Display > Language is used.

Manual builds

You can use Docker to compile the binaries yourself. Run ./docker-make shell script which builds a Docker image with necessary build dependencies and runs make all afterwards.

You can also use make targets like dist (./docker-make dist) from the Makefile.

Development

This plugin contains both a server and web app portion. Read our documentation about the Developer Workflow and Developer Setup for more information about developing and extending plugins.

Releasing new versions

The version of a plugin is determined at compile time, automatically populating a version field in the plugin manifest:

  • If the current commit matches a tag, the version will match after stripping any leading v, e.g. 1.3.1.
  • Otherwise, the version will combine the nearest tag with git rev-parse --short HEAD, e.g. 1.3.1+d06e53e1.
  • If there is no version tag, an empty version will be combined with the short hash, e.g. 0.0.0+76081421.

To disable this behaviour, manually populate and maintain the version field.

Server

Inside the /server directory, you will find the Go files that make up the server-side of the plugin. Within there, build the plugin like you would any other Go application.

Web App

Inside the /webapp directory, you will find the JS and React files that make up the client-side of the plugin. Within there, modify files and components as necessary. Test your syntax by running npm run build.

Contributing

We welcome contributions for bug reports, issues, feature requests, feature implementations, and pull requests. Feel free to file a new issue or join the Plugin: Jitsi channel on the Mattermost community server.

For a complete guide on contributing to the plugin, see the Contribution Guidelines.

mattermost-plugin-jitsi's People

Contributors

aaronrothschild avatar agarciamontoro avatar ayusht2810 avatar baaazen avatar crspeller avatar cwarnermm avatar extazx2 avatar flynbit avatar grundleborg avatar hanzei avatar hason avatar jasonblais avatar jespino avatar justinegeffen avatar jwilander avatar larkox avatar m-kad avatar maisnamrajusingh avatar mickmister avatar nathanaelhoun avatar nightvisi0n avatar raghavaggarwal2308 avatar seansackowitz avatar sibasankarnayak avatar spirosoik avatar toninis avatar trilopin avatar tw-ayush avatar weblate 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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 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

mattermost-plugin-jitsi's Issues

Add a slash command

The menu entry starts a Jitsi meeting with a random name. That's ok for a quick start in one click.

Suggestion : the plugin could add a slash command with more options, at least to customize the name.

So we could type :

/jitsi myname

And the Jitsi Bot would display an invitation for the call [configured server]/myname

Can someone please clarify deployment and configuration?

Hi

I uploaded the latest tgz and configured to enable and set the Jitsi URL to be the same as my MM server. I did this because in the MM log I could see an error message for Jitsi when the URL was blank.

I can create a meeting in the chat but any attempt to join it opens a new window/instance and with the error message

"Team Not Found
The team you're requesting is private or does not exist. Please contact your Administrator for an invitation."

As I created the meeting it's fair to say I am invited?

I have no doubt I'm doing something wrong but....

Plugin doesn't work on a non-root installation of Mattermost

Mattermost 5.21.0

Plugin Version 1.3.0

Describe the issue
My Mattermost installation is not at the root of the virtual host, but on a subfolder (say /chat/). Mattermost works well in this setup, but not the Jitsi plugin, which continue to call an url on /plugins/jitsi instead of /chat/plugins/jitsi.

I changed the file webapp/src/client/client.js (line 5, this.url) where this url is hardcoded, to put my hardcoded url, re-build the pluging, and it's working.
But maybe it's possible to ask mattermost its base url, to have a plugin working on any setups, instead of using an hardcoded urlโ€ฆ

Setup Troubles

Hi there!

I think I'm doing something wrong. I've downloaded the release and uploaded it to Mattermost, but the plugin won't activate, telling me that the JitsiURL is not configured. The readme states that it has server & webapp, but I'm guessing maybe the server isn't the Jitsi server? Do I still need to setup a jitsi-meet server separately? If not, what do I set JitsiURL to?

Thanks,
Nick

"/jitsi help" starts a Jitsi meeting with topic "help", instead of giving help for the /jitsi command

This behaviour started after #41, which renamed the slash command to /jitsi.

There are a few options:

  1. Name the command back to /meet. May conflict with other video meeting plugins, also inconsistent with other integrations like Slack-Jitsi integration
  2. Require user to type /jitsi start or /jitsi meet to start a new meeting. Doesn't follow our "fast" design principle
  3. Treat "help" as a reserved word that you cannot start a meeting topic with (i.e. /jitsi help gives help).

While the third option may not be obvious, I'm leaning towards it since most other plugins use /XXX help to display help for the command.

The output for /jitsi help becomes more valuable if #53 is implemented as a slash command.

How to use?

I've setup our mattermost server with that plugin and also configure the server, but somehow I can't find any function referencing to the jitsi plugin.
How it should work, if everything is right?

Mattermost: 5.2

Migrate Jitsi plugin to use bot accounts

If you're interested please comment here and come join our "Contributors" community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team. For technical advice or questions, please join our "Plugin: Jitsi" community channel.

New contributors please see our Developer's Guide and our Plugins Guide.


Migrate Jitsi plugin to use bot accounts.

For an example, here is a PR that migrated the Demo Plugin to use bot accounts with a helper function mattermost/mattermost-plugin-demo#29

meetingID is allways generateRoomWithoutSeparator

Many thanks for this plugin.

However, we had to realize that for each meeting a random name is generated.
Is a special Mattermost version required to use the req.topic? Currently we are using version 5.8.0.

Please make it work on Mobile Apps

This is a great plugin. I have my self hosted mattermost and jitsi and I'm pleased to finally see some integration.

But most of the users, like myself, use mobile/desktop apps. Therefore we need this plugin working on them too.

Also the ability to open jitsi-meet mobile app by pressing the "go meeting" button in MM would be pretty neat.

Cheers,

Unable to to enable video camera on Mac desktop when Jitsi is embedded

When using Jitsi with Embed Jitsi video inside Mattermost I'm not able to turn on my camera when using Mattermost Mac OS desktop client v4.5.0 Running build 013533b

I see the follow error message
Screen Shot 2020-06-24 at 2 32 13 PM

  • This does not occur in Chrome or when Embed Jitsi video inside Mattermost is disabled
  • Occurs for me on both hosted and cloud version of Jitsi
  • On a diffrent Windows machine I don't see the issue

Seems possible I have some OS level issue causing this. Please see if you can reproduce.
Steps:

  • Setup Jisti
  • Enable Embed Jitsi video inside Mattermost
  • Connect to server from desktop
  • Join a meeting

Observed

  • Camera remains disabled (normally turns on after a couple seconds)
  • Attempting to enable it shows a error in the Jisti UI

Jitsi link don't expire as expected

When creating a Jitsi link, the post says the post is valid for 30 minutes ex: Meeting link valid until: Thu Jun 04 2020 07:07:58 GMT-0400 (Eastern Daylight Time)

But you can go back and join meeting IDs that are several hours or days old. This is a bit confusing and I'm not sure of the expected behavior should be, particularly for Personal meeting types where the meeting ID never changes so the link may always be valid.

Steps:

  • Create a meeting of any naming_scheme
  • Note the time the meeting link is valid for
  • Return 31 minutes later
  • Click the link

Observed Meeting link is still functional

Update documentation

Documentation should be added, and include images for how to use and configure the plugin.

build fails w/ /bin/shadow: no such file or directory

Hi there,

First of all thanks for the great plugin.

I've tried to alternate how the random room names are generated, but ran into a weird issue whilst running make:

$ make
Running gofmt
Checking github.com/mattermost/mattermost-plugin-demo/server
Gofmt success
Running govet
env GO111MODULE=off /usr/local/bin/go get golang.org/x/tools/go/analysis/passes/shadow/cmd/shadow
/usr/local/bin/go vet ./server/...
/usr/local/bin/go vet -vettool=/bin/shadow ./server/...
go vet: can't execute /bin/shadow -flags: fork/exec /bin/shadow: no such file or directory
make: *** [govet] Error 2

Any idea what's missing?

Cheers

Clicking "Join Meeting" just opens another Mattermost window

Hi,
I just entered "meet.jit.si" as server and can start calls now. But when I click on the "Join Meeting" button, it opens a new browser window with the Mattermost instance again with the Jitsi-URL appended: https://mattermost.foo.bar/meet.jit.si/ instead of https://meet.jit.si/
What could I do here? If I enter https://meet.jit.si as server, it doesn't work at all with this log message:

2018-09-18T11:28:43.736156Z app[...]: {"level":"error","ts":1537270123.7358959,"caller":"plugin/client_rpc.go:295","msg":"Plugin failed to ServeHTTP, RPC call failed","plugin_id":"jitsi","error":"connection is shut down"}

Unable to activate plugin

Hello,
I could not activate the plugin.

Mattermost 5.7
Last version of the plugin uploaded.

{"level":"error","ts":1547824641.184601,"caller":"app/plugin.go:97","msg":"Unable to activate plugin","plugin_id":"jitsi","error":"unable to copy webapp bundle directory: jitsi: mkdir client/plugins/jitsi: permission denied","errorVerbose":"mkdir client/plugins/jitsi: permission denied\nunable to copy webapp bundle directory: jitsi\ngithub.com/mattermost/mattermost-server/plugin.(*Environment).Activate\n\t/home/ubuntu/jenkins/workspace/msr/mattermost-platform-release/src/github.com/mattermost/mattermost-server/plugin/environment.go:194\ngithub.com/mattermost/mattermost-server/app.(*App).SyncPluginsActiveState\n\t/home/ubuntu/jenkins/workspace/msr/mattermost-platform-release/src/github.com/mattermost/mattermost-server/app/plugin.go:95\ngithub.com/mattermost/mattermost-server/app.(*App).InitPlugins.func2\n\t/home/ubuntu/jenkins/workspace/msr/mattermost-platform-release/src/github.com/mattermost/mattermost-server/app/plugin.go:172\ngithub.com/mattermost/mattermost-server/app.(*App).InvokeConfigListeners\n\t/home/ubuntu/jenkins/workspace/msr/mattermost-platform-release/src/github.com/mattermost/mattermost-server/app/config.go:136\ngithub.com/mattermost/mattermost-server/app.(*App).UpdateConfig\n\t/home/ubuntu/jenkins/workspace/msr/mattermost-platform-release/src/github.com/mattermost/mattermost-server/app/config.go:50\ngithub.com/mattermost/mattermost-server/app.(*App).EnablePlugin\n\t/home/ubuntu/jenkins/workspace/msr/mattermost-platform-release/src/github.com/mattermost/mattermost-server/app/plugin.go:245\ngithub.com/mattermost/mattermost-server/api4.enablePlugin\n\t/home/ubuntu/jenkins/workspace/msr/mattermost-platform-release/src/github.com/mattermost/mattermost-server/api4/plugin.go:183\ngithub.com/mattermost/mattermost-server/web.Handler.ServeHTTP\n\t/home/ubuntu/jenkins/workspace/msr/mattermost-platform-release/src/github.com/mattermost/mattermost-server/web/handlers.go:135\ngithub.com/mattermost/mattermost-server/web.(*Handler).ServeHTTP\n\t<autogenerated>:1\ngithub.com/mattermost/mattermost-server/vendor/github.com/gorilla/mux.(*Router).ServeHTTP\n\t/home/ubuntu/jenkins/workspace/msr/mattermost-platform-release/src/github.com/mattermost/mattermost-server/vendor/github.com/gorilla/mux/mux.go:162\ngithub.com/mattermost/mattermost-server/app.(*RateLimiter).RateLimitHandler.func1\n\t/home/ubuntu/jenkins/workspace/msr/mattermost-platform-release/src/github.com/mattermost/mattermost-server/app/ratelimit.go:107\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:1964\ngithub.com/mattermost/mattermost-server/vendor/github.com/gorilla/handlers.recoveryHandler.ServeHTTP\n\t/home/ubuntu/jenkins/workspace/msr/mattermost-platform-release/src/github.com/mattermost/mattermost-server/vendor/github.com/gorilla/handlers/recovery.go:78\ngithub.com/mattermost/mattermost-server/vendor/github.com/gorilla/handlers.(*recoveryHandler).ServeHTTP\n\t<autogenerated>:1\nnet/http.serverHandler.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2741\nnet/http.(*conn).serve\n\t/usr/local/go/src/net/http/server.go:1847\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1333"}

Buttons for Enable Camera and Microphone as well as hang-up are not working

I am seeing an issue today where the buttons for Enable Microphone, Enable Camera and Hang Up are not working. They seem unresponsive when I click them.

I have tested this on desktop and browser and with embedded true and false

I did not see this issue yesterday. I'm not sure is the build has changed or if something on my user could be causing this. Possibly it's not prompting me to grant permission to my browser to access the mic and camera.

When I click hang-up I see a JS error in the browser console:

conference.js:411 Uncaught (in promise) TypeError: Cannot read property 'disconnect' of undefined
    at Z (conference.js:411)
    at Object.leaveRoomAndDisconnect (conference.js:2836)
    at Object.hangup (conference.js:2814)
    at actions.web.js:49
...

Hang-up

Steps:

  • Login to https://omnibus-mattermost.dev.spinmint.com
  • Create a Jitsi meeting (can use any naming_scheme)
  • Click the link to launch the meeting
    Observed: Once meeting is running the mic, camera, and hang-up buttons do not work.

Unable to share screen when using Jitsi embedded in desktop app

When using Jitsi in desktop, the app is unable to find any screens to share. The app just continues to show a spinner while looking for desktops or apps to share. This only repros when using Jisti embed into desktop with Embed Jitsi video inside Mattermost

I reproduced this on the latest desktop release v4.5.0 on Windows 10 and Mac OS

Steps:

  • Setup Jisti
  • Enable Embed Jitsi video inside Mattermost
  • Connect to server from desktop
  • Join a meeting
  • Attempt to share your screen
  • Wait for several minutes

Observed:
Screen Shot 2020-06-24 at 2 31 01 PM

Proposal: Meeting naming schema

Currently, we have the following meeting naming options:

  1. english-titlecase
  2. english-kebabcase
  3. uuid
  4. digits
  5. letters
  6. teamchannel
  7. teamchannel-salt

Following Hick's Law, we aim to limit the number of choices to 3 or 4. I would like to apply this law for the meeting naming option as well.

Specifically, limit the options to

  • english-titlecase makes sense given that is the default naming convention for Jitsi meetings.
  • uuid supports uniqueness, which is particularly important when using the public Jitsi service

An additional consideration is

  • teamchannel suggested by @rbdevr or a mattermost-style naming convention that uses a combination of teams and channels (see below)

https://github.com/mattermost/mattermost-plugin-jitsi/pull/42/files#r428284593

Mattermost plugin does not work

Hello Seansackowitz,
I have downloaded the plugin for Mattermost server running on Ubuntu 18.4 bionic. When i try to up i get the following error.

Mar 27 18:43:47 lab-mmost1 platform[1032]: {"level":"error","ts":1553712227.977395,"caller":"app/plugin.go:97","msg":"Unable to activate plugin","plugin_id":"jitsi","error":"unable to copy webapp bundle directory: jitsi: stat /opt/mattermost/client/plugins/jitsi/webapp: no such file or directory","errorVerbose":"stat /opt/mattermost/client/plugins/jitsi/webapp: no such file or directory\nunable to copy webapp bundle directory: jitsi\ngithub.com/mattermost/mattermost-server/plugin.(*Environment).Activate\n\t/go/src/github.com/mattermost/mattermost-server/plugin/environment.go:189\ngithub.com/mattermost/mattermost-server/app.(*App).SyncPluginsActiveState\n\t/go/src/github.com/mattermost/mattermost-server/app/plugin.go:95\ngithub.com/mattermost/mattermost-server/app.(*App).InitPlugins\n\t/go/src/github.com/mattermost/mattermost-server/app/plugin.go:182\ngithub.com/mattermost/mattermost-server/app.(*Server).RunOldAppInitalization\n\t/go/src/github.com/mattermost/mattermost-server/app/server_app_adapters.go:139\ngithub.com/mattermost/mattermost-server/app.NewServer\n\t/go/src/github.com/mattermost/mattermost-server/app/server.go:177\ngithub.com/mattermost/mattermost-server/cmd/mattermost/commands.runServer\n\t/go/src/github.com/mattermost/mattermost-server/cmd/mattermost/commands/server.go:64\ngithub.com/mattermost/mattermost-server/cmd/mattermost/commands.serverCmdF\n\t/go/src/github.com/mattermost/mattermost-server/cmd/mattermost/commands/server.go:50\ngithub.com/mattermost/mattermost-server/vendor/github.com/spf13/cobra.(*Command).execute\n\t/go/src/github.com/mattermost/mattermost-server/vendor/github.com/spf13/cobra/command.go:762\ngithub.com/mattermost/mattermost-server/vendor/github.com/spf13/cobra.(*Command).ExecuteC\n\t/go/src/github.com/mattermost/mattermost-server/vendor/github.com/spf13/cobra/command.go:852\ngithub.com/mattermost/mattermost-server/vendor/github.com/spf13/cobra.(*Command).Execute\n\t/go/src/github.com/mattermost/mattermost-server/vendor/github.com/spf13/cobra/command.go:800\ngithub.com/mattermost/mattermost-server/cmd/mattermost/commands.Run\n\t/go/src/github.com/mattermost/mattermost-server/cmd/mattermost/commands/root.go:14\nmain.main\n\t/go/src/github.com/mattermost/mattermost-server/cmd/mattermost/main.go:30\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:201\nruntime.goexit\n\t/usr/local/go/src/run

Then i manually copied the plugin the tar file and then untar it to plugins directory and restarted the server i still see the same error.

I have also local jitsi-meet server which is working if i go to url of jitsi. But intergration of Jitsi with mattermost does not seem to work at all.

Can you kind suggest and help me where am i going wrong with this.

Kind regards
Mohammad

Add to Plugin Marketplace

Hi @seansackowitz,

Congratulation on forking the zoom plugin and becoming more popular with this plugin ๐Ÿ˜‰
Given the current high interest in jitsi, this plugin would be a great addition to the Plugin Marketplace. Would you be interested on submitting your plugin? You can find the process here.

/jitsi settings naming_scheme for 'word' is incorrect

The command for word naming scheme is inconsistent with the help text

The help says you can select this naming scheme by setting it to word but when you try to do this you see that the setting is actually english-titlecase .

We should either update the help text to reflect the name english-titlecase or change the name to word so the command and help text match.

Steps:

  • Read help text
  • Attempt to preset naming scheme to word by running /jitsi settings naming_scheme word
    Observed word is not a valid value

RN Only - Meeting posts with Mattermost naming scheme have broken links on RN

When a meeting post with naming scheme of mattermost is shown on RN for a Jisti meeting, the full link is shown. The link includes ALL parameters appended to the address. This looks broken. I think the link text is showing up as plain text and the href address has become the link.

Steps:

  • Create a meeting with naming scheme of mattermost
  • View the meeting post on RN
    Observed:
    MobileLinks

Webapp does nor seem affected.

No icon to start Meeting

I have installes the Plugin 1.2.0 over the Upload in Mattermost, activate this and configure the Server URL.
but no Icon ist shown in Mattermost to start an meeting.

The same is with 1.1.0

What i make wrong?

Error : We could not start a meeting at this time.

Hello,

I just installed version 1.0.0 on my mattermost version 5.2.1.
Clicking on the camera show the following error message : We could not start a meeting at this time.

On the mattermost system console, i can see the following logs :

{"level":"error","ts":1537215738.2268791,"caller":"plugin/client_rpc.go:295","msg":"Plugin failed to ServeHTTP, RPC call failed","plugin_id":"jitsi","error":"connection is shut down"}
{"level":"error","ts":1537215743.2270253,"caller":"plugin/client_rpc.go:247","msg":"Plugin failed to ServeHTTP, muxBroker couldn't accept connection","plugin_id":"jitsi","serve_http_stream_id":12,"error":"timeout waiting for accept"}
{"level":"info","ts":1537215743.2271106,"caller":"http/server.go:1080","msg":"http: multiple response.WriteHeader calls","source":"httpserver"}
{"level":"error","ts":1537215743.2270546,"caller":"plugin/client_rpc.go:268","msg":"Plugin failed to ServeHTTP, muxBroker couldn't Accept request body connecion","plugin_id":"jitsi","error":"timeout waiting for accept"}
{"level":"info","ts":1537215743.2271378,"caller":"http/server.go:1080","msg":"http: multiple response.WriteHeader calls","source":"httpserver"}

Both jitsi-meet and mattermost runs from docker containers.

I don't know where to look to give you more informations.

Meeting ID link will not show if topic does not contain an alpha-numeric character

There is an edge case where if you create a meeting with a topic that does not contain an alpha-numeric character, no meeting ID link will be generated for the post as special chanters are removed.

This is very much an edge case and very low impact as the join link is still displayed. We could consider validating the slash command such that "topic" requires an alpha-numeric character.

Steps:

  • type /jitsi !!! and hit enter
    Observed No Meeting ID link to show

Unable to set preset meeting naming scheme as Personal IDShould you be able to set n

There seems to be no way to preset your meeting naming schemes to Personal ID.

You can create meeting with a personal ID naming scheme when it is set to ask as there is a button to do so. But Personal ID is not available as a preset naming scheme

0/5 this may be by design to prevent users from unintentionally posting their meeting ID. Please confirm desired behavior.

Add i18n support

Add support for translate the plugin to other languages, probably starting with english and spanish.

Add per user configuration

Allow the user to configure its own preferences, like kind of channel, or in the future, if he/she wants to open it in a separate window or embedded in the application.

make test fails

$ make test
/usr/bin/go test -v -race ./server/...
?   	github.com/mattermost/mattermost-plugin-demo/server	[no test files]
cd webapp && /usr/bin/npm run fix && /usr/bin/npm run test;

> [email protected] fix /home/sumacheb/src/mattermost/plugins/jitsi/webapp
> eslint --ignore-pattern node_modules --ignore-pattern dist --ext .ts --ext .tsx --ext tsx --ext ts . --quiet --fix

Warning: React version not specified in eslint-plugin-react settings. See https://github.com/yannickcr/eslint-plugin-react#configuration .

> [email protected] test /home/sumacheb/src/mattermost/plugins/jitsi/webapp
> jest --forceExit --detectOpenHandles --verbose

โ— Validation Error:

  Module <rootDir>/tests/setup.js in the setupFilesAfterEnv option was not found.
         <rootDir> is: /home/sumacheb/src/mattermost/plugins/jitsi/webapp

  Configuration Documentation:
  https://jestjs.io/docs/configuration.html

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] test: `jest --forceExit --detectOpenHandles --verbose`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] test script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/sumacheb/.npm/_logs/2020-05-28T10_27_41_432Z-debug.log
make: *** [Makefile:131: test] Error 1

Plugin not working in sub paths (example.org/mattermost/)

Mattermost Version
5.21.0

Plugin Version
1.3.0

Describe the issue
The Plugin doesn't work in sub paths.

Server Error Logs
None

Chromium Error Logs (I replaced my server with {DOMAIN})

jitsi_72139af559ab6c74_bundle.js:1 POST https://{DOMAIN}/plugins/jitsi/api/v1/meetings 404 (Not Found)
R._end @ jitsi_72139af559ab6c74_bundle.js:1
R.end @ jitsi_72139af559ab6c74_bundle.js:1
(anonymous) @ jitsi_72139af559ab6c74_bundle.js:1
l.then @ jitsi_72139af559ab6c74_bundle.js:1

Additional context
I host mattermost in a sub path: {DOMAIN}/mattermost/
so the POST (shown in Chrome Error Log) should go to https://{DOMAIN}/mattermost/plugins/jitsi/api/v1/meetings

UI improvements for Jitsi meeting post when meeting link valid for set amount of time

Observed

image

Proposed changes

1 - Move "Meeting link valid ..." text to below the "Join Meeting" button, as shown below.

image

Why? On narrow screens, the text can wrap on multiple lines. If so, it would be cleaner to have the text below the "Join Meeting" button at all times

image

2 - typo - "Meeting link valid util" --> until

3 - timestamp: "2020-05-25 16:58:21 Z" is not obvious to all users. 0/5 on the approach, it would be great if the time was based on the Mattermost time displayed to the user, but not sure if that's possible with current plugin framework.

Error when starting docker-make : declaration of "err" shadows declaration at line 98

Mattermost Version
/

Plugin Version
Lattest (from Git : 7c04448)

Describe the issue
After cloning the project, nothing has been changed on the files, starting ./docker-maker : it stops with this error :

Running govet
env GO111MODULE=off /usr/local/go/bin/go get golang.org/x/tools/go/analysis/passes/shadow/cmd/shadow
/usr/local/go/bin/go vet ./server/...
/usr/local/go/bin/go vet -vettool=/go/bin/shadow ./server/...

github.com/mattermost/mattermost-plugin-demo/server

server/plugin.go:104:8: declaration of "err" shadows declaration at line 98
server/plugin.go:170:8: declaration of "err" shadows declaration at line 98
make: *** [Makefile:60: govet] Error 2

Additional context
I runned the same code a few days ago and everything worked fine. Has "#github.com/mattermost/mattermost-plugin-demo/server" repository changed in between ?

"Module not found: Error: Can't resolve 'prop-types'"

ERROR in ./src/components/post_type_jitsi/post_type_jitsi.jsx
Module not found: Error: Can't resolve 'prop-types' in '/home/william341/littrellbox/mattermost-plugin-jitsi/webapp/src/components/post_type_jitsi'
@ ./src/components/post_type_jitsi/post_type_jitsi.jsx
@ ./src/components/post_type_jitsi/index.js
@ ./src/index.jsx
@ multi ./src/index.jsx

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.