/home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/actions/keybindings/migrations/v2-to-v3.ts 10:13 error Unsafe type assertion: type 'V2State' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 21:13 error Unsafe type assertion: type 'ShortcutKey' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 21:35 error Unsafe type assertion: type 'TActionWithOptionalArgs' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/actions/keybindings/migrations/v3-to-v4.ts 11:13 error Unsafe type assertion: type 'V3State' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 20:13 error Unsafe type assertion: type 'ShortcutKey' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 20:35 error Unsafe type assertion: type 'TActionWithOptionalArgs' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/actions/keybindings/migrations/v4-to-v5.ts 9:13 error Unsafe type assertion: type 'V4State' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/actions/keybindings/migrations/v5-to-v6.ts 9:13 error Unsafe type assertion: type 'V5State' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/actions/keybindings/migrations/v6-to-v7.ts 9:13 error Unsafe type assertion: type 'V6State' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 12:20 error Unsafe type assertion: type 'ShortcutKey[]' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 13:29 error Unsafe type assertion: type 'never' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/actions/registry.ts 14:1 error Unused eslint-disable directive (no problems were reported from 'opencut/prefer-object-params') 17:2 error Use a single destructured object parameter instead of multiple positional parameters. Example: function someFunction({ name, age }: { name: string, age: number }) {} opencut/prefer-object-params 20:23 error Unsafe type assertion: type 'ActionHandler' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 28:1 error Unused eslint-disable directive (no problems were reported from 'opencut/prefer-object-params') 31:2 error Use a single destructured object parameter instead of multiple positional parameters. Example: function someFunction({ name, age }: { name: string, age: number }) {} opencut/prefer-object-params 36:23 error Unsafe type assertion: type 'ActionHandler' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 57:1 error Unused eslint-disable directive (no problems were reported from 'opencut/prefer-object-params') 60:2 error Use a single destructured object parameter instead of multiple positional parameters. Example: function someFunction({ name, age }: { name: string, age: number }) {} opencut/prefer-object-params /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/actions/use-action-handler.ts 11:1 error Unused eslint-disable directive (no problems were reported from 'opencut/prefer-object-params') 14:2 error Use a single destructured object parameter instead of multiple positional parameters. Example: function someFunction({ name, age }: { name: string, age: number }) {} opencut/prefer-object-params 24:24 error Unsafe type assertion: type 'TActionFunc' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 27:5 error Unsafe type assertion: type '(handlerParameters_0: TArgOfAction, handlerParameters_1?: TInvocationTrigger | undefined) => void' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/animation/interpolation.ts 163:10 error Unsafe type assertion: the original type is assignable to the constraint of type 'TChannel', but 'TChannel' could be instantiated with a different subtype of its constraint @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/animation/keyframe-query.ts 116:26 error Unsafe type assertion: type 'Record' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/animation/keyframes.ts 23:2 warning 'getBezierPoint' is defined but never used. Allowed unused vars must match /^_/u @typescript-eslint/no-unused-vars 518:14 error Unsafe type assertion: type 'string | boolean' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 524:14 error Unsafe type assertion: type 'number' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 637:12 error Unsafe type assertion: type 'AnimationChannel' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 671:12 error Unsafe type assertion: type 'AnimationChannel' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 875:14 error Unsafe type assertion: type 'AnimationChannel' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 971:13 error Unsafe type assertion: type 'string | boolean' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 980:13 error Unsafe type assertion: type 'string | boolean' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 1067:25 error Unsafe type assertion: type 'number' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/animation/property-registry.ts 129:54 error Unsafe type assertion: type 'number' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 145:54 error Unsafe type assertion: type 'number' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 159:50 error Unsafe type assertion: type 'number' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 172:50 error Unsafe type assertion: type 'number' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 185:50 error Unsafe type assertion: type 'number' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 196:30 error Unsafe type assertion: type 'number' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 206:29 error Unsafe type assertion: type 'number' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 217:28 error Unsafe type assertion: type 'string' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 231:51 error Unsafe type assertion: type 'string' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 246:54 error Unsafe type assertion: type 'number' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 261:54 error Unsafe type assertion: type 'number' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 276:53 error Unsafe type assertion: type 'number' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 291:53 error Unsafe type assertion: type 'number' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 310:58 error Unsafe type assertion: type 'number' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/animation/resolve.ts 60:26 error Unsafe type assertion: type 'Record' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 75:9 error Unsafe type assertion: type 'AnimationValueForPath' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/animation/types.ts 1:15 warning 'ParamValues' is defined but never used. Allowed unused vars must match /^_/u @typescript-eslint/no-unused-vars 104:18 warning An interface declaring no members is equivalent to its supertype @typescript-eslint/no-empty-object-type 146:18 warning An interface declaring no members is equivalent to its supertype @typescript-eslint/no-empty-object-type 149:18 warning An interface declaring no members is equivalent to its supertype @typescript-eslint/no-empty-object-type 157:18 warning An interface declaring no members is equivalent to its supertype @typescript-eslint/no-empty-object-type /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/app/brand/page.tsx 193:48 error `'` can be escaped with `'`, `‘`, `'`, `’` react/no-unescaped-entities /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/app/contributors/page.tsx 48:24 error Unsafe assertion from `any` detected: consider using type guards or a safer assertion @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/app/editor/[project_id]/page.tsx 40:20 error Unsafe type assertion: type 'string' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/app/layout.tsx 5:10 warning 'ChangelogNotification' is defined but never used. Allowed unused vars must match /^_/u @typescript-eslint/no-unused-vars /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/app/privacy/page.tsx 60:18 error `'` can be escaped with `'`, `‘`, `'`, `’` react/no-unescaped-entities 60:64 error `'` can be escaped with `'`, `‘`, `'`, `’` react/no-unescaped-entities 172:6 error Using target="_blank" without rel="noreferrer" (which implies rel="noopener") is a security risk in older browsers: see https://mathiasbynens.github.io/rel-noopener/#recommendations react/jsx-no-target-blank 189:6 error Using target="_blank" without rel="noreferrer" (which implies rel="noopener") is a security risk in older browsers: see https://mathiasbynens.github.io/rel-noopener/#recommendations react/jsx-no-target-blank 205:6 error Using target="_blank" without rel="noreferrer" (which implies rel="noopener") is a security risk in older browsers: see https://mathiasbynens.github.io/rel-noopener/#recommendations react/jsx-no-target-blank /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/app/projects/page.tsx 880:15 error Unsafe type assertion: type 'MouseEvent' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 886:15 error Unsafe type assertion: type 'KeyboardEvent' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 981:24 error `"` can be escaped with `"`, `“`, `"`, `”` react/no-unescaped-entities 981:38 error `"` can be escaped with `"`, `“`, `"`, `”` react/no-unescaped-entities /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/app/terms/page.tsx 54:15 error `'` can be escaped with `'`, `‘`, `'`, `’` react/no-unescaped-entities 54:55 error `'` can be escaped with `'`, `‘`, `'`, `’` react/no-unescaped-entities 56:26 error `"` can be escaped with `"`, `“`, `"`, `”` react/no-unescaped-entities 56:32 error `"` can be escaped with `"`, `“`, `"`, `”` react/no-unescaped-entities 56:42 error `'` can be escaped with `'`, `‘`, `'`, `’` react/no-unescaped-entities 112:9 error `'` can be escaped with `'`, `‘`, `'`, `’` react/no-unescaped-entities 113:9 error `'` can be escaped with `'`, `‘`, `'`, `’` react/no-unescaped-entities 130:6 error `"` can be escaped with `"`, `“`, `"`, `”` react/no-unescaped-entities 130:12 error `"` can be escaped with `"`, `“`, `"`, `”` react/no-unescaped-entities 130:73 error `'` can be escaped with `'`, `‘`, `'`, `’` react/no-unescaped-entities 146:6 error Using target="_blank" without rel="noreferrer" (which implies rel="noopener") is a security risk in older browsers: see https://mathiasbynens.github.io/rel-noopener/#recommendations react/jsx-no-target-blank 164:12 error `'` can be escaped with `'`, `‘`, `'`, `’` react/no-unescaped-entities 169:12 error `'` can be escaped with `'`, `‘`, `'`, `’` react/no-unescaped-entities 183:12 error `'` can be escaped with `'`, `‘`, `'`, `’` react/no-unescaped-entities 203:6 error Using target="_blank" without rel="noreferrer" (which implies rel="noopener") is a security risk in older browsers: see https://mathiasbynens.github.io/rel-noopener/#recommendations react/jsx-no-target-blank 219:6 error Using target="_blank" without rel="noreferrer" (which implies rel="noopener") is a security risk in older browsers: see https://mathiasbynens.github.io/rel-noopener/#recommendations react/jsx-no-target-blank /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/auth/server.ts 31:12 error Unsafe type assertion: type '{ key: string; count: number; lastRequest: number; } | undefined' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/blog/query.ts 77:10 error Unsafe assertion from `any` detected: consider using type guards or a safer assertion @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/changelog/components/changelog-notification.tsx 45:3 error Error: Calling setState synchronously within an effect can trigger cascading renders Effects are intended to synchronize state between React and external systems such as manually updating the DOM, state management libraries, or other platform APIs. In general, the body of an effect should do one or both of the following: * Update external systems with the latest state from React. * Subscribe for updates from some external system, calling setState in a callback function when external state changes. Calling setState synchronously within an effect body causes cascading renders that can hurt performance, and is not recommended. (https://react.dev/learn/you-might-not-need-an-effect). /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/changelog/components/changelog-notification.tsx:45:3 43 | } 44 | > 45 | setRelease(latest); | ^^^^^^^^^^ Avoid calling setState() directly within an effect 46 | }, []); 47 | 48 | if (!release) return null; react-hooks/set-state-in-effect /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/clipboard/handlers/index.ts 48:32 error Unsafe type assertion: type 'never' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/commands/scene/remove-bookmark.ts 13:33 error Unsafe type assertion: type 'MediaTime' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/commands/scene/toggle-bookmark.ts 13:33 error Unsafe type assertion: type 'MediaTime' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/commands/timeline/element/effects/add-effect.ts 52:14 error Unsafe type assertion: type 'VisualElement' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/commands/timeline/element/effects/remove-effect.ts 50:14 error Unsafe type assertion: type 'VisualElement' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/commands/timeline/element/effects/reorder-effect.ts 57:14 error Unsafe type assertion: type 'VisualElement' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/commands/timeline/element/effects/toggle-effect.ts 52:14 error Unsafe type assertion: type 'VisualElement' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/commands/timeline/element/effects/update-effect-params.ts 70:15 error Unsafe type assertion: type 'VisualElement' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/commands/timeline/element/masks/delete-custom-mask-points.ts 104:15 error Unsafe type assertion: type 'MaskableElement' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/commands/timeline/element/masks/insert-custom-mask-point.ts 134:15 error Unsafe type assertion: type 'MaskableElement' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/commands/timeline/element/masks/remove-mask.ts 50:15 error Unsafe type assertion: type 'MaskableElement' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/commands/timeline/element/masks/toggle-mask-inverted.ts 61:15 error Unsafe type assertion: type 'MaskableElement' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/components/editor/mobile-gate.tsx 23:3 error Error: Calling setState synchronously within an effect can trigger cascading renders Effects are intended to synchronize state between React and external systems such as manually updating the DOM, state management libraries, or other platform APIs. In general, the body of an effect should do one or both of the following: * Update external systems with the latest state from React. * Subscribe for updates from some external system, calling setState in a callback function when external state changes. Calling setState synchronously within an effect body causes cascading renders that can hurt performance, and is not recommended. (https://react.dev/learn/you-might-not-need-an-effect). /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/components/editor/mobile-gate.tsx:23:3 21 | const isMobile = window.innerWidth < 1024; 22 | const acknowledged = localStorage.getItem(STORAGE_KEY) === "true"; > 23 | setShow(isMobile && !acknowledged); | ^^^^^^^ Avoid calling setState() directly within an effect 24 | }, []); 25 | 26 | if (show === null) return null; react-hooks/set-state-in-effect 55:18 error `'` can be escaped with `'`, `‘`, `'`, `’` react/no-unescaped-entities /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/components/editor/panels/assets/assets-panel-store.tsx 14:2 warning 'ColorsIcon' is defined but never used. Allowed unused vars must match /^_/u @typescript-eslint/no-unused-vars 34:2 error Component definition is missing display name react/display-name /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/components/editor/panels/assets/views/settings/background.tsx 90:3 error 'backgrounds' is missing in props validation react/prop-types 91:3 error 'currentBackgroundColor' is missing in props validation react/prop-types 92:3 error 'isColorBackground' is missing in props validation react/prop-types 93:3 error 'onSelect' is missing in props validation react/prop-types 94:3 error 'useBackgroundColor' is missing in props validation react/prop-types 104:17 error 'backgrounds.map' is missing in props validation react/prop-types 110:53 error 'currentBackgroundColor.toLowerCase' is missing in props validation react/prop-types 225:6 error Unsafe type assertion: type '{ blurIntensity: number; }' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 230:6 error Unsafe type assertion: type '{ color: string; }' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/components/editor/panels/properties/empty-view.tsx 13:43 error `'` can be escaped with `'`, `‘`, `'`, `’` react/no-unescaped-entities /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/components/footer.tsx 83:9 error Unsafe type assertion: type 'Category[]' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/components/header.tsx 19:28 warning 'SITE_URL' is defined but never used. Allowed unused vars must match /^_/u @typescript-eslint/no-unused-vars /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/components/providers/editor-provider.tsx 137:3 error Error: This value cannot be modified Modifying a value returned from a hook is not allowed. Consider moving the modification into the hook where the value is constructed. /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/components/providers/editor-provider.tsx:137:3 135 | 136 | useEffect(() => { > 137 | editor.command.isRippleEnabled = rippleEditingEnabled; | ^^^^^^^^^^^^^^ `editor` cannot be modified 138 | }, [editor, rippleEditingEnabled]); 139 | 140 | useEffect(() => { react-hooks/immutability 144:5 error Unsafe type assertion: type '{ returnValue: string; }' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/components/storage-provider.tsx 76:5 warning React Hook useEffect has a missing dependency: 'editor.project'. Either include it or remove the dependency array react-hooks/exhaustive-deps /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/components/ui/alert.tsx 48:2 error Headings must have content and the content must be accessible by a screen reader jsx-a11y/heading-has-content /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/components/ui/color-picker.tsx 81:3 error Error: Calling setState synchronously within an effect can trigger cascading renders Effects are intended to synchronize state between React and external systems such as manually updating the DOM, state management libraries, or other platform APIs. In general, the body of an effect should do one or both of the following: * Update external systems with the latest state from React. * Subscribe for updates from some external system, calling setState in a callback function when external state changes. Calling setState synchronously within an effect body causes cascading renders that can hurt performance, and is not recommended. (https://react.dev/learn/you-might-not-need-an-effect). /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/components/ui/color-picker.tsx:81:3 79 | 80 | useEffect(() => { > 81 | setInputValue(formatColorValue({ hex: value, format: colorFormat })); | ^^^^^^^^^^^^^ Avoid calling setState() directly within an effect 82 | }, [value, colorFormat]); 83 | 84 | useEffect(() => { react-hooks/set-state-in-effect 376:23 error Unsafe type assertion: type 'ColorFormat' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 435:4 error Error: Calling setState synchronously within an effect can trigger cascading renders Effects are intended to synchronize state between React and external systems such as manually updating the DOM, state management libraries, or other platform APIs. In general, the body of an effect should do one or both of the following: * Update external systems with the latest state from React. * Subscribe for updates from some external system, calling setState in a callback function when external state changes. Calling setState synchronously within an effect body causes cascading renders that can hurt performance, and is not recommended. (https://react.dev/learn/you-might-not-need-an-effect). /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/components/ui/color-picker.tsx:435:4 433 | 434 | useEffect(() => { > 435 | setInputValue(value); | ^^^^^^^^^^^^^ Avoid calling setState() directly within an effect 436 | }, [value]); 437 | 438 | const commitInputValue = (raw: string) => { react-hooks/set-state-in-effect /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/components/ui/dropdown-menu.tsx 145:6 error Unsafe type assertion: type 'ReactElement<{ children?: ReactNode; }, string | JSXElementConstructor>' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 148:7 error Unsafe type assertion: type 'ReactElement<{ children?: ReactNode; }, string | JSXElementConstructor>' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/components/ui/font-picker.tsx 80:4 error Error: Calling setState synchronously within an effect can trigger cascading renders Effects are intended to synchronize state between React and external systems such as manually updating the DOM, state management libraries, or other platform APIs. In general, the body of an effect should do one or both of the following: * Update external systems with the latest state from React. * Subscribe for updates from some external system, calling setState in a callback function when external state changes. Calling setState synchronously within an effect body causes cascading renders that can hurt performance, and is not recommended. (https://react.dev/learn/you-might-not-need-an-effect). /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/components/ui/font-picker.tsx:80:4 78 | useEffect(() => { 79 | if (!open) { > 80 | setSearch(""); | ^^^^^^^^^ Avoid calling setState() directly within an effect 81 | setActiveTab("all"); 82 | } 83 | }, [open]); react-hooks/set-state-in-effect /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/components/ui/form.tsx 59:6 error Unsafe assertion from `any` detected: consider using type guards or a safer assertion @typescript-eslint/no-unsafe-type-assertion 113:2 error Unsafe type assertion: type 'FormFieldContextValue' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 157:2 error Unsafe type assertion: type 'FormItemContextValue' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/components/ui/number-field.tsx 134:2 warning 'ref' is defined but never used. Allowed unused args must match /^_/u @typescript-eslint/no-unused-vars 148:4 error Error: Calling setState synchronously within an effect can trigger cascading renders Effects are intended to synchronize state between React and external systems such as manually updating the DOM, state management libraries, or other platform APIs. In general, the body of an effect should do one or both of the following: * Update external systems with the latest state from React. * Subscribe for updates from some external system, calling setState in a callback function when external state changes. Calling setState synchronously within an effect body causes cascading renders that can hurt performance, and is not recommended. (https://react.dev/learn/you-might-not-need-an-effect). /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/components/ui/number-field.tsx:148:4 146 | useLayoutEffect(() => { 147 | if (!suffix) { > 148 | setSuffixLeft(0); | ^^^^^^^^^^^^^ Avoid calling setState() directly within an effect 149 | return; 150 | } 151 | if (!ghostRef.current || !inputRef.current) return; react-hooks/set-state-in-effect /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/components/ui/prose.tsx 92:19 error Unsafe type assertion: type 'HastRootNode' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/components/ui/resizable.tsx 23:2 warning 'withHandle' is defined but never used. Allowed unused args must match /^_/u @typescript-eslint/no-unused-vars /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/components/ui/sonner.tsx 13:11 error Unsafe type assertion: type '"system" | "light" | "dark" | undefined' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/components/ui/table.tsx 72:6 error 'className' is missing in props validation react/prop-types 87:6 error 'className' is missing in props validation react/prop-types /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/core/managers/audio-manager.ts 228:12 warning Empty block statement no-empty 473:17 error Unsafe type assertion: type '{ mode?: unknown; } | undefined' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/core/managers/playback-manager.ts 246:28 warning 'time' is defined but never used. Allowed unused args must match /^_/u @typescript-eslint/no-unused-vars 252:30 warning 'time' is defined but never used. Allowed unused args must match /^_/u @typescript-eslint/no-unused-vars /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/core/managers/project-manager.ts 558:24 error Unsafe type assertion: type '[TProjectSortKey, "desc" | "asc"]' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/core/managers/renderer-manager.ts 9:10 warning 'frameRateToFloat' is defined but never used. Allowed unused vars must match /^_/u @typescript-eslint/no-unused-vars /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/core/managers/timeline-manager.ts 562:6 error Unsafe type assertion: type 'AnimationValueForPath | null' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 722:24 error Unsafe type assertion: type '"trimEnd" | "trimStart" | "animations" | "type" | "id" | "name" | "duration" | "startTime" | "sourceDuration"' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 728:27 error Unsafe type assertion: type 'Partial' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion 787:9 error Unsafe type assertion: type 'TimelineElement' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/editor/panel-store.ts 46:19 error Unsafe type assertion: type '{ panels?: Partial | null | undefined; toolsPanel?: number | undefined; previewPanel?: number | undefined; propertiesPanel?: number | undefined; ... 4 more ...; properties?: number | undefined; } | null | undefined' is more narrow than the original type @typescript-eslint/no-unsafe-type-assertion /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/feedback/components/feedback-popover.tsx 35:20 error Unsafe assertion from `any` detected: consider using type guards or a safer assertion @typescript-eslint/no-unsafe-type-assertion 191:10 warning Compilation Skipped: Use of incompatible library This API returns functions which cannot be memoized without leading to stale UI. To prevent this, by default React Compiler will skip memoizing this component/hook. However, you may see issues if values from this API are passed to other components/hooks that are memoized. /home/heart/coding/video-editor-oss.worktrees/biome-to-eslint/apps/web/src/feedback/components/feedback-popover.tsx:191:10 189 | )} 190 |
> 191 | {!form.watch("message").trim() && ( | ^^^^ React Hook Form's `useForm()` API returns a `watch()` function which cannot be memoized safely. 192 |