Skip to content

refactor(changeprovider): Read Phabricator diffs through platform/conduit - #1014

Draft
roychying wants to merge 1 commit into
chenghan.ying/platform-conduitfrom
chenghan.ying/changeprovider-phab-conduit
Draft

roychying wants to merge 1 commit into
chenghan.ying/platform-conduitfrom
chenghan.ying/changeprovider-phab-conduit

Conversation

@roychying

Copy link
Copy Markdown
Contributor

Why?

The Phabricator change provider hand-rolls its Conduit call: flat ids[]= fields in the URL query, its own envelope type, Conduit errors as plain strings, and a token transport in the orchestrator wiring. Moving it onto platform/conduit makes it the first consumer of the shared client.

What?

  • Params.HTTPClient becomes Params.Conduit *conduit.Client. differential.querydiffs is now one Call with {"ids": [...]}, and a diff missing from the result is still an error.
  • A Conduit error_code surfaces as *conduit.Error instead of a formatted string; HTTP failures stay platform/http.StatusError, so classification is unchanged.
  • The orchestrator wiring builds a conduit.Client from the configured endpoint and token and drops apiTokenTransport.

Test Plan

bazel test //submitqueue/extension/changeprovider/phabricator/... //service/submitqueue/orchestrator/server/...

Issue

…duit, sending the token in the JSON params instead of an api.token query transport
@roychying
roychying added this pull request to stack #1015 November 5, 2026 05:53

This branch has not been deployed

No deployments
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