mirror of
https://github.com/memohai/Memoh.git
synced 2026-04-27 07:16:19 +09:00
bc374fe8cd
* refactor(attachment): multimodal attachment refactor with snapshot schema and storage layer - Add snapshot schema migration (0008) and update init/versions/snapshots - Add internal/attachment and internal/channel normalize for unified attachment handling - Move containerfs provider from internal/media to internal/storage - Update agent types, channel adapters (Telegram/Feishu), inbound and handlers - Add containerd snapshot lineage and local_channel tests - Regenerate sqlc, swagger and SDK * refactor(media): content-addressed asset system with unified naming - Replace asset_id foreign key with content_hash as sole identifier for bot_history_message_assets (pure soft-link model) - Remove mime, size_bytes, storage_key from DB; derive at read time via media.Resolve from actual storage - Merge migrations 0008/0009 into single 0008; keep 0001 as canonical schema - Add Docker initdb script for deterministic migration execution order - Fix cross-channel real-time image display (Telegram → WebUI SSE) - Fix message disappearing on refresh (null assets fallback) - Fix file icon instead of image preview (mime derivation from storage) - Unify AssetID → ContentHash naming across Go, Agent, and Frontend - Change storage key prefix from 4-char to 2-char for directory sharding - Add server-entrypoint.sh for Docker deployment migration handling * refactor(infra): embedded migrations, Docker simplification, and config consolidation - Embed SQL migrations into Go binary, removing shell-based migration scripts - Consolidate config files into conf/ directory (app.example.toml, app.docker.toml, app.dev.toml) - Simplify Docker setup: remove initdb.d scripts, streamline nginx config and entrypoint - Remove legacy CLI, feishu-echo commands, and obsolete incremental migration files - Update install script and docs to require sudo for one-click install - Add mise tasks for dev environment orchestration * chore: recover migrations --------- Co-authored-by: Acbox <acbox0328@gmail.com>
73 lines
1.9 KiB
TypeScript
73 lines
1.9 KiB
TypeScript
import { defineConfig } from 'vite'
|
|
import vue from '@vitejs/plugin-vue'
|
|
import tailwindcss from '@tailwindcss/vite'
|
|
import { createRequire } from 'module'
|
|
import { fileURLToPath } from 'url'
|
|
|
|
// https://vite.dev/config/
|
|
export default defineConfig(({ command }) => {
|
|
const require = createRequire(import.meta.url)
|
|
const defaultPort = 8082
|
|
const defaultHost = '127.0.0.1'
|
|
const defaultApiBaseUrl = process.env.VITE_API_URL ?? 'http://localhost:8080'
|
|
|
|
let port = defaultPort
|
|
let host = defaultHost
|
|
let baseUrl = defaultApiBaseUrl
|
|
|
|
if (command !== 'build') {
|
|
try {
|
|
const { loadConfig, getBaseUrl } = require('@memoh/config') as {
|
|
loadConfig: (path: string) => {
|
|
web?: { port?: number; host?: string }
|
|
}
|
|
getBaseUrl: (config: unknown) => string
|
|
}
|
|
let config
|
|
try {
|
|
config = loadConfig('../../config.toml')
|
|
} catch {
|
|
config = loadConfig('../../conf/app.docker.toml')
|
|
}
|
|
port = config.web?.port ?? defaultPort
|
|
host = config.web?.host ?? defaultHost
|
|
baseUrl = getBaseUrl(config)
|
|
} catch {
|
|
// Fall back to env/default values when config.toml is unavailable.
|
|
}
|
|
}
|
|
|
|
return {
|
|
plugins: [vue(), tailwindcss()],
|
|
server: {
|
|
port,
|
|
host,
|
|
proxy: {
|
|
'/api': {
|
|
target: baseUrl,
|
|
changeOrigin: true,
|
|
rewrite: (path: string) => path.replace(/^\/api/, '')
|
|
}
|
|
},
|
|
},
|
|
preview: {
|
|
port,
|
|
host: '0.0.0.0',
|
|
proxy: {
|
|
'/api': {
|
|
target: baseUrl,
|
|
changeOrigin: true,
|
|
rewrite: (path: string) => path.replace(/^\/api/, '')
|
|
}
|
|
},
|
|
allowedHosts: true,
|
|
},
|
|
resolve: {
|
|
alias: {
|
|
'#': fileURLToPath(new URL('../ui/src', import.meta.url)),
|
|
'@': fileURLToPath(new URL('./src', import.meta.url))
|
|
},
|
|
},
|
|
}
|
|
})
|