cast-to-tv-desktop-addon icon indicating copy to clipboard operation
cast-to-tv-desktop-addon copied to clipboard

"Desktop" menu item not showing up in GNOME 3.38

Open teohhanhui opened this issue 4 years ago • 18 comments

When Cast Media is turned on, the Desktop menu item is missing.

Cast Settings > Modules > Install npm modules is already done.

teohhanhui avatar Oct 25 '20 17:10 teohhanhui

Please share a little more info about your installation.

What is your Linux distro? What is your version of GNOME Shell? How did you install the "Desktop Add-on" (from gnome extensions page or from github)? Do you have the desktop add-on set to enabled in GNOME Extensions App (or in GNOME Tweaks)?

Rafostar avatar Oct 28 '20 08:10 Rafostar

What is your Linux distro?

$ uname -a
Linux envy-x360 5.8.16-2-MANJARO #1 SMP PREEMPT Mon Oct 19 11:33:03 UTC 2020 x86_64 GNU/Linux

What is your version of GNOME Shell?

$ gnome-shell --version
GNOME Shell 3.38.1

How did you install the "Desktop Add-on" (from gnome extensions page or from github)?

Installed from extensions.gnome.org

Do you have the desktop add-on set to enabled in GNOME Extensions App (or in GNOME Tweaks)?

Yes.

teohhanhui avatar Oct 28 '20 10:10 teohhanhui

GNOME Shell 3.38.1

I have not tested either cast-to-tv extension or any addons on GNOME 3.38 yet. Probably something in 3.38 caused it to be broken. Again. This happens with EVERY new shell release :disappointed:

Rafostar avatar Oct 28 '20 12:10 Rafostar

Yeah, that's really unfortunate. Gnome Shell really needs to have some kind of BC promise for extensions.

teohhanhui avatar Oct 28 '20 13:10 teohhanhui

@Rafostar Same issue here on GNOME 3.38.1. Some additional info from the logs:

JS ERROR: TypeError: AggregateMenu._screencast is undefined
@/home/<user>/.local/share/gnome-shell/extensions/[email protected]/recorder.js:4:19
@/home/<user>/.local/share/gnome-shell/extensions/[email protected]/widget.js:5:33
enableAddon/timeouts[addonName]<@/home/<user>/.local/share/gnome-shell/extensions/[email protected]/addons.js:59:27

This is probably the culprit: https://gitlab.gnome.org/GNOME/gnome-shell/-/commit/2b0731ab81887fd9767da73695c754c5b9aadd7c#ca86d9689a6f7702839217d6fd785f78cea7973a

vincentvanvugt avatar Oct 30 '20 08:10 vincentvanvugt

@vincentvanvugt

Thanks. Great find. :+1:

This confirms that it is indeed GNOME 3.38 related. I would need to port it to DBus to get it back working. So a lot of work to be done to get it back and as usual once this is done it will no longer work on older GNOME versions that did not use DBus for screencast API. Usual GNOME stuff :man_shrugging:.

Rafostar avatar Oct 30 '20 14:10 Rafostar

Is there any work around?

ReubenBTalbott avatar Nov 24 '20 01:11 ReubenBTalbott

Is there any update for this? Just bought a Chromecast and realized it does not work with my ubuntu 20.10... Happy to help if someone can provide a rough guideline on what to do @Rafostar

Songyu-Wang avatar Nov 28 '20 03:11 Songyu-Wang

@Songyu-Wang

I already mentioned in my previous comment what needs to be done. Someone has to port this extension code to use DBus connection for remote desktop. I am happy to accept a PR if someone manages, otherwise I will probably work on it myself eventually.

Having to redo your extension from zero every 6 months without prior notice is really frustrating. Trust me :disappointed:

Rafostar avatar Nov 28 '20 09:11 Rafostar

Are there any plans to implement this? Also, does Firefox also have to rewrite code everytime GNOME updates so as to share screen on websites like Google Meet? @Rafostar

devmrfitz avatar Jan 18 '21 08:01 devmrfitz

@Rafostar How about PipeWire?

devmrfitz avatar Jan 30 '21 09:01 devmrfitz

@Rafostar How about PipeWire?

Eh. This is not a problem with a GStreamer that is used to do recording underneath. This is a problem with GNOME. Once next version of GNOME Shell is released (the so called GNOME 40) neither this or the Cast to TV extension will work anymore. GNOME developers do not provide any code stability for extensions and they do not care if the shell update will break some extensions.

Rafostar avatar Jan 30 '21 21:01 Rafostar

What if this is implemented as a Linux software rather than GNOME extension?

On Sun, 31 Jan 2021, 2:41 am Rafał Dzięgiel, [email protected] wrote:

@Rafostar https://github.com/Rafostar How about PipeWire?

Eh. This is not a problem with a GStreamer that is used to do recording underneath. This is a problem with GNOME. Once next version of GNOME Shell is released (the so called GNOME 40) neither this or the Cast to TV extension will work anymore. GNOME developers do not provide any code stability for extensions and they do not care if the shell update will break some extensions.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Rafostar/cast-to-tv-desktop-addon/issues/11#issuecomment-770281616, or unsubscribe https://github.com/notifications/unsubscribe-auth/AN5NJU3J6AVDFKP4XBSI4LTS4RYZNANCNFSM4S6PDQTA .

devmrfitz avatar Jan 31 '21 04:01 devmrfitz

Following. Also in gnome 3.38.2

bluppfisk avatar Feb 06 '21 18:02 bluppfisk

This is the stack trace I get in journalctl when trying to activate this addon in current PopOS which is using GNOME 38:

Mai 14 22:19:53 pop-os gnome-shell[1524]: JS ERROR: TypeError: can't convert null to object
    @/home/user/.local/share/gnome-shell/extensions/[email protected]/recorder.js:4:39
    @/home/user/.local/share/gnome-shell/extensions/[email protected]/widget.js:7:33
    enableAddon/timeouts[addonName]<@/home/user/.local/share/gnome-shell/extensions/[email protected]/addons.js:59:27

maximilize avatar May 14 '21 20:05 maximilize