-
Notifications
You must be signed in to change notification settings - Fork 20.6k
Main20260310 #33237
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Main20260310 #33237
Changes from all commits
7a6b880
36f1294
b68fa1c
d409b4d
306c983
5824ce8
1a5834d
5743cb1
98c8391
cc875a7
a53cdab
9693a59
2243a67
d736d38
5ea3c95
a7bf238
737ea10
69c6a28
b65fe41
3e1655e
51b5322
937fa8b
132616e
382ca81
534ede2
f495dd4
80a4be4
80aeba9
be9169a
3a3f880
a483377
93a42d0
e5ad009
31bb31c
60218d7
a8169ae
b37e997
aa8dc35
1b6d45d
4c3e759
369651a
15065aa
f719353
4b84390
dd80083
83b99d7
4d4bd0f
bb1912f
bd90454
bf66938
1cf65c9
f18fd32
7ba4ff5
232ba43
b1f170b
a67b376
3dd4bc7
3478d5d
e636ee4
6afd765
b05f777
3f88af2
a3b136e
8255919
eca593d
e923f4b
67f3109
4df7e8e
71461ae
396f115
141d59e
af61e38
e64c57b
51baf2f
6d74184
06e3294
9aceeb8
bc317e8
2c33597
5afed30
d1bf59c
3702e01
b33d1aa
ec72aad
cbc285a
ef72073
b210603
d078c6b
5136bb6
b74ced4
796ab00
a59eff9
f4f0939
04d87ad
40adc52
14628d9
7fb3937
5d163df
f6a06ef
fcff39c
ee23ed8
a4970b6
d540027
d9fd349
d1195fe
ec4843a
fe05db8
7b3839e
2ebaeed
9cde41b
ecf20dd
bee8978
55ad65c
a474ee0
9f4fc20
5d7dda6
dc1ec89
4d0dc8b
732d646
db6d711
e6290f7
54bd4d1
565b3a9
f0807f6
3f51ec3
a0e7deb
c6d4347
41ae7d2
4c9ce0e
053f76d
33050d9
d953d49
4305534
3785cbd
5d8e4b7
7007e47
30b45ce
2d15055
bc88598
7776628
1eb200c
7bcf696
a635f53
50d0533
af472d9
f4595e3
496525f
8b957a2
d57bf31
73c938f
4e74ded
0ba56a5
1e9582f
9abbe02
ed653a4
5127a8a
a10de2b
3811780
2fc9635
73dbb2a
97ad3fb
fba4469
a6c2854
20f1174
43a9a22
ac915f7
3ed7aa1
4001521
691b3f1
77002dc
30cf3a4
7ef76a3
5e8e8be
4734a76
8b26e64
c1e9f2d
21d7091
2f31e70
157662b
63b5962
a7bea0a
1434ee9
745921f
403f493
ceed703
c9653e8
7b3da63
75a1760
875948e
25cbc23
0ccddd7
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,80 @@ | ||
| name: Custom Build and Push API & Web | ||
|
|
||
| on: | ||
| push: | ||
| branches: | ||
| - "main" | ||
| - "deploy/dev" | ||
| release: | ||
| types: [published] | ||
|
|
||
| env: | ||
| DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }} | ||
| DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} | ||
| DOCKER_REGISTRY: ${{ vars.DOCKER_REGISTRY || 'quay.io' }} | ||
| DIFY_WEB_IMAGE_NAME: ${{ vars.DIFY_WEB_IMAGE_NAME || 'langgenius/dify-web' }} | ||
| DIFY_API_IMAGE_NAME: ${{ vars.DIFY_API_IMAGE_NAME || 'langgenius/dify-api' }} | ||
|
|
||
| jobs: | ||
| build-and-push: | ||
| runs-on: ubuntu-latest | ||
| if: github.event.pull_request.draft == false | ||
| strategy: | ||
| matrix: | ||
| include: | ||
| - service_name: "web" | ||
| image_name_env: "DIFY_WEB_IMAGE_NAME" | ||
| context: "web" | ||
| - service_name: "api" | ||
| image_name_env: "DIFY_API_IMAGE_NAME" | ||
| context: "api" | ||
| steps: | ||
| - name: Get current date | ||
| id: date | ||
| run: echo "::set-output name=date::$(date +'%Y-%m-%d')" | ||
| # - name: Checkout | ||
| # uses: actions/checkout@v4.1.1 | ||
|
|
||
| - name: Set up QEMU | ||
| uses: docker/setup-qemu-action@v3 | ||
|
|
||
| - name: Set up Docker Buildx | ||
| uses: docker/setup-buildx-action@v3 | ||
|
|
||
| - name: Login to Registry ${{ env.DOCKER_REGISTRY }} | ||
| # uses: docker/login-action@v2 | ||
| uses: docker/login-action@28218f9b04b4f3f62068d7b6ce6ca5b26e35336c | ||
| with: | ||
| registry: ${{ env.DOCKER_REGISTRY }} | ||
| username: ${{ env.DOCKERHUB_USER }} | ||
| password: ${{ env.DOCKERHUB_TOKEN }} | ||
|
|
||
| - name: Extract metadata (tags, labels) for Docker | ||
| id: meta | ||
| uses: docker/metadata-action@v5 | ||
| with: | ||
| images: ${{ env[matrix.image_name_env] }} | ||
| tags: | | ||
| type=raw,value=latest,enable=${{ startsWith(github.ref, 'refs/tags/') }} | ||
| type=ref,event=branch | ||
| type=sha,enable=true,priority=100,prefix=,suffix=,format=long | ||
| type=raw,value=${{ github.ref_name }},enable=${{ startsWith(github.ref, 'refs/tags/') }} | ||
| - name: Prepare Custom UI | ||
| run: | | ||
| pwd | ||
| ls -l | ||
| # cd ./web/ | ||
| # bash -x ./custom.sh | ||
|
|
||
| - name: Build and push | ||
| uses: docker/build-push-action@v5 | ||
| with: | ||
| context: "{{defaultContext}}:${{ matrix.context }}" | ||
| platforms: ${{ startsWith(github.ref, 'refs/tags/') && 'linux/amd64,linux/arm64' || 'linux/amd64' }} | ||
| # build-args: COMMIT_SHA=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }} | ||
| push: true | ||
| tags: ${{ steps.meta.outputs.tags }} | ||
| labels: ${{ steps.meta.outputs.labels }} | ||
| cache-from: type=gha | ||
| cache-to: type=gha,mode=max |
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,21 @@ | ||||||
| #!/bin/bash | ||||||
|
|
||||||
| xsed='sed -i' | ||||||
| system=`uname` | ||||||
| if [ "$system" == "Darwin" ]; then | ||||||
| echo "This is macOS" | ||||||
| xsed="sed -i ''" | ||||||
| else | ||||||
| echo "This is Linux" | ||||||
| xsed='sed -i' | ||||||
| fi | ||||||
| EXEC_HOME=`pwd` | ||||||
| # custom with config | ||||||
|
|
||||||
| # custom api: | ||||||
| # $xsed "s#'CAN_REPLACE_LOGO': 'False'#'CAN_REPLACE_LOGO': 'True'#g" ${EXEC_HOME}/api/config.py | ||||||
| # $xsed "s#Dify OpenAPI#BlockAI OpenAPI#g" ${EXEC_HOME}/api/controllers/service_api/index.py | ||||||
| find ../api -type f -name "*.py" | xargs -I@ sh -c "sed -i.bak 's#DifyApp#LLMAIApp#g' @" | ||||||
|
Contributor
Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The script uses
Suggested change
|
||||||
| find ../api -type f -name "*.py" -o -name "*.yaml"| grep -vE "remove_extra_tracing_app_config_table|model.py|wraps.py|setup.py|init_validate.py|account_service.py"| xargs grep -E "[ '\"]Dify[ '\"]"| grep -vE "DifySetup|account_service|DifySpanAttributes|__init__.py|runtime.py" | ||||||
|
Contributor
Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||||||
| find ../api -type f -name "*.py" -o -name "*.yaml"| grep -vE "remove_extra_tracing_app_config_table|model.py|wraps.py|setup.py|init_validate.py|account_service.py"| xargs grep -E "[ '\"]Dify[ '\"]"| grep -vE "DifySetup|account_service|DifySpanAttributes|__init__.py|runtime.py"| awk -F ':' '{print $1}' | xargs -I@ sh -c "sed -i.bak 's#Dify#LLMAI#g' @" | ||||||
| exit 0 | ||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| volumes* | ||
| nginx/conf.d/default.conf |
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,69 @@ | ||||||
| #!/bin/bash | ||||||
|
|
||||||
| baseDir=$(cd `dirname $0`;pwd) | ||||||
| cd $baseDir | ||||||
| EXEC_TIME=`date +%Y%m%d%H%M%S` | ||||||
|
|
||||||
| # dc-llmapp | ||||||
| sed -i.bak 's#langgenius/dify-api:.*#registry.cn-hangzhou.aliyuncs.com/roweb/dify-api:main#g' docker-compose.yaml | ||||||
| sed -i.bak 's#langgenius/dify-web:.*#registry.cn-hangzhou.aliyuncs.com/roweb/dify-web:main#g' docker-compose.yaml | ||||||
| sed -i.bak 's#langgenius/dify-sandbox:.*#registry.cn-hangzhou.aliyuncs.com/roweb/dify-sandbox:0.2.12#g' docker-compose.yaml | ||||||
| sed -i.bak 's#langgenius/dify-plugin-daemon:.*#registry.cn-hangzhou.aliyuncs.com/roweb/dify-plugin-daemon:0.4.1-local#g' docker-compose.yaml | ||||||
|
|
||||||
| # dc-llmmid | ||||||
| sed -i.bak 's#langgenius/dify-sandbox:.*#registry.cn-hangzhou.aliyuncs.com/roweb/dify-sandbox:0.2.12#g' dc-llmmid.yaml | ||||||
| sed -i.bak 's#langgenius/dify-plugin-daemon:.*#registry.cn-hangzhou.aliyuncs.com/roweb/dify-plugin-daemon:0.4.1-local#g' dc-llmmid.yaml | ||||||
|
|
||||||
| ## env | ||||||
| sed -e 's#difyai123456#llmdb123456#g;s#-dify-sandbox#-llmdb-sandbox#g;s#-dify_plugin#-llmdb_plugin#g;s#POSTGRES_MAX_CONNECTIONS=100#POSTGRES_MAX_CONNECTIONS=400#g' middleware.env > dc-llmmid.env | ||||||
|
Contributor
Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The script replaces a default password |
||||||
| ## conf | ||||||
| sed -i.bak 's#key: dify-sandbox#key: llmdb-sandbox#g' ./volumes/sandbox/conf/config.yaml.example | ||||||
| sed -i.bak 's#key: dify-sandbox#key: llmdb-sandbox#g' ./volumes/sandbox/conf/config.yaml | ||||||
|
|
||||||
| ## yaml | ||||||
| sed -e 's#difyai123456#llmdb123456#g;s#-dify-sandbox#-llmdb-sandbox#g;s#-dify_plugin#-llmdb_plugin#g;s#POSTGRES_MAX_CONNECTIONS=100#POSTGRES_MAX_CONNECTIONS=400#g;s#-dify#-llmdb#g;s#./middleware.env#./dc-llmmid.env#g' docker-compose.middleware.yaml > dc-llmmid.yaml | ||||||
|
|
||||||
|
|
||||||
| # sed -i.bak -e 's#difyai123456#llmdb123456#g; \ | ||||||
| # s#-dify-sandbox#-llmdb-sandbox#g; \ | ||||||
| # s#-dify_plugin#-llmdb_plugin#g; \ | ||||||
| # s#-dify#-llmdb#g' \ | ||||||
| # docker-compose.middleware.yaml | ||||||
|
|
||||||
| # dc-llmapp | ||||||
|
|
||||||
| ## env | ||||||
| sed -e 's#difyai123456#llmdb123456#g;s#-dify-sandbox#-llmdb-sandbox#g;s#-dify_plugin#-llmdb_plugin#g;s#POSTGRES_MAX_CONNECTIONS=100#POSTGRES_MAX_CONNECTIONS=400#g' .env.example > dc-llmapp.env | ||||||
|
|
||||||
| ## conf | ||||||
|
|
||||||
| ### parm | ||||||
| sed -i.bak 's#LOG_TZ=UTC#LOG_TZ=Asia/Shanghai#g;s#EXPOSE_NGINX_PORT=80#EXPOSE_NGINX_PORT=8050#g;s#EXPOSE_NGINX_SSL_PORT=443#EXPOSE_NGINX_SSL_PORT=8543#g;s#DB_PLUGIN_DATABASE=dify_plugin#DB_PLUGIN_DATABASE=llmdb_plugin#g;s#FORCE_VERIFYING_SIGNATURE=true#FORCE_VERIFYING_SIGNATURE=false#g;s#PLUGIN_MAX_PACKAGE_SIZE=52428800#PLUGIN_MAX_PACKAGE_SIZE=524288000#g;s#DB_DATABASE=dify#DB_DATABASE=llmdb#g' ./dc-llmapp.env | ||||||
|
Contributor
Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The script explicitly disables signature verification by setting
Suggested change
|
||||||
|
|
||||||
| ### env | ||||||
| ip_addr="192.168.3.136" | ||||||
| sed -i.bak "s#=http://ssrf_proxy:3128#=http://${ip_addr}:3128#g;s#=http://sandbox:8194#=http://${ip_addr}:8194#g;s#http://plugin_daemon:5002#http://${ip_addr}:5002#g;s#REDIS_HOST=redis#REDIS_HOST=${ip_addr}#g;s#redis:6379#${ip_addr}:6379#g;s#DB_HOST=db#DB_HOST=${ip_addr}#g" ./dc-llmapp.env | ||||||
|
Comment on lines
+44
to
+45
Contributor
Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The script hardcodes the internal IP address |
||||||
|
|
||||||
| ## yaml | ||||||
| sed -e 's#difyai123456#llmdb123456#g;s#-dify-sandbox#-llmdb-sandbox#g;s#-dify_plugin#-llmdb_plugin#g;s#POSTGRES_MAX_CONNECTIONS=100#POSTGRES_MAX_CONNECTIONS=400#g;s#-dify#-llmdb#g;s#./middleware.env#./dc-llmmid.env#g' docker-compose.yaml > dc-llmapp.yaml | ||||||
| # sed '/^ # OceanBase vector database/,$d' dc-llmapp.yaml > dc-llmapp-v2.yaml | ||||||
| sed '/^ # Qdrant vector store./,$d' dc-llmapp.yaml > dc-llmapp-v2.yaml | ||||||
|
|
||||||
| # NAS避免端口冲突 | ||||||
| sed -i.bak 's#6379#6379#g' dc-*.yaml | ||||||
|
Contributor
Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||||||
| sed -i.bak 's#5432#5431#g' dc-*.yaml | ||||||
| sed -i.bak 's#=80#=8880#g' dc-*.env | ||||||
| sed -i.bak 's#=443#=8443#g' dc-*.env | ||||||
|
|
||||||
| cat >> dc-llmapp-v2.yaml << EOF | ||||||
| networks: | ||||||
| # create a network between sandbox, api and ssrf_proxy, and can not access outside. | ||||||
| ssrf_proxy_network: | ||||||
| driver: bridge | ||||||
| internal: true | ||||||
| EOF | ||||||
| # sed '/^ qdrant:/,$d' dc-llmapp.yaml > dc-llmapp-v2.yaml | ||||||
| # sed -i.bak '/^ myscale:/,/^ [a-z]/{//!d;/^ [a-z]/!d}' dc-llmapp.yaml | ||||||
| # sed -i.bak '/^ myscale:/,/^ [a-z]/d' dc-llmapp.yaml | ||||||
| # # ...existing code... | ||||||
| # sed -i.bak '/^ myscale:/,/^ [a-z]/d' dc-llmapp.yaml | ||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,25 @@ | ||
| #!/bin/bash | ||
|
|
||
| baseDir=$(cd `dirname $0`;pwd) | ||
| cd $baseDir | ||
|
|
||
| EXEC_TIME=`date +%Y%m%d%H%M%S` | ||
|
|
||
| tar -cvzf dc-llmapp-deploy-${EXEC_TIME}.tar.gz \ | ||
| dc-llmapp.* \ | ||
| dc-llmapp-v2.* \ | ||
| docker-compose.* \ | ||
| .env.example \ | ||
| nginx \ | ||
| startupscripts \ | ||
| pip \ | ||
| volumes/sandbox | ||
|
|
||
| tar -cvzf dc-llmmid-deploy-${EXEC_TIME}.tar.gz \ | ||
| dc-llmmid.* \ | ||
| docker-compose.middleware.yaml \ | ||
| middleware.env.example \ | ||
| ssrf_proxy \ | ||
| startupscripts \ | ||
| pip \ | ||
| volumes/sandbox |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,50 @@ | ||
| #!/bin/bash | ||
|
|
||
| xsed='sed -i' | ||
| system=`uname` | ||
| if [ "$system" == "Darwin" ]; then | ||
| echo "This is macOS" | ||
| xsed="sed -i .bak" | ||
| else | ||
| echo "This is Linux" | ||
| xsed='sed -i' | ||
| fi | ||
|
|
||
| # custom with config | ||
| # $xsed "s#'CAN_REPLACE_LOGO': 'False'#'CAN_REPLACE_LOGO': 'True'#g" ../api/config.py | ||
|
|
||
| # custom webui | ||
| # find ../web/ -type f -name "*.ts" -o -name "*.tsx" | xargs grep -E "[ '\"]Dify[ '\"]"| awk -F ':' '{print $1}' | xargs -I@ bash -c "${xsed} -i.bak 's#Dify#LLMAI#g' @" | ||
| $xsed "s#Dify#LLMAI#g" ../web/public/_offline.html | ||
| $xsed "s#Dify#LLMAI#g" ../web/public/manifest.json | ||
| $xsed "s#Dify#LLM AI#g" ../web/i18n/zh-Hans/login.ts | ||
| $xsed "s#Dify#LLM AI#g" ../web/app/layout.tsx | ||
| $xsed "s#Dify#LLM AI#g" "../web/app/(commonLayout)/layout.tsx" | ||
| $xsed "s#Dify#LLM AI#g" "../web/app/(commonLayout)/datasets/page.tsx" | ||
| $xsed "s#'Dify'#'LLMAI'#g" ../web/app/components/base/icons/src/public/common/Dify.tsx | ||
| $xsed "s#Powered by Dify#Powered by LLMAI#g" ../web/app/components/base/chat/embedded-chatbot/index.tsx | ||
| $xsed "s#POWERED BY#技术支持:#g" ../web/app/components/custom/custom-web-app-brand/index.tsx | ||
|
|
||
| $xsed "s#logo-site.png#logo-site-jsb.png#g" ../web/app/components/base/logo/logo-site.tsx | ||
| $xsed "s#logo.svg#logo-llmapp.svg#g" ../web/app/components/base/logo/logo-site.tsx | ||
| $xsed "s#logo-monochrome-white.svg#logo-monochrome-white-llmapp.svg#g" ../web/app/components/base/logo/logo-site.tsx | ||
| find ../web -type f -name "*.ts" -o -name "*.tsx" -o -name "*.js" | grep -v node_modules | xargs $xsed "s#logo.svg#logo-llmapp.svg#g" | ||
| find ../web -type f -name "*.ts" -o -name "*.tsx" -o -name "*.js" | grep -v node_modules | xargs $xsed "s#logo-monochrome-white.svg#logo-monochrome-white-llmapp.svg#g" | ||
| $xsed "s#LangGenius, Inc.#BlockAI, Inc.#g" ../web/app/components/header/account-about/index.tsx | ||
| $xsed "s#LangGenius, Inc.#BlockAI, Inc.#g" ../web/app/signin/page.tsx | ||
| find ../web -type f -name "*.ts" -o -name "*.tsx" -o -name "*.js" | grep -v node_modules | xargs $xsed "s#LangGenius, Inc.#BlockAI, Inc.#g" | ||
| $xsed "s#https://dify.ai#https://llm.ai#g" ../web/app/components/header/account-about/index.tsx | ||
| $xsed "s#https://dify.ai#https://llm.ai#g" ../web/app/components/base/chat/chat-with-history/config-panel/index.tsx | ||
| # $xsed "s#https://dify.ai/#https://llm.ai/#g" ../web/app/components/share/chat/welcome/index.tsx | ||
| # $xsed "s#https://dify.ai/#https://llm.ai/#g" ../web/app/components/share/chatbot/welcome/index.tsx | ||
| $xsed "s#https://dify.ai#https://llm.ai#g" ../web/app/signin/normalForm.tsx | ||
| $xsed "s#https://github.com/langgenius/dify#https://github.com/blockmap/llmai#g" ../web/app/components/header/account-about/index.tsx | ||
| # find ../web -name "*.tsx" | xargs grep "\- Dify" | ||
| # find ../web -name "*.tsx" | xargs grep "\- Dify" | awk -F':' '{print $1}' | xargs $xsed "s#- Dify#- LLM#g" | ||
| find ../web -type f -name "*.ts" -o -name "*.tsx" | xargs grep -E "[ '>\"]Dify[ '<\"\$\`]" | grep -vE "default as Dify |Dify.json|embedded-chatbot/index.tsx" | ||
|
Contributor
Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
| find ../web -type f -name "*.ts" -o -name "*.tsx" | xargs grep -E "[ '>\"]Dify[ '<\"\$\`]" | grep -vE "default as Dify |Dify.json|embedded-chatbot/index.tsx" | awk -F ':' '{print $1}' | xargs -I@ sh -c "sed -i.bak 's#Dify#LLMAI#g' '@'" | ||
| find ../web -type f -name "*.ts" -o -name "*.tsx" | xargs grep -E "https://github.com/langgenius/dify" | grep -vE " default as Dify |Dify.json|embedded-chatbot/index.tsx" | awk -F ':' '{print $1}' | xargs -I@ sh -c "sed -i.bak 's#https://github.com/langgenius/dify#https://github.com/blockmap/llmai#g' '@'" | ||
|
Comment on lines
+45
to
+46
Contributor
Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The |
||
|
|
||
| # custom api: | ||
| # $xsed "s#Dify OpenAPI#BlockAI OpenAPI#g" ../api/controllers/service_api/index.py | ||
| exit 0 | ||
Unchanged files with check annotations Beta
| import type { NavIcon } from '@/app/components/app-sidebar/nav-link' | ||
| import type { App } from '@/types/app' | ||
| import { | ||
| RiDashboard2Fill, | ||
| RiDashboard2Line, | ||
| RiFileList3Fill, | ||
| RiFileList3Line, | ||
| RiTerminalBoxFill, | ||
| RiTerminalBoxLine, | ||
| RiTerminalWindowFill, | ||
| RiTerminalWindowLine, | ||
| } from '@remixicon/react' | ||
| import { useUnmount } from 'ahooks' | ||
| import dynamic from 'next/dynamic' | ||
| // if ((appDetail.mode === AppModeEnum.ADVANCED_CHAT || appDetail.mode === 'workflow') && (pathname).endsWith('workflow')) | ||
| // setAppSidebarExpand('collapse') | ||
| } | ||
| }, [appDetail, isMobile]) | ||
| useEffect(() => { | ||
| setAppDetail() | ||
| }).finally(() => { | ||
| setIsLoadingAppDetail(false) | ||
| }) | ||
| }, [appId, pathname]) | ||
|
Check warning on line 131 in web/app/(commonLayout)/app/(appDetailLayout)/[appId]/layout-main.tsx
|
||
| useEffect(() => { | ||
| if (!appDetailRes || !currentWorkspace.id || isLoadingCurrentWorkspace || isLoadingAppDetail) | ||
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These lines are redundant. The
entrypoint.shscript is already copied and made executable on line 112. You can remove these lines to avoid duplication and make the Dockerfile cleaner.