fix: replaced user path from app log (#2238)

Signed-off-by: James <james@jan.ai>
Co-authored-by: James <james@jan.ai>
This commit is contained in:
NamH 2024-03-05 14:03:39 +07:00 committed by GitHub
parent 02013639a4
commit 8ecd93661d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 35 additions and 31 deletions

View File

@ -1,26 +1,37 @@
import { import { useCallback } from 'react'
fs,
joinPath, import { fs, joinPath, openFileExplorer } from '@janhq/core'
openFileExplorer, import { useAtomValue } from 'jotai'
getJanDataFolderPath,
} from '@janhq/core' import { janDataFolderPathAtom } from '@/helpers/atoms/AppConfig.atom'
export const useLogs = () => { export const useLogs = () => {
const getLogs = async (file: string) => { const janDataFolderPath = useAtomValue(janDataFolderPathAtom)
const getLogs = useCallback(
async (file: string) => {
const path = await joinPath(['file://logs', `${file}.log`]) const path = await joinPath(['file://logs', `${file}.log`])
if (!(await fs.existsSync(path))) return {} if (!(await fs.existsSync(path))) return ''
const logs = await fs.readFileSync(path, 'utf-8') const logs = await fs.readFileSync(path, 'utf-8')
return logs const sanitizedLogs = logs.replace(
} new RegExp(`${janDataFolderPath}\\/`, 'g'),
const openServerLog = async () => { 'jan-data-folder/'
const janDataFolderPath = await getJanDataFolderPath() )
return sanitizedLogs
},
[janDataFolderPath]
)
const openServerLog = useCallback(async () => {
const fullPath = await joinPath([janDataFolderPath, 'logs', 'server.log']) const fullPath = await joinPath([janDataFolderPath, 'logs', 'server.log'])
return openFileExplorer(fullPath) return openFileExplorer(fullPath)
} }, [janDataFolderPath])
const clearServerLog = async () => { const clearServerLog = useCallback(async () => {
await fs.writeFileSync(await joinPath(['file://logs', 'server.log']), '') await fs.writeFileSync(await joinPath(['file://logs', 'server.log']), '')
} }, [])
return { getLogs, openServerLog, clearServerLog } return { getLogs, openServerLog, clearServerLog }
} }

View File

@ -1,16 +1,13 @@
import { import { openFileExplorer, joinPath, baseName } from '@janhq/core'
openFileExplorer,
joinPath,
getJanDataFolderPath,
baseName,
} from '@janhq/core'
import { useAtomValue } from 'jotai' import { useAtomValue } from 'jotai'
import { selectedModelAtom } from '@/containers/DropdownListSidebar' import { selectedModelAtom } from '@/containers/DropdownListSidebar'
import { janDataFolderPathAtom } from '@/helpers/atoms/AppConfig.atom'
import { activeThreadAtom } from '@/helpers/atoms/Thread.atom' import { activeThreadAtom } from '@/helpers/atoms/Thread.atom'
export const usePath = () => { export const usePath = () => {
const janDataFolderPath = useAtomValue(janDataFolderPathAtom)
const activeThread = useAtomValue(activeThreadAtom) const activeThread = useAtomValue(activeThreadAtom)
const selectedModel = useAtomValue(selectedModelAtom) const selectedModel = useAtomValue(selectedModelAtom)
@ -18,7 +15,6 @@ export const usePath = () => {
// TODO: this logic should be refactored. // TODO: this logic should be refactored.
if (type !== 'Model' && !activeThread) return if (type !== 'Model' && !activeThread) return
const userSpace = await getJanDataFolderPath()
let filePath = undefined let filePath = undefined
const assistantId = activeThread?.assistants[0]?.assistant_id const assistantId = activeThread?.assistants[0]?.assistant_id
switch (type) { switch (type) {
@ -40,7 +36,7 @@ export const usePath = () => {
} }
if (!filePath) return if (!filePath) return
const fullPath = await joinPath([userSpace, filePath]) const fullPath = await joinPath([janDataFolderPath, filePath])
openFileExplorer(fullPath) openFileExplorer(fullPath)
} }
@ -48,7 +44,6 @@ export const usePath = () => {
// TODO: this logic should be refactored. // TODO: this logic should be refactored.
if (type !== 'Model' && !activeThread) return if (type !== 'Model' && !activeThread) return
const userSpace = await getJanDataFolderPath()
let filePath = undefined let filePath = undefined
const assistantId = activeThread?.assistants[0]?.assistant_id const assistantId = activeThread?.assistants[0]?.assistant_id
switch (type) { switch (type) {
@ -74,31 +69,29 @@ export const usePath = () => {
} }
if (!filePath) return if (!filePath) return
const fullPath = await joinPath([userSpace, filePath]) const fullPath = await joinPath([janDataFolderPath, filePath])
openFileExplorer(fullPath) openFileExplorer(fullPath)
} }
const onViewFile = async (id: string) => { const onViewFile = async (id: string) => {
if (!activeThread) return if (!activeThread) return
const userSpace = await getJanDataFolderPath()
let filePath = undefined let filePath = undefined
id = await baseName(id) id = await baseName(id)
filePath = await joinPath(['threads', `${activeThread.id}/files`, `${id}`]) filePath = await joinPath(['threads', `${activeThread.id}/files`, `${id}`])
if (!filePath) return if (!filePath) return
const fullPath = await joinPath([userSpace, filePath]) const fullPath = await joinPath([janDataFolderPath, filePath])
openFileExplorer(fullPath) openFileExplorer(fullPath)
} }
const onViewFileContainer = async () => { const onViewFileContainer = async () => {
if (!activeThread) return if (!activeThread) return
const userSpace = await getJanDataFolderPath()
let filePath = undefined let filePath = undefined
filePath = await joinPath(['threads', `${activeThread.id}/files`]) filePath = await joinPath(['threads', `${activeThread.id}/files`])
if (!filePath) return if (!filePath) return
const fullPath = await joinPath([userSpace, filePath]) const fullPath = await joinPath([janDataFolderPath, filePath])
openFileExplorer(fullPath) openFileExplorer(fullPath)
} }