Previously the tracker field passed to Effect.Http.request/riskyRequest was
silently dropped, so Effect.Http.track never reported progress and
Effect.Http.cancel had nothing to cancel.
Http requests are represented as tasks internally, but elm/http's Http.task
doesn't support trackers. So requests that have a tracker are now represented
as a new Effect.Internal.HttpTrackedRequest command instead, which Effect.Lamdera
runs with Http.request/Http.riskyRequest (passing the tracker along). Requests
without a tracker are unchanged.
Effect.Internal.HttpRequest also carries the tracker now, which means
Effect.Test.HttpRequest exposes it to Config.handleHttpRequest. Progress events
still aren't simulated in Effect.Test (http requests there complete immediately)
and Effect.Test still ignores Effect.Http.cancel.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DjLHEDtWiY2bgvzPZvXejo