Quantcast
Channel: Mattermost Discussion Forums - Latest posts
Viewing all 25529 articles
Browse latest View live

Cannot access Mattermost v5.8.0-rc2 under subpath

$
0
0

After updating Mattermost from v5.7.1 to v5.8.0-rc2, I can’t access it.
It is caused by 404 error for some js files. It seems that Mattermost try to read js files from path without subpath, even though my environment is under subpath.

Additional Info

  • Server: Ubuntu 18.04 / Client: Chrome and Safari
  • Mattermost v5.8.0-rc2 Enterprise Edition
  • Using nginx as reverse proxy
  • I’ve tried to remove browser cache, restart nginx service, and restart Mattermost service, but it doesn’t fix this issue

Unable to send websocket requests through WAF

$
0
0

A WAF that does not support standards like websockets is not worth the money you (or your company) are paying for it (personal opinion: most WAFs are not worth the money).

FWIW, the main goal of most WAFs is to give bad programmers an excuse for not caring as much about XSS, SQL Injection and similar vulnerabilities as they should. This often includes incredibly stupid rules such as “if a POST request contains ‘SELECT’ or ‘UNION’, reject it”. I guess you can already imagine how utterly bad this is for a chat system where legitimate conversation might contain such keywords.

Unable to send websocket requests through WAF

$
0
0

Thanks @amy.blais and @ThiefMaster. I will try to find out the software and version of the WAF.

@ThiefMaster, I like your opinion about WAF, haha. I agree it is part of the responsibilities of programmers to prevent malicious attack :slight_smile:. However, from an organisation point of view, there are management, infrastructure and other teams who are not part of the coding team, and they probably have no clue in what is in the code. So WAF could give them a peace of mind :wink:, and unfortunately, human (or programmers in this case) are not perfect, so mistakes will be make. Having said that, WAF is not an excuse for programmers to ignore the responsibilities to understand web vulnerabilities when coding.

Unable to send websocket requests through WAF

$
0
0

Something strange though, the mattermost functionalities that are hidden in the browser (due to the websockets), such as deleting a post, adding reaction emoji, etc are available and working in iOS, although in iOS, the message “Connecting…” keeps showing at the top.

Does that mean the iOS mattermost is working differently compare to the browser-based mattermost?

Slash Commands - which character encoding is used

$
0
0

Hi,

I am working on a slash command project (sending SMS) that takes a Text from the slash command.
The question is now: what is the character encoding? printing on the console seems to hint into latin1, it does not look like utf-8.

Also, when passing this string back to mattermost to create a dialog it mangles the non ascii characters again to something different.

Maybe somebody who has worked with non ascii charset can shed a light on that?

TIA from Germany
Andreas

No Custom Emoji Button

$
0
0

Hi @amy.blais,

I stopped the mattermost server, renamed the /data/emoji folder and dropped the Emoji Table in the Database ( I had dumped it before, so that I could recreate after testing). I started the server again, but not “Custom Emoji” Button. I stopped the server again, and created an empty /data/emoji/ folder with the correct rights and ownership. I started the server again, and no “Custom Emoji” Button. Meanwhile I checked the database and saw that the Emoji Table was reacreated after I had created the empty /data/emoji folder.
Unfortunately, renaming and recreating did not show any effect.
I restored the the old /data/emoji folder and imported the dropped Emoji table. Now everything is back to its old state.

Here the values of all config.json entries related to emojis:
cat /opt/myname_mattermost/config/config.json | grep -ie “emoji”
“EnableCustomEmoji”: true,
“EnableEmojiPicker”: true,
“RestrictCustomEmojiCreation”: “all”,

And, as requested, the start up log of the mattermost server in debug mode:

