Repository navigation
release/v3.8.x - #18413
Open
shahass92-commits wants to merge 24 commits into
Open
release/v3.8.x #18413shahass92-commits wants to merge 24 commits into
shahass92-commits wants to merge 24 commits into
Conversation
Install gsap@^3.15.0 (https://github.com/greensock/GSAP) as a production dependency for dashboard UI animation. The single package ships the core plus every plugin (ScrollTrigger, Flip, SplitText, MorphSVG, Draggable, Observer, ...), registered at use sites via gsap.registerPlugin(). - package.json / package-lock.json: add gsap 3.15.0 (lockfile updated with npm 11 so existing libc metadata is preserved) - dependency-allowlist.json: allow gsap for the check:deps gate - .license-allowlist.json: register an exception for GSAP's non-SPDX Standard "no charge" license (license-checker reports it as "Custom: https://gsap.com/standard-license.")
…ds7s feat(dashboard): add gsap animation library dependency
Add src/shared/lib/gsap.ts as the single GSAP entry point: it registers ScrollTrigger once and re-exports gsap and ScrollTrigger, so components import from "@/shared/lib/gsap" instead of "gsap" and always get the plugin registered. The module is safe to evaluate during SSR: without a window, ScrollTrigger defers its setup, so registration takes effect when the module runs in the browser. Tests: - tests/unit/gsap-setup.test.tsx (jsdom): ScrollTrigger is registered on import (fails if the registerPlugin call is removed) - tests/unit/shared/gsap-setup-ssr.test.ts (node): importing without a window does not throw and leaves ScrollTrigger unregistered
…ds7s feat(dashboard): add shared GSAP setup with ScrollTrigger registered
Package the MIT-licensed cinematic-ui skill (akseolabs-seo/cinematic-ui
at 24a66c1) as a Claude Code plugin under contrib/claude-plugins/, and
declare this repository as a plugin marketplace so it installs with:
claude plugin marketplace add shahass92-commits/omniroute \
--sparse .claude-plugin contrib/claude-plugins
claude plugin install cinematic-ui@shahass92-plugins
- .claude-plugin/marketplace.json: marketplace "shahass92-plugins" with
one entry pointing at ./contrib/claude-plugins/cinematic-ui
- contrib/claude-plugins/cinematic-ui/.claude-plugin/plugin.json:
manifest; "skills": ["./"] makes the plugin folder the skill
- SKILL.md: upstream text, with "Primary Platforms" (manual install
paths, other agents' files) replaced by "Plugin Notes", which resolve
references/ via ${CLAUDE_SKILL_DIR} and require pinned CDN versions
- references/, LICENSE: copied unchanged from upstream
- README.md: install, usage, contents, changes from upstream, resync
- .prettierignore: keep the vendored SKILL.md and references/
byte-identical to upstream (same reason as skills/*)
Checked with `claude plugin validate --strict` on the plugin and the
marketplace, and by installing from the local marketplace into a clean
HOME: the plugin loads one skill, cinematic-ui:cinematic-ui.
A cone-mode sparse checkout also includes the top-level files, so the marketplace checkout is about 20 MB, not just the plugin folder. Also document the #<branch> suffix for installing from a non-default branch; both verified by installing from GitHub into a clean HOME.
Add a reusable <Reveal> client component (src/shared/components/Reveal.tsx) built on the shared "@/shared/lib/gsap" setup: its content fades and slides up the first time it scrolls into view. - Respects the OS "reduce motion" setting via gsap.matchMedia: no tween and no ScrollTrigger are created when reduced motion is on. - Cleans up on unmount (matchMedia revert kills the tween and trigger). - clearProps drops the inline transform afterwards so fixed-position descendants are not trapped by a transformed ancestor. - clamp() keeps the trigger reachable near the bottom of short pages, so content can never stay hidden. - `as="section"` lets callers swap their own wrapper for <Reveal>. Use it on the dashboard home: the Quick Start section and the provider topology + recent requests grid (0.08s stagger). Reveal is imported directly rather than via the shared components barrel so GSAP stays out of bundles that do not use it. Tests: tests/unit/Reveal.test.tsx (jsdom) covers rendering, the reduced-motion no-op, the hidden initial state with one ScrollTrigger, and cleanup on unmount (verified to fail when cleanup is removed).
…to claude/beautiful-cray-3xds7s
…ds7s feat(dashboard): reveal home cards on scroll with GSAP ScrollTrigger
…flow The Datadog Synthetic tests workflow failed on every push and PR with "Input required and not supplied: api_key" because the DD_API_KEY and DD_APP_KEY repository secrets are not set yet. - Compute a DD_KEYS_PRESENT flag (a boolean only, never the secret values) and, when either key is missing, pass with a ::notice:: that says which secrets to add instead of failing. Fork PRs, which never receive secrets, take the same path. - Pass datadog_site from a DD_SITE repository variable (default datadoghq.com) so non-US1 Datadog accounts work without editing the file. The input is confirmed in the pinned action's action.yml (v1.4.0). - Fix all 3 zizmor findings on this file: pin actions/checkout to the SHA the rest of the repo uses (v7.0.1), set persist-credentials: false, and restrict the token to `permissions: contents: read`. - Formatted with Prettier (lint-staged formats *.yml). Validation: actionlint clean; zizmor 1.25.2 (offline) reports 0 findings for this file and the repo total drops 216 -> 213; the 12 workflow scanning unit tests (105 cases) pass.
…to claude/beautiful-cray-3xds7s
…-8blq5g feat(skills): add cinematic-ui Claude Code plugin and marketplace
Add src/shared/lib/gsap.ts as the single GSAP entry point: it registers ScrollTrigger once and re-exports gsap and ScrollTrigger, so components import from "@/shared/lib/gsap" instead of "gsap" and always get the plugin registered. The module is safe to evaluate during SSR: without a window, ScrollTrigger defers its setup, so registration takes effect when the module runs in the browser. Tests: - tests/unit/gsap-setup.test.tsx (jsdom): ScrollTrigger is registered on import (fails if the registerPlugin call is removed) - tests/unit/shared/gsap-setup-ssr.test.ts (node): importing without a window does not throw and leaves ScrollTrigger unregistered (cherry picked from commit 8c0abf7)
Add a reusable <Reveal> client component (src/shared/components/Reveal.tsx) built on the shared "@/shared/lib/gsap" setup: its content fades and slides up the first time it scrolls into view. - Respects the OS "reduce motion" setting via gsap.matchMedia: no tween and no ScrollTrigger are created when reduced motion is on. - Cleans up on unmount (matchMedia revert kills the tween and trigger). - clearProps drops the inline transform afterwards so fixed-position descendants are not trapped by a transformed ancestor. - clamp() keeps the trigger reachable near the bottom of short pages, so content can never stay hidden. - `as="section"` lets callers swap their own wrapper for <Reveal>. Use it on the dashboard home: the Quick Start section and the provider topology + recent requests grid (0.08s stagger). Reveal is imported directly rather than via the shared components barrel so GSAP stays out of bundles that do not use it. Tests: tests/unit/Reveal.test.tsx (jsdom) covers rendering, the reduced-motion no-op, the hidden initial state with one ScrollTrigger, and cleanup on unmount (verified to fail when cleanup is removed). (cherry picked from commit 4ea387f)
…flow The Datadog Synthetic tests workflow failed on every push and PR with "Input required and not supplied: api_key" because the DD_API_KEY and DD_APP_KEY repository secrets are not set yet. - Compute a DD_KEYS_PRESENT flag (a boolean only, never the secret values) and, when either key is missing, pass with a ::notice:: that says which secrets to add instead of failing. Fork PRs, which never receive secrets, take the same path. - Pass datadog_site from a DD_SITE repository variable (default datadoghq.com) so non-US1 Datadog accounts work without editing the file. The input is confirmed in the pinned action's action.yml (v1.4.0). - Fix all 3 zizmor findings on this file: pin actions/checkout to the SHA the rest of the repo uses (v7.0.1), set persist-credentials: false, and restrict the token to `permissions: contents: read`. - Formatted with Prettier (lint-staged formats *.yml). Validation: actionlint clean; zizmor 1.25.2 (offline) reports 0 findings for this file and the repo total drops 216 -> 213; the 12 workflow scanning unit tests (105 cases) pass. (cherry picked from commit a843d92)
…stored tree) The branch tip e3dd064 holds PR #6's original history, which was discarded from release/v3.8.53 when the branch was reset to upstream. This merge records it as a parent so the push stays a fast-forward; the tree is unchanged from the restored commits on top of the current release/v3.8.53.
…ds7s Restore GSAP setup, home-card Reveal, and Datadog skip lost in the release branch reset
Author
|
activate |
Brings in the 6 upstream commits the fork was missing (cheaper-inference#18358, cheaper-inference#18194, cheaper-inference#18381, cheaper-inference#18380, cheaper-inference#18338, cheaper-inference#18253) with a normal merge, so the fork's own commits (gsap + Reveal, Datadog skip, cinematic-ui plugin) are kept.
…to claude/beautiful-cray-3xds7s
…ds7s Sync fork with upstream cheaper-inference:release/v3.8.53 (6 commits)
shahass92-commits
marked this pull request as draft
October 28, 2026 23:39
shahass92-commits
marked this pull request as ready for review
October 28, 2026 23:40
shahass92-commits
left a comment
Author
There was a problem hiding this comment.
complrated to all view
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.
Summary
Related Issues
Target Branch
See the Release Strategy, the
Contribution Golden Path and the
ROADMAP:
release/v3.8.xbranch (the highest openrelease/v*), notmainv4-featurelabel for the v4 channel?template=feature.mdor?template=bugfix.mdto the compare URLValidation
Choose the change type and focused loop from the
Contribution Golden Path. The full unit suite,
Vitest, the 60% coverage gate, and the production build all run in CI on this PR (#8329):
npm run lintTests Added Or Updated
Coverage Notes
src/,open-sse/,electron/, orbin/, explain which tests cover the change.Reviewer Notes