fix(client): copies over plain HTTP, Vietnamese IME Enter, stale replies; react-router 7
- Every Copy goes through copyText: on http://<lan-ip> navigator.clipboard is undefined, so the push token (shown once), snapshot links, tool paths and hosts copied nothing, silently or with a TypeError. - Inputs that submit on Enter use isSubmitEnter, so committing an IME composition (Vietnamese) no longer saves a half-typed pet name, jumps the settings search, or submits a cut-off plugin/MCP/marketplace spec. - LaneChangesPanel, Workspace features/proof and AiToolConfig drop a reply that lands after the next request started: opening file B before file A's read returned showed (and let the editor save) A's text under B's header. - Error-state Retry buttons spin through useSpin; ImageLightbox uses useDialog. - react-router-dom 6.30 -> 7.18.4 (GHSA-wrjc-x8rr-h8h6, GHSA-337j-9hxr-rhxg); screen snapshots gain only Link's data-discover attribute. - StatusBar test follows v2.8.17's "Settings → AI tools → Profiles" text.
This commit is contained in:
@@ -95,6 +95,7 @@ import type {
|
||||
CodexScope,
|
||||
CodexSkill,
|
||||
} from "../lib/api";
|
||||
import { isSubmitEnter } from "../lib/keys";
|
||||
|
||||
type TabKey = "overview" | "skills" | "agents" | "rules" | "memory" | "config" | "mcp" | "plugins";
|
||||
|
||||
@@ -1630,7 +1631,7 @@ function PluginsPanel({
|
||||
value={spec}
|
||||
onChange={(e) => setSpec(e.target.value)}
|
||||
onKeyDown={(e) => {
|
||||
if (e.key === "Enter") void submitPlugin();
|
||||
if (isSubmitEnter(e)) void submitPlugin();
|
||||
}}
|
||||
placeholder={t("plugins.installPlaceholder")}
|
||||
aria-label={t("plugins.installTitle")}
|
||||
@@ -1710,7 +1711,7 @@ function PluginsPanel({
|
||||
value={mktUrl}
|
||||
onChange={(e) => setMktUrl(e.target.value)}
|
||||
onKeyDown={(e) => {
|
||||
if (e.key === "Enter") void submitMarketplace();
|
||||
if (isSubmitEnter(e)) void submitMarketplace();
|
||||
}}
|
||||
placeholder={t("plugins.addMarketplacePlaceholder")}
|
||||
aria-label={t("plugins.addMarketplaceTitle")}
|
||||
|
||||
Reference in New Issue
Block a user