{“level”:“info”,“ts”:1549874189.3560343,“caller”:“app/app.go:237”,“msg”:“Server stopped”}
{“level”:“info”,“ts”:1549874411.3610606,“caller”:“utils/i18n.go:78”,“msg”:“Loaded system translations for ‘de’ from ‘/opt/hgbutze_mattermost/i18n/de.json’”}
{“level”:“info”,“ts”:1549874411.3611588,“caller”:“app/app.go:143”,“msg”:“Server is initializing…”}
{“level”:“debug”,“ts”:1549874411.361195,“caller”:“utils/html.go:30”,“msg”:“Parsing server templates at /opt/hgbutze_mattermost/templates”}
{“level”:“info”,“ts”:1549874411.362768,“caller”:“sqlstore/supplier.go:207”,“msg”:“Pinging SQL master database”}
{“level”:“debug”,“ts”:1549874411.3921201,“caller”:“sqlstore/preference_store.go:41”,“msg”:“Deleting any unused pre-release features”}
{“level”:“debug”,“ts”:1549874411.3945224,“caller”:“jobs/schedulers.go:29”,“msg”:“Initialising schedulers.”}
{“level”:“info”,“ts”:1549874411.7277234,“caller”:“commands/server.go:82”,“msg”:“Current version is 5.7.0 (5.7.1/Fri Feb 1 08:43:17 UTC 2019/ad3ddac9b935fb842ca4301f69266ffb87ec8c86/none)”}
{“level”:“info”,“ts”:1549874411.7278051,“caller”:“commands/server.go:83”,“msg”:“Enterprise Enabled: false”}
{“level”:“info”,“ts”:1549874411.7278283,“caller”:“commands/server.go:84”,“msg”:“Current working directory is /opt/hgbutze_mattermost”}
{“level”:“info”,“ts”:1549874411.7279158,“caller”:“commands/server.go:85”,“msg”:“Loaded config file from /opt/hgbutze_mattermost/config/config.json”}
{“level”:“info”,“ts”:1549874411.728119,“caller”:“filesstore/localstore.go:33”,“msg”:“Able to write files to local storage.”}
{“level”:“info”,“ts”:1549874411.7297485,“caller”:“app/plugin.go:130”,“msg”:“Starting up plugins”}
{“level”:“info”,“ts”:1549874414.5943766,“caller”:“app/server.go:166”,“msg”:“Starting Server…”}
{“level”:“info”,“ts”:1549874414.5945168,“caller”:“app/server.go:226”,“msg”:“Server is listening on [::]:8066”}
{“level”:“debug”,“ts”:1549874414.599957,“caller”:“api4/plugin.go:20”,“msg”:“EXPERIMENTAL: Initializing plugin api”}
{“level”:“debug”,“ts”:1549874414.600547,“caller”:“app/email_batching.go:74”,“msg”:“Email batching job starting. Checking for pending emails every 30 seconds.”}
{“level”:“info”,“ts”:1549874414.600595,“caller”:“app/web_hub.go:75”,“msg”:“Starting 8 websocket hubs”}
{“level”:“debug”,“ts”:1549874414.6006944,“caller”:“web/web.go:27”,“msg”:“Initializing web routes”}
{“level”:“debug”,“ts”:1549874414.6007116,“caller”:“app/web_hub.go:412”,“msg”:“Hub for index 1 is starting with goroutine 3734”}
{“level”:“debug”,“ts”:1549874414.6008236,“caller”:“app/web_hub.go:412”,“msg”:“Hub for index 0 is starting with goroutine 3733”}
{“level”:“debug”,“ts”:1549874414.600909,“caller”:“app/web_hub.go:412”,“msg”:“Hub for index 2 is starting with goroutine 3735”}
{“level”:“debug”,“ts”:1549874414.6009316,“caller”:“utils/subpath.go:59”,“msg”:“No rewrite required for static assets”,“path”:"/static/"}
{“level”:“debug”,“ts”:1549874414.6009138,“caller”:“app/web_hub.go:412”,“msg”:“Hub for index 6 is starting with goroutine 3739”}
{“level”:“debug”,“ts”:1549874414.6009755,“caller”:“web/static.go:26”,“msg”:“Using client directory at /opt/hgbutze_mattermost/client”}
{“level”:“debug”,“ts”:1549874414.601004,“caller”:“app/web_hub.go:412”,“msg”:“Hub for index 7 is starting with goroutine 3740”}
{“level”:“debug”,“ts”:1549874414.6010497,“caller”:“app/web_hub.go:412”,“msg”:“Hub for index 5 is starting with goroutine 3738”}
{“level”:“debug”,“ts”:1549874414.6010964,“caller”:“app/web_hub.go:412”,“msg”:“Hub for index 3 is starting with goroutine 3736”}
{“level”:“debug”,“ts”:1549874414.6035306,“caller”:“app/web_hub.go:412”,“msg”:“Hub for index 4 is starting with goroutine 3737”}
{“level”:“info”,“ts”:1549874414.6058104,“caller”:“sqlstore/post_store.go:1286”,“msg”:“Post.Message supports at most 16383 characters (65535 bytes)”}
{“level”:“debug”,“ts”:1549874414.6316621,“caller”:“app/email_batching.go:74”,“msg”:“Email batching job starting. Checking for pending emails every 30 seconds.”}
{“level”:“info”,“ts”:1549874414.676912,“caller”:“jobs/workers.go:68”,“msg”:“Starting workers”}
{“level”:“debug”,“ts”:1549874414.6769533,“caller”:“sqlstore/session_store.go:227”,“msg”:“Cleaning up session store.”}
{“level”:“info”,“ts”:1549874414.6770053,“caller”:“commands/server.go:266”,“msg”:“Sending systemd READY notification.”}
{“level”:“debug”,“ts”:1549874414.677013,“caller”:“sqlstore/command_webhook_store.go:88”,“msg”:“Cleaning up command webhook store.”}
{“level”:“debug”,“ts”:1549874414.677129,“caller”:“sqlstore/tokens_store.go:72”,“msg”:“Cleaning up token store.”}
{“level”:“debug”,“ts”:1549874414.6772213,“caller”:“jobs/jobs_watcher.go:39”,“msg”:“Watcher Started”}
{“level”:“debug”,“ts”:1549874414.67728,“caller”:“migrations/worker.go:44”,“msg”:“Worker started”,“worker”:“Migrations”}
{“level”:“info”,“ts”:1549874414.6773245,“caller”:“jobs/schedulers.go:72”,“msg”:“Starting schedulers.”}
{“level”:“debug”,“ts”:1549874414.6810791,“caller”:“jobs/schedulers.go:167”,“msg”:“Next run time for scheduler MigrationsScheduler: 2019-02-11 09:41:14.680974 +0100 CET m=+63.487891771”}
{“level”:“debug”,“ts”:1549874418.4677734,“caller”:“web/handlers.go:50”,“msg”:“GET - /login”}
{“level”:“debug”,“ts”:1549874419.1450047,“caller”:“web/handlers.go:50”,“msg”:“GET - /api/v4/config/client”}
{“level”:“debug”,“ts”:1549874419.1465063,“caller”:“web/handlers.go:50”,“msg”:“GET - /api/v4/license/client”}
{“level”:“debug”,“ts”:1549874419.1677806,“caller”:“web/handlers.go:50”,“msg”:“GET - /api/v4/plugins/webapp”}
{“level”:“debug”,“ts”:1549874433.1886218,“caller”:“web/handlers.go:50”,“msg”:“GET - /api/v4/websocket”}
{“level”:“debug”,“ts”:1549874433.2355554,“caller”:“web/handlers.go:50”,“msg”:“GET - /api/v4/plugins/webapp”}
{“level”:“debug”,“ts”:1549874433.2362404,“caller”:“web/handlers.go:50”,“msg”:“GET - /api/v4/users/me/teams/313ecjjg3tgui8qpo77qkfo5zh/channels”}
{“level”:“debug”,“ts”:1549874433.2363687,“caller”:“web/context.go:84”,“msg”:“Invalid or expired session, please login again.”,“path”:"/api/v4/users/me/teams/313ecjjg3tgui8qpo77qkfo5zh/channels",“request_id”:“bfew6dzbd7r18mgiueec7chqmo”,“ip_addr”:“83.137.191.1”,“user_id”:"",“method”:“GET”,“err_where”:"",“http_code”:401,“err_details”:“UserRequired”}
{“level”:“debug”,“ts”:1549874433.2365782,“caller”:“web/handlers.go:50”,“msg”:“GET - /api/v4/users/me/teams/313ecjjg3tgui8qpo77qkfo5zh/channels/members”}
{“level”:“debug”,“ts”:1549874433.2366788,“caller”:“web/context.go:84”,“msg”:“Invalid or expired session, please login again.”,“path”:"/api/v4/users/me/teams/313ecjjg3tgui8qpo77qkfo5zh/channels/members",“request_id”:“sgfcstwz1tyimm96mti7zarido”,“ip_addr”:“83.137.191.1”,“user_id”:"",“method”:“GET”,“err_where”:"",“http_code”:401,“err_details”:“UserRequired”}
{“level”:“debug”,“ts”:1549874433.2368047,“caller”:“web/handlers.go:50”,“msg”:“GET - /api/v4/users/me/teams/unread”}
{“level”:“debug”,“ts”:1549874433.2369072,“caller”:“web/context.go:84”,“msg”:“Invalid or expired session, please login again.”,“path”:"/api/v4/users/me/teams/unread",“request_id”:“mh577ek93fncxrixxa1ixstity”,“ip_addr”:“83.137.191.1”,“user_id”:"",“method”:“GET”,“err_where”:"",“http_code”:401,“err_details”:“UserRequired”}
{“level”:“debug”,“ts”:1549874433.2371564,“caller”:“web/handlers.go:50”,“msg”:“GET - /api/v4/channels/z7xy456577gi5keyy89ioqexco/posts”}
{“level”:“debug”,“ts”:1549874433.2372751,“caller”:“web/context.go:84”,“msg”:“Invalid or expired session, please login again.”,“path”:"/api/v4/channels/z7xy456577gi5keyy89ioqexco/posts",“request_id”:“ndtrmxh7k7gpxykyoc9sx75h5a”,“ip_addr”:“83.137.191.1”,“user_id”:"",“method”:“GET”,“err_where”:"",“http_code”:401,“err_details”:“UserRequired”}
{“level”:“debug”,“ts”:1549874433.3740442,“caller”:“app/web_conn.go:147”,“msg”:“websocket.read: client side closed socket userId=”}
{“level”:“debug”,“ts”:1549874433.7245283,“caller”:“web/handlers.go:50”,“msg”:“POST - /api/v4/users/logout”}
{“level”:“debug”,“ts”:1549874434.6048982,“caller”:“web/handlers.go:50”,“msg”:“GET - /”}
{“level”:“debug”,“ts”:1549874437.603696,“caller”:“web/handlers.go:50”,“msg”:“GET - /api/v4/config/client”}
{“level”:“debug”,“ts”:1549874437.60427,“caller”:“web/handlers.go:50”,“msg”:“GET - /api/v4/license/client”}
{“level”:“debug”,“ts”:1549874437.629027,“caller”:“web/handlers.go:50”,“msg”:“GET - /api/v4/plugins/webapp”}
{“level”:“debug”,“ts”:1549874444.631978,“caller”:“app/email_batching.go:110”,“msg”:“Email batching job ran. 0 user(s) still have notifications pending.”}
{“level”:“debug”,“ts”:1549874455.0002499,“caller”:“web/handlers.go:50”,“msg”:“POST - /api/v4/users/status/ids”}
{“level”:“debug”,“ts”:1549874461.022048,“caller”:“web/handlers.go:50”,“msg”:“POST - /api/v4/users/status/ids”}

