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

[windows] Add plugin support #103

Closed
stuartmorgan opened this issue Jul 12, 2018 · 15 comments
Closed

[windows] Add plugin support #103

stuartmorgan opened this issue Jul 12, 2018 · 15 comments
Assignees

Comments

@stuartmorgan
Copy link
Collaborator

The current implementation has no plugin support. I expect that we'll be able to share most or all of the Linux code for the plugin infrastructure (although if Windows provides a built-in JSON parser, we'll presumably want to use that instead of jsoncpp).

If we can't use the same code, then the Windows version should not follow the macOS/Linux example, since I plan to rewrite both per #102. Instead it should be written directly to the end-state of the macOS/Linux refactoring (which would mean something very much like the Flutter Android implementation).

@stuartmorgan
Copy link
Collaborator Author

@clarkezone I know you've expressed interest in tackling this after the core implementation is complete.

@clarkezone
Copy link
Collaborator

yes i can look at those. Whats the ETA on the refactoring of the linux / mac versions

@stuartmorgan
Copy link
Collaborator Author

The second phase (adding MethodCodec) I'm working on now and will probably finish on Monday. I'm not sure when I'll get to the third and final phase (adding MethodChannel, and potentially eliminating the plugin class entirely).

@clarkezone
Copy link
Collaborator

OK. I can probably get to text input over the weekend

@clarkezone
Copy link
Collaborator

Windows has a Windows.Data.Json API that should do the trick. But i’ll wait for your part to come in.

@clarkezone
Copy link
Collaborator

Got a chance to look at this today and notice that text input depends on the plugin infra which I didn't previously realize. For that reason I think i'll await your refactor for that as well as the more general plugin support. Also, for text input I think it would be better to use the binary format rather than json for perf reasons, do you agree?

@stuartmorgan
Copy link
Collaborator Author

Also, for text input I think it would be better to use the binary format rather than json

You have to use JSON; both sides have to match:
https://github.com/flutter/flutter/blob/fa6f9a03416ecf5e0e1813861538116b813dce66/packages/flutter/lib/src/services/system_channels.dart#L146

That's why JSON, not Standard, is the one codec currently implemented for desktop so far

@listepo-alterpost
Copy link

@stuartmorgan @clarkezone any news?

@stuartmorgan
Copy link
Collaborator Author

There's no concrete ETA on the remaining refactor step I referred to above. However, my hope is that the Windows implementation of the plugin infrastructure can share a lot of code with the Linux version (with just the JSON-specific implementations being different), so implementing it before the last of the refactor shouldn't be an issue.

The blocker at this point is someone having time to implement it.

@clarkezone
Copy link
Collaborator

@listepo-alterpost hoping to spend some time looking at this week of Oct18th.

@clarkezone
Copy link
Collaborator

FWIW I’ve been making some progress on this now actively debugging a windows implementation

@stuartmorgan stuartmorgan added this to To do in Overview Kanban Dec 12, 2018
@stuartmorgan stuartmorgan moved this from To do to In progress in Overview Kanban Dec 12, 2018
stuartmorgan pushed a commit that referenced this issue Jan 1, 2019
- Adds support for plugins, using the same C++ plugin code
currently used by Linux.
- Adds text input support, also sharing code with the Linux GLFW
text input code.

Fixes issue #103 and issue #104
@stuartmorgan
Copy link
Collaborator Author

Happy New Year for Windows, thanks to James :)

Overview Kanban automation moved this from In progress to Done Jan 1, 2019
@brettclutch
Copy link

Happy new years everyone! Thx for all your hard work and awesome news on Windows!

@Tokenyet
Copy link

Tokenyet commented Aug 17, 2019

Is text input supported? I cannot key anything or copy-paste to TextField, or If there is a plugin supported this feature?

By the way, I'm using Traditional Chinese, and my OS is Win 1903 18362.239.

Log:
flutter: Another exception was thrown: FormatException: Bad UTF-8 encoding 0xba (at offset 223)

@stuartmorgan
Copy link
Collaborator Author

Copy/paste support is flutter/flutter#30708, and non-ASCII input is flutter/flutter#30661. Both are unrelated to this issue.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 7, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
No open projects
Development

No branches or pull requests

5 participants