Code Monkey home page Code Monkey logo

desktop's Introduction

Mattermost Desktop

Mattermost is an open source platform for secure collaboration across the entire software development lifecycle. This repo is for the native desktop application that's built on Electron; it runs on Windows, Mac, and Linux.

Originally created as "electron-mattermost" by Yuya Ochiai.

mm-desktop-screenshot

nightly-builds

Features

Desktop integration

  • Server dropdown for access to multiple servers
  • Dedicated tabs for Channels, Boards and Playbooks
  • Desktop Notifications
  • Badges for unread channels and mentions
  • Deep Linking to open Mattermost links directly in the app
  • Runs in background to reduce number of open windows

Usage

Installation

Detailed guides are available at docs.mattermost.com.

  1. Download a file from the downloads page or from the releases page.
  2. Run the installer or unzip the archive.
  3. Launch Mattermost from your Applications folder, menu, or the unarchived folder.
  4. On the first launch, please enter a name and URL for your Mattermost server. For example, https://mattermost.example.com.

Configuration

You can show the dialog from menu bar.

Configuration will be saved into Electron's userData directory:

  • %APPDATA%\Mattermost on Windows
  • ~/Library/Application Support/Mattermost on OS X
  • ~/.config/Mattermost on Linux

A custom data directory location can be specified with:

  • Mattermost.exe --args --data-dir C:\my-mattermost-data on Windows
  • open /Applications/Mattermost.app/ --args --data-dir ~/my-mattermost-data/ on macOS
  • ./mattermost-desktop --args --data-dir ~/my-mattermost-data/ on Linux

Custom App Deployments

Our docs provide a guide on how to customize and distribute your own Mattermost Desktop App, including how to distribute the official Windows Desktop App silently to end users, pre-configured with the server URL and other app settings.

Development and Making Contributions

Our developer guide has detailed information on how to set up your development environment, develop, and test changes to the Desktop App.

desktop's People

Contributors

amyblais avatar asaadmahmood avatar codedsun avatar deanwhillier avatar dependabot[bot] avatar devinbinnie avatar it33 avatar jasonblais avatar jnugh avatar johnsonbrothers avatar jprusch avatar jthebab avatar kaakaa avatar kayazeren avatar lieut-data avatar magicmonty avatar matt-w99 avatar milotype avatar nevyangelova avatar razzeee avatar streamer45 avatar svelle avatar tboulis avatar tomerpacific avatar toninis avatar weblate avatar wget avatar willyfrog avatar yasserfaraazkhan avatar yuya-oc 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  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

desktop's Issues

CircleCI is not working

The repository is tranfered to mattermost, so I think CircleCI can't pull new commits.
This should be enabled to run tests.

Formatting issues

After upgrading to Mattermost 1.3.0 I've been experiencing formatting issues with this app. The elements for the username and timestamp for every post are showing up as ul > li elements and comments to existing posts are not being abbreviated correctly.

I've overwritten the 0.4 version of the app with the 1.0 version but the issue persists. I do not have this issue when accessing in the browser.

image

Images don't appear for http URL

An image that appears in a browser based mattermost client doesn't appear in the client (reproductible on Mac, Linux & Window)

Feature request: An easier way to input emoji

I have been testing the server/client on a small scale (about 15 members).

Since only a handful are programmer/scriptors, many find it hard to input emoji
using the markdown language directly....

Is there anyway we can improve this by providing some sort of GUI for such users.

Desktop notifications not working

Hello,

Desktop notifications does not work with a slack account on OS X 10.11.3. I click on enable desktop notifications on slack settings. This alert shows up "huh allowed:false permission_level:undefined".

When i switch to the window, the input isn't focused anymore

Hi,

try this

  1. open electron-mattermost
  2. switch into a chat and make sure the input box is focused (has the cursor)
  3. switch to another application
  4. switch back to electron-mattermost

then the focus is gone from the input box.
happens on Mac OS X and Windows.

[Cross Platform] [enhancement] Check if Matermost server is reachable

We currently play around with Mattermost to evaluate if it is suitable as internal chat system for our company. So we try a lot of clients and integration to make it as comfortable for our (sometimes not that "technically adept") co-workers.

