Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: FreeTube starts fullsrceen, and the "fullscreen" button cannot toggle between fullscreen modes #3220

Open
4 of 5 tasks
Araly opened this issue Feb 25, 2023 · 42 comments · May be fixed by #5138
Open
4 of 5 tasks
Labels
B: feature stopped working bug Something isn't working

Comments

@Araly
Copy link

Araly commented Feb 25, 2023

Guidelines

  • I have encountered this bug in the latest release of FreeTube.
  • I have searched the issue tracker for open and closed issues that are similar to the bug report I want to file, without success.
  • I have searched the documentation for information that matches the description of the bug I want to file, without success.
  • This issue contains only one bug.

Describe the bug

  1. Open FreeTube
  2. Observe that the app starts fullscreen. It takes the whole screen space, not leaving any space for the gnome bar or anything. This is different from starting maximized.
  3. Toggle fullscreen mode by pressing super+M on Gnome (or maybe my gnome, can't remember if I changed this shortcut).
  4. Observe that the app properly toggles fullscreen off.
  5. Start a video, and play around with the "fullscreen" and "full window" buttons.
  6. Observe that they act exactly the same. They do not toggle fullscreen mode, just makes the video take whatever available space the window already has.
  7. Close FreeTube.
  8. Start FreeTube again.
  9. Observe 2. again. (So the app didn't remember the last state).

Expected Behavior

The app starts not fullscreen, like all other apps.

The "full window" button toggles between using all the available space for the existing window for the video (this is currently working)

The "fullscreen" button toggles the window fullscreen, and uses all the available space for the video.

Issue Labels

feature stopped working

FreeTube Version

v0.18.0 Beta

Operating System Version

Linux 6.1.12-arch1-1 #1 SMP PREEMPT_DYNAMIC Tue, 14 Feb 2023 22:08:08 +0000 x86_64 GNU/Linux

Installation Method

.pacman

Primary API used

Local API

Last Known Working FreeTube Version (If Any)

I can't remember, but it used to work months ago. I first thought the issue was with a Gnome extension.

Additional Information

No response

Nightly Build

@Araly Araly added the bug Something isn't working label Feb 25, 2023
@absidue
Copy link
Member

absidue commented Feb 25, 2023

I'm a Windows user so I'm just speculating here, it's possible that Gnome's shortcut to disable full screen doesn't properly inform the app that it is no longer full screen (I know that Gnome broke system dark mode detection in Electron apps not too long ago, so other stuff being broken on Gnome is feasible), so when you try to full screen the video, the app still thinks it's in full screen and also when you close the app it saves that it's full screen because that's what it thinks is happening.

Instead of using that (presumably) desktop environment/window manager specific shortcut, could you please try using the "Toggle Full Screen" option in the "View" dropdown of the app menu and see if that works?

@dinotheextinct
Copy link

dinotheextinct commented Feb 25, 2023

I am on KDE/appimage version and the same shit happens to me, its so fucking annoying. Sadly I cant use the flatpak version because I cant import data there. Amazing.

image

Doesnt react to anything, can not even unselect fullscreen.

@absidue
Copy link
Member

absidue commented Feb 25, 2023

Can you try running FreeTube from a terminal and see if any errors show up when you use that menu option?

Also when you say you can't import data in the flatpak version, I'm pretty sure the flatpak version only has access to the downloads directory: https://github.com/flathub/io.freetubeapp.FreeTube/blob/master/io.freetubeapp.FreeTube.yml#L17

@dinotheextinct
Copy link

No flatpak says import was successfull, but not subscriptions appear.

/usr/bin/AppImageLauncher: /lib64/libcurl.so.4: no version information available (required by /usr/bin/../lib/x86_64-linux-gnu/appimagelauncher/libappimageupdate.so) (node:19823) UnhandledPromiseRejectionWarning: Error: Cannot create a secure cookie from an insecure URL (Use freetube --trace-warnings ...to show where the warning was created) (node:19823) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag--unhandled-rejections=strict(see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1) (node:19823) UnhandledPromiseRejectionWarning: Error: Cannot create a secure cookie from an insecure URL (node:19823) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag--unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2) [19898:0225/221128.846367:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 1 times!

No message when trying to un-fullscreen. But this message appears when starting from terminal anyway.

@mutageneral
Copy link

mutageneral commented Feb 25, 2023

I have the same problem with the FreeTube Flatpak version for a few weeks now, and it is very annoying. I tried launching the app in KDE X11, KDE Wayland, IceWM and TWM on my OpenSUSE Tumbleweed machine. The only one that worked was TWM for some reason. Everything else was stuck in full screen. Here is the message in the console:

LaunchProcess: failed to execvp:
xdg-settings
Gtk-Message: 22:19:34.982: Failed to load module "canberra-gtk-module"
Gtk-Message: 22:19:35.012: Failed to load module "colorreload-gtk-module"
Gtk-Message: 22:19:35.012: Failed to load module "window-decorations-gtk-module"
[2:0225/221935.035103:ERROR:bus.cc(399)] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: Aucun fichier ou dossier de ce type
[2:0225/221935.035247:ERROR:bus.cc(399)] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: Aucun fichier ou dossier de ce type
(node:2) UnhandledPromiseRejectionWarning: Error: Cannot create a secure cookie from an insecure URL
(Use `freetube --trace-warnings ...` to show where the warning was created)
(node:2) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:2) UnhandledPromiseRejectionWarning: Error: Cannot create a secure cookie from an insecure URL
(node:2) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)

