-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
[webview2loader] Add full featured go implementation #1974
[webview2loader] Add full featured go implementation #1974
Conversation
This is incredible! Might take a while for me to get through it but I'll aim to do that this weekend! |
} | ||
|
||
func (r *environmentCreatedHandler) EnvironmentCompleted(errorCode HRESULT, createdEnvironment *ICoreWebView2Environment) HRESULT { | ||
// The OpenWebview2Loader has some retry logic and retries once, didn't encounter any case when this would have been |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps @jchv has more insight
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unfortunately, I do not. I also never noticed a case where it is needed. If there is a good reason for it, one would probably have to peel back more layers to find it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for your reply. So I think we could leave this as it is for now and see what the feedback will be from the users.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for taking the time to leave a comment @jchv - appreciate it 🙏
) | ||
|
||
// Resolve the GoInterface of the specified ComInterfacePointer | ||
func Resolve[T IUnknown](ifceP uintptr) T { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Love this approach 🚀
v2/internal/frontend/desktop/windows/go-webview2/pkg/combridge/bridge.go
Outdated
Show resolved
Hide resolved
Thanks so much, was a great experience with all the com specific stuff 😀 |
Never thought I'd ever see "com" and "great experience" in the same sentence 😂 Awesome stuff 👍 |
That was more meant from a technical point of view of interacting with com and playing nicely together with the go runtime 😀 |
3ae5045
to
ddb7726
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking really good! I've left a couple of very minor questions that are no biggies.
What do you think we need to have in the documentation for people to try it out and get feedback? Is this a flag you'd pass with the -flags
parameter for wails build
?
I noticed the comment on supporting all the features so we could do away with the dll. What scenarios would we still need it?
v2/internal/frontend/desktop/windows/go-webview2/pkg/combridge/bridge.go
Outdated
Show resolved
Hide resolved
v2/internal/frontend/desktop/windows/go-webview2/pkg/combridge/bridge.go
Outdated
Show resolved
Hide resolved
v2/internal/frontend/desktop/windows/go-webview2/pkg/edge/create_env_native.go
Show resolved
Hide resolved
ccc859b
to
599f5a4
Compare
Thanks for reviewing it ❤️
It's a build tag to be passed as -tags:
The following features are not supported and I think we explicitly don't want or need them:
I think the options to be used should always be set by the Wails application and not by some user, which would allow to inspect internals of the app or change the behaviour of it. |
I think we could add these details to the output of |
Oh, yeah, that's a great idea. Will add that... |
Just added the information to |
Yeah, that's great. I'm wondering if we should open a ticket/discussion for capturing the feedback and have that link at the bottom of the CLI output. The issue/discussion should have a bit of detail there: What is the benefit of using it, gotchas, maybe a test matrix so people can report it works with |
f5d64bc
to
a913766
Compare
Yeah, that sounds great. |
a913766
to
9c6c433
Compare
The new go loader can be activated with the exp_gowebview2loader build tag.
9c6c433
to
ea81396
Compare
@leaanthony just added the link to the Feedback - Issue. For the content of the issue we could discuss that in slack. So I think we are good to go with this one, what do you think? |
Awesome, thanks for merging. |
The new go loader can be activated with the exp_gowebview2loader build tag.