Merged
Conversation
Fetches the logged-in user from dashboard.marketdata.app/api/user/ and shows their Gravatar avatar + username linking to the dashboard. Shows a plain "Log in" link when unauthenticated. Avatar is hidden on mobile.
/cdn-cgi/zaraz/i.js only exists on the live Cloudflare site. In dev, the Webpack dev server returns an HTML 404 for that path, which throws "Unexpected token '<'" when the browser tries to execute it as JS.
Tailwind v4 places component styles in @layer components, but Docusaurus ships unlayered CSS. Unlayered styles always beat layered ones regardless of specificity, so Docusaurus's `a { color: var(--ifm-link-color) }` was winning over the library's `color: var(--color-marketdata-darkblue)`. Added unlayered overrides in custom.css to restore the correct brand colors for btn-hover-orange, btn-hover-blue, and btn-orange-to-blue.
v2.0.1 moves component classes out of @layer components so they win over unlayered CSS on specificity alone. Reverts the custom.css workaround that was patching the cascade issue on our end.
Adds a `support` command that uses `claude -p` to investigate customer issues against the docs repo, live API, and local SDKs. Classifies issues as user error (generates customer reply) or real bugs (generates internal report). Streams progress during investigation.
Adds detailed instructions for the new `lookup` tool in the support prompt documentation, enabling better investigation of customer accounts and API requests. Updates the support script to include the lookup directory for improved functionality.
…markdown responses Markdown responses now include a Link rel="canonical" header pointing to the production HTML page, preventing search engines from indexing markdown as competing pages. Also adds support for the llms.txt spec index.html.md URL pattern (e.g. /docs/options/index.html.md) alongside the existing .md and Accept header patterns.
Upgrade @marketdataapp/ui to v2.2.0 and import components.no-reset instead of components. The full CSS included Tailwind's preflight reset which was overriding Docusaurus's Infima styles globally.
Move @marketdataapp/ui CSS from customCss (webpack pipeline) to a static file loaded via <link> tag. Docusaurus 3.0.1's CSS minifier strips native CSS nesting, losing all hover/dark/focus states. Loading as a static file lets the browser handle CSS nesting natively. The copy:ui-css script copies from node_modules during build/start.
The btn-hover-orange component grows padding and font-size at 64rem (1024px), which overflows the Docusaurus navbar in the 1024-1079px range. Override with smaller sizing in that window only; the button resumes full size at 1080px+.
Serve cached login state immediately to avoid flicker, then always revalidate against the API in the background. Picks up login/logout changes without requiring a manual refresh.
Uses @marketdataapp/ui v2.3.0 navbar-overflow module to dynamically hide navbar items by priority when the container overflows. Replaces the 1024-1079px media query hack with a JS-driven approach.
At 731px the login button (88px + 12px margin) and search icon (36px) needed 137px but only 101px was available in the navbar right side. Scope the 12px margin-right to desktop only (dark-mode toggle is hidden on mobile) and reduce horizontal padding from 28px to 16px on mobile.
…ance Docusaurus absolute-positions the search icon at mobile widths, so it floats over the right navbar group without taking up flow space. The login button was rendering underneath the search icon. Added 40px margin-right to push the button clear of the search icon.
Adds cross-group overlap detection to the navbar overflow utility, fixing the search icon overlapping the logo at very narrow viewports.
Cross-group overlap check now only compares items across different navbar groups, fixing false positive at ~995px where the search container and login button naturally share space within the right group.
At 769px+ the Docusaurus search expands from a 36px icon to a 155px 'Search ⌘K' bar. The previous fixed 40px margin-right was only enough for the icon, leaving the button hidden behind the expanded bar at 769-996px. Now uses 168px margin at that range.
Replace custom React UserProfile component with the shared library's initUserProfile() which handles Gravatar, dropdown menu, and login state. Remove md5 dependency and old profile CSS. Update overflow selectors for new library classes.
Mirror the login button's search clearance rules for the avatar wrapper: - Desktop (≥997px): 12px gap before the dark-mode toggle - Tablet (769-996px): 168px clearance for the expanded search bar - Mobile (≤768px): 40px clearance for the search spyglass icon
…city Resolves Infima/Docusaurus link styles overriding dropdown menu links. The library now scopes selectors under .user-profile-wrapper.
The margin-right for search clearance was on .user-profile-wrapper (nested inside the container div) which doesn't affect flex layout. Move it to .navbar-user-profile, the actual flex child in the navbar.
Bump @marketdataapp/ui to v2.6.0 which wraps all states in .user-profile-wrapper. Remove .btn-hover-orange margin/padding overrides and .navbar-user-profile custom class — the library's wrapper handles all spacing. Simplify overflow items to 3 (removed redundant button selector).
…tically Bump mobile margin from 40px to 48px (36px icon + 12px gap) to match the desktop gap (155px bar + 13px). Add align-self: center on the wrapper so the 40px avatar is vertically centered in the navbar instead of bottom-aligned.
Add Playwright tests for the user-profile dropdown component: - Auth setup logs in as playwright-free, saves session cookies - Tests: avatar visible, dropdown opens, closes on outside click, closes on Escape, logout redirects to dashboard - Update playwright config with auth-setup/user-profile projects - Pass AMEMBER_TEST_PASS secret in CI workflows
…in tests v2.7.0 keeps .user-profile-avatar as base class on both Gravatar img and SVG placeholder fallback. Switch tests from #avatarButton workaround back to .user-profile-avatar for proper class validation.
- Remove auth.setup.js and user-profile.spec.js (now owned by @marketdataapp/ui) - Simplify playwright.config.js to only run smoke tests - Update @marketdataapp/ui to main (includes user-profile-container utility) - Add user-profile-container class to UserProfile wrapper to fix CLS
Also remove AMEMBER_TEST_PASS from workflows since user-profile tests moved to the UI repo.
…xed name instead of raw event type
Override Docusaurus's absolute positioning of the search bar below 997px so both search and profile stay in normal flex flow, with profile always rightmost per DOM order.
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.
Summary
@marketdataapp/uithrough v2.8.0 → v2.8.1 → v2.9.0 → v2.9.1, with CSS path update for newdist/layoutTest plan