In our test phase, we use electron-mattermost as Mac client, and often trash the MM server (try stable/dev versions, install SSL, using Docker/non-Docker) etc. so it happend that the URI switched from http://mattermost.intern.company.de:8065 to https://mattermost.intern.company.de (proper HTTPS port) but electron didn't notice that the server is not reachable anymore and just responded with a blank page.

People then needed manually to go into the Settings and replace the non-exisiting MM server with the replacement one.

I think, that if there is a not reachable server, electron-mattermost should simply redirect the user to the settings view and perhaps with a simple warning message to let the users know what happened.

What do you think?

Rename project

I have been considering to rename this project in future release. The candidate name is "ElectroMatter".

Points are following:

  • Shorter name.
  • As desktop app, I think unique name is better.
  • (electron-mattermost makes just a little trouble at TAB-completion on my development : P )

Notification Settings

It would be great to have an option to configure the small red circle icon, that appears in the system tray when someone posts into MatterMost.
It would be better if it could appear only if someone mentions you. Now it seems to appear every time there is an activity in any of your channels.
So you would see the channels with unread messages in bold just as now, but the red circle would only appear if someone mentions you.

Problem building windows binaries

Sorry for sounding noob..
I cannot seem to figure out how to build the binaries for windows. Here is the steps and log I get.

  1. clone git, goto dir
  2. npm install
  3. npm run package:windows

LOG:

> [email protected] package:windows /home/user/electron-mattermost
> gulp package:windows

[17:56:50] Using gulpfile ~/electron-mattermost/gulpfile.js
[17:56:50] Starting 'sync-meta'...
[17:56:50] Finished 'sync-meta' after 1.25 ms
[17:56:50] Starting 'webpack:main'...
[17:56:50] Starting 'webpack:browser'...
[17:56:50] Starting 'webpack:webview'...
[17:56:50] Starting 'copy:resources'...
[17:56:50] Starting 'copy:html/css'...
[17:56:50] Starting 'copy:modules'...
[17:56:50] Version: webpack 1.12.13
        Asset     Size  Chunks             Chunk Names
mattermost.js  6.93 kB       0  [emitted]  mattermost
[17:56:51] Finished 'copy:resources' after 1.21 s
[17:56:51] Finished 'webpack:webview' after 1.22 s
[17:56:51] Finished 'copy:html/css' after 1.32 s
[17:56:54] Version: webpack 1.12.13
  Asset    Size  Chunks             Chunk Names
main.js  757 kB       0  [emitted]  main

WARNING in ./src/main.js
Critical dependencies:
117:21-46 the request of a dependency is an expression
 @ ./src/main.js 117:21-46

WARNING in ./src ^\.\/.*$
Module not found: Error: a dependency to an entry point is not allowed
 @ ./src ^\.\/.*$

WARNING in ./src ^\.\/.*$
Module not found: Error: a dependency to an entry point is not allowed
 @ ./src ^\.\/.*$

WARNING in ./src/~/yargs/lib/parser.js
Critical dependencies:
359:21-48 the request of a dependency is an expression
 @ ./src/~/yargs/lib/parser.js 359:21-48

