chore(release): v1.1.0

This commit is contained in:
胡绍康 committed 2026-02-27 17:04:20 +08:00
1 parent 0ab50db85f
commit 20aa93be22
9 files changed
+52 -7

No files matched your search

+7
View File
@@ -12,6 +12,8 @@ build/
venv/
env/
ENV/
.venv/
.pytest_cache/
# IDE
.vscode/
@@ -23,10 +25,15 @@ ENV/
.git/
.gitignore
# Node / Jest
node_modules/
tests/
# 数据库文件(使用 volume 挂载)
*.db
*.sqlite
*.sqlite3
data/
# 日志
*.log
+1 -6
View File
@@ -4,11 +4,6 @@ FROM python:3.11-slim
# 设置工作目录
WORKDIR /app
# 安装 curl(用于健康检查)
RUN apt-get update && \
apt-get install -y --no-install-recommends curl && \
rm -rf /var/lib/apt/lists/*
# 设置环境变量
ENV PYTHONUNBUFFERED=1 \
PYTHONDONTWRITEBYTECODE=1 \
@@ -32,7 +27,7 @@ RUN mkdir -p /app/data
EXPOSE 5000
# 健康检查
HEALTHCHECK --interval=30s --timeout=5s --start-period=20s CMD curl -fsS http://localhost:5000/healthz || exit 1
HEALTHCHECK --interval=30s --timeout=5s --start-period=20s CMD ["python","-c","import urllib.request as u; u.urlopen('http://localhost:5000/healthz', timeout=4).read()"]
# 启动应用(使用 Gunicorn,单 worker 避免 session 共享问题)
# 注意:禁用 --preload,避免在 master 进程中启动后台调度线程
+23
View File
@@ -0,0 +1,23 @@
# DEVLOG(发布记录)
## v1.1.0(2026-02-27)
### 新增功能
- 新增“可调整布局系统”:支持面板拖拽调整宽度、折叠/展开指示器、布局状态持久化与版本迁移。
- 新增“恢复默认布局”入口与确认对话框,便于一键回到默认四栏布局。
- UI 导航栏展示应用版本号,便于排查问题与对齐发布版本。
- 新增布局系统测试工程(Jest):覆盖拖拽/键盘调整、折叠/展开、状态保存/加载、窗口自适配等场景。
### 修复
- 修复窄屏下自动/手动折叠后指示器不可见、导致无法再展开的问题。
- 修复折叠后页面出现滚动条、指示器高度观感异常的问题。
- 修复“隐藏邮件列表”仅改 display 导致 Grid 仍占位的空白列问题(与布局系统联动)。
### 重要变更
- 前端布局从历史侧栏方案调整为 Grid + CSS 变量驱动的四栏式布局;折叠时通过 layout-width 变量将列宽置 0(保存宽度不丢失)。
- 新增 `layout-system-enabled` 标记类,用于与旧的窄屏侧栏样式隔离,避免样式冲突与交互回归。
### 测试/验证
- `npm test`:布局系统 Jest 覆盖单元/集成用例。
- `python -m unittest discover -s tests -v`:全量 Python 单测回归。
- 手工验证:宽屏/窄屏折叠与指示器可见性、折叠后无滚动条、重置布局可恢复默认状态。
+3 -1
View File
@@ -1,3 +1,5 @@
__version__ = "1.1.0"
from outlook_web.app import create_app
__all__ = ["create_app"]
__all__ = ["create_app", "__version__"]
+7
View File
@@ -73,6 +73,13 @@ def create_app(*, autostart_scheduler: Optional[bool] = None):
static_url_path="/static",
)
# 注入版本号到所有模板(用于 UI 显示)
from outlook_web import __version__ as APP_VERSION
@app.context_processor
def inject_app_version():
return {"APP_VERSION": APP_VERSION}
app.secret_key = config.require_secret_key()
app.config["PERMANENT_SESSION_LIFETIME"] = 60 * 60 * 24 * 7 # 7 天
app.config["SESSION_COOKIE_HTTPONLY"] = True
+2
View File
@@ -1,10 +1,12 @@
{
"name": "outlook-email-layout-system",
"version": "1.1.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "outlook-email-layout-system",
"version": "1.1.0",
"devDependencies": {
"jest": "^30.1.3",
"jest-environment-jsdom": "^30.1.3"
+1
View File
@@ -1,5 +1,6 @@
{
"name": "outlook-email-layout-system",
"version": "1.1.0",
"private": true,
"scripts": {
"test": "jest --config tests/layout-system/jest.config.js",
+7
View File
@@ -35,6 +35,13 @@
gap: 8px;
}
.navbar-brand .app-version {
font-size: 12px;
font-weight: 500;
color: #999;
margin-left: 2px;
}
.navbar-brand svg {
width: 24px;
height: 24px;
+1
View File
@@ -21,6 +21,7 @@
<polyline points="22,6 12,13 2,6"></polyline>
</svg>
Outlook 邮件
<span class="app-version">v{{ APP_VERSION }}</span>
<a href="https://github.com/assast/outlookEmail" target="_blank" class="github-star-btn"
style="margin-left: 16px;">
<svg viewBox="0 0 16 16" fill="currentColor">