Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -2,6 +2,10 @@

All notable changes are recorded here. Versions follow [SemVer](https://semver.org/).

## v0.7.20 (2026-08-25)

- **交易页性能修复(rant 2026-08-25T12:02:13,PR #150)** — dev 库在 NFS 导致的页面慢(浏览器实测 /api/transactions 1.7s、刷新 ~5s)三层修复:① `db.rs open()` 设 `PRAGMA cache_size=-65536`(64MB)+ `mmap_size=67108864`,整库常驻进程内存,NFS 只首读一次(dev 实测 COUNT 2.39s → 0.40s);② v12 迁移为 transactions 建 4 个索引 `(user_id)` / `(user_id, id DESC)` / `(user_id, time)` / `(user_id, type)`,消除 summary/COUNT/list 全表扫描;③ 前端 `loadTransactions` 用 `Promise.all` 并行拉列表与趋势图,去掉一次串行 ~0.9s 等待。不启用 WAL(网络文件系统不支持)、数据库仍留在 NAS。

## v0.7.19 (2026-08-25)

- **筛选输入不再丢焦点(rant 2026-08-25T11:15:16,PR #148)** — 修复 v0.7.18 服务端列筛选回归:每输入一个字母触发刷新并失去焦点。方案(宿主确认 B):表头筛选行改为**只渲染一次、重建时保持存活**——buildDataTable 仅重建 tbody 与分页器,筛选输入框 DOM 永不销毁,焦点天然保留;聚焦时不做 fallback 恢复。
Expand Down
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
[package]
name = "aitokenpool"
version = "0.7.19"
version = "0.7.20"
edition = "2021"
description = "AI Token 共享池 — 企业 key 池 + 公共共享市场"
license = "MIT"
Expand Down
10 changes: 5 additions & 5 deletions ui/index.html
Original file line numberDiff line numberDiff line change
Expand Up@@ -5,7 +5,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>AITokenPool</title>
<link rel="icon" type="image/svg+xml" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%234ecdc4'/%3E%3Cstop offset='1' stop-color='%232a9d8f'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='64' height='64' rx='14' fill='url(%23g)'/%3E%3Ctext x='32' y='43' font-family='-apple-system,Segoe UI,Arial,sans-serif' font-size='30' font-weight='800' text-anchor='middle' fill='%23062021'%3EAT%3C/text%3E%3C/svg%3E">
<link rel="stylesheet" href="css/style.css?v=20260825-4">
<link rel="stylesheet" href="css/style.css?v=20260825-5">
</head>
<body>

Expand DownExpand Up@@ -683,9 +683,9 @@ <h3 id="chat-title">使用模型</h3>
</div>
</div>

<script src="js/api.js?v=20260825-4"></script>
<script src="js/data.js?v=20260825-4"></script>
<script src="js/i18n.js?v=20260825-4"></script>
<script src="js/app.js?v=20260825-4"></script>
<script src="js/api.js?v=20260825-5"></script>
<script src="js/data.js?v=20260825-5"></script>
<script src="js/i18n.js?v=20260825-5"></script>
<script src="js/app.js?v=20260825-5"></script>
</body>
</html>
Loading