Comments (9)
We'll need to update package:build_modules
to always spawn with mode detachedWithStdio
. We'll also need to work around dart-lang/sdk#35874
from webdev.
Why do we need detachedWithStdio
if we're running from a snapshot?
If we want to run from a snapshot, should we run in an isolate?
from webdev.
The daemon needs to continue to run when webdev is killed. detachedWithStdio
provides this behavior. I don't think it's possible to do this with an isolate.
from webdev.
The persistent workers in build_modules have the same lifespan as the daemon... Are those the workers under discussion?
from webdev.
Sorry, there are a couple things going on so let me be clear.
WebDev starts the daemon through package:build_daemon
here:
https://github.com/dart-lang/build/blob/master/build_daemon/lib/client.dart#L75
Obviously this process needs to be long running and thus uses detachedWithStdio
. Right now it works around pub spawning a new terminal by calling the snapshot directly:
https://github.com/dart-lang/webdev/blob/master/webdev/lib/src/serve/daemon_client.dart#L20
Ideally it would call pub.bat
instead of the snapshot.
Now this daemon process spins up a bunch of worker processes through package:build_modules
here: https://github.com/dart-lang/build/blob/master/build_modules/lib/src/workers.dart#L68
These don't necessarily have to be long running. Since they are spawned with the default process mode, they create new terminals. See why here: dart-lang/sdk#35809
We could change them to be isolates but that would be a breaking change to BazelWorkerDriver
. These worker processes already properly shutdown if the daemon shuts down. I think it makes sense to leave them as processes and just update their mode.
from webdev.
This is mostly resolved. There is still a single flash of a terminal due to dart-lang/pub#2042
from webdev.
@grouma should we close this?
from webdev.
There is no work to be done on webdev. This issue will be fully resolved once dart-lang/pub#2042 is resolved.
from webdev.
Closing this since there isn't work to be done in webdev.
from webdev.
Related Issues (20)
- Support running the `reload_test` with the `FrontendServer`
- Exceptions in Dart web apps pause with "PauseInterrupted" instead of "PauseException"
- Pause on Exceptions in Dart web apps jumps to the wrong location
- When debugging a webdev app from VS Code, hitting a breakpoint opens copy of actual file HOT 2
- Problems debugging `static` members
- [dwds] ext.flutter.debugDumpApp: (-32603) Unexpected DWDS error for callServiceExtension: Unexpected error from chrome devtools
- after upgrading to flutter 3.19.3 , I am getting the error below when I try to build and run on web. HOT 2
- Messaging has changed if pubspec yaml file not found by pub
- Test checking for DEBUGGER_READY and DEVTOOLS_LOAD events failing
- Breakpoints fail to work in Flutter web when macro experiment is enabled HOT 5
- `yieldControlToDDS` should disconnect non-DDS clients
- `dart:developer` `log` messages still get truncated in the middle HOT 1
- `webdev` integration test has begun failing with `pub` error
- Prevent stack trace calculation from being halted if any of the frames throws an error
- `.callServiceExtension` test failing for WebDev HOT 1
- Flutter Web Application UI Components Not Rendering in Chrome. HOT 3
- Vite proxied `flutter run -d chrome` does not respond with RunRequest HOT 1
- Remove unsound null safety options
- [documentation] documentation on how to compile dart to js for a non-web target with webdev build HOT 1
- Can't load debug build over https (upgrade websocket to secure) HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from webdev.