Notice the missing "window-decorations-gtk-module"? Maybe that is related? But isn't Flatpak supposed to give FreeTube all the libraries it needs?

When I launched it from the KDE Wayland session, I got a popup from KDE asking if I want to allow FreeTube to run in the background. I clicked disallow, and it set this permission like the following:

Table      Object     App                     Permissions Data
background background io.freetubeapp.FreeTube no          0x00

This permission killed FreeTube every time I launched it, after about 10 second. I reverted this with the flatpak permission-set background background io.freetubeapp.FreeTube yes command. Maybe the fact it is seen as running in the background can tell us something? This does not seem to happen in the KDE X11 session.

In the KDE X11, KDE Wayland & IceWM session, the app was stuck in full screen with no way to resize or move it, other than in KDE, you can hold the meta key and drag the window around, which seems to snap it from monitor to monitor in case of the bugged FreeTube. It seems to not resize itself correctly when I drag it to my vertical monitor on my left. You can see this being demonstrated in the following video recording of my KDE X11 session:

freetube_demo.mp4

In TWM, it seems to just work. Maybe it is because TWM is ancient or because it works in a way where when a new program is launched, you have to chose where you want to put the window with your mouse. It had working TWM window decoration.

@efb4f5ff-1298-471a-8973-3d47447115dc

Being ignorant here but does pressing F11 resolve this?

@dinotheextinct
Copy link

Yes it does for me, but why is fullscreen forced so strongly?? It even was saved between reboots and what not. Thanks anway!

@mutageneral
Copy link

Being ignorant here but does pressing F11 resolve this?

I feel very embarrassed because pressing F11 fixed it. I swear I tried all the F keys when the issue first happened. It is still strange that there are 3 of us having this issue at the same time.

@Araly
Copy link
Author

Araly commented Mar 2, 2023

Instead of using that (presumably) desktop environment/window manager specific shortcut, could you please try using the "Toggle Full Screen" option in the "View" dropdown of the app menu and see if that works?

this works.

Being ignorant here but does pressing F11 resolve this?

this also works.

I don't know what's the difference between F11, the "fullscreen" gnome key, clicking on the "fullscreen" button of the FreeTube window, and the View → toggle fullscreen option, but the two I had tried didn't work, and the other two seem to do the trick. Freetube also seems to remember the last state now if I toggle with either F11 or the View option, which is really nice.

Thanks !

@BarbzYHOOL

This comment was marked as duplicate.

@BarbzYHOOL

This comment was marked as abuse.

@Lcchy
Copy link

Lcchy commented Jul 17, 2023

Just wanted to report that I have the same issue on Fedora 38, with Freetube as a flatpak.
This is what I get from launching in terminal:

$ flatpak run io.freetubeapp.FreeTube
LaunchProcess: failed to execvp:
xdg-settings
Gtk-Message: 15:59:42.223: Failed to load module "canberra-gtk-module"
Gtk-Message: 15:59:42.223: Failed to load module "pk-gtk-module"
Gtk-Message: 15:59:42.223: Failed to load module "canberra-gtk-module"
Gtk-Message: 15:59:42.223: Failed to load module "pk-gtk-module"
[2:0717/155942.232421:ERROR:bus.cc(399)] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
[2:0717/155942.232495:ERROR:bus.cc(399)] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
TypeError: Cannot destructure property 'value' of 'object null' as it is null.
    at /app/freetube/resources/app.asar/dist/main.js:2:240841
    at async _ (/app/freetube/resources/app.asar/dist/main.js:2:240797)
    at async App.<anonymous> (/app/freetube/resources/app.asar/dist/main.js:2:247098)
