Coder Social home page Coder Social logo

getstation / desktop-app Goto Github PK

View Code? Open in Web Editor NEW
1.3K 32.0 201.0 19.47 MB

One app to rule them all!

Home Page: https://getstation.com/

License: Apache License 2.0

Shell 0.12% JavaScript 9.68% HTML 0.18% TypeScript 88.09% SCSS 1.78% Python 0.06% Mermaid 0.07% NSIS 0.01%
electron browser saas

desktop-app's Introduction

Station Desktop Application

Table of Contents

Installation

Requirements

  • node >= 18.x
  • yarn >= 1.19.x
$ git clone https://github.com/getstation/desktop-app.git
$ cd desktop-app
$ yarn

MacOS

No additional requirements.

Windows

Install node-gyp dependencies

$ npm --add-python-to-path install --global --production windows-build-tools

Ubuntu

$ sudo apt install graphicsmagick icnsutils libxtst-dev libx11-dev libxrender-dev libxkbfile-dev libgconf-2-4

CentOS or Amazon Linux 2

CentOS 9 is required.

$ sudo yum install clang dbus-devel gtk3-devel libnotify-devel xorg-x11-server-utils libcap-devel \
                   cups-devel libXtst-devel alsa-lib-devel libXrandr-devel nss-devel

See dotenv for further configuration.

Run

yarn run dev

Natives modules errors

If for any reason you have some error with binding module you could run npm run rebuild-all-native to check if you still have the problem

DevTools

Toggle Chrome DevTools

  • MacOS: Cmd Alt I or F12
  • Linux: Ctrl Shift I or F12
  • Windows: Ctrl Shift I or F12

See electron-debug for more information.

Library DevTools

Redux Devtools

In order to see redux transactions and state, install Redux DevTools (or the browser extension) and click on Open Remote DevTools. Make sure Use (custom) local server on localhost:8000 is activated in the settings.

Main proces debugging

To inspect the main process, connect Chrome by visiting chrome://inspect and selecting to inspect the launched Electron app.

Useful env variables for dev

  • STATION_NO_WEBVIEWS if exists, webviews are not loaded
  • STATION_REDUX_LOGGER if exists, will enable redux-logger in renderer
  • STATION_AUTOUPDATER_MOCK_SCENARIO set the scenario for the mock of AutoUpdater module:
    • available (default), mock an update is available and downloaded
    • not-available mock an update is not available
  • OVERRIDE_USER_DATA_PATH override userData path (example: OVERRIDE_USER_DATA_PATH="Station Canary" yarn run dev)
  • STATION_CHECK_INACTIVE_TAB_EVERY_MS override the interval period between each check for inactive tabs
  • STATION_WAIT_MS_BEFORE_KILL_TAB override the time to wait before considering a tab is inactive and killing it
  • STATION_QUICK_TRANSITIONS all transitions are quick (used to test changing colors)
  • STATION_REACT_PERF add the react-addons-perf for react perf debugging
  • STATION_NO_CHECK_FOR_UPDATE if exists, the app will not check for update
  • DEBUG=service:* Will print debug info of Service framework on all processes
  • STATION_SHOW_REQUIRE_TIME if exists, the app will display the execution time of requiring modules upon quit
    • Main: timers shown upon quit (disabled for now)
    • Renderer: to show timers, execute this in a console: require('@getstation/time-require').default() (disabled for now)
  • STATION_DISABLE_ECX if exists, electron-chrome-extension will not be loaded

Migrations

Databases migrations are using umzug and umzug-cli.

To test migrations manually:

// Apply migrations
$ yarn run database migrations up
// Revert last applied migration
$ yarn run database migrations down

Inspect DB

Install TablePlus and create a new SQLite connection with the database file located at ~/Library/Application\ Support/Station\ Dev/db/station.db

Manual Packaging

To package apps for the local platform:

$ yarn run build

Code signing

The application will be automatically signed by the CI on the release branch

Development tools

Here is a list of tools used during the development process. Consider adding the corresponding plugins to your IDE.

WebStorm and VSCode should be correctly configured by default.

Workspace management (TODO)

This repository should be used as a proper monorepo. Packages that should be impacted:

  • appstore (already in this repo but not handled by any monorepo tool yet)
  • @getstation/sdk
  • @getstation/theme

Releases

  1. Draft a new release tagged with the desired version
  2. Apply your changes on release branch
  3. On release branch, bump the version with yarn version to the corresponding version number
  4. Let the CI build artifacts for each platform
  5. Publish the draft

Note: you can remove artifacts and push changes over the same draft

Documentations

desktop-app's People

Contributors

3nids avatar alexstrat avatar brianlz avatar f4ke avatar guillaumearm avatar hugomano avatar lindsor avatar magne4000 avatar mathieudebit avatar raymond-adams avatar trickypr avatar viktor44 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

