Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: raystack/chronicle
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.12.1
Choose a base ref
...
head repository: raystack/chronicle
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.12.2
Choose a head ref
  • 6 commits
  • 16 files changed
  • 2 contributors

Commits on Jun 1, 2026

  1. fix: resolve folder slugs to page data in /api/page endpoint (#93)

    * fix: resolve folder slugs to page data in /api/page endpoint
    
    Folder slugs like /docs returned 404 from the page API since no page
    exists at that exact path. Extract resolvePageAndSlug into tree-utils
    and reuse it in both the API endpoint and SSR entry, eliminating
    duplicate redirect resolution logic.
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    
    * fix: wrap resolvePageAndSlug in try/catch to return null on error
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    
    * refactor: destructure resolvePageAndSlug output in page API
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    
    * fix: lazy-import source.ts in resolvePageAndSlug to fix test failure
    
    import.meta.glob in source.ts is Vite-only and breaks bun test when
    imported at top level from tree-utils.ts.
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    
    * refactor: static import config and version-source, only lazy-import source
    
    Only source.ts needs lazy import due to import.meta.glob.
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    
    * fix: address PR review comments for resolvePageAndSlug
    
    - Accept deps as params instead of dynamic import and internal loadConfig
    - Pass already-resolved version from callers instead of re-deriving
    - Use resolved slug for nav/frontmatter/embeddedData in SSR (fix stale pageSlug)
    - Remove bare catch that swallowed all errors
    - Remove redundant inline type annotations
    - Add tests for resolvePageAndSlug (happy path, folder fallback, not found, draft)
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    
    ---------
    
    Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
    rsbh and claude authored Jun 1, 2026
    Configuration menu
    Copy the full SHA
    ddda8c2 View commit details
    Browse the repository at this point in the history

Commits on Jun 2, 2026

  1. ci: add Windows test job (#113)

    * ci: add Windows test job to CI pipeline
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    
    * ci: add smoke tests for dev, build, and start commands on Ubuntu and Windows
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    
    * fix: use node-process runner for nitro dev on Windows
    
    node-worker runner fails on Windows due to Nitro 3 beta + Vite 8
    environment API incompatibility. Fallback to node-process runner
    which uses child process instead of worker threads.
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    
    * chore: add comment explaining Windows dev runner workaround
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    
    * ci: add macOS to smoke test matrix
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    
    ---------
    
    Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
    rsbh and claude authored Jun 2, 2026
    Configuration menu
    Copy the full SHA
    005c8eb View commit details
    Browse the repository at this point in the history

Commits on Jun 3, 2026

  1. perf: reduce initial HTML payload by 30KB (#114)

    * perf: reduce initial HTML payload by 30KB
    
    - Strip unused fields ($ref, $id, description, root) from page tree
      before embedding in __PAGE_DATA__ — 54.5% tree size reduction
    - Pre-filter tree by version and content dir server-side instead of
      embedding full tree and filtering on client
    - Add Cache-Control headers to /api/page endpoint (1h browser, 24h CDN)
    
    Measured on 209-page site:
      __PAGE_DATA__: 57KB → 27KB
      Total HTML: 167KB → 136KB
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    
    * revert: remove cache-control from /api/page
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    
    * test: add tests for compactTree
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    
    * fix: default empty array for buildApiPageTree specs param
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    
    * fix: preserve separator name/icon in compactTree
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    
    * refactor: add explicit base case in compactNode for leaf nodes
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    
    * test: add compactLeaf tests for page, separator, and folder index
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    
    * fix: add try/catch to SSR fetch handler
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    
    * fix: styled 500 error page template with dark mode support
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    
    * fix: plain 500 error page template without CSS
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    
    * refactor: extract errorResponse helper for SSR error pages
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    
    * style: multi-line error response template for readability
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    
    ---------
    
    Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
    rsbh and claude authored Jun 3, 2026
    Configuration menu
    Copy the full SHA
    5ec5fa1 View commit details
    Browse the repository at this point in the history
  2. fix: use endpoint templates in metrics labels (#115)

    * fix: use endpoint templates instead of paths in metrics labels
    
    Prevents high-cardinality metric labels in Prometheus by mapping
    request paths to endpoint templates (e.g., /docs/:slug, /apis/:slug).
    API routes keep their exact path (/api/page, /api/search).
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    
    * refactor: extract ROUTES constants for endpoint templates
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    
    * refactor: rename API/APIS routes to API_INTERNAL/API_PROXY
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    
    * fix: rename API_PROXY to API_REFERENCE for /apis/ route
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    
    * test: add toEndpoint tests for metric route templates
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    
    * fix(ci): use in-process Nitro runner for Windows dev smoke test
    
    node-process runner uses fork() + IPC which is flaky on Windows CI
    runners — child process sometimes never sends ready signal, causing
    health check to hang until job timeout.
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    
    ---------
    
    Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
    rsbh and claude authored Jun 3, 2026
    Configuration menu
    Copy the full SHA
    2f0de1a View commit details
    Browse the repository at this point in the history
  3. fix: add skeleton loader for API page first load (#116)

    API pages showed blank screen while specs were being fetched.
    Add two-column content skeleton and sidebar skeleton matching
    the API page layout, using the existing isLoading state from
    PageContext.
    
    Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
    rsbh and claude authored Jun 3, 2026
    Configuration menu
    Copy the full SHA
    06013f3 View commit details
    Browse the repository at this point in the history
  4. feat: add structured OTel request logs with source IP (#117)

    Adds OpenTelemetry SDK logs to the telemetry plugin, emitting structured
    log records to stdout for every HTTP request. Each log includes
    client.address (from x-forwarded-for/x-real-ip/remoteAddress), method,
    route, status code, and duration.
    
    Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
    rsbh and claude authored Jun 3, 2026
    Configuration menu
    Copy the full SHA
    86cbba0 View commit details
    Browse the repository at this point in the history
Loading