Once more thank you.
Nils

P2P File Sending

$
0
0

Hello.
I have a question about the file send.
I am using mattermost at company, using our local server.
Sometimes, I send big file to other through mattermost.
But it works like below.

  • In my side, Uploading file to server.
  • In other side, downloading file from server.

When the file is small, there is no problem.
But if the file is big, it spends lots of time and lots of server storage.
Is there any method to send file as P2P in local network?
Please help me. Thank you.

Cannot access Mattermost v5.8.0-rc2 under subpath


P2P File Sending

$
0
0

Hi @JinZhuXing,

What Mattermost server version are you using? What device and OS are you using? What browser are you on?

Access from server

$
0
0

Hi all,

I would like to know whether a person who:

  • is an administrator of a Linux machine hosting Mattermost server and,
  • does not have an account in any of our Mattermost channels
    can access our channels or messages in any possible way (whether through OS, logs, DB, etc.)?

Zoom Plugin - Are there limitations?

$
0
0

Yes, major limitations. Every user on Mattermost require a licensed Zoom account ($$$$). Unless, you have a user say in a conference room that’s always connected ie ‘zoom-bot’ that’s licensed to use zoom and can start meetings. But that’s limited to one user, of course if you have multiple users on Zoom, you’re good to go.

Channel Notifications