desktop-app's Issues

QR code for WhatsApp does not generate

I wanted to pair the Station with WhatsApp but I cannot get the QR code, there is this circle moving. I restarted the Station, reset the app (WhatsApp), reloaded, did not help
wa

I have macOS 11.5 (the latest public beta)

Google Sign-in to Apps - Browser or App may not be secure

I just downloaded the app today but unfortunately I've not been able to login to Slack or Trello using Google sign-in. An error is displayed saying

"
Couldn't sign you in
This browser or app may not be secure.
Try using a different browser. If you’re already using a supported browser, you can refresh your screen and try again to sign in.
"

Replication Steps

  1. Open Station
  2. Add in either Trello or Slack
  3. Select to login using Google sign in
  4. Enter your email address
    Actual - Error presented
    Expected - Able to enter password to sign in

It may be related to #2 but I think its sufficiently different to warrant a separate issue.

image

QR Code - not showing

Hello, on macbook pro M1, QRcodes for login in to whatsapp, telegram not showing and cannot connect. the QR is only with loading icon.
image
image

Unable to login to GMail

I am trying to login to my Google work account.
I get this OAuth error:

image

The authentication works fine on a regular browser.

Wishlist : category filter (or tab ?) in the sidebar and "portable like" version

I've had so many apps in the sidebar that I've wondered if one day we might get an option to have grouped apps,
either via tabs or just a text filter field.

