Giter Site home page Giter Site logo

google-chat-linux's Introduction

Tray has changed ... again electron/electron#36472 electron/electron#36333 electron/electron#36602

broken again on electron 22+

See below Changelog 5.24.19-1

google-chat-linux-git

An electron-base client for Google Hangouts Chat, since Google didn't see fit to provide one.

upstream project : https://github.com/robyf/google-chat-linux clever other for : https://github.com/ankurk91/google-chat-electron

See Systray support notes.

Windows support

Electron is cross platform. I added the minimum required tweaks to have a decently working app on Windows. You can install the Setup.exe from releases.

There will be "SmartScreen" warning about how unsafe this .exe is, Windows pretending it has detected something nasty and is protecting you. I Don't Care and won't buy a certificate.

If you're not happy with this, build from sources with npm install && npm run dist or get a proper OS with a proper distribution system.

Linux dependencies

Starting with 5.14.x, xdg-desktop-portal must be installed. It's probably already the case on most distributions. see here

Dependency is taken care of in AUR Arch package and Debian package.

Custom CSS

To inject custom CSS, create a file called custom.css in ~/.config/google-chat-linux for Linux or %APPDATA%\google-chat-linux\ for Windows.

To find out how Google Chat makes their themes, go to Developer Tools (Ctrl + Shift + I) > Sources > gtn-roster-iframe-id (world) > (no domain) > the large purple CSS file (begins with /_/scs/mss-static/_/ss/k=boq-dynamite.DynamiteWebUi...). The file is pretty scattered, but searching for terms such as

  • color-scheme: light;
  • :root {
  • [data-theme=dark] {

can prove to be helpful.

Open Google Chat URLs from web browser in the app

You can configure your web browser to detect Google Chat URLs and open them in the Google Chat Alt application:

Step 0: Install Google Chat Alt.

Step 1: Install a user script manager. See Step 1 on Greasy Fork for various options.

Note: the script manager must be able to cope with content security policy (CSP) headers. Tampermonkey on Firefox is known to work.

Step 2: Install the user script Google Chat Alt landing page by clicking the green install button on the user script's page, and your user script manager will ask you to confirm the install.

Step 3: Try it out by navigating e.g. to https://mail.google.com/chat/ in your web browser. If the user script is working correctly instead of Google Chat web UI your browser should ask you:

Allow this site to open the gchat link with Google Chat Alt?

You can check the checkmark:

Always allow [...] to open gchat links

Once you press the button Open Link, Google Chat Alt will be either started or (if you have it already running) restore its window. You can then close the tab in your browser.

Note: If navigating to Google Chat opens Google Chat web UI the user script manager might not be compatible with the user script, Google might have changed something on the web site or you might have failed to install the script properly.

Note: If navigating to Google Chat opens landing page that says "Launching Google Chat Alt" but web browser doesn't ask to open the link in the application, verify if you have installed Google Chat Alt. Running gio mime x-scheme-handler/gchat should display google-chat-linux.desktop as a default application.

On technical level this functionality works in following way: Google Chat Alt uses XDG Desktop file to claim to support URI scheme gchat://. No browser is able to handle this (made up) URI scheme but we use this to pass URI to the app. App looks for URI with this scheme and if found, it replaces gchat:// with https:// and navigates to that address. This should work for channel and direct message links out of box.

Wayland support

TL/DR;

Improved with electron 29 : declare environment variable export ELECTRON_OZONE_PLATFORM_HINT=auto (values can be auto, x11, wayland), for instance in .zshenv, no need to use --ozone-platform flag, so no need to use custom .desktop file !

Improved with electron 27 : WaylandWindowDecorations is now enabled by default.

Run with --ozone-platform=wayland.

Detailed story

Electron 20 introduced a command line to mimic chromium way to switch to Wayland if available. Simply run electron ap with --ozone-platform-hint=auto to make it use Wayland if available, Xorg else. The default value is default and does not try Wayland at all.

This has side effects on window decoration (absent on Gnome for instance, fixed with electron 27).

Another side effect is the lack of notification in systray. (Which only works already with a workaround on Gnome, see further).

So you have to enable yet another feature flag (see electron/electron#29618) --enable-features=WaylandWindowDecorations

So, feel free to enable both options if you want, it will work with this lmitation.

I first enforced the ozone flag in the .desktop shortcut, bad idea sorry about that ;-), forget the 5.21-18-2 version.

I didn't find a way to make this a runtime option, this setting must be taken into account very early in electron startup I'm not even sure it's possible to do that.

So, to use electron's Wayland rendering edit /usr/share/applciations/google-chat-linux.desktop and add --enable-features=WaylandWindowDecorations --ozone-platform-hint=auto.

CHANGELOG and news

See full CHANGELOG.

5.29.23-1

bump electron to 29 with better wayland support. Define ELECTRON_OZONE_PLATFORM_HINT=auto to take advantage of it. Values can be auto, wayland, x11, with auto being a reasonable default.

Set it in .zshenv for instance, and logout / login again. Must be in a placed sourced when .desktop applications launchers are used, will certainly be DE dependant.

5.27.23-6 5.27.23-5 5.27.23-4 and 5.27.23-3

empty release - AUR only pkg release version

5.27.23-2

Add a menu in 'View' to change tray icon theme.

5.27.23-1

Add support for several iconThemes, to match some 'monochrome' desktop themes. 3 values are supported :

  • default : the good old green ones
  • colored : the new colored google ones
  • mono : an attempt at monochrome icon theme

Edit ~/.config/google-hangouts-chat-linux.json and set "iconTheme":"colored" for instance, then restart.

No GUI setting for now.

5.27.22-4

Fix systray notification (favicon name changed on google side) see #87

5.27.22-3

Add a nice pseudo-protocol support : open gchat:// urls in client instead of browser. See "Open Google Chat URLs from web browser in the app" above. Thanks again https://github.com/pbabinca !

5.27.22-2

  • Desktop shortcut name changed to Google Chat Alt
  • rpm build available
  • build using containers available

And thank you https://github.com/pbabinca for all this !

5.27.22-1

Update electron to 27.0.3 with Wayland improvements.

5.24.22-1

Fix #62 : thank you https://github.com/ThatOneCalculator !

Minor electron update (24.8.5)

5.24.21-1

Fix #69 : download of attachments. (was broken by a side effect of #67 )

5.24.20-2

repackage, fix vulnerabilities

5.24.20-1

Prevent several instances of google chat linux to be launched. (#67)

5.24.19-4

Clean MORE links (#66)

5.24.19-3

Clean links from google decoration before opening them (#66)

5.24.19-2

Fix open links in external browser (#65)

5.24.19-1

Update to electron 24.

Why ?

Some functionalities are blocked for older browsers, for instance "quoted-reply", which has finally arrived in google chat. (2023, hello guys, wake up)

Bad news

electron sucks with Tray ... again

gnome users will want to try https://extensions.gnome.org//extension/615/appindicator-support/

instead of Ubuntu Appindicators (if in use on the distro)

Note that ... looks like it's a crappy situation (again)

  • Ubuntu Appindicator required for electron -> 21, wont work for 22+
  • Appindicator and KStatusNotifierItem required for electron 22+

AND THEN AGAIN ! Double click must be used instead of single click,

and that shit is on Gnome only, and of course poor to no wayland support

Tray F***ng Icons still failing in 2023, not like it's been around since 28 years.

Weird news though : notification on application shortcut seems to work on Gnome ... only when app is launched from sources ! (./google-chat-linux.sh)

I'm probably definitively done with this electron nightmare.

Best solution is probably hte ArchLinux packagine approach : without electron embedded/packaged. go wonder.

I've added google-chat-linux-nvm-launcher.sh that uses nvm, uses nvm use --lts, then starts ./google-chat-linux/google-chat-linux.sh, it can be referenced in a local .desktop file, and it will work. That's hjow I personally launch it.

5.21.19-1

  • #51 : manually set NO_REDIRECT_URL to solve login with custom OAuth SSO providers issues. Comma separated list of urls is accepted ! (see issue in github for more details)

versioning scheme

Starting with 5.11.9-1 :

  • first number is internal architecture, won't change anytime soon
  • second is the electron version.
  • third is a 'feature' level
  • dash-number is a packaging number : same features, only minor bugfix and packaging changes : no news, only better things

support native filechooser

  • make sure you install xdg-desktop-portal or xdg-desktop-portal or xdg-desktop-portal-kde or xdg-desktop-portal-wlr ... depending on your DE and distrib.
  • logout / login and open google-chat-linux, whenever needing to use the filechooser it should use your DE default one.

Troubleshooting

  • in case nothing happens when needing to upload / download a file

    • launch from console, and check for Can't open portal file chooser: GDBus.Error. If it is displayed, then your xdg-desktop-portal is not installed.
  • if the wrong filechooser is displayed (gtk on kde), make sure GTK_USE_PORTAL=1 is set. It should be set by the app itself, you may want to set it yourself and check if it works better. export GTK_USE_PORTAL=1; /opt/google-chat-linux/google-chat-linux for instance

    • if necessary set GTK_USE_PORTAL=1 in your login script (/etc/profile.d/custom.sh, or $HOME/.bashrc, whatever).

configure spellcheck language

After first run, quit, then edit $HOME/.config/google-hangouts-chat-linux.json, add "languages": ["fr","en-US"] in the json to override default OS locale.

auth with third party provider

If your login redirects to some OAuth provider (other than Google), login may fail.

In Menu (Alt, or systray right click), choose use third party auth mode. Login should work but you loose some features (systray related). Use the same menu after login to restore normal mode. Repeat anytime login is required.

NEW Since 5.21.19-1 you can also set NO_REDIRECT_URL environment variable to the url (or a comma separated list of urls) of the OAuth provider.

Freeze ?

If sometimes the app looks like beeing frozen, and comes back to life after a few seconds, you may want to try --disable-gpu flag when starting the app from a terminal. It is a known issue with electron, especially with intel video drivers (you may want to try modesetting driver instead by the way).

You may want to /usr/share/applciations/google-chat-linux.desktop and add the flag on the Exec line. (do it at each new version or copy the .desktop file to $HOME/.local/share/applications/)

build and run

npm install
./google-chat-linux.sh

make it work manually

npm install electron
export PATH=$HOME/node_modules/.bin:$PATH

fix the rights on sandbox executable as the error message will suggest:

sudo chown root:root $HOME/node_modules/electron/dist/chrome-sandbox && sudo chown 4755 $HOME/node_modules/electron/dist/chrome-sandbox
electron .

OR if you're in a hurry :

export ELECTRON_DISABLE_SANDBOX=true; export NODE_OPTIONS="--no-force-async-hooks-checks"; electron .

Linux packages

Arch (Manjaro, Anarchy)

a package 'google-chat-linux-bin' is availabe on AUR for Arch Linux and derivatives.

Debian based (Ubuntu, Mint ...)

Have a look in tags section, download the relevant .deb file and install with sudo dpkg -i <package-name.db> command. (Thank you CYOSP ;-) )

Tested on Ubuntu 18.04, 20.04, 21.04, Mint 20.1

Note some environment variables are set in index.js : GTK_USE_PORTAL, ELECTRON_DISABLE_SANDBOX and NODE_OPTIONS="--no-force-async-hooks-checks". This should work. Else, set them manually.

rpm based (Fedora)

Have a look in tags section, download the relevant .rpm file and install with sudo dnf install <package-name.rpm> command.

manually build a deb package

You have two options - either install all build dependencies and then run :

npm run dist

Or install docker (or podman) container engine and then create a local container with all build dependencies :

npm run container:setup

and then create the package by running:

npm run container:build:deb

In the end you'll end up with .deb file in dist/. Run for instance sudo dkpg -i dist/google-chat-linux*.deb.

Installation of the .deb file is tested under Ubuntu, and works fine. Under Mint it installs well but react with emotes crashes the app. Go wonder.

NOTE : to run from a terminal you'll have to :

  • either sudo chown root:root /opt/google-chat-linux/chrome-sandbox && sudo chown 4755 /opt/google-chat-linux/chrome-sandbox after the .deb is inYYstalled
  • or run export ELECTRON_DISABLE_SANDBOX=true; export NODE_OPTIONS="--no-force-async-hooks-checks" before the launch of /opt/google-chat-linux/google-chat-linux

The provided .desktop file takes care of it, so running from your desktop launcher will work.

Windows package

A package is available in releases. Or else build it yourself :

npm run dist

A Setup.exe will be built under \dist\ directory.

rpm based distributions (Fedora)

Install podman (or docker) container engine and then create a local container with all build dependencies :

npm run container:setup

and then create the package by running:

npm run container:build:rpm

In the end you'll end up with .rpm file in dist/. Run for instance sudo dnf install dist/google-chat-linux*.rpm.

Systray Support

Note : from 0.5 on, electron 9 bring back Tray integration BUT "click" events are ignored.

Workaround for the tray 'click' event

sudo touch /opt/google-chat-linux/libappindicator3.so
sudo touch /opt/google-chat-linux/libappindicator3.so.1

this way : left click raises the window again !

These files are added in distributed packages... in hope there are no side effects.

electron/electron#14941

More precisely:

  • On Linux the app indicator will be used if it is supported, otherwise GtkStatusIcon will be used instead.
  • When app indicator is used on Linux, the click event is ignored.
  • https://www.electronjs.org/docs/api/tray
  • There is sadly nothing I can do about it. (except cry a bit as such nonsenses and wonder how other apps (slack, telegram) deal with all this)

google-chat-linux's People

Contributors

cyosp avatar dependabot[bot] avatar pbabinca avatar sippiecup avatar squalou avatar thatonecalculator avatar vwbusguy avatar

Stargazers

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

Watchers

 avatar  avatar  avatar

google-chat-linux's Issues

Download of attached files does not work

Files attached in messages cannot be downloaded : nothing happens when clicking on download button.

Quick analysis shows it comes from fix of #67 and probably from the cleanse of hyperlinks before opening them.

[KDE] Tray icon shows up as a question mark when started with autostart

I have the app installed through the AUR (google-chat-linux-bin version 5.20.18-1). On Plasma 5.25.5, I have the app configured to autostart through the system settings UI. Up until recently it has been starting fine but now it starts with this question mark icon in the system tray (3rd from the left):

image

The question mark does not change even if I get a message. When I quit the app and start it manually the icon is back to normal and updates when I get a message.

Empty screen on OAuth w/ Atlassian Crowd

After providing the e-mail address in Google's login frame I usually become redirect to my companies Atlassian Crowd authentication page (OAuth).

In the title bar the correct text "Atlassian Crowd - Login" appears but the window screen stays completely blank so that a further use is not possible. Even restarts lead to the same reproducible result.

Maybe a cookie/safety problem?

I've installed the provided Debian package v0.5.6-1 under Ubuntu 20.10 aka Groovy.

Thanks so far.

Binary Versioning convention has changed

The Versioning of the debian packages has change, i think this is wring

google-chat-linux_0.5.6-3_amd64.deb
google-chat-linux_0.5.7-3_amd64.deb
google-chat-linux_0.5.7-5_amd64.deb
google-chat-linux_5.11.9-1_amd64.deb <----- should 0.5.11-9

after a few hours a popup "new version of google chat" comes up

After a few hours running this client, there is a black popup in the left bottom corner with message

  • A new verion of Goolge Chat is available [REFRESH]

clicking on refresh leads to google, clicking in the othere text let is disappear for a while. This broadcast is a bit annoying.

Middle-clicking a link causes window to go blank

It also opens an empty browser window.

I'd expect that it behaves the same as middle clicking a link in a browser, opening the link in a new tab. Incidentally, that is actually the same as just left-clicking the link as it would open in an external browser anyway

Unable to login on SAML account

This is and edge case and I would understand completely if you don't want to tackle it.

In the company that I work for there is a centralized authentication service for Google Suite, every time that you login into the google account, you

rpm build failed

Hi @pbabinca I 've just tried a tag to trigger the action. It failed, I don't know if you can see the logs in this repo so, here they are

 [email protected] dist:rpm
> electron-builder --linux=rpm

  • electron-builder  version=24.4.0 os=10.0.20348
  • artifacts will be published  reason=tag is defined tag=5.27.22-2
  • loaded configuration  file=package.json ("build" field)
  • executing @electron/rebuild  arch=x64 version=27.0.3 appDir=D:\a\google-chat-linux\google-chat-linux
  • packaging       platform=linux arch=x64 electron=27.0.3 appOutDir=dist\linux-unpacked
  • downloading     url=https://github.com/electron/electron/releases/download/v27.0.3/electron-v27.0.3-linux-x64.zip size=100 MB parts=8
  • downloaded      url=https://github.com/electron/electron/releases/download/v27.0.3/electron-v27.0.3-linux-x64.zip duration=1.279s
  • building        target=rpm arch=x64 file=dist\google-chat-linux-5.27.22-2.x86_64.rpm
  ⨯ cannot execute  cause=exec: "fpm": executable file not found in %PATH%
                    command=fpm -s dir --force -t rpm -d gtk3 -d libnotify -d nss -d libXScrnSaver -d libXtst -d xdg-utils -d at-spi2-core -d libuuid --rpm-os linux --rpm-compression xzmt --architecture amd64 --after-install 'C:\Users\RUNNER~1\AppData\Local\Temp\t-Oba7yb\0-after-install' --after-remove 'C:\Users\RUNNER~1\AppData\Local\Temp\t-Oba7yb\1-after-remove' --description 'Unofficial alternative Google Chat desktop app' --version 5.27.22-2 --package 'D:\a\google-chat-linux\google-chat-linux\dist\google-chat-linux-5.27.22-2.x86_64.rpm' --name google-chat-linux --maintainer 'Roberto Fasciolo <[email protected]>' --url https://github.com/squalou/google-chat-linux --vendor 'Roberto Fasciolo <[email protected]>' --license WTFPL '--rpm-rpmbuild-define=_build_id_links none' 'D:\a\google-chat-linux\google-chat-linux\dist\linux-unpacked/=/opt/google-chat-linux' 'D:\a\google-chat-linux\google-chat-linux\build\icons\48.png=/usr/share/icons/hicolor/48x48/apps/google-chat-linux.png' 'D:\a\google-chat-linux\google-chat-linux\build\icons\64.png=/usr/share/icons/hicolor/64x64/apps/google-chat-linux.png' 'D:\a\google-chat-linux\google-chat-linux\build\icons\256.png=/usr/share/icons/hicolor/256x256/apps/google-chat-linux.png' 'C:\Users\RUNNER~1\AppData\Local\Temp\t-Oba7yb\2-google-chat-linux.desktop=/usr/share/applications/google-chat-linux.desktop'
                    workingDir=
Error: Process completed with exit code 1.

Autostart

Hi,
first of all: compliments for the great work!!
I just updated from AUR and saw that now it is possible to open the browser on a meet by double clicking the meet on the chat (before it wasn't possible); great!!
Is there a roadmap for the Autostart feature in the settings (now I copy manually the script for autostart) ?
Thank you very much!!!!!
Vincenzo

Unable to login on ADFS account

(Sorry for the last issue, I pushed enter before finishing)

This is and edge case and I would understand completely if you don't want to tackle it.

In the company that I work for there is a centralized authentication service for Google Suite, every time that you login into the google account, you get redirected to the ADFS and the once you validated, you get redirected to Google, which logs you in.

In this electron app, when you make the first post into the ADFS page, it gets opened in an actual browser tab in a separate application, making authentication impossible, is there any way to fix this? Maybe it's enforced on the ADFS side, I don't know...

I attach a couple screenshots to give context:
Screenshot from 2020-11-24 20-18-12
Type you email and click next, you get redirected to the ADFS site inside the electron app.
Screenshot from 2020-11-24 20-18-33
Put your username and password here and click "Sign in", adn then a new tab opens in an actual web browser, which makes it impossible for the authentication to get back to the electron app

Alt+left/right key blocked

When app is opened alt+left/right key are blocked, meaning back/forward navigation on any other app is not possible.

Tested with:

  • package from aur
  • version with electron7
  • manually build package
  • on plasma, budgie and deepin

Best regards

No Window Decoration on Gnome 43

With the most recent release (5.21.18-2), when I now launch it, I no longer have the normal window decorations, meaning that the GUI stuff like title bar, minimize, and being able to move it around without holding down the Super key are now gone. These had previously worked in earlier versions.

This appears to be related from journald:

Dec 20 11:27:18 samus systemd[3466]: Started app-gnome-alacarte\x2dmade-337128.scope - Application launched by gnome-shell.
Dec 20 11:27:18 samus alacarte-made.desktop[337139]: Google Chat Linux - v5.21.18-2
Dec 20 11:27:18 samus alacarte-made.desktop[337139]: Node.js runtime version: v16.16.0
Dec 20 11:27:18 samus alacarte-made.desktop[337139]: runtime platform :  linux
Dec 20 11:27:18 samus alacarte-made.desktop[337139]: {
Dec 20 11:27:18 samus alacarte-made.desktop[337139]:   bounds: { x: 2845, y: 430, width: 1105, height: 757 },
Dec 20 11:27:18 samus alacarte-made.desktop[337139]:   wasMaximized: false,
Dec 20 11:27:18 samus alacarte-made.desktop[337139]:   isThemed: false,
Dec 20 11:27:18 samus alacarte-made.desktop[337139]:   keepMinimized: true,
Dec 20 11:27:18 samus alacarte-made.desktop[337139]:   startHidden: false,
Dec 20 11:27:18 samus alacarte-made.desktop[337139]:   enableKeyboardShortcuts: false,
Dec 20 11:27:18 samus alacarte-made.desktop[337139]:   enableNodeIntegration: true,
Dec 20 11:27:18 samus alacarte-made.desktop[337139]:   openUrlInside: false,
Dec 20 11:27:18 samus alacarte-made.desktop[337139]:   thirdPartyAuthLoginMode: false,
Dec 20 11:27:18 samus alacarte-made.desktop[337139]:   useXdgOpen: false,
Dec 20 11:27:18 samus alacarte-made.desktop[337139]:   useOldUrl: false,
Dec 20 11:27:18 samus alacarte-made.desktop[337139]:   languages: undefined
Dec 20 11:27:18 samus alacarte-made.desktop[337139]: }
Dec 20 11:27:18 samus alacarte-made.desktop[337139]: ?disable-gpu:false
Dec 20 11:27:18 samus alacarte-made.desktop[337177]: [337177:1220/112718.471498:ERROR:gpu_init.cc(521)] Passthrough is not supported, GL is egl, ANGLE is
Dec 20 11:27:20 samus alacarte-made.desktop[337139]: Failed to update window icon :-(
Dec 20 11:27:20 samus alacarte-made.desktop[337139]: TypeError: Cannot read properties of undefined (reading 'setImage')
Dec 20 11:27:20 samus alacarte-made.desktop[337139]:     at setIcon (/home/scott/Projects/google-chat-linux/src/tray.js:93:18)
Dec 20 11:27:20 samus alacarte-made.desktop[337139]:     at IpcMainImpl.<anonymous> (/home/scott/Projects/google-chat-linux/src/tray.js:77:2)
Dec 20 11:27:20 samus alacarte-made.desktop[337139]:     at IpcMainImpl.emit (node:events:527:28)
Dec 20 11:27:20 samus alacarte-made.desktop[337139]:     at EventEmitter.<anonymous> (node:electron/js2c/browser_init:165:11237)
Dec 20 11:27:20 samus alacarte-made.desktop[337139]:     at EventEmitter.emit (node:events:527:28)
Dec 20 11:27:20 samus alacarte-made.desktop[337139]: Failed to update window icon :-(
Dec 20 11:27:20 samus alacarte-made.desktop[337139]: Error: Failed to load image from path '/home/scott/Projects/google-chat-linux/node_modules/electron/dist/resources/icon/normal-64.png'
Dec 20 11:27:20 samus alacarte-made.desktop[337139]:     at Object.updateIcon (/home/scott/Projects/google-chat-linux/src/window.js:140:14)
Dec 20 11:27:20 samus alacarte-made.desktop[337139]:     at setIcon (/home/scott/Projects/google-chat-linux/src/tray.js:99:16)
Dec 20 11:27:20 samus alacarte-made.desktop[337139]:     at IpcMainImpl.<anonymous> (/home/scott/Projects/google-chat-linux/src/tray.js:77:2)
Dec 20 11:27:20 samus alacarte-made.desktop[337139]:     at IpcMainImpl.emit (node:events:527:28)
Dec 20 11:27:20 samus alacarte-made.desktop[337139]:     at EventEmitter.<anonymous> (node:electron/js2c/browser_init:165:11237)
Dec 20 11:27:20 samus alacarte-made.desktop[337139]:     at EventEmitter.emit (node:events:527:28)
Dec 20 11:27:21 samus alacarte-made.desktop[337139]: [337139:1220/112721.961132:ERROR:object_proxy.cc(623)] Failed to call method: org.freedesktop.ScreenSaver.GetActive: object_path= /org/freedesktop/ScreenSaver: org.freedes>
...
Dec 20 11:27:23 samus alacarte-made.desktop[337139]: Failed to update window icon :-(
Dec 20 11:27:23 samus alacarte-made.desktop[337139]: TypeError: Cannot read properties of undefined (reading 'setImage')
Dec 20 11:27:23 samus alacarte-made.desktop[337139]:     at setIcon (/home/scott/Projects/google-chat-linux/src/tray.js:93:18)
Dec 20 11:27:23 samus alacarte-made.desktop[337139]:     at IpcMainImpl.<anonymous> (/home/scott/Projects/google-chat-linux/src/tray.js:77:2)
Dec 20 11:27:23 samus alacarte-made.desktop[337139]:     at IpcMainImpl.emit (node:events:527:28)
Dec 20 11:27:23 samus alacarte-made.desktop[337139]:     at EventEmitter.<anonymous> (node:electron/js2c/browser_init:165:11237)
Dec 20 11:27:23 samus alacarte-made.desktop[337139]:     at EventEmitter.emit (node:events:527:28)
Dec 20 11:27:23 samus alacarte-made.desktop[337139]: Failed to update window icon :-(
Dec 20 11:27:23 samus alacarte-made.desktop[337139]: Error: Failed to load image from path '/home/scott/Projects/google-chat-linux/node_modules/electron/dist/resources/icon/badge-64.png'
Dec 20 11:27:23 samus alacarte-made.desktop[337139]:     at Object.updateIcon (/home/scott/Projects/google-chat-linux/src/window.js:140:14)
Dec 20 11:27:23 samus alacarte-made.desktop[337139]:     at setIcon (/home/scott/Projects/google-chat-linux/src/tray.js:99:16)
Dec 20 11:27:23 samus alacarte-made.desktop[337139]:     at IpcMainImpl.<anonymous> (/home/scott/Projects/google-chat-linux/src/tray.js:77:2)
Dec 20 11:27:23 samus alacarte-made.desktop[337139]:     at IpcMainImpl.emit (node:events:527:28)
Dec 20 11:27:23 samus alacarte-made.desktop[337139]:     at EventEmitter.<anonymous> (node:electron/js2c/browser_init:165:11237)
Dec 20 11:27:23 samus alacarte-made.desktop[337139]:     at EventEmitter.emit (node:events:527:28)

Google-Chat-No-Menu-Bar

Enlarge font size

How can I enlarge the size of the fonts in the chat? I've been looking in the configuration files to no avail.
In case it helps, I have a pretty minimalistic installation of archlinux. I guess this might be possible to configure outside the app but wanted to check first.

Tray Icon does not appear when using Waybar

Not sure exactly why as it works fine in i3.

Launching with XDG_CURRENT_DESKTOP=Unity or XDG_CURRENT_DESKTOP= Does not resolve it.

20220816_20h49m43s_grim

Anyone know of a workaround or solution? otherwise closing the window just causes it to launch a new version every time. I'm sure this is more of an electron thing, just don't know how to resolve it.

Electron 24 - support of quoted reply in chat

Some features in google chat require a "recent" browser.

Electron 20 is too old.

Moving to latest (24 as of today) has its usual set of issues ... (tray click support ...) but is required.

Crash on start: "Image could not be created"

Since the v0.5.0 update, the app crashes on startup with the following message:
Uncaught Exception: Error: Image could not be created from /opt/google-chat-linux/resources/app.asar/-/assets/icon/icon.png

OS: Arch Linux
Updated from 0.4.5 from the AUR (the Electron 8 version, not tested with the Electron 7 version).

missing systray icon (KDE)

In case systray icon is not displayed correctly try this

sudo touch /opt/google-chat-linux/libappindicator3.so
sudo touch /opt/google-chat-linux/libappindicator3.so.1

Add deb package for arm64

Currently, to build a deb package for arm64, on an arm64 Linux (in my case, Ubuntu 23.10), one has to run

$ gem install fpm
$ USE_SYSTEM_FPM="true" to npm run dist:deb

this is because the default behaviour is to download fpm binary and execute it, and such downloaded fpm is always in x64 format.

Google breaks out

After an issue with auth today, auth was still delegated to my standardbrowser AND everytime i hit the "Main Menu/Chat/Chatrooms/Meet" expand Button, a browser windows opens and i land on

because im not authenticated in this browser, means google wants to open googlechat/meet/... Urls in Browser

Minimize to tray?

I'm sorry, but this might already be what you were explaining at the README. In Gnome, when I close the app, it actually minimizes and comes back with ALT+TAB. So it doesn't really go to tray. Is this a gnome issue? Is there a workaround?

language support is broken

it's been ... since probably the first day !

Fixing is easy, config.js needs support for "languages": ["fr","en-US"]

Unable to update from 0.5.1-1 to 0.5.2-1

Hi,
I am using Arch Linux and when trying to update from 0.5.1-1 to 0.5.2-1 I get the following error:

Building google-chat-linux-git...
==> Making package: google-chat-linux-git 0.5.2-1 (lun 13 lug 2020, 18:11:25)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found google-chat-linux_0.5.2-1_amd64.deb
==> Validating source files with sha256sums...
    google-chat-linux_0.5.2-1_amd64.deb ... FAILED
==> ERROR: One or more files did not pass the validity check!
Failed to build google-chat-linux-git

should I edit something locally in the PKGBUILD file during installation?

Thank you very much
Vincenzo

Move the "Apply theme" option to an app-specific Preference window

The new option "Apply theme" is placed on top of the indicator menu. That’s quite annoying, because sometimes, I misclick it when I actually want to show the window.
Since this option is configuration-related, it would be great if this option were moved to a new app Preference window.

Clicking on link doesn't open them in browser

Clicking on links in the chat doesn't appear to do anything (nothing in Console or Net with DevTools pane and nothing in stdout). If I right-click on the link, I get a Copy Link option, so I can copy and paste it to a browser, but clicking on the link itself does not open the link to the browser.

The option for this is enabled:
image

If it's helpful, I'm running Fedora 34 with Firefox as the default browser.

Desktop notifications appear twice

2 notifications sent to notification center when one message received.

One idea would be to 'block' notifications frmo the secondary window, unfortunately they both have the same 'name' from the notification-center point of view. (probably the WM class is used)

TL/DR;

In order to make "try icon color change" work again ... I used a secondary hidden window where chat is 'displayed', to intercept favicon change. (in this window, nodeIntegration is used, and if used on main window in
Unfortunately there is a side effect : each window send a notification to the notification center (whichever DE you use, there is probably one)

Strange issue with auth

I have seen today a strange issue. The authentication tries to open my standard browser firefox two times, before it opens in the chat window. Is google trying to identify the world outside the chat application?

Im running on Debian Linux

Google Chat is Crap thanks to Google

I know, I can do nothing about it : Google unleashed on May 5th 2021 a new version of Google Chat.

It was already a pile of crap before, I tried to address some issues with this standalone client.

Now it's getting worse.

Dear Google, go f... youself.

This client still works, but desktop notification / systray integration is useless, (theme also). I can't wait until the day I stop using this nonsense.

NOTE : added a workaround, check Menu or Systray right click

Cant login

After a while working well, i cant login anymore.
We have a SSO environment and after giving the credetnials in the chat client, a tab opens in my default browser with this text (sry in german)

{code}
Authentifizierung nicht möglich

Beim Verarbeiten Ihrer Anfrage ist ein Fehler aufgetreten (ref 20220601062152UID).

Keine SAML-Anfrage vorhanden! Dies kann passieren wenn die Applikation über einen falschen Bookmark (auf den SSO anstatt auf die Applikation) aufgerufen wird, oder der Browser eine fehlerhafte Cookiebehandlung nutzt (aktuellen Browser verwenden).

Bitte die Konfiguration innerhalb der Applikation bzw. im SSO überprüfen und nochmals versuchen! Wenn der Fehler weiterhin besteht bitte das SSO Betriebsteam informieren.
{code}

When the last version was the very last, so i have to say thank you.

regards
Stefan

DiscardVirtualMemory error

I would like to ask what are the minimum requirements for the Windows version? I don't see it listed anywhere. Because in Win7 I get the error DiscardVirtualMemory in kernel32.dll not found.

[SOLVED] Web Login Service doesn't work

My university is using a web login service where after entering our email we are redirected to a website where we have to enter our student id which is connected to a google account. This does not seem to work here, as after entering the mail address the app shows:
"
Web Login Service - Loading Session Information
Loading login session information from the browser...
"
But it does not actually open a browser to enter my credentials.
Any advice would be greatly appreciated.
Best,
Jakob

x86 ruby is downloaded and called on an ARM64 computer, when doing npm run dist:deb

The error below is caused by attempting to execute ruby (x86) on an arm64 computer. Note that this laptop already have ruby (arm64) installed, the npm code here simply doesn't run the locally installed ruby and insists on running it from fpm.

$ npm run dist:deb

> [email protected] dist:deb
> electron-builder --linux=deb

  • electron-builder  version=24.4.0 os=6.5.0-1008-laptop
  • loaded configuration  file=package.json ("build" field)
  • writing effective config  file=dist/builder-effective-config.yaml
  • executing @electron/rebuild  arch=arm64 version=27.0.3 appDir=/usr/local/src/google-chat-linux
  • packaging       platform=linux arch=arm64 electron=27.0.3 appOutDir=dist/linux-arm64-unpacked
  • downloading     url=https://github.com/electron/electron/releases/download/v27.0.3/electron-v27.0.3-linux-arm64.zip size=101 MB parts=8
  • downloaded      url=https://github.com/electron/electron/releases/download/v27.0.3/electron-v27.0.3-linux-arm64.zip duration=8.721s
  • building        target=deb arch=arm64 file=dist/google-chat-linux_5.27.23-6_arm64.deb
  • downloading     url=https://github.com/electron-userland/electron-builder-binaries/releases/download/fpm-1.9.3-2.3.1-linux-x86/fpm-1.9.3-2.3.1-linux-x86.7z size=4.6 MB parts=1
  • downloaded      url=https://github.com/electron-userland/electron-builder-binaries/releases/download/fpm-1.9.3-2.3.1-linux-x86/fpm-1.9.3-2.3.1-linux-x86.7z duration=1.483s
  ⨯ cannot execute  cause=exit status 1
                    errorOut=/home/weiwu/.cache/electron-builder/fpm/fpm-1.9.3-2.3.1-linux-x86/lib/ruby/bin/ruby: line 6: /home/weiwu/.cache/electron-builder/fpm/fpm-1.9.3-2.3.1-linux-x86/lib/ruby/bin.real/ruby: cannot execute binary file: Exec format error
    /home/weiwu/.cache/electron-builder/fpm/fpm-1.9.3-2.3.1-linux-x86/lib/ruby/bin/ruby: line 6: /home/weiwu/.cache/electron-builder/fpm/fpm-1.9.3-2.3.1-linux-x86/lib/ruby/bin.real/ruby: Success
    
                    command=/home/weiwu/.cache/electron-builder/fpm/fpm-1.9.3-2.3.1-linux-x86/fpm -s dir --force -t deb -d xdg-desktop-portal --deb-recommends libappindicator3-1 --deb-compression xz --architecture arm64 --after-install /tmp/t-w0FjGz/0-after-install --after-remove /tmp/t-w0FjGz/1-after-remove --description '
     Unofficial alternative Google Chat desktop app' --version 5.27.23-6 --package /usr/local/src/google-chat-linux/dist/google-chat-linux_5.27.23-6_arm64.deb --name google-chat-linux --maintainer 'Roberto Fasciolo <[email protected]>' --url https://github.com/squalou/google-chat-linux --vendor 'Roberto Fasciolo <[email protected]>' --deb-priority optional --license WTFPL /usr/local/src/google-chat-linux/dist/linux-arm64-unpacked/=/opt/google-chat-linux /usr/local/src/google-chat-linux/build/icons/48.png=/usr/share/icons/hicolor/48x48/apps/google-chat-linux.png /usr/local/src/google-chat-linux/build/icons/64.png=/usr/share/icons/hicolor/64x64/apps/google-chat-linux.png /usr/local/src/google-chat-linux/build/icons/256.png=/usr/share/icons/hicolor/256x256/apps/google-chat-linux.png /tmp/t-w0FjGz/2-google-chat-linux.desktop=/usr/share/applications/google-chat-linux.desktop
                    workingDir=

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.