Commit ed80b03
committed
Trigger auto-upgrade when dev is quit via q or Ctrl+C
The legacy dev UI (Dev.tsx) tore down the process tree with a fixed 2s
setTimeout immediately after the user pressed q or hit Ctrl+C. Because
oclif only invokes the postrun hook after run() resolves, exiting that
early meant the auto-upgrade flow never had a chance to run. Users on
the standard `shopify app dev` path therefore stopped receiving CLI
auto-upgrades after quitting dev.
DevSessionUI.tsx already polled postRunHookHasCompleted() before
exiting, but its setInterval was never cleared and the 5s ceiling was
too tight for an actual upgrade.
This change extracts the shutdown logic into a single helper,
waitForPostRunHookAndExit, in cli-kit's postrun module. Both Dev.tsx
and DevSessionUI.tsx now call it. The helper:
- polls postRunHookHasCompleted() and exits as soon as the hook is done,
- caps the wait at a configurable maxWaitMs (default 30s) so a stuck
upgrade still terminates the process,
- properly clears its interval and guards against double-exit,
- delegates to the existing treeKill+process.exit path.1 parent 95e9788 commit ed80b03
5 files changed
Lines changed: 56 additions & 24 deletions
File tree
- packages
- app/src/cli/services/dev/ui/components
- cli-kit/src/public/node/hooks
Lines changed: 7 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
30 | 37 | | |
31 | 38 | | |
32 | 39 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
14 | | - | |
| 13 | + | |
15 | 14 | | |
16 | 15 | | |
17 | 16 | | |
| |||
74 | 73 | | |
75 | 74 | | |
76 | 75 | | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
| 76 | + | |
83 | 77 | | |
84 | 78 | | |
85 | 79 | | |
| |||
Lines changed: 7 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
27 | 34 | | |
28 | 35 | | |
29 | 36 | | |
| |||
Lines changed: 2 additions & 15 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
21 | | - | |
22 | | - | |
| 20 | + | |
23 | 21 | | |
24 | 22 | | |
25 | 23 | | |
| |||
70 | 68 | | |
71 | 69 | | |
72 | 70 | | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
| 71 | + | |
85 | 72 | | |
86 | 73 | | |
87 | 74 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
5 | 6 | | |
6 | 7 | | |
7 | 8 | | |
| |||
15 | 16 | | |
16 | 17 | | |
17 | 18 | | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
18 | 55 | | |
19 | 56 | | |
20 | 57 | | |
| |||
28 | 65 | | |
29 | 66 | | |
30 | 67 | | |
31 | | - | |
32 | 68 | | |
33 | 69 | | |
| 70 | + | |
34 | 71 | | |
35 | 72 | | |
36 | 73 | | |
| |||
0 commit comments