feat: change Webview::navigate to accept WebviewUrl instead of Url#14586
Open
surajkewat72 wants to merge 3 commits into
Open
feat: change Webview::navigate to accept WebviewUrl instead of Url#14586surajkewat72 wants to merge 3 commits into
surajkewat72 wants to merge 3 commits into
Conversation
This commit addresses issue tauri-apps#14583 by changing the and methods to accept as a parameter instead of the raw type. Changes: - Updated to accept parameter - Updated to accept parameter - Added helper method that converts to using the same logic as webview initialization (handles dev server proxying, app URLs, external URLs, and custom protocols) - Added comprehensive documentation examples for both methods Benefits: - Type-safety: Ensures URLs passed to navigate use the same type as webview creation - Consistency: Uses the same URL handling logic as webview initialization - Fixes dev server proxy issues: Properly handles localhost/dev server URLs - Better API: More intuitive for developers using WebviewUrl elsewhere Breaking Change: This is a breaking change as the method signature has changed from: pub fn navigate(&self, url: Url) -> crate::Result<()> to: pub fn navigate(&self, webview_url: WebviewUrl) -> crate::Result<()> Users will need to update their code to use WebviewUrl instead of raw Url. Migration example: Before: webview.navigate("http://tauri.localhost/".parse()?) After: webview.navigate(WebviewUrl::App("index.html".into())) Closes tauri-apps#14583
Contributor
Package Changes Through 0af5228No changes. Add a change file through the GitHub UI by following this link. Read about change files or the docs at github.com/jbolda/covector |
yashsriv
reviewed
Nov 30, 2025
Comment on lines
+1670
to
+1671
| /// Converts a [`WebviewUrl`] to a [`Url`] using the same logic as webview initialization. | ||
| fn webview_url_to_url(&self, webview_url: WebviewUrl) -> crate::Result<Url> { |
There was a problem hiding this comment.
Can we share this logic between the two callsites instead of duplicating it?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This commit addresses issue #14583 by changing the and
methods to accept as a parameter
instead of the raw type.
Changes:
Benefits:
Breaking Change:
This is a breaking change as the method signature has changed from:
pub fn navigate(&self, url: Url) -> crate::Result<()>
to:
pub fn navigate(&self, webview_url: WebviewUrl) -> crate::Result<()>
Users will need to update their code to use WebviewUrl instead of raw Url.
Migration example:
Before: webview.navigate("http://tauri.localhost/".parse()?) After: webview.navigate(WebviewUrl::App("index.html".into()))
Closes #14583