(node:2) UnhandledPromiseRejectionWarning: Error: Cannot create a secure cookie from an insecure URL
(Use `freetube --trace-warnings ...` to show where the warning was created)
(node:2) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:2) UnhandledPromiseRejectionWarning: Error: Cannot create a secure cookie from an insecure URL
(node:2) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)
libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
[48:0717/155943.750399:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 1 times!
[48:0717/155943.760270:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 2 times!
[48:0717/155946.327611:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 3 times!

@absidue
Copy link
Member

absidue commented Jul 17, 2023

@Lcchy Try pressing F11, none of those logs are relevant to this.

I'm guessing that you were watching a video in fullscreen when you last closed FreeTube?

@Lcchy
Copy link

Lcchy commented Jul 17, 2023

@absidue Yes, sorry I wasn't specific enough, F11 indeed fixes the fullscreen startup issue.

What I was referring to is that fullscreening is broken.
Double-clicking the video or clicking on the fullscreen button does not make it fullscreen. It instead maximizes it inside the window exactly like the "full window" button.

FYI, it seems very unrelated but I have been able to reproduce this on 2 systems already.
These issues only appeared right after having installed these packages:

gstreamer1-plugins-bad-free-1.22.3-1.fc38.x86_64
gstreamer1-plugins-bad-free-extras-1.22.3-1.fc38.x86_64
gstreamer1-plugins-bad-free-fluidsynth-1.22.3-1.fc38.x86_64
gstreamer1-plugins-bad-free-wildmidi-1.22.3-1.fc38.x86_64
gstreamer1-plugins-bad-free-zbar-1.22.3-1.fc38.x86_64
gstreamer1-plugins-bad-freeworld-1:1.22.3-1.fc38.x86_64
gstreamer1-plugins-good-extras-1.22.3-1.fc38.x86_64
gstreamer1-plugins-good-gtk-1.22.3-1.fc38.x86_64
gstreamer1-plugins-good-qt-1.22.3-1.fc38.x86_64
gstreamer1-plugins-base-1.22.3-1.fc38.x86_64
gstreamer1-plugin-openh264-1.22.1-1.fc38.x86_64
gstreamer1-plugin-libav-1.22.3-1.fc38.x86_64
lame-3.100-14.fc38.x86_64
lame-libs-3.100-14.fc38.x86_64

I have no idea how this could be related, these are packages for media codecs etc.
EDIT: Please disregard this FYI, seems to be unrelated.

@Lcchy
Copy link

Lcchy commented Jul 17, 2023

@absidue I think I have now found the trigger for this bug and I can reproduce the behavior on a clean VM install.

Steps to reproduce:

  • Launch Freetube and start playing a video
  • Put the player in fullscreen
  • While the player is in fullscreen, kill Freetube (via ctrl + q or killall freetube command)
  • Restart the app and play a video
  • Observe that you can no longer activate the fullscreen mode

EDIT: What resolves this for me is to delete the Freetube config folder (.var/app/io.freetubeapp.FreeTube/ on my machine) , reinstall does nothing if folder is kept. So something ,ust be corrupted in the state saved there

@Lcchy
Copy link

Lcchy commented Jul 17, 2023

FWIW the corrupted file seems to be ~/.var/app/io.freetubeapp.FreeTube/config/FreeTube/settings.db, its the one that resolves the issue upon deletion.

Its contents just after triggering the bug are, for me:

{"_id":"bounds","value":{"x":1428,"y":57,"width":1430,"height":1551,"maximized":false,"fullScreen":true}}

EDIT anyone looking for a hotfix, this works for me:
sed -i '/"_id":"bounds"/d' ~/path/to/FreeTube/config/FreeTube/settings.db

@joyofdata
Copy link

[F11] FTW.

@maplepy
Copy link

maplepy commented Jun 4, 2024

[F11] FTW.

except its still broken by default so yeah :/

@AhmedHalim96
Copy link

AhmedHalim96 commented Jun 22, 2024

yup F11 works
I was going crazy. I thought I missed up my wm config or something

Copy link
Contributor

This issue is stale because it has been open 28 days with no activity. Remove stale label or comment or this will be closed in 7 days.

@Aragorn-E
Copy link

I've encountered this bug today as well. Using v0.21.1 Beta.

Copy link
Contributor

This issue is stale because it has been open 28 days with no activity. Remove stale label or comment or this will be closed in 7 days.

@maplepy
Copy link

maplepy commented Aug 19, 2024

not stale

Copy link
Contributor

This issue is stale because it has been open 28 days with no activity. Remove stale label or comment or this will be closed in 7 days.

@localhorst

This comment has been minimized.

@uncharted-user
Copy link

It's still been a problem, especially on Wayland.

@quentin-bettoum

This comment has been minimized.

@uncharted-user
Copy link

I still have the problem in v0.22.0 Beta using AwesomeWM

Now, the flathub app comes with Wayland disable on default.

Screenshot From 2024-11-05 06-53-16

Copy link
Contributor

github-actions bot commented Dec 4, 2024

This issue is stale because it has been open 28 days with no activity. Remove stale label or comment or this will be closed in 7 days.

@uncharted-user
Copy link

Not stale

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
B: feature stopped working bug Something isn't working
Projects
Status: To assign