Cross-workspace correctness fixes and lint cleanup#155
Merged
Conversation
Bug fixes: - base/BPlusIndex: collect leaf IDs via authoritative tree descent instead of the post-COW-unreliable nextPageId sibling chain; normalize -0 → +0 on number deserialize. - base/Vec2.negate: avoid producing -0 for zero components. - base/SpatialHash.nearest: return null on empty set; honor maxDist as a hard ring-search cutoff. - base/formatByteSize: treat sub-1-byte values as "0 Bytes". - base/slugify: keep underscores as word separators. - logging/StreamReporter: rotate only after the first line and on >= maxBytes. - node/oidc: thread caller fetchImpl/headers/timeout/retry into JWKS retrieval via fetchWithOptions + createLocalJWKSet; bypass shared cache for custom headers too (confused-deputy/SSRF guard). - web-components/dialog-base: include self + parent chain when collecting inert ancestors. Lint/style: - eslint: scope scripts glob to **/scripts/**; relax namespace/empty-interface rules for generated react-types.ts. - Replace value-returning ternaries with if/else, let → const, function exprs → arrows; annotate intentional no-this-alias / empty-catch / require. - Drop stale react-hooks/exhaustive-deps disables. Tests: - Stub navigator/crypto via Object.defineProperty (getter-only on modern Node). - Mock phaser in GameObjectComponent test to avoid browser-global init. - Correct Color luminance (#767676 ≈ 0.1812), DisjointSet count, PageCache LRU expectations. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
package-lock.json only carried darwin-arm64 native binaries (written by a partial `npm install <pkg>` on macOS, which prunes non-host optional deps — npm/cli#4828). `npm ci` on the Linux CI runner then failed to install @rollup/rollup-linux-x64-gnu, breaking the build step. Regenerated via a clean install so all platform binaries (rollup, esbuild, sharp, swc, lightningcss, tailwind-oxide) are recorded. Also fixed 2 unhandled promise rejections in withTimeout.test.ts that would fail the test step once the build was unblocked: the `expect(p).rejects` assertion was attached after advancing fake timers, leaving p's rejection momentarily unhandled. Attach the assertion before advancing timers. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
taskforge's @toolcase/base + web-components deps are file:../ workspace siblings consumed from their gitignored built lib/, so context: taskforge left them unreachable and the Next build died with module-not-found. - Dockerfile: monorepo multi-stage build (npm ci links the file: deps, build base then web-components then taskforge); runtime stage mirrors Next's nested standalone layout (taskforge/server.js). - .dockerignore (root): excludes node_modules, published lib/ outputs, .next, examples/dist + carries over taskforge secret/state excludes (.workspace, .claude-accounts, *.db*, .env). Keeps taskforge/lib (source). - workflow: context: . + file: taskforge/Dockerfile; broaden paths to rebuild on base/web-components/lockfile changes.
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.
Bug fixes:
Lint/style:
Tests: