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

Support for web APIs that require permissions #81

Open
1 of 2 tasks
nklayman opened this issue Feb 25, 2021 · 15 comments
Open
1 of 2 tasks

Support for web APIs that require permissions #81

nklayman opened this issue Feb 25, 2021 · 15 comments

Comments

@nklayman
Copy link
Member

Is your feature request related to a problem? Please describe.
Currently (at least on Linux), doing any action that requires permission (such as geolocation) fails as the permission request is immediately denied.

Describe the solution you'd like
There should be a way to specify what permissions the app should have so they are automatically allowed.

Would you assign yourself to implement this feature?

  • Yes (at least for Linux and maybe windows)
  • No

Additional context
For linux: https://webkitgtk.org/reference/webkit2gtk/stable/WebKitWebView.html#WebKitWebView-permission-request

@nklayman nklayman changed the title Support for actions that require permissions Support for web APIs that require permissions Feb 25, 2021
@wusyong wusyong mentioned this issue Mar 9, 2021
@wusyong
Copy link
Member

wusyong commented Apr 20, 2021

We also already enable some permissions required featured like clipboard on Windows already.
https://github.com/tauri-apps/wry/blob/dev/src/webview/win32/mod.rs#L154

I couldn't find similar option on mac. And it seems lots of permission related features are not available to WkWebView.
Edit: looks like this is an on-going feature to be implemented. Future custom protocol will be treated as secure content.
https://bugs.webkit.org/show_bug.cgi?id=220184

@nothingismagick
Copy link
Sponsor Member

I think we did as good as we can do here, especially now that webrtc is working on macos, i think we are good.

@lemarier
Copy link
Member

We should try with the localhost fix as it use same engine as macOS webview

@wusyong
Copy link
Member

wusyong commented Apr 21, 2021

Reopen it until the PR is delivered

@wusyong wusyong reopened this Apr 21, 2021
@wusyong wusyong closed this as completed Apr 22, 2021
@nklayman
Copy link
Member Author

It appears that PR didn't quite solve the issue I was referring to. There still doesn't seem to be a way to allow prompting for web APIs such as geolocation. If you try to use it inside Tauri (on Linux at least) it just fails immediately. If you use epiphany which also uses webkit2gtk, it prompts for location permissions. I think we should offer a way to prompt for or automatically allow certain permissions.

@kantum
Copy link

kantum commented May 2, 2022

Hello,

I have a WebRTC app that I would like to make it work with tauri. Would love to see this issue going forward!

@kevinelliott
Copy link

What's the status of this? Need to use geolocation in a tauri app and noticing that it doesn't work.

@cliqer
Copy link

cliqer commented Jul 4, 2022

It seems this is responsible for navigator.mediaDevices.getDisplayMedia not working too.
We are stuck on porting to tauri because of this...

@FabianLars
Copy link
Member

@cliqer getDisplayMedia is not supported in WKWebView at all right now. No promises (just an idea), but we probably could do something similar to electron and inject it in getUserMedia, but don't hold your horses :/

I wanted to sent this comment a few weeks/months ago but something went wrong, anyway here it is, but i can't find the source for this right now, gonna update this comment if i find it again.

@cliqer
Copy link

cliqer commented Sep 17, 2022

@FabianLars Indeed it is not :/ and unfortunately, this has stopped us from porting our application to tauri for the time being.

The alternative at the moment, like building webrtc and adding an egui for screen capturing display selection within the rust layer, is almost impossible for us.

Many thanks and please do something similar to electron.
Waiting eagerly for the implementation.

@mhsfh
Copy link

mhsfh commented Dec 24, 2022

is there any update ? i need to use Geolocation

@petermakeswebsites
Copy link

petermakeswebsites commented Apr 23, 2023

I would also like to use the microphone. MacOS. Looking through my inspector with permissions api, it says the microphone permission is set to "prompt", implying that the web might be thinking the prompt dialogue is showing when it isn't. When I try to start the dictation anyway, the console puts the error: Speech recognition error - "not-allowed". It works fine on Safari after I accept the permission prompt, which is either hidden or doesn't exist in Tauri. I would really appreciate having some kind of solution to this because dictation is central to my application.

@wusyong
Copy link
Member

wusyong commented Apr 24, 2023

I think we should split this into smaller issues. The problems each user face is not the same. And each platform will need some extra works too. I believe we will need Infoplist on macOS for example.
If you are interested in specific feature, please consider open an issue and hopefully a working wry example.
We'll try to look into further if someone has time.

@kevinelliott
Copy link

I think we should split this into smaller issues. The problems each user face is not the same. And each platform will need some extra works too. I believe we will need Infoplist on macOS for example. If you are interested in specific feature, please consider open an issue and hopefully a working wry example. We'll try to look into further if someone has time.

How about start with geolocation :)

@ajayghoshcmonk
Copy link

Any update on this ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 📬Proposal
Development

No branches or pull requests