Jump to content

User:Legoktm/rwb

From Wikitech

RustWikiBrowser, like AWB but in the browser and backed by Rust/mwbot-rs. Basic workflow is input a list of pages, operate on them, human review and save.

Input list

  • Defer to PetScan or Quarry. Eventually implement common ones or just wrap PetScan.

Operate on them

  • Provide a built-in regex find/replace on wikitext option for simpleish things.
  • Allow users to operate on Parsoid HTML by writing a Rust function that is compiled to WASM and executed in-browser. Assuming the user trusts the code they wrote, does execution need to be sandboxed? Can you attack other users by just executing WASM/JS? I would nope not.
    • Compilation will need some level of isolation, to prevent users from executing code server-side at compile time via macros.

Human review

  • Show a diff, allow adjusting the edit summary, mark as minor, etc.
  • Save goes into a queue so we respect rate limits.

Social

  • Just like Quarry, the operation of a job (input -> operate -> review) should all be publicly recorded and viewable. Most importantly it needs to be forkable so people can remix and compose jobs, building off others' work.
    • Common code patterns + tasks should eventually be added to RWB itself, a "standard library" of sorts
    • 0xDeadbeef says we could have the app being stateless and theoretically all in WASM (except T322944).
      • We could just store the state on wiki pages. Lets us defer any moderation, etc. to standard wiki processes.