Skip to content

[Production] Release 2026-10-16 - #323

Merged
wasimxyz merged 3 commits into
productionfrom
staging
Oct 16, 2026
Merged

wasimxyz merged 3 commits into
productionfrom
staging

Conversation

@wasimxyz

Copy link
Copy Markdown
Member

No description provided.

wasimxyz and others added 3 commits October 16, 2026 10:02
* Retake the docs screenshots automatically and add 20 more

Adds `make docs-screenshots`, which seeds a separate local database, starts the
web app on its own port, and saves each screen as a light and a dark WebP file
for the docs site. A monthly GitHub Actions job runs it and opens a pull request
into staging, and can also be started by hand.

- The script lives in `web/scripts/docs-screenshots/`. Its list of screens is
  `shots.ts`, and the Claude desktop app screenshot stays manual and is listed
  there with its date.
- The seed steps moved into `web/scripts/seed-workspace.ts` so `db:seed` and the
  screenshot run share them.
- The docs site draws a browser frame around full-window screenshots and shows
  the light or dark image to match the reader's theme.
- 20 new screenshots are placed on the pages for tokens, instruments, watchers,
  manual uploads, qPCR and Aunty runs, integrations, feedback, and MCP sign-in.
- The README now uses the docs images.

The image files themselves are not in this commit.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Add retaken docs screenshots and remove the old PNGs

Adds the 33 screenshots as light and dark WebP files, and removes the hand-taken PNGs and the README copies they replace. The mcp.png screenshot stays.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Make window screenshots shorter and slim the browser frame's title bar

Window shots are 800px tall instead of 900px, with the run pages, qPCR, Aunty, integrations, and sign-in screens each trimmed too. Close-ups keep their size. The title bar is about 6px shorter. All screenshots are retaken.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
* Share search word handling between MCP indexes

Co-authored-by: Wasim Amiri <wasimxyz@users.noreply.github.com>

* Add search_changelog MCP tool and changelog entry links

Co-authored-by: Wasim Amiri <wasimxyz@users.noreply.github.com>

* Make search_docs and read_doc docs-only, and route change questions to search_changelog

Co-authored-by: Wasim Amiri <wasimxyz@users.noreply.github.com>

* Open the changelog from a link, as an accordion with a copy link button

Co-authored-by: Wasim Amiri <wasimxyz@users.noreply.github.com>

* Document changelog search and links, add changelog entry, regenerate snapshots

Co-authored-by: Wasim Amiri <wasimxyz@users.noreply.github.com>

* Keep the changelog filler-word test independent of changelog wording

Co-authored-by: Wasim Amiri <wasimxyz@users.noreply.github.com>

* Fix clipped changelog entries, drop date dividers, and shorten the header

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Wasim Amiri <wasimxyz@users.noreply.github.com>
* Add plan for returning to the requested page after sign-in

Co-authored-by: Wasim Amiri <wasimxyz@users.noreply.github.com>

* Format the sign-in return plan

Co-authored-by: Wasim Amiri <wasimxyz@users.noreply.github.com>

* Return to the requested page after sign-in

The proxy now passes the requested path and query to /login as callbackURL and
records the full address in a request header for the in-page sign-in box. A
shared helper checks that every return address is a path on this site.

Co-authored-by: Wasim Amiri <wasimxyz@users.noreply.github.com>

* Mark built plan todos as done

Co-authored-by: Wasim Amiri <wasimxyz@users.noreply.github.com>

* Parse the relative sign-in redirect in the login redirect test

Next makes same-host proxy redirects relative, so the Location header
needs a base URL to parse.

Co-authored-by: Wasim Amiri <wasimxyz@users.noreply.github.com>

* Test the /login return-address rule and loosen query checks

Move the /login choice between client_id and callbackURL into a tested
helper. Drop Better Auth's error_description with error, and decode only
the path when looking for control characters so odd query values no
longer send people to the home page.

Co-authored-by: Wasim Amiri <wasimxyz@users.noreply.github.com>

* Tidy the proxy header comment and encode the watcher fallback path

Co-authored-by: Wasim Amiri <wasimxyz@users.noreply.github.com>

* Fix preview sign-in for filtered links and tidy the return-address code

On preview deployments, Better Auth's oAuthProxy callback rejects a
relative return address whose query has characters such as commas, so
Google sign-in failed for links with list filters. safeCallbackPath now
percent-encodes those characters, and a backslash in the query is
encoded instead of sending the visitor to the home page.

- Test the leading-// check with /.//evil.example and say why it exists.
- Read the return address only from the proxy header, and drop the
  hand-written fallbacks from the SignInRequired call sites.
- Compute the error address once in AuthScreen. A failed sign-in in the
  home page's box now stays on /, where the banner already shows.
- Skip the request-address header for route handlers.
- Correct the changelog's description of the old behavior.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Wasim Amiri <wasimxyz@users.noreply.github.com>
Co-authored-by: Wasim Amiri <7220175+wasimxyz@users.noreply.github.com>
@wasimxyz wasimxyz self-assigned this Oct 16, 2026
@vercel

vercel Bot commented Oct 16, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
data-hub (staging) Ready Ready Preview Oct 16, 2026 7:50pm UTC
1 Skipped Deployment
Project Deployment Actions Updated
data-hub-docs Ignored Ignored Oct 16, 2026 7:50pm UTC

Request Review

@wasimxyz
wasimxyz merged commit 0f7d209 into production Oct 16, 2026
11 checks passed

This branch was successfully deployed

1 active deployment
staging – data-hub — 8b97b7c3 Deployed Oct 16, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant