Skip to content

Commit 1679bb2

Browse files
reid-spencerclaude
andcommitted
[1.3]: three of four links fixed; the fourth is a fetch bug, not a stub
Records that loadBytes now exists on all three platforms and that commons-io is gone, so items 1-3 of the chain are closed. The fourth — a short download on Native — is newly visible because the first three were cleared, and the ZipException it produces PROVES java.util.zip works on Native. So what remains is one bug in the Native fetch rather than another missing capability, which is a much better place to be than where this entry started. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1 parent e4f9152 commit 1679bb2

1 file changed

Lines changed: 24 additions & 5 deletions

File tree

BACKLOG.md

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -357,11 +357,30 @@ each want an approved plan before implementation, per the standing rule.
357357
**That is Reid's call, and it is the whole of the remaining gap** — roughly 193
358358
of the 281 cases.
359359

360-
**The experiment was REVERTED, deliberately.** Steps 1 and 2 work but unlock
361-
nothing while step 3 stands, and moving the files leaves two suites ABORTING on
362-
Native, which is worse than not running. The knowledge is the deliverable; the
363-
edit would be churn. If the decision above goes the "read a checkout" way, steps
364-
1 and 2 are an hour's work and are already known to compile.
360+
**UPDATED 2026-08-18: steps 1-3 are now FIXED and committed** (`e4f91525c`), on
361+
Reid's steer to use sttp (already a dependency) or write the code, and with his
362+
permission to extend `PlatformContext` provided all three platforms implement it.
363+
364+
- **`PlatformContext.loadBytes(url): Future[Array[Byte]]`** is new — the binary
365+
counterpart of `load`, which returns a `String` and therefore corrupts a ZIP.
366+
JVM uses `openStream`; Native uses sttp (the same stack `load` already uses
367+
for text); Scala.js uses `dom.fetch` with `arrayBuffer()`.
368+
- `PathUtils.copyURLToDir` no longer touches either stub.
369+
- commons-io is gone from `RunCommandOnExamplesTest`.
370+
371+
**A FOURTH link is what remains, and it was invisible until the first three
372+
were cleared**: the download arrives SHORT on Native, so unzip reports
373+
`java.util.zip.ZipException: too short to be Zip`. Note what that error proves —
374+
**`java.util.zip` WORKS on Native**, or it could not produce a real ZipException.
375+
So this is one bug in the Native fetch, not another missing platform capability.
376+
Verified with curl that the archive URL 302-redirects (0 bytes without `-L`,
377+
207,955 with), and explicit redirect-following was added to the Native fetch
378+
without resolving it — so the cause is elsewhere in that fetch, and that is
379+
exactly where the next attempt starts.
380+
381+
**The three test files stay in `scalajvm`** until item 4 is fixed: moving them
382+
leaves two suites ABORTING on Native, which is worse than not running them.
383+
Moving them back is a one-line `git mv` each once the fetch is right.
365384

366385
**Nearly all of the remaining gap is `commands`, and nearly all of THAT is
367386
`RiddlModelsRoundTripTest`'s 189 cases** — blocked on the shared-corpus

0 commit comments

Comments
 (0)