Skip to content

feat: track the running ddev share process - #547

Open
AkibaAT wants to merge 2 commits into
mainfrom
feature/share-process-tracking
Open

AkibaAT wants to merge 2 commits into
mainfrom
feature/share-process-tracking

Conversation

@AkibaAT

@AkibaAT AkibaAT commented Nov 9, 2026

Copy link
Copy Markdown
Collaborator

The Problem/Issue/Bug:

The plugin starts ddev share in a run console and then loses track of it. Nothing can stop the share or react to its output, so the share tickets have nothing to build on.

How this PR Solves the Problem:

  • New project-level ShareManager service holds the running share process.
  • Runner.run gets an overload that hands the started ProcessHandler to a consumer. DdevRunnerImpl.share uses it to register the process and clears it when the process ends.
  • New DdevRunner.stopShare destroys the running share process.
  • The Share action is disabled while a share is running.

This is groundwork only. The follow-up PRs for #53 (show the public URL) and #8 (ngrok errors, Stop Sharing action) build on it.

Manual Testing Instructions:

  1. Start a DDEV project and run Tools > DDEV > Share.
  2. While the share runs, the Share action is disabled.
  3. Stop the run console. Share is enabled again.

Tests cover ShareManager, the share and stopShare runner calls, the process consumer in RunnerImpl and the disabled Share action. ./gradlew check passes for both platform variants (251 and 261).

Related Issue Link(s):

Groundwork for #8 and #53.

DdevRunner registers the share process with the new project-level
ShareManager and clears it when the process ends. stopShare destroys
it, and the Share action is disabled while a share is running.

Runner.run gains an overload that hands the started process to a
consumer.
@sonarqubecloud

sonarqubecloud Bot commented Nov 9, 2026

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant