Problem/Motivation
The form concatenates scheme/host with a fixed path. A Drupal site mounted at /cms is shown /api/webhooks/postmark instead of /cms/api/webhooks/postmark, which can send dashboard traffic to the wrong route.
Evidence and scope
Reviewed 1.0.0-alpha1, source commit 02fd9d36af5237e712cecb7155d79725f7824880. Location: src/Form/PostmarkWebhookSettingsForm.php:33.
Code-confirmed omission of the request base path; a browser deployment under a subdirectory was not run.
Proposed resolution
Generate an absolute URL from the webhook route. Honor Drupal trusted proxy/base-path behavior. If an external webhook hostname needs an override, keep it explicit and validate it; never include credentials in the displayed URL.
Acceptance criteria
Functional coverage for root, subdirectory and trusted reverse-proxy installations. Verify escaping and confirm settings secret never appears in page source.
Comments
Comment #2
jmcerdaThe displayed webhook URL now comes from the receive route. Routing-context tests cover root, subdirectory and trusted proxy prefixes. Real HTTP tests cover settings permissions, credential-free page source, Basic Auth, method restrictions and retries; the full suite passes on Drupal 10 and 11. CI now starts and verifies its disposable HTTP server. Actual subdirectory browser deployment remains an integration follow-up under #3621137; the current prefix tests exercise Drupal routing context. Integration and release are pending.
Comment #5
jmcerdaIntegrated into the 1.x development branch and included in 1.0.0-alpha2. The release tag and branch are mirrored to Drupalcode. The six-job Drupal 10/11 and Mailer Plus integration matrix passes. See the release notes for database updates and retained-history limitations. This records module publication; site deployment is a separate operation.