Skip to content

Update rustlabs#19

Merged
FaiThiX merged 3 commits intomasterfrom
update-rustlabs
Mar 11, 2026
Merged

Update rustlabs#19
FaiThiX merged 3 commits intomasterfrom
update-rustlabs

Conversation

@FaiThiX
Copy link
Owner

@FaiThiX FaiThiX commented Mar 11, 2026

Summary

This PR improves the external RustLabs refresh workflow and keeps it fully decoupled from runtime bot data.

RustLabs.js remains unchanged and still reads from src/staticFiles.
The refresh script now writes only intermediate output to src/external/rustlabs for manual post-processing.

Motivation

Refreshing RustLabs data became unreliable due to Cloudflare protection and recent markup changes (Blueprint/Mixing/Durability pages).
This PR makes refreshes more robust and prevents commit noise from generated files.

What Changed

  • Changed external refresh output target to src/external/rustlabs.
  • Added ignore rules for generated external refresh output.
  • Improved request diagnostics for HTTP/proxy/timeout/DNS failures.
  • Added Cloudflare session support via environment variables:
    • RPP_RUSTLABS_CF_CLEARANCE
    • RPP_RUSTLABS_COOKIE
  • Added proxy behavior controls:
    • default: ignore proxy
    • opt-in: RPP_RUSTLABS_USE_PROXY=true
  • Ensured JSON files are written only after a successful full run (no partial snapshots).
  • Hardened parsing against current RustClash structure changes:
    • Blueprint tab parsing improvements
    • Research type handling for iotable (Engineering Workbench, 210787554)
    • Durability row/quantity parsing tolerance improvements
    • Craft parsing now supports mixing tabs (teas, etc.)
    • Mixing/Crafting workbench recognition includes:
      • Mixing Table (1259919256)
      • Cooking Workbench (1456143403)
  • Moved playwright-core to devDependencies (not required for normal bot runtime installs).

Non-Goals

  • No automatic import from src/external/rustlabs into src/staticFiles.
  • No behavior change in RustLabs.js runtime loading.

Validation

  • Refresh without cookie now fails with explicit Cloudflare hints instead of a generic fetch error.
  • Refresh with a valid session can proceed and generate all rustlabs*.json under src/external/rustlabs.
  • Blueprint/Mixing data paths are parsed correctly for affected items (teas/pies/workbench variants).
  • Bot runtime remains unaffected because src/staticFiles and RustLabs.js are unchanged.

Notes for Reviewers

.

  • This script is an external maintenance tool and is intentionally separated from bot runtime data flow.

@FaiThiX FaiThiX merged commit 59f2194 into master Mar 11, 2026
4 checks passed
@FaiThiX FaiThiX deleted the update-rustlabs branch March 11, 2026 18:15
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