5 of 6 standards met
Summary Add a flag to that writes a partial report with currently available CI results, then blocks on until CI completes, and re-runs the full analysis to produce the final report Refactor into a reusable function so it can be called twice (partial + final) Update the command to run the script with in the background, present the partial report immediately while CI is still running, then poll for completion with 5-minute timeouts How it works 1. launches in the background (1-minute Bash timeout) 2. The script writes the initial report (with whatever jobs have completed so far) and prints 3. The command polls for that message using with 20-second timeouts, then reads and analyzes the partial results 4. Meanwhile, the script blocks on until CI finishes, then re-runs the full analysis 5. After presenting the partial analysis, the command polls for the background script to complete using with 5-minute timeouts (repeating if needed) 6. When it finishes, the command re-reads the final report and analyzes any newly failed jobs Files changed โ Extracted from , added flag with blocking and re-analysis โ Updated workflow to use with background execution, poll for readiness (20s timeouts), and poll for final results (5-min timeouts) Test plan [ ] Run (no ) โ should behave identically to before [ ] Run โ should produce report and exit immediately (no waiting needed since CI is done) [ ] Run on a branch with in-progress CI โ should write partial report, block on , then write final report [ ] Run command โ should show partial results, then update with final results after CI completes
Repository: vercel/next.js. Description: The React Framework Stars: 138046, Forks: 30520. Primary language: JavaScript. Languages: JavaScript (55.3%), TypeScript (30%), Rust (13.3%), CSS (0.8%), MDX (0.5%). License: MIT. Homepage: https://nextjs.org Topics: blog, browser, compiler, components, hybrid, nextjs, node, react, server-rendering, ssg, static, static-site-generator, universal, vercel. Latest release: v16.1.6 (1mo ago). Open PRs: 100, open issues: 3299. Last activity: 44m ago. Community health: 87%. Top contributors: ijjk, timneutkens, sokra, vercel-release-bot, huozhi, Timer, kdy1, shuding, eps1lon, ztanner and others.
JavaScript
Last 12 weeks ยท 1022 commits
The toolbar was blocked on sourcemapping the stackframes for the "copy details button". This suspended the whole devtools which meant you couldn't even see the error Now we only block on sourcemapping when we actually copy. We can leverage now that devtools us using modern React. We're only blocking for up to 2s and then fallback to including the unsourcemapped stack. Before: https://github.com/user-attachments/assets/601c0aa5-fb3a-42ce-b41e-afff06c5aba2 After: https://github.com/user-attachments/assets/9d80b0c1-2346-421f-a4bc-d2e87753c46c
What Add support for multi-valued tables in . A multi-valued table allows multiple distinct values to be associated with a single key. Each family is independently configured as (existing behavior) or via the new enum. Why This will support the table (implemented in #88904), where keys will change to be _hashes_ instead of full values. This greatly decreases DB size and speeds up queries due to smaller key sizes, at the cost of hash collisions requiring multiple values per key. How API New enum ( / ) and per-family in for single-valued families (panics if called on multi-valued) for multi-valued families, returns โ stack-allocated for the common 0โ1 result case, heap-scales when needed and are unchanged โ the family kind controls dedup/compaction behavior Write path & compaction Single-valued (unchanged): last-write-wins per key Multi-valued: all distinct pairs are preserved; true duplicates (same key AND same value) are dropped during compaction Deletion inserts a tombstone that shadows all older values for that key across SST layers. Values written after the tombstone in the same batch are retained. in implements the three-step multi-value dedup: (1) stable sort by key, (2) prune pre-tombstone entries, (3) sort by and remove true duplicates this logic is shared by writes and compacion Read path Controlled by a const generic on the internal lookup methods Single-valued (): binary search, return _last_ match, stop This fixes a bug where we might return Deleted when there is a value in the SST depending on what the search algorithm found first Multi-valued (): scan all matching entries in the SST block, then continue to older SSTs. If a tombstone is found, stop searching older layers. Final read-path dedup ensures consistency across SSTs that haven't been compacted yet this is implemented as a simple sort/dedup, which is reasonable since we don't expect many duplicates, but this could be optimized if we expect large sets SST file changes New abstraction () for uniform entry handling for writing and compaction extended with path: scans backwards and forwards to find all matches Canonical value ordering () ensures deterministic sort and dedup when writing and compacting. Tests ~1500 lines of new tests covering: Basic multi-value get/put across batches and within batches Compaction preserving distinct values while dropping duplicates Deletion semantics: tombstone clears all prior values, no resurrection after GC Deduplication across SSTs and within single SSTs Edge cases: trailing deletes, interleaved batches, repeated compactions, 20+ values per key