$
0
0

Hi, @jast0305

While I have not personally tried that before, that applies to specific channels like what @JtheBAB mentioned. I would assume that it will work since it takes any other special keywords and the client will treat it as a mention, which eventually should send email and push notifications accordingly.

In the example you provided, the usage of clienta, clientb, and clientb keyword in any channels that you are participating could work though it would be important for the person to constantly use those words to ensure that you get the notifications and not miss them. May I know if you have given it a try?

Access from server

$
0
0

Hello, @piotr

I would assume that you would like to verify if a user is the admin of the Mattermost server in this case. One of the easiest way to check this is to check this via /etc/sudoers as mentioned in the List admins on Linux. By default, the root account will have the admin access unless you add more users with sudo privileges, or in a group with sudo privileges.

As for the second question, any users (generally admins) who has credentials to the backend account to the server hosting Mattermost, the database which Mattermost stores data, the directory where the logs are stored will be able to access those information. So, you do not have to necessary have a Mattermost account to be able to access the backend information.

Mattermost users, however do not have access by default (eg. using email address and password) to the backend. They should only be able to see the frontend information such as public / private channels they participate in, 1-1 messages, and their own configuration.

May I know if you have any specific concerns that you would like to share so I can understand the question better nevertheless?

P2P File Sending

$
0
0

