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

Make Jamulus iOS compatible with Qt6 #3406

Open
ann0see opened this issue Oct 10, 2024 · 17 comments
Open

Make Jamulus iOS compatible with Qt6 #3406

ann0see opened this issue Oct 10, 2024 · 17 comments
Labels
bug Something isn't working iOS iOS runtime issue

Comments

@ann0see
Copy link
Member

ann0see commented Oct 10, 2024

Describe the bug

Even though Jamulus can be compiled with Qt6 and it runs, there are multiple UI issues.
Also the app hangs and crashes in multiple places.

  1. The chat window doesn't have the correct proportions. Especially if turning the device around the chat window overflows the screen
  2. Tapping the chat window Close button hangs and then crashes the app on the next tap.
  3. Changing the language in settings doesn't apply and the app hangs.
  4. Further bugs to be investigated

Related: #2711

Chat overflow
Landscape chat overflow

  1. Probably the app cannot display the message saying that the app needs a restart: If I remove QMessageBox::information(), the app doesn't hang and after a restart the language is changed correctly.

Operating system

iOS 17

Version of Jamulus

Latest version from main

Additional context

Try compiling Jamulus with Qt6 for iOS.

@ann0see ann0see added the bug Something isn't working label Oct 10, 2024
@ann0see ann0see added this to Tracking Oct 10, 2024
@github-project-automation github-project-automation bot moved this to Triage in Tracking Oct 10, 2024
@ann0see ann0see added the iOS iOS runtime issue label Oct 10, 2024
@ann0see
Copy link
Member Author

ann0see commented Oct 10, 2024

Pasting https://forum.qt.io/topic/15326/solved-qlayout-items-not-expanding-on-resize/4 here. Maybe related to the crash of the languages change.

@ann0see
Copy link
Member Author

ann0see commented Oct 11, 2024

@softins do you own an iPad?
I'd like to get the app on TestFlight to find further bugs. Then I'd like to test on iPads too.

@softins
Copy link
Member

softins commented Oct 11, 2024

Yes, and have Testflight on it. iOS 16.7, which I think is the latest it will take (2016 model).

@ann0see
Copy link
Member Author

ann0see commented Oct 11, 2024

Thanks. I'll try to work out how to get the app on TestFlight in the following days. It would be great if you could confirm if the mentioned issues all also occur on iPadOS

@ann0see
Copy link
Member Author

ann0see commented Oct 11, 2024

Hotfix for 2 is probably not using the close() signal but hide() instead.

@ann0see
Copy link
Member Author

ann0see commented Oct 11, 2024

Hotfix for 3 is conditionally getting rid of the warning message on iOS.

@ann0see
Copy link
Member Author

ann0see commented Oct 12, 2024

Ok. Also the Qt5 build hangs with the language change. So that's not a new bug.
Qt5 doesn't even open the about dialog.
However, there's no need to turn the screen to get a working, non overflowing screen on Qt5.

@ann0see
Copy link
Member Author

ann0see commented Oct 12, 2024

Changing the skin to compact, Bar (narrow) makes the app somewhat usable.

@ann0see
Copy link
Member Author

ann0see commented Oct 13, 2024

Ok. The mixer board issue comes from the "Setup your audio,... message". I'll change it to be brief on iOS.

@ann0see
Copy link
Member Author

ann0see commented Oct 13, 2024

We could force the GD_SLIMFADER design on iOS...
Hiding the text is not so easy. The issue still remains, if .hide() is applied on the text. However, if it is removed from the Qt created code, it's ok.
Potentially also the stylesheet for the fancy design could be adapted.

@ann0see
Copy link
Member Author

ann0see commented Oct 13, 2024

Language bug might be fixable by using a Qt::QueuedConnection.

https://bugreports.qt.io/browse/QTBUG-64577

@ann0see
Copy link
Member Author

ann0see commented Oct 13, 2024

Further error:
5. The connect window has wrong proportions but can be fixed by turning the screen around

Probably that's related to the same issue as the mixer board: The table might be too wide. It might also be the "show all musicians" checkbox

@ann0see
Copy link
Member Author

ann0see commented Oct 19, 2024

  1. Mute myself bar is too wide

@ann0see
Copy link
Member Author

ann0see commented Oct 19, 2024

AppStore connect requests a usage description for camera access. This could be related to file access of the app.

@ann0see
Copy link
Member Author

ann0see commented Oct 19, 2024

  1. The save mixer channel dialog overflows the screen and doesn't use an iOS integrated one - this dialog type doesn't exist on iOS. We'd need to specify a name before saving, I suppose. Then maybe invoke the share sheet?

@ann0see
Copy link
Member Author

ann0see commented Oct 24, 2024

Concerning the UI issues, I'd like to start with the mixer board.

I think all of the issues are related to some item overflowing and then just stretching the whole window over the device size.

See:
https://github.com/user-attachments/assets/50779205-f017-47fa-966c-825256d564a3

If I tap the mute myself button the screen overflows but it can be fixed by rotating.

@ann0see
Copy link
Member Author

ann0see commented Oct 24, 2024

If VoiceOver is on, the app crashes as soon as the connection dialog is opened

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working iOS iOS runtime issue
Projects
Status: Triage
Development

No branches or pull requests

2 participants