Skip to content

docs: Web Studio tab and Sign up in the top bar (merge on web launch) - #6861

Draft
ukimsanov wants to merge 3 commits into
mainfrom
docs/web-launch-flag
Draft

ukimsanov wants to merge 3 commits into
mainfrom
docs/web-launch-flag

Conversation

@ukimsanov

@ukimsanov ukimsanov commented Oct 30, 2026 •

Copy link
Copy Markdown
Collaborator

Merge on the day web Studio launches, together with turning on the homepage's hyperframes-signup-cta flag. Draft until then.

What

Two items for the docs top bar at the web launch:

Builds on #6860 (one Docs menu), which frees the space after Catalog.

Why

The November goal counts new HeyGen accounts. Today a docs visitor can only get one by downloading the Desktop app first. Web Studio adds a way in without installing.

Related work

Stacked on #6860; merge that first. The homepage's Sign up is the same button behind the hyperframes-signup-cta flag (heygen-com/web-marketing#3553).

How

  • docs.json:
    • a Web Studio tab with an href (?src=docs-tab);
    • a Sign up entry in navbar.links to HeyGen sign-up through hyperframes.studio, returning to /agent?src=docs-navbar (the homepage uses src=home-nav).
  • custom.css: the tab gets a "New" badge, Sign up is the filled button and moves right of Download (order), and Download turns outlined. Both items are found by link, not label.

Why a merge and not a flag. The first version read the homepage flag from a docs script. Rames found that Mintlify loads custom scripts after the page has drawn, so the items appeared late and shifted Search by about 150px. Rendering them from docs.json avoids the jump, the extra request on every visit and the failure cases. The cost: launch day is two steps, the flag plus this merge, and the docs follow within minutes.

Test plan

  • mint validate and mint broken-links --check-redirects pass.
  • mint dev in Chrome, 1440px light and dark:
    • the bar reads Logo · Docs ▾ · Catalog · Web Studio New · Search · ★ · Download (outlined) · Sign up (filled) · theme;
    • the phone ⋮ menu lists Sign up;
    • the items stay through in-site page changes and the theme toggle.
  • The Sign up link answers 307 and goes to HeyGen's authorize page with the /agent?src=docs-navbar return kept.
  • On this PR's preview once it targets main: the same bar, rendered with the page (no late shift).
  • A full sign-up to a new account: needs a fresh HeyGen account, and /agent stays behind its own gate until launch.
  • Launch day: turn on hyperframes-signup-cta, merge this PR, and check that src=docs-navbar and src=docs-tab arrive on /agent.
  • Comments say why, not what.

Make a video, Studio app and Developers move into a Docs menu (each keeps its
own sidebar), with Free lessons, Community and the app changelog under them;
Catalog stays a tab. The top-bar copy of Ask Assistant goes (Ask stays in
search and the page's bottom bar); the logo opens the homepage; the button
reads Download.
…unch

Both wait hidden behind the homepage's hyperframes-signup-cta flag, so one switch
turns on Sign up on the homepage and the docs together. web-launch.js asks
HeyGen's PostHog proxy for that flag; custom.css shows the Web Studio tab with a
New badge and makes Sign up the main button, right of an outlined Download.
Copilot AI balanced review requested due to automatic review settings October 30, 2026 19:59

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

@jrusso1020 jrusso1020 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed at f06f4f4d665bbfb5984d1211f0d947fa44907f46.

I would fix the delayed header reflow before merging.

Important — docs/web-launch.js:54–55 with docs/custom.css:614–616: On the first uncached visit, the code initially renders with both links removed from layout. A later signup response reveals them and expands the max-content header columns. In headless Chromium, using #6860's preview HTML plus the proposed links, this head's actual CSS and actual script with a delayed flag response, the search field moves from x=373.23 to x=523.59 at both 1440 and 1024 px. At 1024 it also shrinks from 344.17 to 164 px. This is a fixture measurement, not a deployed #6861 preview, but the underlying display/async transition is present in the source. It fails the requested no-shift behavior and can move controls while a reader is approaching them.

Please keep the header's geometry stable while the flag resolves, for example by reserving the relevant slots and revealing visibility without resizing adjacent columns, or by placing the gated actions in an existing fixed-size slot. The delayed reveal itself should also be checked for flashing; I verified the geometry change, not flash-free first paint on a built site. Add a browser regression that delays the first signup response past paint and compares the existing controls' bounding boxes before/after, including 1024 px. Keep disabled links unfocusable and out of the accessibility tree. That closes this concern.

Nit — docs/web-launch.js:49–54: An HTTP 429/500 becomes null and is cached as off for the entire tab session. Recovery followed by reload therefore never asks again. Throw on non-OK responses, or cache only valid flag evaluations, keeping the controls hidden during failures and a later retry. My VM control reproduces zero retry requests after the endpoint recovers. Network rejection already avoids this cache write.

Need: yes · Size: ok · Reuse: homepage flag key and native Mintlify links · Simpler: keep the existing header geometry stable · Structure: fine
Risk: medium — new browser flag request and post-paint navigation changes.

The parent head is an ancestor, and all 583 navigation pages are retained. Nine actual-script controls pass for offline/non-OK/malformed/off/wrong-variant/on/QA and the cache behavior; oxlint reports 0 warnings/errors. These tests stub responses and send no live PostHog request. CSS hides the new links by default, so a fresh uncached network failure stays closed; a cached enabled session intentionally remains enabled without a fresh request. Internal navigation retains the root class. mint validate was stopped after two minutes without a result. I did not run a full signup or a built #6861 Mintlify browser walk. Copilot's only prior review reports exhausted quota.

Verdict: COMMENT, changes needed.
Reasoning: Fresh uncached failures stay closed; cached-on sessions skip the request by design. The the uncached enabled path visibly changes header geometry after paint. No approval posted.

Comment thread docs/web-launch.js Outdated
var flag = data && data.flags && data.flags[FLAG];
var on = !!flag && flag.enabled === true && flag.variant === ON;
store("sessionStorage", CACHE, on ? "1" : "0");
apply(on);

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Important: revealing these display:none links after the async response changes the max-content header columns after paint. With this CSS/script and the parent preview DOM plus the new links, a delayed enabled response moved Search ~150px at 1440 and 1024px. Please keep the existing controls in fixed geometry (reserved noninteractive slots or an existing fixed-size slot), and test delayed first-response bounding boxes at desktop widths. Full measurement and fixture limits are in my review body.

Base automatically changed from docs/navbar-simplify to main October 30, 2026 21:18
@mintlify

mintlify Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated
hyperframes 🟢 Ready View Preview Oct 30, 2026, 9:25 PM

💡 Tip: Enable Automations to automatically generate PRs for you.

Reviewer found the script revealed them after paint and shifted the bar. Without
the flag check the items render with the page, so this PR is merged on launch day.
@ukimsanov ukimsanov changed the title docs: Web Studio tab and Sign up in the top bar, off until the web launch docs: Web Studio tab and Sign up in the top bar (merge on web launch) Oct 30, 2026
@ukimsanov
ukimsanov marked this pull request as draft October 30, 2026 21:19

This branch was successfully deployed

1 active deployment
staging - docs — 070e6b91 Deployed Oct 30, 2026 by mintlify[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.

3 participants