Dev push#423
Conversation
Add Star History section to README Added a Star History section with a chart to the README.
http.ServeFile relies on mime.TypeByExtension, which on Windows reads HKEY_CLASSES_ROOT to resolve the MIME type. Third-party software (some editors and registry-cleaning tools) can rewrite ".css" to "application/xml", causing Chrome to refuse the stylesheet and breaking the /admin panel with a fully unstyled page. The same class of bug affects ".js" -> "text/plain" in some setups. Pin the Content-Type by file extension before delegating to ServeFile, covering the WebUI asset surface (css, js, mjs, html, json, map, svg, common image and font formats, wasm). Unknown extensions still fall through to ServeFile's default detection. Tests cover the pinned types, case-insensitive extension matching, and the unknown-extension passthrough.
fix(webui): 修复 Windows 注册表 MIME 错误导致 /admin 样式失效
feat(admin): remember Vercel sync credentials
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 554fae6b3f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| if strings.TrimSpace(teamID) == "" { | ||
| teamID = strings.TrimSpace(os.Getenv("VERCEL_TEAM_ID")) | ||
| teamID = firstNonEmpty(os.Getenv("VERCEL_TEAM_ID"), saved.TeamID) |
There was a problem hiding this comment.
Allow clearing saved team ID during Vercel sync
The new fallback now always injects saved.TeamID whenever team_id is blank, so after a team ID is saved there is no request path to sync without a teamId. This can block deployments for personal projects (or after moving projects between scopes) because the stale team scope keeps being sent and Vercel API calls can fail with scope/authorization errors. The parser should distinguish "unset" from "intentionally empty" instead of forcing fallback here.
Useful? React with 👍 / 👎.
| if strings.TrimSpace(incomingVercel.Token) != "" || strings.TrimSpace(incomingVercel.ProjectID) != "" || strings.TrimSpace(incomingVercel.TeamID) != "" { | ||
| next.Vercel = incomingVercel |
There was a problem hiding this comment.
Preserve existing Vercel fields in merge imports
In merge mode, this branch replaces the entire next.Vercel struct when any one incoming Vercel field is non-empty. If an import payload only includes project_id or team_id, an existing saved token is silently erased, and later preconfigured syncs can fail because no token remains in config fallback. This should merge per-field (non-empty overwrite) rather than overwrite the full struct.
Useful? React with 👍 / 👎.
💻 变更类型 | Change Type
🔀 变更说明 | Description of Change
Fix Vercel deployment issues and background panel Windows compatibility
📝 补充信息 | Additional Information