Uh oh!
There was an error while loading. Please reload this page.
Remove install-time binary download; retire the dead log viewer - #180
Merged
Conversation
`postinstall` ran `bundle-log-viewer`, which fetched `releases/latest/download/smooai-log-viewer-<platform>-<arch>` and chmod 0755'd it on every `npm i @smooai/logger` — unpinned (`latest`, not the installed version), unverified (no checksum or signature), with a silent `cargo build` fallback. Python's `poe build`/`poe publish` did the same. The binary was the egui viewer that `log-viewer/DEPRECATED.md` declared gone as of `studio-v0.1.0`, superseded by SmooAI Observability Studio in SmooAI/observability (`desktop/`, crates verified present). Removes the hook, both bundle scripts, the npm bin and PyPI console script and their wrappers, the `log-viewer/` crate source, and `build-log-viewer.yml`. Also untracks 97 MB of build artifacts (`python/log-viewer/*` binaries, `smooai-logger-3.1.2.tgz`) and gitignores them, drops the phantom `log-viewer/README.md` from `files`, and drops the unused `@oclif/core` devDep. The Python console script was dead on arrival anyway: it resolved the binary to `<site-packages>/log-viewer/...`, but the bundler wrote it to `python/log-viewer/` — outside `python/src/`, so hatchling never put it in the wheel. `log-viewer/DEPRECATED.md` stays as the tombstone. Logging APIs unchanged. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0152bbE1veqfG1SVJdyLCBxC
🦋 Changeset detectedLatest commit: 13e1028 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
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 freeto 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
package.jsonhad"postinstall": "pnpm run log-viewer:bundle". That script downloadsand
chmod 0755s it — on everynpm i @smooai/logger. It is:latest, not the version being installed, so what lands is whatever the newest release happens to carry;cargo build --release, which is a no-op when cargo is absent, so a failed fetch looks like success.Python did the same from
poe build/poe publish(python/scripts/bundle-log-viewer.py).And the binary being fetched is the deprecated egui viewer.
log-viewer/DEPRECATED.mdhas said sincestudio-v0.1.0that it is gone, superseded by SmooAI Observability Studio in SmooAI/observability (desktop/). Meanwhilebuild-log-viewer.ymlstill built it for four platforms on every release.What this does
postinstallhook and bothbundle-log-viewerscripts.smooai-log-viewernpmbin+ PyPI console script and their wrappers (src/cli/log-viewer.ts,python/src/smooai_logger/cli/).log-viewer/crate source, itsCargo.toml/Cargo.lock/assets, andbuild-log-viewer.yml; dropslog-viewer:*frombuild/check-all/format/lint/test/typecheckand from the Rust cache workspaces in both workflows.python/log-viewer/linux-x64/smooai-log-viewer(44 MB),python/log-viewer/darwin-arm64/smooai-log-viewer(42 MB),smooai-logger-3.1.2.tgz(11 MB, stale in a 4.3.0 repo) — and gitignores the patterns.log-viewer/README.mdfromfiles(that file never existed) and the unused@oclif/coredevDep.log-viewer/DEPRECATED.mdstays as the tombstone;README.mdand it are updated to say the crate is now deleted rather than merely superseded. No logging API changes in any language.Deleting the crate — confirmed
The replacement genuinely covers it:
SmooAI/observabilityhasdesktop/withobservability-studio-app,observability-studio-client,observability-studio-theme, and thestudio-v0.1.0tag exists. Source stays recoverable viagit log -- log-viewer/src.Bonus finding
The Python console script was dead on arrival independent of all this:
find_binary()resolved to<site-packages>/log-viewer/<plat>-<arch>/…, but the bundler wrote topython/log-viewer/— outsidepython/src/, so hatchling never included it in the wheel. Any user who ransmooai-log-viewerfrom PyPI got the "No binary found" error.Judgment calls
minor, notmajor. Removing a publishedbinis arguably breaking, but the library API is untouched and the bin launched an app upstream already declared deleted. A major here would also force the Go module path to/v5immediately, undoing the/v4fix landing next. Say the word and I'll re-cut it as major.HEADonly, so the repo stays heavy to clone (~100 MB of dead blobs in history). Agit filter-repo+ force-push would fix that but rewrites published refs — your call, not mine.Verification
pnpm install(no download attempted),pnpm tsdown,tsc --noEmit,go build ./...all clean locally; full multi-language suite runs in PR checks.🤖 Generated with Claude Code
https://claude.ai/code/session_0152bbE1veqfG1SVJdyLCBxC