WARNING in ./src/browser/css/jp_fonts.css
Module parse failed: /home/edward/electron-mattermost/src/browser/css/jp_fonts.css Line 1: Unexpected token ILLEGAL
You may need an appropriate loader to handle this file type.
| @font-face {
|   font-family: sans-serif;
|   src: local('Meiryo UI');
 @ ./src ^\.\/.*$

WARNING in ./src/browser/index.html
Module parse failed: /home/edward/electron-mattermost/src/browser/index.html Line 1: Unexpected token <
You may need an appropriate loader to handle this file type.
| <!DOCTYPE html>
| <html>
| 
 @ ./src ^\.\/.*$

WARNING in ./src/browser/index.jsx
Module parse failed: /home/edward/electron-mattermost/src/browser/index.jsx Line 131: Unexpected token <
You may need an appropriate loader to handle this file type.
|     if (this.props.teams.length > 1) {
|       tabs_row = (
|         <Row>
|           <TabBar id="tabBar" teams={ this.props.teams } unreadCounts={ this.state.unreadCounts } mentionCounts={ this.state.mentionCounts } unreadAtActive={ this.state.unreadAtActive } mentionAtActiveCounts={ this.state.mentionAtActiveCounts }
|             activeKey={ this.state.key } onSelect={ this.handleSelect }></TabBar>
 @ ./src ^\.\/.*$

WARNING in ./src/browser/settings.html
Module parse failed: /home/edward/electron-mattermost/src/browser/settings.html Line 1: Unexpected token <
You may need an appropriate loader to handle this file type.
| <!DOCTYPE html>
| <html>
| 
 @ ./src ^\.\/.*$

WARNING in ./src/browser/settings.jsx
Module parse failed: /home/edward/electron-mattermost/src/browser/settings.jsx Line 65: Unexpected token <
You may need an appropriate loader to handle this file type.
|   render: function() {
|     var teams_row = (
|     <Row>
|       <Col md={ 12 }>
|       <h2>Teams</h2>
 @ ./src ^\.\/.*$

WARNING in ./src/resources/appicon.png
Module parse failed: /home/edward/electron-mattermost/src/resources/appicon.png Line 1: Unexpected token ILLEGAL
You may need an appropriate loader to handle this file type.
(Source code omitted for this binary file)
 @ ./src ^\.\/.*$

WARNING in ./src/resources/tray.png
Module parse failed: /home/edward/electron-mattermost/src/resources/tray.png Line 1: Unexpected token ILLEGAL
You may need an appropriate loader to handle this file type.
(Source code omitted for this binary file)
 @ ./src ^\.\/.*$

WARNING in ./src/~/ws/lib/BufferUtil.js
Module not found: Error: Cannot resolve module 'bufferutil' in /home/edward/electron-mattermost/src/node_modules/ws/lib
 @ ./src/~/ws/lib/BufferUtil.js 10:19-40

WARNING in ./src/~/ws/lib/Validation.js
Module not found: Error: Cannot resolve module 'utf-8-validate' in /home/edward/electron-mattermost/src/node_modules/ws/lib
 @ ./src/~/ws/lib/Validation.js 10:19-44

WARNING in ./src/~/spawn-sync/lib/spawn-sync.js
Module not found: Error: Cannot resolve module 'try-thread-sleep' in /home/edward/electron-mattermost/src/node_modules/spawn-sync/lib
 @ ./src/~/spawn-sync/lib/spawn-sync.js 10:10-37

[OS X] Unable to display main window once it's closed

Steps to reproduce:

  1. Open electron-mattermost on OS X
  2. Click on the red close button of said main window.
  3. Now the application is hidden but still running (Dock icon remains)

Would be nice if CMD + N would redraw the window on the screen :)

it looks like full node modules are bundled, rather than just the distribution files

Looking at the 43Mb Windows download, it appears that a full node_modules directory is zipped in, rather than just the files necessary for running the code. This makes the download much, much bigger than it needs to be. Especially if people already have Node installed on their machine, it feels like these dependencies could be left out and downloaded as needed, instead.

screenshot 117

Desktop notifications not working with Mattermost 2.0

I tried the prebuilt versions, both 32bit, 64bit on 4 machines and the desktop notifications does not work.

Did i miss some information? Do i need to setup anything for it to work?

Server is running v2.0 mattermost. Desktop notifications work for chrome browser.

Is there any info I can provide to help debug this?

how to set locale for the app

how to set locale/language other than english for the app?
Is it configurable somewhere in the app or some config file?

Windows spawn off-screen on Windows 8.1

  • Windows 8.1
  • 64 bit
  • electron-mattermost v 1.0.7

When program is started, windows spawn off-screen and are not movable/clickable. Off-screen position is assumed from animation when minimizing/restoring the window via the Windows taskbar.

ubuntu notification bar is not showing up

Hi I have a problem with chat notification bar at ubuntu,

thats how it looks when a notification arrives, notice the black bar which suppose to be the notifications
error

It would be nice if you could have look at this problem.
Best Regards,

self compiled version doesn´t start (win32/64)

Build (under Ubuntu/wine) seems okay:

> [email protected] package:windows /home/user/electron-mattermost
> gulp package:windows

[23:01:59] Using gulpfile ~/electron-mattermost/gulpfile.js
[23:01:59] Starting 'sync-meta'...
[23:01:59] Finished 'sync-meta' after 2.94 ms
[23:01:59] Starting 'build:jsx'...
[23:02:00] Finished 'build:jsx' after 1.7 s
[23:02:00] Starting 'build'...
[23:02:00] Finished 'build' after 14 μs
[23:02:00] Starting 'package:windows'...
Packaging app for platform win32 ia32 using electron v0.36.3
Packaging app for platform win32 x64 using electron v0.36.3
[23:02:24] Finished 'package:windows' after 24 s

Starting electron-mattermost.exe leads to
Uncaught exception, Cannot find module yargs
(see http://imgur.com/IFbIZaw)

Badges don't appear about active channel

Currently, electron-mattermost counts a number of .unread-title on sidebar. However, the active channel doesn't have .unread-title. So the app can't know whether there are new messages.

I have no effective solution now.

"Toggle Fullscreen" does not work (OS X)

Selecting View -> Toggle Fullscreen or pressing the key combo does nothing at all. It is not possible to make it a fullscreen space using Mission Command either, it simply launches a new desktop space with the window in it.

Using 1.0.6 on Yosemite 10.11.3

`npm test` often fails on OS X

Windows and Ubuntu(CircleCI) are OK. Console shows an error: RuntimeError: Couldn't connect to selenium server.
However, the test succeeds sometimes.

  electron-mattermost
    ✓ should show settings.html when there is no config file (1298ms)
    ✓ should show index.html when there is config file (965ms)
    ✓ should upgrade v0 config file (1004ms)
    index.html
      ✓ should set src of webview from config file (1260ms)
      ✓ should set name of tab from config file (1174ms)
RuntimeError: Couldn't connect to selenium server 
    at elementIdDisplayed("0.5625486401841044-2") - isVisible.js:56:5 
      1) should show only the selected team
    settings.html
      ✓ should show index.thml when Cancel button is clicked (2591ms)
      ✓ should show index.thml when Save button is clicked (2592ms)

  settings.js
    ✓ should upgrade v0 config file


  8 passing (22s)
  1 failing

  1) electron-mattermost index.html should show only the selected team:
     Error: timeout of 10000ms exceeded. Ensure the done() callback is being called in this test.

Feature request: Add functionality to grow/shrink font size

When running Mattermost in Safari, it's easy to change font size with Cmd+ and Cmd-, but when running it in Electron those shortcuts don't work. Seeing as Mattermost itself doesn't support setting font sizes, only font families, this would be a welcome addition.

Can't quit the application on Windows

Windows 7 pro 64 bits. electron-mattermost release 1.0.1 64 bits.

Clicking the close button minimizes the window. There's no quit button. Logging out in the app doesn't close the app. Multiple electron-mattermost.exe processes exist and all must be killed to quit.

Blank page if saved with no teams

First time I open the application it shows a form to add teams. I mistakedly clicked on save without adding any teams and it went blank. I have closed the application and opened it several times and it shows a blank page every time.

Horizontal Scrollbar

Currently using Mattermost 1.3, it is showing a horizontal scrollbar on the bottom which is unnecessary.
Tested with Windows and Mac OS X

[Cross Platform] [question] How to pass custom Chromium options?

I just setup SSL, and now any image embeds originated from direct urls which are using HTTP are blocked by Chromium:

index.js:350 [Technik] Mixed Content: 
The page at 'https://mattermost.intern.company.de/technik/channels/7zr8hxa1zbgo9ght7js5cdwwha__pfku14xknirumqoihqwfd7wsch' was loaded over HTTPS, 
but requested an insecure image 'http://i.imgur.com/sX4aEQl.gif'. This request has been blocked; the content must be served over HTTPS.

I did a quick Google search and found out that this is easily fixable by passing allow_running_insecure_content to the Chromium engine (via electron/electron#971 (comment)). However, I have no idea where I can find the the Chromium settings in specific.

Can you point me into the right direction?

Error Cannot read property 'nextSibling'

I see the following error in mattermosts log file since I started to use electron-mattermost (1.3)
[2016/02/14 10:04:41 CET] [EROR] /api/v1/admin/log_client:client code=500 rid=... uid=... ip=... msg: Uncaught TypeError: Cannot read property 'nextSibling' of undefined row: 53 col: 23 stack: TypeError: Cannot read property 'nextSibling' of undefined url: /Applications/electron-mattermost.app/Contents/Resources/app/browser/webview/mattermost.js [details: ]

Old messages stuck on "trying to send"

When attempting to leave a message while not connected to the network, those messages go into a permanent "sending" state without any way to remove them.

Illustration here: rending forever

That bottom message was sent while off the network (unknowingly by me at the time), but now I cannot get rid of it. Any new messages get sent immediately as expected.

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.