Repository navigation
Detailed English and Chinese docs, and seven plugin fixes found while verifying them - #50
Merged
Merged
Conversation
Each was found by checking the docs against real runs of vfox (1.0.12 and 1.0.13) and the live Google, GitHub and gitcode.com endpoints, and the fixes were checked against the same endpoints. - Installing an official release asked gitcode.com for the OpenHarmony releases, because PreInstall calls Available. When gitcode.com rate limited its API (HTTP 429) the plugin waited 30, 60, 120 and 180 seconds: `vfox search` took 392 s and `vfox install flutter@3.47.4` 212 s, printing nothing. PreInstall now asks for the official releases only (ctx.officialOnly). Listing still asks gitcode.com, but with two attempts, no wait after a 429, and a warning on stderr when the list is missing. Installing an OpenHarmony build waits as before. - The index lists 3.13.3, 3.9.0-0.1.pre and 3.17.0-0.0.pre two or three times for one file, and only the newest entry has the checksum of the file that is there now. Which entry won depended on the unstable table.sort, and `vfox install flutter@3.13.3` ended with `checksum error` on Linux. Keep the newest entry (release_date) of each archive of a version, and make the sort order total. - OpenHarmony tags with `+ohos-` (3.41.9+ohos-1.0.2 and three more, from 2026-10-15) were not recognized. - A global core.autocrlf=true wrote Flutter's shell scripts with CRLF in source installs (Linux ARM64, OpenHarmony builds on Linux), and `flutter` stopped with `$'\r': command not found`. git.init sets core.autocrlf=false in the checkout. - Linux ARM64 and Windows ARM64 offered an `-arm64` source install of every release with an x64 build. Before Flutter 2.2.0 (Linux) and 3.44.0-0.1.pre (Windows) the release's own tool takes the x64 Dart SDK instead, which an ARM64 Linux machine does not run. Offer them from those releases on; the boundaries were checked for all 300 releases on 2026-10-21. - `vfox install flutter@latest` installed the newest beta (3.50.0-0.1.pre-x64) because the list was sorted by version number alone. Stable releases sort before pre-releases now. - The message for an unsupported CPU had no spaces (`flutter does not support386architecture`). tests/hooks_test.lua has a test for each; the core.autocrlf one runs real git and skips itself without it.
README.md becomes the way in: a few sentences and a link for each subject. The details are one page each in docs/ (versions and names, channels, platforms, architecture selection, mirrors, OpenHarmony builds, `flutter upgrade`, troubleshooting, install from source, development, e2e, changes), in the style of version-fox/vfox-java: exact messages, data with the day it was taken, and a list of things that look wrong and are not. Every page has a Chinese twin (README_CN.md, docs/zh-CN/) and a language switch line. Behavior that only exists on main is marked "Unreleased" / "未发布" and listed in docs/changes.md, to be moved under the version at the next release. The commands and messages were run against real vfox 1.0.12 and 1.0.13 with a fake mirror, and against the live Google, GitHub and gitcode.com endpoints. Corrections to the existing docs: - flutter-upgrade.md: `vfox info` prints the directory above the SDK, so the .vfox-manifest is in flutter-<version>/ below it. - arm64.md: 2.10.0 is not a release without architecture metadata, 1.22.6 is; the unverified claim that the Windows ARM64 `-x64` archive cannot run is gone. - ohos.md: the list of releases was three names, there are 25; Flutter has no 3.41.10, 3.35.8, 3.27.5 or 3.22.4, so the fork is not based on "Flutter 3.41.10".
linghengqian
marked this pull request as ready for review
October 20, 2026 21:39
linghengqian
added a commit
that referenced
this pull request
Oct 20, 2026
- changes.md (English and Chinese): the "Unreleased" entries are now 0.2.5 (2026-10-21), each with its #50 link, and the intro names 0.2.5 as the newest release. - Take out the "Unreleased: release 0.2.4 ..." marks. The pages describe 0.2.5; what older releases do stays in troubleshooting.md (as "update the plugin") and in changes.md. - flutter-upgrade.md: `plugin_version` in the manifest sample is 0.2.5, checked by installing the released v0.2.5 plugin against a fake mirror. - development.md: list the doc chores of a release, and how long the vfox-plugins registry took to follow the last three releases.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two commits:
fix: seven plugin problems found while verifying the docsdocs: detailed English and Chinese documentationPlugin fixes
Each was found by checking the docs against real runs (vfox 1.0.12 and 1.0.13, the live Google, GitHub and gitcode.com endpoints).
PreInstall→Available→ohos.list()). While gitcode.com answered HTTP 429 the plugin waited 30 + 60 + 120 + 180 s and printed nothing:vfox searchtook 392 s andvfox install flutter@3.47.4212 sPreInstallasks for the official releases only.vfox searchandlateststill list the OpenHarmony releases, but try twice, stop at a 429 and warn on stderr. Installing an OpenHarmony build waits as before3.13.3,3.9.0-0.1.preand3.17.0-0.0.preare in the index two or three times for one file, with different checksums, andtable.sortis not stable, so an old entry could win:checksum erroron Linuxrelease_dateof each archive of a version is kept, and the sort order is total+ohos-tags (four releases since 2026-10-15) were ignoredcore.autocrlf=truewrote CRLF intobin/internal/shared.shof Linux ARM64 and OpenHarmony-on-Linux source installs:$'\r': command not foundgit.initsetscore.autocrlf=falsein the checkout-arm64source installs were offered for every release with an x64 build, but before 2.2.0 (Linux) and 3.44.0-0.1.pre (Windows) the release's own tool takes the x64 Dart SDKvfox install flutter@latestinstalled the newest betaflutter does not support386architectureBehavior changes to look at
vfox searchlists the stable releases first, soflutter@latestis3.47.7-x64and not3.50.0-0.1.pre-x64.1.20.0to2.0.6as-arm64, Windows no longer offers the releases before3.44.0-0.1.pre. On Linux those could not run. On Windows this is a judgment call: they did run, with the x64 Dart SDK through Windows' emulation, under a name that saysarm64. The-x64archives are still there, butflutter@3.24.0(no suffix) now needsflutter@3.24.0-x64on Windows ARM64, as it already does on Apple silicon for old releases. To keep the old Windows behavior, drop the"windows/arm64"line ofOLDEST_NATIVEinlib/source.lua.Docs
README.mdis the way in;docs/has a page per subject (versions and names, channels, platforms, architecture selection, mirrors, OpenHarmony builds,flutter upgrade, troubleshooting, install from source, development, e2e, changes), in the style of vfox-java: exact messages, data with the day it was taken, a list of things that look wrong and are not.README_CN.md,docs/zh-CN/) and a language switch line.mainis marked "Unreleased" / "未发布" and listed indocs/changes.md. After the next release, move those entries under the version and drop the marks:grep -rn -i -e unreleased -e 未发布 docs README*.vfox infoprints the directory above the SDK, so the.vfox-manifestis below it (flutter-upgrade.md);2.10.0is not a release without architecture metadata,1.22.6is, and the unverified claim that the Windows ARM64-x64archive cannot run is gone (arm64.md); the OpenHarmony list was three names, there are 25, and Flutter has no 3.41.10, 3.35.8, 3.27.5 or 3.22.4, so the fork is not "based on Flutter 3.41.10" (ohos.md).Verification
tests/hooks_test.lua: 22 groups pass, 10 of them new. On the code ofmain, 9 of the new ones fail; the tenth guards the wait for installing an OpenHarmony build, which must stay.stylua --check .,lua-language-server --check . --checklevel=Warning, the license header check (apache/skywalking-eyes:0.9.0), andgofmt,go vetandgo test -shortintests/e2epass.official(3.47.4) andohos(3.41.10-ohos-1.0.0) with the latest vfox: pass.CONNECTsaw no request to gitcode.com during it;vfox searchreturns after 2.1 s with the warning;latestinstalls3.47.7-x64.3.41.9+ohos-1.0.2installs, lists, is used and uninstalled on live gitcode.com.PreInstallpicks the newest checksum for3.13.3,3.9.0-0.1.preand3.17.0-0.0.pre.core.autocrlf: with the real globalcore.autocrlf=true, the checkout of the old code has CRLF inshared.sh, the new one has LF andflutter --versionruns.dart-sdk-linux-x64.zipup to 2.0.6,dart-sdk-linux-arm64.zipfrom 2.2.0.Only CI can tell
ubuntu-26.04-arm,windows-latestandwindows-11-armjobs install 3.47.4 on them. The ARM64 ones are source installs, so they runcore.autocrlf=falseand the cutoff.core.autocrlf=falsewrites the same CRLF files astrueon Windows (core.eolis native there) was checked on Linux withcore.eol=crlfand Flutter's.gitattributes, not on Windows.Squash merge is the only option here, so the PR title becomes the commit title.