About the "portable" setup I faked the two versions I'm currently using so that they behave as "portables".
With a startup script I re-create at each launch a junction folder into the Roaming Appdata folder (I'm under Win7) so that each Station version can start from my removable SSD drive on any PC.

To be able to use many Station instances at the same time (and solve the "grouped apps" need I mentioned before), I created two profiles (now three with version 2.0.9) with Next version and Canary version. That's not possible with a single version: each version has a different Roaming path so the three can be "portable" without any conflict.

I use Canary for social media, Next for file sharing and more personal apps (even if Next release is even older than Canary it works quite well) and now v2.0.9 for testing. This kind of setup would allow to switch among different versions easily provided that only one instance per Roaming folder is executed.

To be able to use newer versions in this way there should be the option to set the Roaming folder name in an ini file or something similar, so to allow the two instances to use two independent sets of data. An even greater option would be to be able to assign the "profile folder" like we do in Firefox, via command line parameters. It would be a dream to avoid using "tricks" like the ones I'm currently using...

Cheers,
V.

Non Yarn way to install this software

Is there a non-yarn way to install this software. I spent about 3 hours trying to get this installed because the app store doesn't work and the login goes to a bad url.

I have about had it with new frameworks people. Pick one and stay with it.

Request to postpone 30 august shutdown date

Hello everybody,
I remember having read, in the 13 july message, that the authentication services would stop at the end of this month.
https://medium.com/@julien_26779/handing-station-to-mankind-b1225e4e7413

I suppose that during summer it will be very unlikely to have newer releases available, to fix the current version issues about the newest electron framework. So in a couple of weeks we could have the unpleasant situation where the only working versions "Canary" and "Next" would stop allowing users to authenticate.

I would warmly beg Station's developers and managers to post-pone this date to a moment when a "no-auth" Station Desktop version will be fully working and usable.

Thank you for this really unique tool !

Facebook keeps downloading everytime station starts

HI,
I have an issue with Facebook messenger that keeps downloading everytime station starts. It cannot update however, it just installs messenger standalone.
What can I do with it to stop downloading it ?
Thanx
Maros

I can't see the slack icon on the Mac version.

Hello.

I'm using the latest version (2.0.9) for Mac, and I've activated "DOCK ICON" in the slack app settings, but the slack team logo is not showing up.

I've joined 10 of these teams and the logo is not showing for all of them.

I've tried rebooting but no luck. Is there any solution?

Also, as others have said, when I try to log into the Google app, I get an authentication error.

Telegram endless loop

In the latest v2.0.9 Telegram app cannot connect and show the initial QR code.
Hope somebody has a tip/hint on how to avoid this endless loop while waiting for a code fix...

Cheers,
V.

Airmore custom App disconnects

Hello I often use Airmore to access my androids smartphones content.

I've been using so far Station Canary version 0.19.131 (https://github.com/getstation/station-canary/releases/tag/0.19.131)
Now with the latest "Community" v2.0.9 I can connect but then the connection drops suddenly after connection.

Airmore uses the IP given by the smartphone so I'm using a trick to avoid having to configure a custom app for every single smartphone: I assign the custom app's url to whatever fake address, provided it is on port 2333 (e.g. airmore.fritz.box:2333). To connect to each smartphone I set (I'm using Win7) the HOST file content with:
192.168.178.XXX airmore.fritz.box

When I need to change the smartphone I change the IP in the hosts file and I've had no problems so far.
Any idea on how to solve this issue ?

By the way, I was able to add an ico file to each custom app in the Canary version, but in this version it's not possible any more. It would be great to merge the part of the code that allows this.

Cheers,
V.

Facebook Messenger "No Internet Warning" - Unable to Search and Find Users - Chat doesn't work.

Facebook messenger app seems very faulty. It constantly shows "No Internet" then "Connecting to Internet" in red lettering at the top of the chat window.

I was also unable to search for a chat with a friend. The friend showed up upon searching their name, but after clicking on their name, the chat didn't show up. I just see an empty pane with a blank "Facebook User" at the top.

App not secure

Hi,
This is my first using station when I try to sign in to Gmail, google chat or drive I get an error that says: This browser or app may not be secure. or Error 400: invalid_request.
Screenshot 2021-07-19 150851
Screenshot 2021-07-19 150909

Moo.do is rebranding to Legend

Hi, developer of Moo.do here. We are rebranding as Legend, so we have a new name, new urls, and new icon. I looked around to see if I could make the change myself and found https://github.com/getstation/desktop-app/blob/9ed5d928aaed8e17153315273e9249f83e4a1c17/manifests/definitions/358.json but I'm not sure if that's the definitive place to change it, and I don't know how to update the icon. So if one of you fine maintainers could make the change we would very much appreciate it. Or if you could tell me how to update the icon, I would be happy to submit a PR with the manifest definition changed.

We will keep updating Moo.do in parity with Legend for a while so Station will continue to work, but it would be great if you could get the change into an update soon. Thanks!

New details:
"name": "Legend"
"start_url": "https://app.legendapp.com"
"scope": "https://www.legendapp.com",

icon: https://legendapp.com/img/icon.png

Error for Arch Linux

The package while installing shows missing metadata and corrupted package error.

Upgrade Electron to latest version

Many bugs that are occurring are due to the outdated Electron version used.
Unfortunately upgrading Electron as always be a major difficulty on this project, and this time its still no luck as much work needs to be done to be able to upgrade to the latest version (or even just from v7 to v9).

Persistence layer

Context: What we learned from data persistence in our growing Electron app

sqlite3 package will not be able to be loaded inside Electron renderer process. All core logic is currently handled in a "worker" process, which is just a frameless renderer process. Persistence is a part of this.

We cannot easily replace the package with better-sqlite3 as its not compatible with sequelize. And we are not sure if it would completely work.

Best bet would be to get rid of sqlite and sequelize and use IndexedDb, as we are in a renderer process (at the time we wrote the article, the persistence was done in the main process).

BrowserWindow extension APIs

See https://www.electronjs.org/docs/breaking-changes#deprecated-browserwindow-extension-apis
Not sure if this will be a no brainer, but my guess is that it will probably not be as simple as the documentation suggests.

Deprecation of worldSafeExecuteJavaScript

See https://www.electronjs.org/docs/breaking-changes#default-changed-worldsafeexecutejavascript-defaults-to-true
It will probably have an impact, but its unknown yet.

Other minor changes

All (most?) of breaking changes are listed here https://www.electronjs.org/docs/breaking-changes. Things like changes in API names shouldn't be too difficult to migrate.

Of course, any other/better idea is welcome on the subject!

Window buttons in "About Station" are almost hidden

I clicked on "About Station" to check if I'm using the correct version. After that, I wanted to close this window but got confused because they have the same color as the background which makes them almost impossible to see.

Bildschirmfoto 2021-07-14 um 16 11 57

Bildschirmfoto 2021-07-14 um 16 14 33

I'm on macOS Big Sur 11.4

Can't log into Slack, redirect loop

I just set up a new install of the latest release v2.0.9, on macOS 10.15.7. I can't log into any Slack workspaces either using email/password or Google authentication. Authentication appears to succeed, and then Slack loads a page with this message "To use Slack, you'll need to update your browser or download the app" and saying it's opening the workspace in the Slack app.

If the Slack app is installed, then it's launched/activated with the workspace logged in there instead of in Station. If I move Slack.app to the trash, then the newly logged in workspace shows the same page and continually redirects back to the page over and over again. Clicking on the link to open the workspace in the browser just reloads the same page again.

Some workspaces seem to work some of the time, which may mean that Slack is gradually rolling a change out on their servers to enforce old browser version deprecation. I assume this is related to Station being on an older version of Electron, and am aware that moving to the latest Electron is likely to be significant work.

Is there a workaround available where the user-agent could be spoofed so that Slack's servers think I'm running a more recent browser version? Slack's system requirements page indicates at least Chrome v83, Firefox v78, Safari v14, or Edge v84 is required.

Gmail (and other Google Auth apps) authorization error

I heard the news and replaced my old station client with the new open-source version.

Now I'm trying to get setup again and connecting my Gmail account but I can't make it work. No matter how often I try, I always get the same error message:

Bildschirmfoto 2021-07-14 um 15 48 13

Does anyone have the same issue or knows how to fix that? Thanks in advance.

Can't add Google accounts in Mac

Tried adding my Gmail/Drive/Calendar to Station. When I go to login to those accounts, it says "Error 400: invalid_request
Missing required parameter: client_id"

Cannot use with multiple google accounts

Like others have mentioned, this has been my main app to handle multiple google accounts in mail, calendar and contacts. However, trying the workaround offered in this issue #2 with a customized app, I can only login to one google account at a time unlike the soon-to-be deprecated version.

Is there any update on whether the google authentication issues are prioritized or not?! I would hate to give up on an otherwise amazing tool!

Links open File Explorer instead of browser

This has been a long standing issue that hopefully can be resolved now that Station is open source. Often when clicking links, they open the File Explorer instead of opening in the default browser. I've never had a single link I want to open File Explorer, so hopefully that behavior can be changed.

Slack doesn't update until I manually refresh

Been using the former version of Station for some time on macOS. I'm a big fan. All good (save for memory usage!).

Following the recent announcement about that version being retired, I downloaded the newest version on GitHub.

I've tried to re-add my accounts with very limited success:

  1. Slack doesn't appear to update with new messages received -- I have to manually refresh (Cmd+R on macOS) to see any new messages.

  2. WhatsApp, Telegram & Discord do not display the QR code for me to scan with my phone to reconnect (I gather others have reported this bug separately)

Please fix, I'm lost without this app.

In the meantime, does anyone know what version I can downgrade to to get it all working again quickly?

Grammarly does not load

Grammarly app does not load on the open-source version, works fine on the closed source one.
This is the error I get:

TestId: ofr8u8foy5p5823
Summary: failed
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) Station/2.0.9 Chrome/78.0.3904.130 Safari/537.36
Browser: Supported
Login: [email protected] (654 ms)
Subscription: Success (829 ms)
WebSockets (test): Failed - socket Error
WebSockets (open): Failed - socket Error
WebSockets (send): Failed - socket Error
WebSockets (receive): Failed - socket Error

Discord stuck on loading screen

New to Github, apologies.

I downloaded the Station version linked in the email, and I'm running macOS Big Sur 11.5.

Tried deleting the Discord instance and starting over, but when I re-add a Discord instance back into Station, it's still frozen on the same loading screen (spinning controller logo with 'did you know' banners beneath - and not spinning, or cycling through banners).

Hope this is of some use to someone!

AppImage can't create Telegram QR Code

The AppImage version

  • Stationversion 2.0.9
  • Electron7.3.3
  • Chrome78.0.3904.130
  • Node12.8.1
  • v87.8.279.23-electron.0
    The Telegram in QR Code look like this:
    圖片

It can't generate a QR Code.

Slack not loading new messages automatically

Just downloaded the Station open source project.

Loaded my work slack account, that I used in the older version of Station. Never had a problem before today.

Slack app does not retrieve my new messages for me automatically. It continues to show a bubble with the message, "Last updated X minute(s) ago... Load new messages"

I continue to get notifications on my phone that I received a new message and then I have to manually "Load new messages" by clicking the link in the bubble. I've waited as long as 3 days to see if the messages would load on their own. I've checked my app settings, Slack notification settings, as well as removed the service and re-added. It's giving me the same behavior.

Cannot click "connect" button on Brave Browser

Hello, few days ago Station prompted me to login again, but now the "connect" button doesn't do anything. It reacts when I click but no prompt opens.
I'm using Brave Version 1.28.106 Chromium: 92.0.4515.159 (Build officiel) (64 bits)

Any news about WhatsApp and Telegram ???

Hello guys ...
Please, any news about bugs on Telegram, WhatsApp (and GMail ... I still use the workaround with the url to the gmail page)?

But my problem is with Telegram and WhatsApp ... I can not use them at all ... QR-Code is NEVER shown and I can not enter them.

Many thanks.
Pietro

Icon Images not loading on MacOS

Hi, See the image below. Ive tried reinstalling, cleaning out the folder as per the FAQ, and with/without VPN/custom DNS.

Any advice? Everything works, its just visually painful

Screen Shot 2021-09-06 at 02 42 48

Discord Stuck on Loading Screen

I have been using an older version for a while. I made the mistake to update and now discord would not let me log in. Just the icon looping endlessly. Is there an easy fix?

Microsoft Teams doesn't stay logged in and can't log back in.

Microsoft Teams works for a time, but then shows a message from Teams.
"We're sorry -- We've run into an issue.
Try Again
If that doesn't work, try signing out and back in."

Clicking Try Again doesn't appear to do anything and doesn't work.
Clicking the sign out link opens a browser window in which I'm not signed in and can't sign out.

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.