Repository navigation
Conversation
Cloudflare PreviewURL: https://effectwebsite-websiteworker-pr-1546-l3lnpx2isrlraogh.matechs.workers.dev Built from commit 5de1449. This comment updates automatically with each deployment. |
f15u
force-pushed
the
add-changelog
branch
3 times, most recently
from
September 18, 2026 00:51
70fa69b to
0e1f80f
Compare
f15u
marked this pull request as ready for review
September 24, 2026 06:51
# Conflicts: # apps/web/astro.config.ts # apps/web/src/pages/api/search.ts # packages/mixedbread/src/Mixedbread.ts
Preview stores carry an expiresAfter TTL and Mixedbread answers retrieveStore with 422 "Store with name ... has expired" instead of 404. Only NotFoundError was caught, so alchemy plan crashed in diff, read, reconcile, and delete paths. Add isExpired/isGone helpers and use them for all retrieve/delete fallbacks so an expired store is recreated like a missing one.
…reate Preview stores combined a fixed per-PR name with a 7-day idle TTL, but Mixedbread rejects every operation on expired records (422) while the name stays reserved (409 on create) with no API purge path. Any PR idle over 7 days broke all its future preview deploys unrecoverably. Drop expiresAfter from preview stores; the preview workflow already destroys the stack on PR close, which deletes the store. Harden the provider for the transition and for races: - treat expired-store 422s as gone on every retrieve/delete path, - after conflict-delete, wait for the name to free before recreating and fail with a clear message if it stays reserved, - retry copy without tags when the key is scope-restricted (403) instead of falling back to an empty store.
A scope-restricted key answers 403 "Missing the read scope for this store" where an admin key would 404, so a purged store is indistinguishable from an out-of-scope one. Treat that narrow 403 as gone on retrieve/delete paths; if the name is actually taken, create still 409s and the conflict path reports it.
The verifier resolved every API link to `<path>/index.html`, so links to `changelog.xml` threw ENOTDIR and crashed the step. When no page exists, accept the link if it points at a file, and treat ENOTDIR as missing. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
A run that copied a store but failed before saving state left the store under its name while state still pointed at an older, deleted store. The next run tried to copy again, hit a 409, logged a misleading fallback to an empty store, and only recovered through createStore's conflict handler. Look the store up by name when the stored id is gone, and resolve a 409 on copy the same way as one on create. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
A scope-restricted key can be allowed to write a store's fields but not its tags. Retry the update without tags instead of failing the deploy, and fail with a key-scope message when that is denied too.
Make the version the main item and mute the label and date. Replace the bare link with a full-width menu row with hover and focus fill.
Add a muted Latest badge tone and a latest flag on the version nav.
Changesets lists only patch notes for a stable release cut after a pre-release series, so effect@4.0.0 had no Major Changes heading. Flag any stable X.0.0 release that has earlier history.
This reverts commit d56aa25.
Render changelog headings with the docs rehypeHeadingIds and rehypeHeadingLinks plugins instead of a duplicated copy. Replace ChangelogBadge with ApiBadge, and label the sidebar breaking dot.
# Conflicts: # packages/alchemy-mixedbread/src/VectorStore.ts
Search asked Mixedbread for 20 results across every version and source, then hid the ones outside the selected version or chip. About a third of the slots went to hidden v3 pages, and a chip such as in:changelog could only hide results already fetched. The selected version and result group now narrow the search itself. A chip or View all runs one search for that group. Chips lose their counts, which came from the mixed list. The other version is searched only when the selected one returns nothing.
Posts about one docs version carry version: v3 or v4 in their frontmatter. Search hides a post from the other version and keeps unmarked posts in both. Release posts, v4 recaps, Module of the Week and This Week in Effect issues from 2026-02-18 on are v4. Earlier issues, Effect 2 and 3 releases, Schema releases, the 3.20 security update, effect-ai and from-react-to-effect are v3.
# Conflicts: # apps/web/astro.config.ts # apps/web/src/content.config.ts
…red notes Each changelog chunk starts with the package, version and release date. Packages released in lockstep repeat the same notes, so search lists one hit per set of notes and names the other packages. A changelog-only search asks for 40 results to keep enough distinct releases after the collapse. Also marks This Week in Effect 141 and Module of the Week 6 as v4.
Nonsense queries scored under 0.08 and real ones above 0.4, so results under 0.1 are dropped and the empty state shows. The other-version lookup on empty results is gone. A single chip with no results shows the empty state too.
Docs and blog were uploaded as Markdown files that Mixedbread split itself. For 74 of 426 files it did not read the frontmatter, so those pages had no search metadata: the dialog dropped their chunks and the version filter excluded them. 38% of docs and blog hits were frontmatter or section-list chunks, and Module of the Week posts were never indexed. Each page is now uploaded as chunks split at h2 and h3, with the page title, breadcrumbs and anchors as chunk metadata. Every chunk starts with the page title and context. A page overview chunk replaces the frontmatter chunk. The version filter uses file metadata, and the Mixedbread CLI sync is gone. Files from the old upload are deleted after the new ones are in.
A full upload of 100 files at once hit the write limit, and the client gave up after 2 retries. Uploads and deletes now run 20 at a time, and the client retries a 429 up to 8 times, waiting the time the API asks for.
This branch has not been deployed
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.
Type
Description
Related