)]}'
{
  "log": [
    {
      "commit": "a002a23a60dcc21353681a887a90cd12867e7f44",
      "tree": "e554f73faa6681dec2cbee396f30b03b972ab66b",
      "parents": [
        "5ab8fb8dc17299df5d134d7a95f33d41b170f102"
      ],
      "author": {
        "name": "Josh Bleecher Snyder",
        "email": "josharian@gmail.com",
        "time": "Wed Jul 09 19:38:03 2025 +0000"
      },
      "committer": {
        "name": "Josh Bleecher Snyder",
        "email": "josharian@gmail.com",
        "time": "Wed Jul 09 14:37:14 2025 -0700"
      },
      "message": "webui: delete non-gzip\u0027d assets\n\nReduces webui assets from 83M to 16M.\nAlmost all browsers support gzip.\nFor those that don\u0027t, we provide on-the-fly decompression.\n\nCo-Authored-By: sketch \u003chello@sketch.dev\u003e\nChange-ID: sbc10790564044d6bk\n"
    },
    {
      "commit": "176de79e7d3d6a894babccc5d8dc8bb9bf133828",
      "tree": "bec096858c74a6a51774ccff398a613c7944c2db",
      "parents": [
        "d9f1337ec3317a60df50d8ba4eefb448473d62fa"
      ],
      "author": {
        "name": "Philip Zeyliger",
        "email": "philip.zeyliger@gmail.com",
        "time": "Mon Apr 21 12:25:18 2025 -0700"
      },
      "committer": {
        "name": "Philip Zeyliger",
        "email": "philip.zeyliger@gmail.com",
        "time": "Mon Apr 21 15:35:02 2025 -0700"
      },
      "message": "sketch: compress JS and CSS\n\nWe noticed that our JS bundles weren\u0027t compressed; let\u0027s compress them.\nSketch did most of the work here itself, but there\u0027s some nonsense\naround the fact that we pass a zip.Reader around, which can\u0027t seek.\nWe\u0027re probably doing more work than strictly necessary on the server side.\n\nAdd gzip compression for JS and source map files in esbuild\n\n- Added compression for .js and .js.map files in the esbuild Build() function\n- Gzipped files are created alongside the originals with .gz extension\n- This allows for compressed asset serving when supported by clients\n\nCo-Authored-By: sketch\n\nAdd support for serving pre-compressed JS and source map files\n\n- Created a custom HTTP handler for /static/ path\n- Handler checks if requested JS/JS.map files have gzipped versions\n- Serves gzipped files with proper Content-Encoding headers when available\n- Falls back to original files when compressed versions are not found\n- Client support for gzip encoding is verified through Accept-Encoding header\n\nCo-Authored-By: sketch\n\nExtend gzip compression to include CSS files\n\n- Added CSS files to the compression list alongside JS and source map files\n- Added debug output to show which files are being compressed\n- Updated error messages to reflect the inclusion of CSS files\n\nCo-Authored-By: sketch\n\nFix variable naming in Accept-Encoding header processing\n\n- Renamed \u0027header\u0027 variable to \u0027encoding\u0027 for better semantics when processing Accept-Encoding headers\n- Addresses gopls check issue in compressed file handler\n\nCo-Authored-By: sketch\n\nSimplify Accept-Encoding header processing\n\n- Simplified check for gzip support using strings.Contains()\n- More efficient approach than splitting and iterating\n- Addresses gopls efficiency recommendation\n\nCo-Authored-By: sketch\n\nExtract compressed file handler to separate package\n\n- Created a new package loop/server/gzhandler\n- Moved compressedFileHandler implementation to the new package\n- Renamed to Handler for better Go idioms\n- Updated loophttp.go to use the new package\n- Improved modularity and separation of concerns\n\nCo-Authored-By: sketch\n\nEnhance gzhandler and add test coverage\n\n- Updated gzhandler to handle all files except .gz files\n- Added comprehensive test suite for gzhandler\n- Removed debug print from esbuild.go\n- Tests different file types, browsers with and without gzip support\n- Tests directory handling\n\nCo-Authored-By: sketch\n\nFix \u0027seeker can\u0027t seek\u0027 error in gzhandler\n\n- Changed approach to read gzipped file into memory before serving\n- Avoids io.Seeker interface requirement for http.ServeContent\n- Fixes 500 error when serving compressed JavaScript files\n- Added missing io import\n\nCo-Authored-By: sketch\n"
    }
  ]
}
