From 613bc85a132bba3665a05b22962f275a4f7720f0 Mon Sep 17 00:00:00 2001 From: Faisal Amir Date: Wed, 8 Oct 2025 12:41:26 +0700 Subject: [PATCH 1/6] fix: remove setup screen on project id to make same behavior with thread --- web-app/src/routes/project/$projectId.tsx | 33 ++++++++++------------- 1 file changed, 14 insertions(+), 19 deletions(-) diff --git a/web-app/src/routes/project/$projectId.tsx b/web-app/src/routes/project/$projectId.tsx index 042038e12..a87a87e09 100644 --- a/web-app/src/routes/project/$projectId.tsx +++ b/web-app/src/routes/project/$projectId.tsx @@ -3,12 +3,10 @@ import { useMemo } from 'react' import { useThreadManagement } from '@/hooks/useThreadManagement' import { useThreads } from '@/hooks/useThreads' -import { useModelProvider } from '@/hooks/useModelProvider' import { useTranslation } from '@/i18n/react-i18next-compat' import ChatInput from '@/containers/ChatInput' import HeaderPage from '@/containers/HeaderPage' -import SetupScreen from '@/containers/SetupScreen' import ThreadList from '@/containers/ThreadList' import DropdownAssistant from '@/containers/DropdownAssistant' @@ -26,7 +24,6 @@ export const Route = createFileRoute('/project/$projectId')({ function ProjectPage() { const { t } = useTranslation() const { projectId } = useParams({ from: '/project/$projectId' }) - const { providers } = useModelProvider() const { getFolderById } = useThreadManagement() const threads = useThreads((state) => state.threads) @@ -43,18 +40,6 @@ function ProjectPage() { .sort((a, b) => (b.updated || 0) - (a.updated || 0)) }, [threads, projectId]) - // Conditional to check if there are any valid providers - const hasValidProviders = providers.some( - (provider) => - provider.api_key?.length || - (provider.provider === 'llamacpp' && provider.models.length) || - (provider.provider === 'jan' && provider.models.length) - ) - - if (!hasValidProviders) { - return - } - if (!project) { return (
@@ -93,7 +78,9 @@ function ProjectPage() { {projectThreads.length > 0 && ( <>

- {t('projects.conversationsIn', { projectName: project.name })} + {t('projects.conversationsIn', { + projectName: project.name, + })}

{t('projects.conversationsDescription')} @@ -105,7 +92,11 @@ function ProjectPage() { {/* Thread List or Empty State */}

{projectThreads.length > 0 ? ( - + ) : (

- {t('projects.noConversationsIn', { projectName: project.name })} + {t('projects.noConversationsIn', { + projectName: project.name, + })}

- {t('projects.startNewConversation', { projectName: project.name })} + {t('projects.startNewConversation', { + projectName: project.name, + })}

)} From f224d18d7f1161f26727ee25e7d5d7e3e7b2bc6c Mon Sep 17 00:00:00 2001 From: Faisal Amir Date: Wed, 8 Oct 2025 12:54:04 +0700 Subject: [PATCH 2/6] chore: turn off zoomHotkeysEnabled --- src-tauri/tauri.conf.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index fb1b1950b..9e73322ee 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -13,7 +13,6 @@ "macOSPrivateApi": true, "windows": [ { - "zoomHotkeysEnabled": true, "label": "main", "title": "Jan", "width": 1024, @@ -40,7 +39,12 @@ } ], "security": { - "capabilities": ["default", "logs-app-window", "logs-window", "system-monitor-window"], + "capabilities": [ + "default", + "logs-app-window", + "logs-window", + "system-monitor-window" + ], "csp": { "default-src": "'self' customprotocol: asset: http://localhost:* http://127.0.0.1:* ws://localhost:* ws://127.0.0.1:*", "connect-src": "ipc: http://ipc.localhost http://127.0.0.1:* ws://localhost:* ws://127.0.0.1:* https: http:", From c7d1a3c65d9f87e45ad62d04477cdc32d44164d3 Mon Sep 17 00:00:00 2001 From: Minh141120 Date: Wed, 8 Oct 2025 15:48:16 +0700 Subject: [PATCH 3/6] chore: update license path --- package.json | 7 +++---- src-tauri/tauri.android.conf.json | 3 +-- src-tauri/tauri.bundle.windows.nsis.template | 4 ---- src-tauri/tauri.conf.json | 4 ++-- src-tauri/tauri.ios.conf.json | 3 +-- src-tauri/tauri.linux.conf.json | 2 +- src-tauri/tauri.macos.conf.json | 2 +- src-tauri/tauri.windows.conf.json | 3 +-- 8 files changed, 10 insertions(+), 18 deletions(-) diff --git a/package.json b/package.json index 386721def..f4160973f 100644 --- a/package.json +++ b/package.json @@ -31,8 +31,8 @@ "build:android": "yarn build:icon && yarn copy:assets:mobile && cross-env IS_CLEAN=true yarn tauri android build -- --no-default-features --features mobile", "build:ios": "yarn build:icon && yarn copy:assets:mobile && cross-env IS_IOS=true yarn tauri ios build -- --no-default-features --features mobile", "build:ios:device": "yarn build:icon && yarn copy:assets:mobile && cross-env IS_IOS=true yarn tauri ios build -- --no-default-features --features mobile --export-method debugging", - "copy:assets:tauri": "cpx \"pre-install/*.tgz\" \"src-tauri/resources/pre-install/\" && cpx \"LICENSE\" \"src-tauri/resources/\"", - "copy:assets:mobile": "cpx \"pre-install/*.tgz\" \"src-tauri/resources/pre-install/\" && cpx \"LICENSE\" \"src-tauri/resources/\"", + "copy:assets:tauri": "cpx \"pre-install/*.tgz\" \"src-tauri/resources/pre-install/\"", + "copy:assets:mobile": "cpx \"pre-install/*.tgz\" \"src-tauri/resources/pre-install/\"", "download:lib": "node ./scripts/download-lib.mjs", "download:bin": "node ./scripts/download-bin.mjs", "build:tauri:win32": "yarn download:bin && yarn tauri build", @@ -68,6 +68,5 @@ "yallist": "4.0.0", "@types/react": "19.1.2", "@types/react-dom": "19.1.2" - }, - "packageManager": "yarn@4.5.3" + } } diff --git a/src-tauri/tauri.android.conf.json b/src-tauri/tauri.android.conf.json index 2f1144c20..c38f73c88 100644 --- a/src-tauri/tauri.android.conf.json +++ b/src-tauri/tauri.android.conf.json @@ -15,8 +15,7 @@ "bundle": { "active": true, "resources": [ - "resources/pre-install/**/*", - "resources/LICENSE" + "resources/pre-install/**/*" ], "externalBin": [], "android": { diff --git a/src-tauri/tauri.bundle.windows.nsis.template b/src-tauri/tauri.bundle.windows.nsis.template index 8e7602f25..5d10e19c4 100644 --- a/src-tauri/tauri.bundle.windows.nsis.template +++ b/src-tauri/tauri.bundle.windows.nsis.template @@ -697,7 +697,6 @@ Section Install CreateDirectory "$INSTDIR\resources" CreateDirectory "$INSTDIR\resources\pre-install" SetOutPath $INSTDIR - File /a "/oname=LICENSE" "D:\a\jan\jan\src-tauri\resources\LICENSE" SetOutPath "$INSTDIR\resources\pre-install" File /nonfatal /a /r "D:\a\jan\jan\src-tauri\resources\pre-install\" SetOutPath $INSTDIR @@ -821,9 +820,6 @@ Section Uninstall ; Copy main executable Delete "$INSTDIR\${MAINBINARYNAME}.exe" - ; Delete LICENSE file - Delete "$INSTDIR\LICENSE" - ; Delete resources Delete "$INSTDIR\resources\pre-install\janhq-assistant-extension-1.0.2.tgz" Delete "$INSTDIR\resources\pre-install\janhq-conversational-extension-1.0.0.tgz" diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index fb1b1950b..0c36fac98 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -76,6 +76,7 @@ } }, "bundle": { + "licenseFile": "../LICENSE", "publisher": "Menlo Research Pte. Ltd.", "active": true, "createUpdaterArtifacts": false, @@ -85,7 +86,6 @@ "icons/128x128@2x.png", "icons/icon.icns", "icons/icon.ico" - ], - "resources": ["resources/LICENSE"] + ] } } diff --git a/src-tauri/tauri.ios.conf.json b/src-tauri/tauri.ios.conf.json index 347f16bbd..4c86629ef 100644 --- a/src-tauri/tauri.ios.conf.json +++ b/src-tauri/tauri.ios.conf.json @@ -18,8 +18,7 @@ "developmentTeam": "" }, "resources": [ - "resources/pre-install/**/*", - "resources/LICENSE" + "resources/pre-install/**/*" ], "externalBin": [] } diff --git a/src-tauri/tauri.linux.conf.json b/src-tauri/tauri.linux.conf.json index 32f6068a2..f43b01beb 100644 --- a/src-tauri/tauri.linux.conf.json +++ b/src-tauri/tauri.linux.conf.json @@ -11,7 +11,7 @@ }, "bundle": { "targets": ["deb", "appimage"], - "resources": ["resources/pre-install/**/*", "resources/LICENSE"], + "resources": ["resources/pre-install/**/*"], "externalBin": ["resources/bin/uv"], "linux": { "appimage": { diff --git a/src-tauri/tauri.macos.conf.json b/src-tauri/tauri.macos.conf.json index 5c5b493fa..016c02105 100644 --- a/src-tauri/tauri.macos.conf.json +++ b/src-tauri/tauri.macos.conf.json @@ -11,7 +11,7 @@ }, "bundle": { "targets": ["app", "dmg"], - "resources": ["resources/pre-install/**/*", "resources/LICENSE"], + "resources": ["resources/pre-install/**/*"], "externalBin": ["resources/bin/bun", "resources/bin/uv"] } } diff --git a/src-tauri/tauri.windows.conf.json b/src-tauri/tauri.windows.conf.json index bc8ede344..ffb6cf5e2 100644 --- a/src-tauri/tauri.windows.conf.json +++ b/src-tauri/tauri.windows.conf.json @@ -13,8 +13,7 @@ "bundle": { "targets": ["nsis", "msi"], "resources": [ - "resources/pre-install/**/*", - "resources/LICENSE" + "resources/pre-install/**/*" ], "externalBin": ["resources/bin/bun", "resources/bin/uv"], "windows": { From 1905f9a9ce406131a791af6321c8c6e39d32d96a Mon Sep 17 00:00:00 2001 From: Minh141120 Date: Wed, 8 Oct 2025 16:55:24 +0700 Subject: [PATCH 4/6] chore: move license to resources --- src-tauri/tauri.android.conf.json | 3 ++- src-tauri/tauri.bundle.windows.nsis.template | 4 ++++ src-tauri/tauri.conf.json | 3 ++- src-tauri/tauri.ios.conf.json | 3 ++- src-tauri/tauri.linux.conf.json | 2 +- src-tauri/tauri.macos.conf.json | 2 +- src-tauri/tauri.windows.conf.json | 3 ++- 7 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src-tauri/tauri.android.conf.json b/src-tauri/tauri.android.conf.json index c38f73c88..2f1144c20 100644 --- a/src-tauri/tauri.android.conf.json +++ b/src-tauri/tauri.android.conf.json @@ -15,7 +15,8 @@ "bundle": { "active": true, "resources": [ - "resources/pre-install/**/*" + "resources/pre-install/**/*", + "resources/LICENSE" ], "externalBin": [], "android": { diff --git a/src-tauri/tauri.bundle.windows.nsis.template b/src-tauri/tauri.bundle.windows.nsis.template index 5d10e19c4..8e7602f25 100644 --- a/src-tauri/tauri.bundle.windows.nsis.template +++ b/src-tauri/tauri.bundle.windows.nsis.template @@ -697,6 +697,7 @@ Section Install CreateDirectory "$INSTDIR\resources" CreateDirectory "$INSTDIR\resources\pre-install" SetOutPath $INSTDIR + File /a "/oname=LICENSE" "D:\a\jan\jan\src-tauri\resources\LICENSE" SetOutPath "$INSTDIR\resources\pre-install" File /nonfatal /a /r "D:\a\jan\jan\src-tauri\resources\pre-install\" SetOutPath $INSTDIR @@ -820,6 +821,9 @@ Section Uninstall ; Copy main executable Delete "$INSTDIR\${MAINBINARYNAME}.exe" + ; Delete LICENSE file + Delete "$INSTDIR\LICENSE" + ; Delete resources Delete "$INSTDIR\resources\pre-install\janhq-assistant-extension-1.0.2.tgz" Delete "$INSTDIR\resources\pre-install\janhq-conversational-extension-1.0.0.tgz" diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 0c36fac98..95f1cf30b 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -86,6 +86,7 @@ "icons/128x128@2x.png", "icons/icon.icns", "icons/icon.ico" - ] + ], + "resources": ["resources/LICENSE"] } } diff --git a/src-tauri/tauri.ios.conf.json b/src-tauri/tauri.ios.conf.json index 4c86629ef..347f16bbd 100644 --- a/src-tauri/tauri.ios.conf.json +++ b/src-tauri/tauri.ios.conf.json @@ -18,7 +18,8 @@ "developmentTeam": "" }, "resources": [ - "resources/pre-install/**/*" + "resources/pre-install/**/*", + "resources/LICENSE" ], "externalBin": [] } diff --git a/src-tauri/tauri.linux.conf.json b/src-tauri/tauri.linux.conf.json index f43b01beb..32f6068a2 100644 --- a/src-tauri/tauri.linux.conf.json +++ b/src-tauri/tauri.linux.conf.json @@ -11,7 +11,7 @@ }, "bundle": { "targets": ["deb", "appimage"], - "resources": ["resources/pre-install/**/*"], + "resources": ["resources/pre-install/**/*", "resources/LICENSE"], "externalBin": ["resources/bin/uv"], "linux": { "appimage": { diff --git a/src-tauri/tauri.macos.conf.json b/src-tauri/tauri.macos.conf.json index 016c02105..5c5b493fa 100644 --- a/src-tauri/tauri.macos.conf.json +++ b/src-tauri/tauri.macos.conf.json @@ -11,7 +11,7 @@ }, "bundle": { "targets": ["app", "dmg"], - "resources": ["resources/pre-install/**/*"], + "resources": ["resources/pre-install/**/*", "resources/LICENSE"], "externalBin": ["resources/bin/bun", "resources/bin/uv"] } } diff --git a/src-tauri/tauri.windows.conf.json b/src-tauri/tauri.windows.conf.json index ffb6cf5e2..bc8ede344 100644 --- a/src-tauri/tauri.windows.conf.json +++ b/src-tauri/tauri.windows.conf.json @@ -13,7 +13,8 @@ "bundle": { "targets": ["nsis", "msi"], "resources": [ - "resources/pre-install/**/*" + "resources/pre-install/**/*", + "resources/LICENSE" ], "externalBin": ["resources/bin/bun", "resources/bin/uv"], "windows": { From 59c76bcb1caee7feea1c7e8edacf07ed4333c8a5 Mon Sep 17 00:00:00 2001 From: Minh141120 Date: Wed, 8 Oct 2025 16:56:36 +0700 Subject: [PATCH 5/6] chore: revert copy asset script --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index f4160973f..9b6b6e8b8 100644 --- a/package.json +++ b/package.json @@ -31,8 +31,8 @@ "build:android": "yarn build:icon && yarn copy:assets:mobile && cross-env IS_CLEAN=true yarn tauri android build -- --no-default-features --features mobile", "build:ios": "yarn build:icon && yarn copy:assets:mobile && cross-env IS_IOS=true yarn tauri ios build -- --no-default-features --features mobile", "build:ios:device": "yarn build:icon && yarn copy:assets:mobile && cross-env IS_IOS=true yarn tauri ios build -- --no-default-features --features mobile --export-method debugging", - "copy:assets:tauri": "cpx \"pre-install/*.tgz\" \"src-tauri/resources/pre-install/\"", - "copy:assets:mobile": "cpx \"pre-install/*.tgz\" \"src-tauri/resources/pre-install/\"", + "copy:assets:tauri": "cpx \"pre-install/*.tgz\" \"src-tauri/resources/pre-install/\" && cpx \"LICENSE\" \"src-tauri/resources/\"", + "copy:assets:mobile": "cpx \"pre-install/*.tgz\" \"src-tauri/resources/pre-install/\" && cpx \"LICENSE\" \"src-tauri/resources/\"", "download:lib": "node ./scripts/download-lib.mjs", "download:bin": "node ./scripts/download-bin.mjs", "build:tauri:win32": "yarn download:bin && yarn tauri build", From 03762c3634e0aba275ebbf279e8867549a227ed1 Mon Sep 17 00:00:00 2001 From: Minh141120 Date: Wed, 8 Oct 2025 16:57:21 +0700 Subject: [PATCH 6/6] chore: revert packageManger --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 9b6b6e8b8..386721def 100644 --- a/package.json +++ b/package.json @@ -68,5 +68,6 @@ "yallist": "4.0.0", "@types/react": "19.1.2", "@types/react-dom": "19.1.2" - } + }, + "packageManager": "yarn@4.5.3" }