Skip to content

Surface the sitemap, single-file and change-report options in the GUI - #77

Merged
xroche merged 2 commits into
masterfrom
feat/gui-sitemap-singlefile-changes
Jul 27, 2026
Merged

Surface the sitemap, single-file and change-report options in the GUI#77
xroche merged 2 commits into
masterfrom
feat/gui-sitemap-singlefile-changes

Conversation

@xroche

@xroche xroche commented Jul 27, 2026

Copy link
Copy Markdown
Owner

The engine gained --sitemap, --single-file and --changes. This bumps the vendored snapshot to core master and adds a checkbox for each, on the same tab the reference GUI uses: Spider, Build, Log/Index/Cache.

The three go out as their own argv token instead of being packed into the compacted -%… string, unlike every other boolean here. -%m and -%Z each have a two-letter variant (-%mu takes a URL, -%Zs takes a size), and the engine reads the packed string one character at a time, so the next flag's first letter would be taken for that variant and swallow an argument. On Spider the neighbour is -u, on Build it is -s.

Android.mk lists engine sources by hand, so the bump also registers htssitemap.c, htssinglefile.c, htschanges.c and htscmdline.c. The last one came with an unrelated core change and would have broken the link by itself, confirmed by symbol-checking libhttrack.so.

The tests cover the emitter and were checked against three broken versions of it. The table wiring behind it has no test seam, because android.util.Pair in the static tables throws under the stub android.jar, so that part rests on the build and on trying the checkboxes.

xroche and others added 2 commits July 27, 2026 08:12
The engine gained --sitemap, --single-file and --changes; bump the vendored
snapshot to core master and put a checkbox on each of the tabs the reference
GUI uses (Spider, Build, Log/Index/Cache).

The three go out as their own argv token rather than packed into the compacted
-%… string: -%m and -%Z each have a two-letter variant (-%mu, -%Zs), and the
engine scans that string one character at a time, so a neighbouring flag's
first letter would be read as the variant and swallow an argument.

Android.mk lists engine sources explicitly, so the bump also has to register
htssitemap.c, htssinglefile.c, htschanges.c and htscmdline.c.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0163vUGoRjjxBmt67HhHQ7ps
Signed-off-by: Xavier Roche <roche@httrack.com>
The pair of tests passed against three broken emitters: one ignoring its
constructor argument, one also packing into the flag string (guarded on a
non-empty buffer, which the empty test fixture never tripped), and one
emitting only on the first call. Assert every token, seed the buffer the way
buildCommandline() does, and emit twice, since the mappers are static
singletons. All three mutations now fail the suite.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0163vUGoRjjxBmt67HhHQ7ps
Signed-off-by: Xavier Roche <roche@httrack.com>
@xroche
xroche merged commit 8817745 into master Jul 27, 2026
5 checks passed
xroche added a commit that referenced this pull request Jul 27, 2026
Ships the sitemap, single-file and change-report options (#77). Engine
HTTRACK_VERSIONID is still 3.49.14, so only the last part moves.


Claude-Session: https://claude.ai/code/session_0163vUGoRjjxBmt67HhHQ7ps

Signed-off-by: Xavier Roche <roche@httrack.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
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