Thanks for replying.
Mattermost server : v5.6.2 (Ubuntu 18.04 Server)
Mattermost client : v4.2.0 (Windows 10, Windows 8.1)
Browser : Chrome, Firefox, Edge
Not using Linux, MacOS, Android and iOS version at our company.
Thanks.

P2P File Sending

$
0
0

Hi, @JinZhuXing

I would like to understand the question that you have here a little better. Since you mentioned the following:

When the file is small, there is no problem.
But if the file is big, it spends lots of time and lots of server storage.

  • Are you referring to the time taken to upload or download the file?
  • How much time and storage you are referring to?
  • When you mentioned that it takes a long time and server storage, can you give some example so I can test it on my end? File type and size? Is it more than 50MB?
  • How is the speed of your network like?
  • If you are referring to downloading, did you compare the speed of download outside of Mattermost itself via public link - Sharing Public Links?
  • Since you mentioned about P2P sharing within a local network, are you actually looking at other alternatives besides Mattermost to share the file?

Keep us posted. Thank you.


P2P File Sending

$
0
0

Hi, @adanial
I means that file size is bigger than 1G. (such as Visual Studio 2017 installer file. (> 40G))
When I send large file through mattermost, it is very inconvenient.
Because our server have not enough space.
So that, we transfer large file and after receiving complete, we must delete that file from mattermost.
It is not convenient.
Our local network is 100Mbps.

When I use QQ messenger, it has Peer to Peer file send function.
When I send file to others, I can select file send option.
I can use <direct file send (P2P)> and also can use <offline file send (Upload and Download)>.

Please help me.
Thanks.

P2P File Sending

$
0
0

Hello, @JinZhuXing

According to the Configuring Mattermost Server documentation:

  1. Files and images that users attach to their messages are not stored in the database. Instead, they are stored in a location that you specify. You can store the files on the local file system or in Amazon S3.
  2. Make sure that the location has enough free space. The amount of storage that’s required depends on the number of users and on the number and size of files that users attach to messages.

In this case, may I know what type of storage you have configured for your instance and the size of storage currently allocated? If your instance deals with a lot of big files, it would be best to allocate a bigger file store or else, you pretty much have to delete the file from Mattermost since it takes up a lot of space.

In terms of file sharing, I would think that QQ messenger works in a different way compared to Mattermost in terms of security (instant messaging versus enterprise self hosted chat solution), which might explain why there is no P2P file sharing by default.

Access from server

$
0
0

Hi

As Mattermost doesn’t encrypt the messages by itself, a user with access to the mysql backend can read any messages (including Direct Messages) that are stored to the database

P2P File Sending

$
0
0

I don’t think that Mattermost should be used for such data transfer. Please keep in mind that the files are typically never deleted. Maybe you can install beside of Mattermost Nextcloud. Then you could share the files with Nextcloud and send the message with Mattermost.

P2P File Sending

$
0
0

Hello, @adanial
So you means that Mattermost cannot support P2P file sharing because of security problem?

Viewing all 25529 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>