comparison · c_9f1f40043211 (tommy-mor) vs c_b2cf41238f57 (tommy-mor)
Side A refactors duplicated XML formatting logic into a shared, tested module (thread_xml.rs) and adds real functionality (exposing delegate/principal on posts) used across CLI and server code, with proper escaping and unit tests. Side B merely trims/removes task definitions from a build config file, which is minor housekeeping with no functional impact and even removes test-running tasks.
Side A extracts shared thread XML formatting, unifies CLI/browser output, adds principal/delegate to ThreadItem and RPC, and includes escaping plus tests—real lasting API and design work. Side B only deletes/renames babashka tasks in bb.edn, which is minor config churn with little durable product value.
Side A introduces a shared thread_xml module used by both the CLI and browser copy output, reducing duplicated formatting logic, extends the RPC ThreadItem::Post with a delegate field, and adds principal/delegate XML attributes with escaping and tests. Side B is only a configuration cleanup that removes task definitions and renames a Babashka task, providing little lasting functional value.
comparison · c_b2cf41238f57 (tommy-mor) vs c_35dc6601c89d (tommy-mor)
Side B introduces a substantial, functional module (JsBuilder abstraction, theming, layout, breadcrumb rendering, link embedding logic, and tests) that provides real, lasting functionality to the codebase. Side A is a trivial config trim removing a few bb.edn tasks and renaming one, offering negligible lasting value compared to B's substantive feature work.
A only deletes/renames babashka tasks in bb.edn (config churn with no product logic). B adds a large, lasting HTML/UI module including JsBuilder, theme handling, layout shells, linkify/embeds, and related helpers that form core application behavior.
Side B adds a substantial new Rust module that introduces core application functionality, including theme handling, static asset serving, JavaScript response/building utilities, layout rendering, linkification, media embedding, routing exports, and associated helper logic and tests. Side A only removes two Babashka tasks from `bb.edn` and renames a remaining task from `walkthrough-fixture` to `fixture`, which is a small maintenance/configuration cleanup with limited lasting impact.