the universal sandbox runtime for agents and humans. pocketenv.io
sandbox openclaw agent claude-code vercel-sandbox deno-sandbox cloudflare-sandbox atproto sprites daytona
7
fork

Configure Feed

Select the types of activity you want to include in your feed.

Fix ExposePortModal typo and enforce numeric port

+9 -1
+8
apps/web/src/components/contextmenu/ExposePortModal/ExposePortMosal.tsx apps/web/src/components/contextmenu/ExposePortModal/ExposePortModal.tsx
··· 28 28 register, 29 29 handleSubmit, 30 30 reset, 31 + setValue, 31 32 formState: { errors }, 32 33 } = useForm({ 33 34 resolver: zodResolver(schema), 34 35 }); 36 + 37 + const handlePortChange = (e: React.ChangeEvent<HTMLInputElement>) => { 38 + const numeric = e.target.value.replace(/\D/g, ""); 39 + e.target.value = numeric; 40 + setValue("port", numeric as unknown as number, { shouldValidate: true }); 41 + }; 35 42 36 43 const handleBackdropClick = (e: React.MouseEvent<HTMLDivElement>) => { 37 44 e.stopPropagation(); ··· 125 132 data-form-type="other" 126 133 style={{ fontFamily: "CaskaydiaNerdFontMonoRegular" }} 127 134 {...register("port")} 135 + onChange={handlePortChange} 128 136 /> 129 137 </div> 130 138 {errors.port && (
+1 -1
apps/web/src/components/contextmenu/ExposePortModal/index.tsx
··· 1 - import ExposePortModal from "./ExposePortMosal"; 1 + import ExposePortModal from "./ExposePortModal"; 2 2 3 3 export default ExposePortModal;