)]}'
{
  "log": [
    {
      "commit": "9abbf92a1c58300005971d7f89b301620d59e883",
      "tree": "b2170fdb5383543e727536c2dc121a9914f6a8a6",
      "parents": [
        "86b56862f8d3e192646a17548ef5294582c31f8f"
      ],
      "author": {
        "name": "Sean McCullough",
        "email": "banksean@gmail.com",
        "time": "Fri Apr 18 13:17:38 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 18 13:17:38 2025 -0700"
      },
      "message": ".github/workflows: use ubuntu-latest (#2)\n\n"
    },
    {
      "commit": "86b56862f8d3e192646a17548ef5294582c31f8f",
      "tree": "d0235f3f56695de8e6281ba3f57a663847204f33",
      "parents": [
        "f5bb3d3f1aa33e2a066c4139675f096f73c1f9d4"
      ],
      "author": {
        "name": "Sean McCullough",
        "email": "banksean@gmail.com",
        "time": "Fri Apr 18 13:04:03 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 18 13:04:03 2025 -0700"
      },
      "message": "loop/webui: swtich to web components impl (#1)\n\n* loop/webui: swtich to web components impl\n\nThis change reorganizes the original vibe-coded\nfrontend code into a structure that\u0027s much\neasier for a human to read and reason about,\nwhile retaining the user-visible functionality\nof its vibe-coded predecessor. Perhaps most\nimportantly, this change makes the code testable.\n\nSome other notable details:\n\nThis does not use any of the popular large web\nframeworks, but instead follows more of an\n\"a la carte\" approach: leverage features\nthat already exist in modern web browsers,\nlike custom elements and shadow DOM.\n\nTemplating and basic component lifecycle\nmanagement are provided by lit.\n\nState management is nothing fancy. It\ndoesn\u0027t use any library or framework, just\na basic \"Events up, properties down\"\napproach.\n\n* fix bad esbuild.go merge\n\n* loop/webui: don\u0027t bundle src/web-components/demo\n\n* loop/webui: don\u0027t \u0027npm ci\u0027 dev deps in the container\n\n* rebase to main, undo README.md changes, add webuil.Build() call to LaunchContainer()"
    },
    {
      "commit": "f5bb3d3f1aa33e2a066c4139675f096f73c1f9d4",
      "tree": "186963b48527831888af9054c5e400c9198297de",
      "parents": [
        "8a617cb963b73d6dd38b44289720b1808278f9b7"
      ],
      "author": {
        "name": "Sean McCullough",
        "email": "banksean@gmail.com",
        "time": "Fri Apr 18 10:47:59 2025 -0700"
      },
      "committer": {
        "name": "Sean McCullough",
        "email": "banksean@gmail.com",
        "time": "Fri Apr 18 10:57:48 2025 -0700"
      },
      "message": "dockerimg: make sure webui build exists before copying it\n"
    },
    {
      "commit": "8a617cb963b73d6dd38b44289720b1808278f9b7",
      "tree": "7d1a040d452c4e7aad460758a9b60d53d71a69f6",
      "parents": [
        "8bff16a56b85ae53977350984c3376b8a2eff989"
      ],
      "author": {
        "name": "David Crawshaw",
        "email": "david@zentus.com",
        "time": "Fri Apr 18 01:28:43 2025 -0700"
      },
      "committer": {
        "name": "David Crawshaw",
        "email": "david@zentus.com",
        "time": "Fri Apr 18 01:28:44 2025 -0700"
      },
      "message": "dockerimg: reuse a cached gopath for cross compiling\n\nAlso build using sources in the currently checked out sketch.dev go\nmodule if sketch is invoked inside one.\nThis is useful when develping sketch.\n"
    },
    {
      "commit": "8bff16a56b85ae53977350984c3376b8a2eff989",
      "tree": "5b7e94021dda0c9adc7b585ea5b150f823fc9d0a",
      "parents": [
        "be10fa9661f7382453dd1bf9b63eb3615c48e2e7"
      ],
      "author": {
        "name": "David Crawshaw",
        "email": "david@zentus.com",
        "time": "Fri Apr 18 01:16:49 2025 -0700"
      },
      "committer": {
        "name": "David Crawshaw",
        "email": "david@zentus.com",
        "time": "Fri Apr 18 01:17:59 2025 -0700"
      },
      "message": "webui, dockerimg: store the webui assets in a zip and cp them into the container\n"
    },
    {
      "commit": "be10fa9661f7382453dd1bf9b63eb3615c48e2e7",
      "tree": "d147e67682c51b2b66d562bf4271edb513064609",
      "parents": [
        "b9eaef5da7b64da01637bb4fe60bea43bba75ede"
      ],
      "author": {
        "name": "David Crawshaw",
        "email": "david@zentus.com",
        "time": "Fri Apr 18 01:16:00 2025 -0700"
      },
      "committer": {
        "name": "David Crawshaw",
        "email": "david@zentus.com",
        "time": "Fri Apr 18 01:17:59 2025 -0700"
      },
      "message": "dockerimg: mkdir .cache in the base template and rebuild when the template changes\n"
    },
    {
      "commit": "b9eaef5da7b64da01637bb4fe60bea43bba75ede",
      "tree": "3a6cea0c5dc448c3a817bfe262166e8fd242f401",
      "parents": [
        "993a3fcbad8df15e5a735798d260316350ce151f"
      ],
      "author": {
        "name": "David Crawshaw",
        "email": "david@zentus.com",
        "time": "Thu Apr 17 15:23:18 2025 -0700"
      },
      "committer": {
        "name": "David Crawshaw",
        "email": "david@zentus.com",
        "time": "Thu Apr 17 15:23:19 2025 -0700"
      },
      "message": "dockerimg: set GOTOOLCHAIN\u003dauto for cross compiling\n\nWithout this, if a user sets GOTOOLCHAIN\u003dlocal in their host env the\nbuild will fail.\n"
    },
    {
      "commit": "993a3fcbad8df15e5a735798d260316350ce151f",
      "tree": "0de32b37978c0cffc9f5a0fdb14173b2838a3f42",
      "parents": [
        "69c67317a8730d2573689b56a98949a5e4e956c9"
      ],
      "author": {
        "name": "David Crawshaw",
        "email": "david@zentus.com",
        "time": "Thu Apr 17 13:51:45 2025 -0700"
      },
      "committer": {
        "name": "David Crawshaw",
        "email": "david@zentus.com",
        "time": "Thu Apr 17 13:51:45 2025 -0700"
      },
      "message": "dokerimg: clean up temp dir\n"
    },
    {
      "commit": "69c67317a8730d2573689b56a98949a5e4e956c9",
      "tree": "79c2e12800fc7bb513d038ed6b5926d522aea96b",
      "parents": [
        "2e463fb649fcff14d4025ddb91f630a98e7da526"
      ],
      "author": {
        "name": "David Crawshaw",
        "email": "david@zentus.com",
        "time": "Thu Apr 17 13:42:00 2025 -0700"
      },
      "committer": {
        "name": "David Crawshaw",
        "email": "david@zentus.com",
        "time": "Thu Apr 17 13:42:00 2025 -0700"
      },
      "message": "dockerimg: fix cross compile command\n"
    },
    {
      "commit": "2e463fb649fcff14d4025ddb91f630a98e7da526",
      "tree": "0e86854d80d2759a913870655f13226c31f9d30c",
      "parents": [],
      "author": {
        "name": "Earl Lee",
        "email": "earl.lee@sketch.dev",
        "time": "Thu Apr 17 11:22:22 2025 -0700"
      },
      "committer": {
        "name": "Earl Lee",
        "email": "earl.lee@sketch.dev",
        "time": "Thu Apr 17 11:35:33 2025 -0700"
      },
      "message": "Initial commit\n"
    }
  ]
}
