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

Remove request for non native recording directory #3009

Merged

Conversation

ann0see
Copy link
Member

@ann0see ann0see commented Feb 13, 2023

Short description of changes

Removes the request for a non native directory selection box on all OS for the recording directory and the persistence file. I hope this doesn't introduce any bad side effects.

This is done to allow write access to a recording directory outside of the macOS sandbox for the Server.

CHANGELOG: Server: Use native file selection dialog for recording directory and persistence file to allow read and write access outside of the macOS sandbox.

Context: Fixes an issue?

Related to #2131

Does this change need documentation? What needs to be documented and how?

Probably yes?

Status of this Pull Request

To be tested with a signed build. I'd like to have an ok from @emlynmac to build on his repo and a confirmation why we chose to use the Qt file dialog instead of the native OS one by @pljones

What is missing until this pull request can be merged?

Internal clarification and testing: Waiting on OK from emlynmac to build on his repo.

Checklist

  • I've verified that this Pull Request follows the general code principles
  • I tested my code and it does what I want
  • My code follows the style guide
  • I waited some time after this Pull Request was opened and all GitHub checks completed without errors.
  • I've filled all the content above

@ann0see ann0see requested a review from pljones February 13, 2023 15:26
@ann0see ann0see added this to Triage in Tracking (old) via automation Feb 13, 2023
@ann0see ann0see added this to the Release 3.10.0 milestone Feb 13, 2023
@pljones
Copy link
Collaborator

pljones commented Feb 13, 2023

why we chose to use the Qt file dialog instead of the native OS one

One reason could have been documentation. Using the Qt dialog means that each OS gets the same Look and Feel when choosing a file/directory from Jamulus. Such usage in the documentation is then clear to the user. Using the OS-native one means we need to document each OS separately, so the user is hand-held (noting that GUI server users are likely less technical). The up-side is that they're also likely more familiar with the OS-native widget.

Another reason could have been testing: one can make assumptions like "if I've tested the workflow on Linux with the Qt widget, it'll work on Windows with the Qt widget". That may be an invalid assumption using the OS-native widget. For example, choosing a file and choosing a directory may use different widgets - I think I hit some issue there at some point. Qt uses the same widget for both.

@ann0see
Copy link
Member Author

ann0see commented Feb 14, 2023

Ok. Probably we'll only know more if we test it on all OS

This is done to allow write access to a recording directory outside of the macOS sandbox
@ann0see ann0see force-pushed the remove-non-native-recordingdir branch from bb3a4a9 to 9b5e1b2 Compare February 15, 2023 17:18
@pljones
Copy link
Collaborator

pljones commented Feb 15, 2023

Code looks okay, I'll wait for test feedback to approve.

@ann0see
Copy link
Member Author

ann0see commented Feb 16, 2023

macOS unsigned artifact from this build works.

@ann0see ann0see moved this from Triage to Waiting Externally in Tracking (old) Feb 16, 2023
@ann0see
Copy link
Member Author

ann0see commented Feb 16, 2023

@emlynmac can you/me push the changes to your repo and test if the recording directory can now be set outside the sandbox?

@ann0see
Copy link
Member Author

ann0see commented Feb 16, 2023

I've now signed the build with a self signed certificate via #2944 here: https://github.com/ann0see/jamulus/actions/runs/4193064214 and I can save files (= Recordings) outside of the Sandbox (I tested the Downloads folder).

Linux (Debian also doesn't show any issue; storing to /tmp - there's no sandbox enabled on Debian, so it shouldn't matter at all).

Windows 11 also seems good.

@emlynmac
Copy link
Contributor

emlynmac commented Feb 16, 2023

@emlynmac can you/me push the changes to your repo and test if the recording directory can now be set outside the sandbox?

I've sync'd.

@ann0see
Copy link
Member Author

ann0see commented Feb 16, 2023

@emlynmac Thanks. Unfortunately, I only see that the main branch got built. Could you please git checkout my changes from this PR and build them?

@emlynmac
Copy link
Contributor

@ann0see https://github.com/emlynmac/jamulus/actions/runs/4198106890

@ann0see
Copy link
Member Author

ann0see commented Feb 16, 2023

The build seems to do what it should.

Thanks!

@pljones
Copy link
Collaborator

pljones commented Feb 17, 2023

Do we have example screen shots yet?

@ann0see
Copy link
Member Author

ann0see commented Feb 17, 2023

It's just the normal OS file/directory dialog.

I can take some pictures tomorrow

@pljones
Copy link
Collaborator

pljones commented Feb 18, 2023

I've no idea what that looks like :). Also, we need examples from all supported platforms for "Open file" and "Open directory" (also, in case there are differences, with different permission requests).

@ann0see
Copy link
Member Author

ann0see commented Mar 5, 2023

Sorry for the delay. @pljones here are the screenshots:


macOS

Open Directory:

RecordingDirectory

Default compact view for selecting file:

compact file selection

Extended view for selecting file:

extended file selection


Debian 12 GNOME

Open directory:

GNOME open directory dialog

Selecting file:

GNOME persistency file dialog


Windows 11

Open directory:

Win 11 folder recording directory

Selecting file:

Win 11 persistency file dialog

@ann0see ann0see moved this from Waiting Externally to Waiting on Team in Tracking (old) Mar 5, 2023
@pljones
Copy link
Collaborator

pljones commented Mar 6, 2023

Sorry for the delay. @pljones here are the screenshots:

Thanks! Really useful as I've currently only access to a Chromebook, so couldn't even do Windows ones easily.

@ann0see
Copy link
Member Author

ann0see commented Apr 26, 2023

@pljones do you consider this as mergable?

@pljones
Copy link
Collaborator

pljones commented Apr 27, 2023

Yes, feel free to merge.

@ann0see ann0see merged commit d8e2eb2 into jamulussoftware:main Apr 27, 2023
Tracking (old) automation moved this from Waiting on Team to Done Apr 27, 2023
@ann0see ann0see deleted the remove-non-native-recordingdir branch April 27, 2023 20:15
@pljones pljones added the bug Something isn't working label Jun 4, 2023
@pljones pljones removed this from Done in Tracking (old) Jul 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

None yet

3 participants