[PR #27086] fix(web): resolve TypeScript type errors in workflow components #31663

Closed
opened 2026-02-21 20:49:54 -05:00 by yindo · 0 comments
Owner

Original Pull Request: https://github.com/langgenius/dify/pull/27086

State: closed
Merged: Yes


These changes fix multiple TypeScript type errors that were preventing the frontend from building correctly.

Important

  1. Make sure you have read our contribution guidelines
  2. Ensure there is an associated issue and you have been assigned to it
  3. Use the correct syntax to link this PR: Fixes #<issue number>.

Summary

fix #27085

  • Add output_schema field to ToolDefaultValue type
  • Provide default value for agent_output_schema to handle undefined
  • Add missing initial value for useRef hook
  • Remove non-existent isShowLetterIndex prop from Tool component
  • Add required onTagsChange prop to AllTools component
  • Update useStickyScroll to accept nullable RefObject types

Problem Description

Multiple TypeScript type errors exist in frontend workflow-related components, causing compilation failures:

  1. ToolDefaultValue type is missing the output_schema field
  2. useRef is called without the required initial value argument
  3. Tool component receives a non-existent isShowLetterIndex prop
  4. AllTools component is missing the required onTagsChange prop
  5. useStickyScroll hook's type definition does not accept nullable RefObject

Changes Made

1. Type Definition Fixes

  • types.ts: Add optional field output_schema?: Record<string, any> to ToolDefaultValue type
  • agent-strategy-selector.tsx: Provide default empty object || {} for agent_output_schema to avoid undefined type error

2. Component Props Fixes

  • item.tsx: Remove invalid prop isShowLetterIndex passed to Tool component
  • tool-picker.tsx: Add required prop onTagsChange={setTags} to AllTools component

3. Hook Usage Fixes

  • provider.tsx: Add initial value argument undefined to useRef<DatasetsDetailStoreApi>()
  • use-sticky-scroll.ts: Update Params type, change RefObject<HTMLElement> to RefObject<HTMLElement | null> to match the standard return type of useRef

Screenshots

Before After
... ...

Checklist

  • This change requires a documentation update, included: Dify Document
  • I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!)
  • I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change.
  • I've updated the documentation accordingly.
  • I ran dev/reformat(backend) and cd web && npx lint-staged(frontend) to appease the lint gods
**Original Pull Request:** https://github.com/langgenius/dify/pull/27086 **State:** closed **Merged:** Yes --- These changes fix multiple TypeScript type errors that were preventing the frontend from building correctly. > [!IMPORTANT] > > 1. Make sure you have read our [contribution guidelines](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md) > 1. Ensure there is an associated issue and you have been assigned to it > 1. Use the correct syntax to link this PR: `Fixes #<issue number>`. ## Summary fix #27085 - Add output_schema field to ToolDefaultValue type - Provide default value for agent_output_schema to handle undefined - Add missing initial value for useRef hook - Remove non-existent isShowLetterIndex prop from Tool component - Add required onTagsChange prop to AllTools component - Update useStickyScroll to accept nullable RefObject types ### Problem Description Multiple TypeScript type errors exist in frontend workflow-related components, causing compilation failures: 1. `ToolDefaultValue` type is missing the `output_schema` field 2. `useRef` is called without the required initial value argument 3. `Tool` component receives a non-existent `isShowLetterIndex` prop 4. `AllTools` component is missing the required `onTagsChange` prop 5. `useStickyScroll` hook's type definition does not accept nullable RefObject ### Changes Made #### 1. Type Definition Fixes - **`types.ts`**: Add optional field `output_schema?: Record<string, any>` to `ToolDefaultValue` type - **`agent-strategy-selector.tsx`**: Provide default empty object `|| {}` for `agent_output_schema` to avoid undefined type error #### 2. Component Props Fixes - **`item.tsx`**: Remove invalid prop `isShowLetterIndex` passed to `Tool` component - **`tool-picker.tsx`**: Add required prop `onTagsChange={setTags}` to `AllTools` component #### 3. Hook Usage Fixes - **`provider.tsx`**: Add initial value argument `undefined` to `useRef<DatasetsDetailStoreApi>()` - **`use-sticky-scroll.ts`**: Update `Params` type, change `RefObject<HTMLElement>` to `RefObject<HTMLElement | null>` to match the standard return type of `useRef` <!-- Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change. --> ## Screenshots | Before | After | |--------|-------| | ... | ... | ## Checklist - [ ] This change requires a documentation update, included: [Dify Document](https://github.com/langgenius/dify-docs) - [x] I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!) - [x] I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change. - [x] I've updated the documentation accordingly. - [x] I ran `dev/reformat`(backend) and `cd web && npx lint-staged`(frontend) to appease the lint gods
yindo added the pull-request label 2026-02-21 20:49:54 -05:00
yindo closed this issue 2026-02-21 20:49:54 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#31663