jamulus icon indicating copy to clipboard operation
jamulus copied to clipboard

Make Jamulus iOS compatible with Qt6

Open ann0see opened this issue 1 year ago • 18 comments

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: https://github.com/jamulussoftware/jamulus/issues/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 avatar Oct 10 '24 20:10 ann0see

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 avatar Oct 10 '24 20:10 ann0see

@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.

ann0see avatar Oct 11 '24 21:10 ann0see

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

softins avatar Oct 11 '24 21:10 softins

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 avatar Oct 11 '24 21:10 ann0see

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

ann0see avatar Oct 11 '24 21:10 ann0see

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

ann0see avatar Oct 11 '24 21:10 ann0see

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 avatar Oct 12 '24 21:10 ann0see

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

ann0see avatar Oct 12 '24 21:10 ann0see

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

ann0see avatar Oct 13 '24 17:10 ann0see

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 avatar Oct 13 '24 18:10 ann0see

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

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

ann0see avatar Oct 13 '24 20:10 ann0see

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 avatar Oct 13 '24 20:10 ann0see

  1. Mute myself bar is too wide

ann0see avatar Oct 19 '24 21:10 ann0see

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

ann0see avatar Oct 19 '24 21:10 ann0see

  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 avatar Oct 19 '24 21:10 ann0see

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 avatar Oct 24 '24 20:10 ann0see

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

ann0see avatar Oct 24 '24 20:10 ann0see

Since the latest build is no longer crashing: https://testflight.apple.com/join/xZRwhf63 as public TestFlight link.

ann0see avatar Dec 25 '24 21:12 ann0see