core: return structured server info with stop method from workspace server
- Enables graceful server shutdown for workspace management - Removes unsupported serverUrl getter that threw errors in plugin context
This commit is contained in:
parent
d67e877e28
commit
5f277d1e62
2 changed files with 15 additions and 5 deletions
|
|
@ -60,6 +60,20 @@ export namespace WorkspaceServer {
|
||||||
fetch: App().fetch,
|
fetch: App().fetch,
|
||||||
})
|
})
|
||||||
server.listen(opts.port, opts.hostname)
|
server.listen(opts.port, opts.hostname)
|
||||||
return server
|
return {
|
||||||
|
hostname: opts.hostname,
|
||||||
|
port: opts.port,
|
||||||
|
stop() {
|
||||||
|
return new Promise<void>((resolve, reject) => {
|
||||||
|
server.close((err) => {
|
||||||
|
if (err) {
|
||||||
|
reject(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
resolve()
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -34,10 +34,6 @@ export namespace Plugin {
|
||||||
project: Instance.project,
|
project: Instance.project,
|
||||||
worktree: Instance.worktree,
|
worktree: Instance.worktree,
|
||||||
directory: Instance.directory,
|
directory: Instance.directory,
|
||||||
get serverUrl(): URL {
|
|
||||||
throw new Error("Server URL is no longer supported in plugins")
|
|
||||||
},
|
|
||||||
$: () => {},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for (const plugin of INTERNAL_PLUGINS) {
|
for (const plugin of INTERNAL_PLUGINS) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue