Skip to content

Require an explicit fetcher on the URL-based resolvers - #63

Merged
germ-mark merged 2 commits into
mainfrom
llm/urlsession-target-split
Oct 1, 2026
Merged

germ-mark merged 2 commits into
mainfrom
llm/urlsession-target-split

Conversation

@germ-mark

@germ-mark germ-mark commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Removes the URLSession.manualRedirect() defaults from DidWebResolver, DidPlcResolver, WellKnownHandleResolver and DnsHandleResolver, so non-Apple platforms can depend on the fetcher-based API without reaching URLSession. No URLSession target is added: nothing in this package relied on the defaults.

  • The three resolvers that screen a host once before fetching now take an any RedirectRefusingHTTPFetcher (GermConvenience 0.14.0), so a redirect-following fetcher no longer compiles. DnsHandleResolver takes a DNSTXTFetcher, unchanged in type.
  • StubHTTPFetcher conforms to RedirectRefusingHTTPFetcher.
  • Drops the unused FoundationNetworking imports from the four resolver files.
  • Requires GermConvenience 0.14.0; OnlineTests depends on GermConvenienceURLSession.
  • Android CI scans the portable targets' objects for a -lFoundationNetworking autolink entry, with a positive control on the test target.
  • Breaking changeset (minor).

Test notes: swift test on macOS (112 tests) passes; strict swift format lint clean; Android (aarch64, Swift 6.4) cross-build of AtprotoClient and AtprotoClientMocks passes the scan, and the control is detected. Linux and Android CI to confirm.

🤖 Generated with Claude Code

Remove the URLSession.manualRedirect() defaults from DidWebResolver,
DidPlcResolver, WellKnownHandleResolver and DnsHandleResolver, drop the
unused FoundationNetworking imports, and require GermConvenience 0.13.0.
The Android CI leg now scans the portable targets' objects for a
FoundationNetworking autolink entry, with a positive control.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@changeset-bot

changeset-bot Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 86db505

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@germ-network/atprotoclient Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@germ-mark
germ-mark marked this pull request as ready for review October 1, 2026 06:51
@germ-mark
germ-mark marked this pull request as draft October 1, 2026 07:07
DidWebResolver, DidPlcResolver and WellKnownHandleResolver now take an
any RedirectRefusingHTTPFetcher (GermConvenience 0.14.0), so a
redirect-following fetcher no longer compiles. StubHTTPFetcher conforms.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@germ-mark
germ-mark marked this pull request as ready for review October 1, 2026 07:25
@germ-mark
germ-mark merged commit 953c82f into main Oct 1, 2026
22 checks passed
@germ-mark
germ-mark deleted the llm/urlsession-target-split branch October 1, 2026 07:26
@github-actions github-actions Bot mentioned this pull request Oct 1, 2026
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