chore(release): v1.1.0
This commit is contained in:
1 parent
0ab50db85f
commit
20aa93be22
9 files changed
+52
-7
No files matched your search
@@ -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
@@ -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 进程中启动后台调度线程
|
||||
|
||||
@@ -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 单测回归。
|
||||
- 手工验证:宽屏/窄屏折叠与指示器可见性、折叠后无滚动条、重置布局可恢复默认状态。
|
||||
@@ -1,3 +1,5 @@
|
||||
__version__ = "1.1.0"
|
||||
|
||||
from outlook_web.app import create_app
|
||||
|
||||
__all__ = ["create_app"]
|
||||
__all__ = ["create_app", "__version__"]
|
||||
@@ -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
|
||||
|
||||
Generated
+2
@@ -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,5 +1,6 @@
|
||||
{
|
||||
"name": "outlook-email-layout-system",
|
||||
"version": "1.1.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"test": "jest --config tests/layout-system/jest.config.js",
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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">
|
||||
|
||||
Reference in new issue
Block a user