Repository navigation
chore(deps)(deps): bump nom from 7.1.3 to 8.0.0 - #27
dependabot[bot] wants to merge 1 commit into
Conversation
5966753 to
d52632d
Compare
…rash (#299) Clicking a session crashed the whole view with `TypeError: Cannot read properties of undefined (reading 'length')` (at React's areHookInputsEqual). Root cause: a Rules-of-Hooks violation inside assistant-ui's `useThreadViewportAutoScroll` → `useOnScrollToBottom` (`ThreadPrimitive.ViewportScrollable`) — hook #27 flips between useCallback and useEffect across renders, so React reads `.length` of an undefined deps array (cf. react/react#18372). Introduced by the dep bump in #248 (0.14.14 → 0.14.20); the regression window is 0.14.19–0.14.20, where assistant-ui added React Compiler precompilation (which emitted the conditional hook). Fixed upstream by 0.14.21+. Note: this only reproduces in a real browser — jsdom never performs the layout/scroll re-render that triggers the hook-order flip, so the existing vitest render test passes on the broken version (verified). A real regression guard needs browser-based testing (the planned web/e2e Playwright net). Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
@dependabot recreate |
Bumps [nom](https://github.com/rust-bakery/nom) from 7.1.3 to 8.0.0. - [Changelog](https://github.com/rust-bakery/nom/blob/main/CHANGELOG.md) - [Commits](rust-bakery/nom@7.1.3...8.0.0) --- updated-dependencies: - dependency-name: nom dependency-version: 8.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
d52632d to
80a4c51
Compare
|
✅ engrams review — complete. 1 finding posted. · View details |
| webpki-roots = "1" | ||
| tls-parser = "0.12" | ||
| nom = "7" | ||
| nom = "8" |
There was a problem hiding this comment.
🎯 Functional Correctness · CRITICAL — nom 7→8 bump breaks compilation of engram-egress-proxy (two nom versions collide in sni.rs)
WHAT: Bumping the workspace nom dependency from 7 to 8 makes engram-egress-proxy resolve nom to nom 8.0.0, but crates/engram-egress-proxy/src/sni.rs:69 matches a value produced by tls_parser, which is still pinned to nom 7.1.3. The Err(nom::Err::Incomplete(_)) pattern now names nom 8's Err type while the scrutinee is a nom 7 Err. Because two different crate versions produce two distinct, non-interchangeable types, this is a hard type-mismatch and the crate no longer compiles.
WHEN: Every build. sni.rs line 41 does match parse_tls_plaintext(&buf) { ... }. parse_tls_plaintext comes from tls_parser 0.12.2, whose error type is nom7::Err<...> (Cargo.lock keeps tls-parser on nom 7.1.3). Line 69's pattern Err(nom::Err::Incomplete(_)) resolves nom:: to engram-egress-proxy's own direct dependency, which this PR just moved to nom 8.0.0 (Cargo.toml:269 + nom.workspace = true in the crate manifest). Before this PR both were nom 7.1.3, so the arm type-checked; after it, the arm's expected type (nom8::Err) no longer matches the scrutinee's type (nom7::Err), so cargo check -p engram-egress-proxy fails and the whole workspace build/CI breaks. engram-egress-proxy is the sole first-party crate using nom (only sni.rs references it), so it is the single point of breakage.
I could not run cargo in this environment (no toolchain present), so I confirmed this by static analysis of the manifests, Cargo.lock, and the one source site — not by an actual compile.
| nom = "8" | |
| Keep the direct `nom` dependency of `engram-egress-proxy` on the same major version that `tls-parser` uses (`nom = "7"`), or replace the `nom::Err::Incomplete` reference in `sni.rs` with `tls_parser`'s re-exported nom type (e.g. match on `tls_parser::nom::Err::Incomplete`) so both sides use one nom version. Only bump `nom` to 8 once `tls-parser` also moves to nom 8. |
Deferred — nom 8 cannot enter this tree until
|
|
@dependabot ignore this major version |
|
Sorry, only users with push access can use that command. |
engram-egress-proxy named nom::Err::Incomplete in one match arm of the SNI peek. That single path kept nom as a direct workspace dependency, and it blocked Dependabot's nom 8 bump (#27) forever: tls-parser is still on nom 7, so a direct nom 8 pin can never match the error type tls-parser returns. tls-parser re-exports nom's Err type. Match tls_parser::Err::Incomplete instead, and remove the direct dependency. nom stays in the tree only as tls-parser's own dependency, so the two can never drift apart again. Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting If you change your mind, just re-open this PR and I'll resolve any conflicts on it. |
Bumps nom from 7.1.3 to 8.0.0.
Changelog
Sourced from nom's changelog.
... (truncated)
Commits
2cec1b3v8.0.0 (#1797)7afe3a8Merge pull request #1793 from rust-bakery/beta.184af9e7nom 8.0.0-beta.1555eab9Merge pull request #1792 from rust-bakery/nom-language6a25312fix nom-language testsbcc1b0cmove the left_assoc combinator to nom-language9b0e18cImplement new parserleft_assoc. (#1775)cb3b5b8move precedence parsing to nom-languagef1abba6fix precedence parsing6c12469Precedence parsing (#1362)