Repository navigation
fix(buckaroo): check the server and renderer versions at runtime and show a banner on a mismatch - #317
Open
paddymul wants to merge 3 commits into
Open
fix(buckaroo): check the server and renderer versions at runtime and show a banner on a mismatch#317paddymul wants to merge 3 commits into
paddymul wants to merge 3 commits into
Conversation
…erer versions at runtime check_versions compares the running server, node_modules, the served dist and both source pins against the pinned versions. GET /api/version should carry the report. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…mit passes ruff and fails by test With the module absent ruff sorts tallyman_core differently, so the first tests-only commit failed the ruff job and the test jobs were skipped. The file now imports the module on call and every test fails on its own against the pre-fix source. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…show a banner on a mismatch check_versions compares the running server, node_modules, the served dist and both source pins against the pinned versions. The companion logs each mismatch at startup, GET /api/version carries the report, the SPA shows a banner from it, and the vite build refuses a stale node_modules and writes dist/build-info.json. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
A
buckaroo-js-coreolder than the Buckaroo server does not send?caps=stats_updateon its WebSocket URL. The server then computes every summary stat before it sends the first row (stats_wire.build_state_message_for), with no error. Oncamera_select_columns_dated(23.9 M rows) the first rows arrived 6.5 s after the load instead of about 0.2 s. The cause wasnode_modulesholding 0.15.6 whilepackage.jsonandpnpm-lock.yamlpin 0.15.10, and adistbuilt from it.pnpm installhad not been rerun after the bump.tests/test_buckaroo_version_lockstep.pyalready asserts the pins and the installed packages, but only under pytest. The companion's startup,pnpm buildand the restart script never run it, anddistcan lagnode_moduleseven whennode_modulesis right.Fix
tallyman_core/buckaroo_versions.py:check_versions(server_running)compares the running server (/health),node_modules, the renderer baked intodist, and both source pins against the pins. Each mismatch is a sentence with the command that fixes it. It never raises.buckaroo_lifecycle: records the version/healthreports and logs an error per mismatch when Buckaroo starts.GET /api/versioncarries the report underbuckaroo.main.tsxshows a red banner above the page whenbuckaroo.problemsis not empty (in the page flow, so it pushes the page down rather than covering the nav).vite.config.ts: the build throws if the installed renderer is not the pinned one, and writesdist/build-info.jsonwith the renderer version it bundled. Adistwithout that file is reported too.Checked by hand: a staged
package.jsonpin of 0.15.11 aborts the build with the message and leavesdistalone; abuild-info.jsonstamped 0.15.6 produces the banner in headless Chromium and/api/versionlists the problem.Not in this PR: the restart skill's rebuild decision still compares only the git revision.
🤖 Generated with Claude Code