Repository navigation
chore: merge upstream/dev into the embed fork - #27
Merged
Merged
Conversation
Update Umami script data-website-id
- Add secure component embed serialization with profile links and player data - Add embed generation tests and discord-api-types dependency
- Preserve saved resource-pack preferences across builds - Display the prerender version and add cache regression coverage
- Append SkyCrypt campaign parameters to all profile buttons - Update embed link expectations
Add Discord component embeds and improve caching
…-release/prod Version Packages (Stable)
- Prefer the player's plus color, then rank color - Fall back to the default preview color when invalid or unavailable
Fix Discord embed rank colors
…-release/prod Version Packages (Stable)
Signed-off-by: Gigi <47110839+DarthGigi@users.noreply.github.com>
Fix capitalization and add discord invite to the embed
Redesign Discord embeds and update package version
…-release/prod Version Packages (Stable)
- Make NOTICE the authoritative list of brand assets - Allow proportional resizing and format conversion - Narrow the misleading-use rule and add a fair use section - Reword the trademark section - Add a 7-day cure period with notice rules
…logo Replace logo and relicense brand assets
…ance website workflow paths
Update brand assets and optimize token validation
…-release/prod Version Packages (Stable)
…026-11-01 # Conflicts: # pnpm-lock.yaml
colinmcdonald22
approved these changes
Nov 1, 2026
The API now resolves items to cached renders on beta-api.shiiyu.moe, which only that host serves. The texture proxy rewrote every public API host to the configured origin (api.shiiyu.moe), so those renders 404ed. Proxy paths for other public hosts now keep the host (/textures/<host>/<path>), and the route only fetches from allowlisted hosts.
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.


Merges the latest
SkyCryptWebsite/SkyCrypt-Frontenddev(68 commits since #26, up to51edd5656) into the fork.Merge base
#26 was squash-merged, so git no longer knew which upstream commits were already in
dev. A plain merge fell back to the August merge base and raised 87 conflicts that redid #26's work. #26 had merged upstream ata4856f897, and its squash kept the PR head's tree exactly. So I resolved this merge against that base and committed the result withdevandupstream/devas parents. Only 8 files conflicted.This repo only allows squash merges, so merging this PR will drop the upstream ancestry again. For the next sync, the upstream commit this PR merged is
51edd5656.What upstream brought in
application/problem+jsonwith acode(PLAYER_NOT_FOUND,NOT_CACHED, ...), andfetchSectionmaps each code to a message for users.tracing.server, a trace handler that adds trace IDs to the evlog wide event,output.linkHeaderPreload, and a Node OTel SDK insrc/instrumentation.server.ts.static/img/app-iconsis gone, replaced byapple-touch-icon.pngandsite.webmanifest.getThemeIconsremote, which upstream deleted.engines, dependency updates, API policy page edits, and admin dashboard and newsroom changes.How the embed behaviour was kept
readApiResponsethrew on every non-2xx response, so upstream's code-to-message mapping never ran. Users would have seen the generic "unsuccessful response" text. It now returnsapplication/problem+jsonbodies sofetchSectioncan handle them. HTML, WAF challenges, non-JSON and invalid JSON still fail early.src/instrumentation.server.ts. It statically imports@opentelemetry/sdk-node, which would go into the Worker bundle and doesn't run on workerd.tracing.serverand upstream'straceHandlerare kept. Without an SDK the spans are no-ops, so the handler adds nothing. I checked that the built Worker has nosdk-nodecode.handleFetchUser-Agent override is kept, andhandleis nowevlogHandle, traceHandler, headersHandler.frame-ancestors https://u.shiiyu.moewithX-Frame-Options: DENY. Both stay out, and the embed'svite.config.tscomment is kept.app.html: this takes upstream's new icon and manifest links and keeps the GameUIHTMLMediaElementshim and the transparent body.layout.css: the transparent, non-selectablebodystays, next to upstream's Firefox scroll-fade fix.package.json:svelte-interactionsandwranglerstay, and takumi goes to^2.18.2. The lockfile was regenerated from upstream's version. The OTel packages stay independenciesto keep future merges clean. Nothing in the Worker imports the Node SDK.Texture proxy fix (also affects production)
The API now resolves items to cached renders on
beta-api.shiiyu.moe, even when it's called onapi.shiiyu.moe. Those files only exist onbeta-api. The proxy rewrote every public API host to/textures/<path>and fetched fromapi.shiiyu.moe, so those items showed as broken images. It's the same on production today:/textures/cache/rendered/...returns 404 on skycrypt-embed.lunarclient.com.Proxy paths for hosts other than the configured origin now keep the host (
/textures/beta-api.shiiyu.moe/...). The route only fetches from the allowlisted public hosts, so it can't be used as an open proxy. In local workerd,/resolvereturns host-prefixed paths and those renders load (200,image/webp).Checks run locally
pnpm check: 0 errors. The 2 warnings are in upstream's tiptap component.eslint: clean.oxfmt --check: clean apart from theCLAUDE.mdsymlink on a Windows checkout.pnpm test: 361/361 passing.pnpm buildwith adapter-cloudflare succeeds.wrangler deploy --dry-runpasses forproductionanddevelopmentand shows the Secrets Store binding. Upload is 3.89 MiB gzipped./returns 200 withLinkpreload headers and noX-Frame-Optionsorframe-ancestors.Still needs checking on the preview deploy
skycrypt-server-api-key, so/stats/<ign>returns 500 locally. On the preview, check that/stats/<ign>and/stats/<ign>/cardrender.x-api-key, but the fork, like upstream, sendsX-API-Token. If stats pages come back 401 on the preview, that header is the first thing to check.404 NOT_CACHED. I couldn't check whether this applies to the server token. The page would say "SkyCrypt hasn't loaded this player yet."