diff --git a/docker/docker-compose.yaml b/docker/docker-compose.yaml index a10fdf77c6..59e8c9c84e 100644 --- a/docker/docker-compose.yaml +++ b/docker/docker-compose.yaml @@ -742,7 +742,9 @@ services: # API service api: - image: langgenius/dify-api:1.13.3 + build: + context: ../api + dockerfile: Dockerfile restart: always environment: # Use the shared environment variables. @@ -790,7 +792,9 @@ services: # worker service # The Celery worker for processing all queues (dataset, workflow, mail, etc.) worker: - image: langgenius/dify-api:1.13.3 + build: + context: ../api + dockerfile: Dockerfile restart: always environment: # Use the shared environment variables. @@ -836,7 +840,9 @@ services: # worker_beat service # Celery beat for scheduling periodic tasks. worker_beat: - image: langgenius/dify-api:1.13.3 + build: + context: ../api + dockerfile: Dockerfile restart: always environment: # Use the shared environment variables. @@ -873,7 +879,9 @@ services: # Frontend web application. web: - image: langgenius/dify-web:1.13.3 + build: + context: .. + dockerfile: web/Dockerfile restart: always environment: CONSOLE_API_URL: ${CONSOLE_API_URL:-} @@ -938,6 +946,8 @@ services: interval: 1s timeout: 3s retries: 60 + ports: + - "5432:5432" # The mysql database. db_mysql: diff --git a/web/app/components/base/chat/chat/__tests__/hooks.spec.tsx b/web/app/components/base/chat/chat/__tests__/hooks.spec.tsx index 304ca99a9c..3759f3e12b 100644 --- a/web/app/components/base/chat/chat/__tests__/hooks.spec.tsx +++ b/web/app/components/base/chat/chat/__tests__/hooks.spec.tsx @@ -932,7 +932,7 @@ describe('useChat', () => { }) expect(sseGet).toHaveBeenCalledWith( - '/workflow/wr-1/events?include_state_snapshot=true&replay=true', + '/workflow/wr-1/events?include_state_snapshot=true', expect.any(Object), expect.any(Object), ) @@ -1292,7 +1292,7 @@ describe('useChat', () => { }) expect(sseGet).toHaveBeenCalledWith( - '/workflow/wr-reconnect/events?include_state_snapshot=true&replay=true', + '/workflow/wr-reconnect/events?include_state_snapshot=true', expect.any(Object), expect.any(Object), ) @@ -1427,7 +1427,7 @@ describe('useChat', () => { }) expect(sseGet).toHaveBeenCalledWith( - '/workflow/wr-tts-app/events?include_state_snapshot=true&replay=true', + '/workflow/wr-tts-app/events?include_state_snapshot=true', expect.any(Object), expect.any(Object), ) @@ -1672,7 +1672,7 @@ describe('useChat', () => { // Should automatically call handleResume -> sseGet for human input expect(sseGet).toHaveBeenCalledWith( - '/workflow/wr-1/events?include_state_snapshot=true&replay=true', + '/workflow/wr-1/events?include_state_snapshot=true', expect.any(Object), expect.any(Object), ) diff --git a/web/app/components/base/chat/chat/hooks.ts b/web/app/components/base/chat/chat/hooks.ts index d19a784d41..bce1da9b80 100644 --- a/web/app/components/base/chat/chat/hooks.ts +++ b/web/app/components/base/chat/chat/hooks.ts @@ -258,9 +258,8 @@ export const useChat = ( ) => { const getOrCreatePlayer = createAudioPlayerManager() // Re-subscribe to workflow events for the specific message. - // replay=true tells the backend to read from the beginning of the Redis Stream // so all retained events are replayed on reconnection (e.g. page refresh). - const url = `/workflow/${workflowRunId}/events?include_state_snapshot=true&replay=true` + const url = `/workflow/${workflowRunId}/events?include_state_snapshot=true` const otherOptions: IOtherOptions = { isPublicAPI, @@ -608,7 +607,7 @@ export const useChat = ( }: SendCallback, ) => { const getOrCreatePlayer = createAudioPlayerManager() - const url = `/workflow/${workflowRunId}/events?include_state_snapshot=true&replay=true` + const url = `/workflow/${workflowRunId}/events?include_state_snapshot=true` const otherOptions: IOtherOptions = { isPublicAPI,