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:
parent
02013639a4
commit
8ecd93661d
@ -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 }
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user