2569718930@qq.com
|
cd9de0926b
|
触发 CI 自动部署验证
|
2026-05-19 14:14:48 +08:00 |
|
2569718930@qq.com
|
3c013e300a
|
CI 全流程自动化:测试通过后自动部署到 VPS
|
2026-05-19 13:24:02 +08:00 |
|
2569718930@qq.com
|
e56040a855
|
添加一键部署脚本:deploy.sh (bash) 和 deploy.ps1 (PowerShell)
|
2026-05-19 13:19:03 +08:00 |
|
2569718930@qq.com
|
53c9ed2118
|
修复 CI:移除 package.json 中残留的 husky prepare 脚本
|
2026-05-19 13:15:48 +08:00 |
|
2569718930@qq.com
|
b9130cb30a
|
修复测试:移除已删除的 artifacts 字段断言
|
2026-05-19 13:09:44 +08:00 |
|
2569718930@qq.com
|
c4d4d0cdbc
|
修复回归测试:移除已删除模块的 mock 引用
|
2026-05-19 13:04:28 +08:00 |
|
2569718930@qq.com
|
cb7526e799
|
修复 scrub_secrets.py 未使用的 os import
|
2026-05-19 12:49:18 +08:00 |
|
2569718930@qq.com
|
6d132e6a7f
|
移除未使用的 husky 依赖,pre-push hook 用手写脚本替代
|
2026-05-19 12:48:36 +08:00 |
|
2569718930@qq.com
|
476a4f85d8
|
修复移动端点击城市列表触发 Leaflet flyTo NaN 崩溃:隐藏地图容器跳过动画
|
2026-05-19 12:41:38 +08:00 |
|
2569718930@qq.com
|
b93a75516d
|
移除未使用的 Groq 和 Meteoblue 服务代码及配置
|
2026-05-19 00:05:07 +08:00 |
|
2569718930@qq.com
|
19bd8f3636
|
@
合并 feat/mobile-layout:修复移动端城市列表搜索无数据显示
@
|
2026-05-19 00:00:10 +08:00 |
|
2569718930@qq.com
|
1326176a85
|
@
修复移动端城市列表搜索无数据显示:非 Pro 用户回退到基础城市数据源
MobileCityPicker 原依赖扫描终端 API rows,该 API 仅 Pro 用户触发,
导致访客/免费用户 cityListRows 为空,所有城市被 pickCityRow 过滤掉。
现新增 cityListRows fallback:无 scan 数据时从 store.cities +
citySummariesByName 构建行数据,保证所有用户可见并搜索城市列表。
Constraint: fallback rows 缺少 metar/target 字段,但 MobileCityPicker 仅消费 display/temp/deb/airport 字段,不影响渲染。
@
|
2026-05-18 23:50:18 +08:00 |
|
2569718930@qq.com
|
c38dc80f58
|
后台新增 API 状态检测页:实时检测 Supabase/Open-Meteo/METAR/KNMI/MADIS/Telegram 连通性
|
2026-05-18 23:25:16 +08:00 |
|
2569718930@qq.com
|
5b1402fc7c
|
refactor: extract analysis signal builders
|
2026-05-18 23:11:56 +08:00 |
|
2569718930@qq.com
|
eaa695ec47
|
回滚 web 端口 localhost 绑定,Cloudflare Worker 需要外部访问
|
2026-05-18 23:10:08 +08:00 |
|
2569718930@qq.com
|
4d5a5b674d
|
修复 web 容器 healthcheck:用 python 替代不存在的 curl
|
2026-05-18 23:00:03 +08:00 |
|
2569718930@qq.com
|
473ed82202
|
Docker healthcheck、.env.example 清理死变量并补全缺失配置、web 端口绑定 localhost
|
2026-05-18 22:57:00 +08:00 |
|
2569718930@qq.com
|
d4640a578d
|
项目体检收尾:更新 CLAUDE.md 移除 EMOS/LGBM 引用,清理前端死字段,移除 git 跟踪的临时文件,VPS 关闭退役钱包监控
|
2026-05-18 22:54:00 +08:00 |
|
2569718930@qq.com
|
0e4e7aebb2
|
项目体检修复:删除破损的 LGBM 导入、8个死测试、2个死脚本、移除 pytz/lightgbm 依赖
|
2026-05-18 22:43:34 +08:00 |
|
2569718930@qq.com
|
2b6b18ec20
|
修复 city_runtime.py 引用已删除的 probability_snapshot_archive 模块
|
2026-05-18 22:30:56 +08:00 |
|
2569718930@qq.com
|
0e0aad3171
|
删除 LGBM 全部代码和模型文件,EMOS 简化为纯 legacy 高斯分桶模式
|
2026-05-18 22:05:55 +08:00 |
|
2569718930@qq.com
|
aec47adda1
|
缓存分析饼图:移除零值过滤,即使很小的命中数也显示
|
2026-05-18 21:34:17 +08:00 |
|
2569718930@qq.com
|
2fa27f54ac
|
修复转化漏斗:前后端数据格式对齐,正确解析 events/rates 结构
|
2026-05-18 21:29:06 +08:00 |
|
2569718930@qq.com
|
671a862400
|
总览页升级为综合数据大屏:双列布局、缓存桶图、会员分布饼图、转化漏斗、城市覆盖
|
2026-05-18 21:18:22 +08:00 |
|
2569718930@qq.com
|
a9d71c18aa
|
后台数据可视化:Recharts 漏斗图、总览页 KPI 卡片和缓存饼图
|
2026-05-18 20:53:27 +08:00 |
|
2569718930@qq.com
|
e12d935cde
|
会员订阅区分体验用户和付费用户:类型标签、筛选器、来源字段
|
2026-05-18 20:29:33 +08:00 |
|
2569718930@qq.com
|
546bc0c21e
|
删除旧的 OpsDashboard 1694 行单页组件
|
2026-05-18 20:26:24 +08:00 |
|
2569718930@qq.com
|
67701a4715
|
后台管理系统后端 API:在线配置编辑、手动订阅管理、日志查看(logs 目录避开 gitignore)
|
2026-05-18 20:18:42 +08:00 |
|
2569718930@qq.com
|
073d0efbb0
|
后台管理系统基础框架:侧边栏布局、9 个页面模块、共享类型和 API 客户端
|
2026-05-18 20:10:08 +08:00 |
|
2569718930@qq.com
|
2d1cb55151
|
非 Pro 用户隐藏城市决策卡标签页和深度分析视图
|
2026-05-18 19:35:16 +08:00 |
|
2569718930@qq.com
|
2d459f3052
|
城市 panel/nearby 数据对游客开放,market/full 保留鉴权
|
2026-05-18 19:28:54 +08:00 |
|
2569718930@qq.com
|
6bdad2eae9
|
修复游客无法加载城市简报:middleware 白名单遗漏 detail 端点导致 401
|
2026-05-18 19:22:51 +08:00 |
|
2569718930@qq.com
|
ff420c4bec
|
修复地图点击城市后跳转到决策卡而非右侧简报的问题
|
2026-05-18 19:13:21 +08:00 |
|
2569718930@qq.com
|
426bd7deab
|
统一城市决策卡 Pro 门禁:游客和免费用户点击 Today 引导至账户页
|
2026-05-18 19:06:04 +08:00 |
|
2569718930@qq.com
|
3e941a238a
|
移除分布视图的 Pro 权限门禁,游客和免费用户可查看地图和城市简报
|
2026-05-18 18:56:32 +08:00 |
|
2569718930@qq.com
|
ad16ae6b3b
|
账户页 Telegram 区块仅付费用户可见,移除过期的频道升级通知和市场监控链接
|
2026-05-18 18:44:20 +08:00 |
|
2569718930@qq.com
|
1c4287380e
|
修复 KNMI 维度名称为字符串类型的兼容性问题
|
2026-05-18 18:30:12 +08:00 |
|
2569718930@qq.com
|
8c640b8616
|
适配 KNMI netCDF 新数据布局:(station,time) 替代 (time,station)
|
2026-05-18 18:28:18 +08:00 |
|
2569718930@qq.com
|
8a5e8957c5
|
适配 KNMI station ID 格式变更:3位码→5位WMO码,修复前导零丢失
|
2026-05-18 18:23:57 +08:00 |
|
2569718930@qq.com
|
06ac6bab32
|
修复 KNMI S3 下载被 Auth header 污染导致 netCDF 解析失败
|
2026-05-18 18:19:05 +08:00 |
|
2569718930@qq.com
|
abdce3cd3b
|
适配 NOAA MADIS HFMETAR netCDF 新格式:stationId 替代 icaoId,开尔文转摄氏度,气压 Pa 转 hPa
|
2026-05-18 17:48:56 +08:00 |
|
2569718930@qq.com
|
c6321253fe
|
修复 MADIS HFMETAR 目录路径:NOAA 已将文件迁移到 netCDF 子目录
|
2026-05-18 17:33:35 +08:00 |
|
2569718930@qq.com
|
4a8eeaae5e
|
修复 KNMI API key 未传递到 HTTP 请求的 bug
|
2026-05-18 17:28:56 +08:00 |
|
2569718930@qq.com
|
78b23ef361
|
feat: implement Telegram account binding and update project structure in documentation
|
2026-05-18 17:10:44 +08:00 |
|
2569718930@qq.com
|
1b2731ed12
|
fix: prefer dedicated telegram pricing group
|
2026-05-18 16:22:16 +08:00 |
|
2569718930@qq.com
|
6041d25f23
|
feat: add telegram group pricing and direct payments
|
2026-05-18 16:18:26 +08:00 |
|
2569718930@qq.com
|
d99a3c25e9
|
Add safe Open-Meteo cache diagnostic
|
2026-05-18 00:21:18 +08:00 |
|
2569718930@qq.com
|
fd59cd018d
|
Harden Open-Meteo rate limiting
|
2026-05-18 00:13:51 +08:00 |
|
2569718930@qq.com
|
6cee86ec7b
|
修复 ruff E401: 拆分 check_city_cache.py 的合并 import
|
2026-05-17 23:01:21 +08:00 |
|
2569718930@qq.com
|
44e8921e5c
|
前端移除 Lagos 城市及相关本地化文案
|
2026-05-17 22:59:58 +08:00 |
|
2569718930@qq.com
|
4acd0d9da6
|
机场推送新增 Tel Aviv(LLBG / Ben Gurion)
- HIGH_FREQ_AIRPORT_CITIES 从 30 城扩到 31 城
- 新增论坛子话题 thread_id=3408
- ICAO: LLBG,数据源: IMS + METAR
|
2026-05-17 22:56:43 +08:00 |
|
2569718930@qq.com
|
bd21b05fbc
|
完全移除预热(prewarm)功能
- 删除 src/utils/prewarm_dashboard.py
- 删除 scripts/prewarm_dashboard_cache.py、prewarm_dashboard_worker.py
- docker-compose.yml 移除 polyweather_prewarm 服务
- runtime_coordinator.py 移除预热循环启动逻辑
- web/core.py 移除 prewarm status 上报
- web/routers/system.py 移除 /api/system/prewarm 端点
- web/services/system_api.py 移除 run_system_prewarm
- city_runtime.py DEFAULT_PREWARM_CITIES 改名为 DEFAULT_STATUS_CITIES
- 清理 env.example、测试、VPS .env 中的预热配置
|
2026-05-17 22:43:17 +08:00 |
|
2569718930@qq.com
|
22e2409e13
|
修复 Open-Meteo 冷却期无限循环导致多模型数据缺失
- fetch_all_sources 新增 om_from_cache_only 模式:force_refresh_observations_only
时直接从内存缓存取 OM 数据,不发起 HTTP 请求。缓存未命中则跳过,
避免机场推送 60s 周期持续触发 429 限流
- nws_open_meteo_sources 三类 fetch 函数冷却期加磁盘缓存兜底:
内存未命中时 force-reload SQLite 磁盘缓存再查一次
- 预热停止后冷却期自然过期(900s),下一次正常请求会填充缓存
|
2026-05-17 22:31:10 +08:00 |
|
2569718930@qq.com
|
415f03466d
|
修复 CI: mobileAnnouncement 测试适配公告移除
|
2026-05-17 21:52:50 +08:00 |
|
2569718930@qq.com
|
4c6eaa6390
|
feat: add useAiCityForecast hook to manage streamed AI city weather forecasting logic
|
2026-05-17 21:50:20 +08:00 |
|
2569718930@qq.com
|
3351991fe1
|
feat: add AiCityTemperatureChart component and useAiPinnedCityWorkspace hook for deep-analysis city tracking
|
2026-05-17 21:37:51 +08:00 |
|
2569718930@qq.com
|
1645fd88d0
|
移除 v1.5.6 升级公告横幅
- ScanTerminalDashboard: 删除 showAnnouncement 状态、localStorage 检测逻辑、渲染代码
- ScanTerminalShellParts: 删除 ScanUpgradeAnnouncement 组件
|
2026-05-17 21:24:28 +08:00 |
|
2569718930@qq.com
|
9d8c59f741
|
修复城市决策卡切换时地图白屏和第二城市加载失败
- MapCanvas 改为始终挂载,视图切换用 display:none 隐藏而非卸载,
避免 Leaflet 重初始化时容器尺寸为 0 导致白屏
- handleMapCitySelect 在 matchedRow 为空时主动调用 ensureCityDetail
预加载城市详情,不再依赖 hydration 队列异步补拉
|
2026-05-17 21:20:17 +08:00 |
|
2569718930@qq.com
|
deec8221ea
|
重构温度曲线图表数据模块,修复 DEB offset 基准
- 新建 temperature-chart-paths.ts:抽取 8 个纯函数(buildChartTimeAxis、
buildDebBaselinePath、buildCalibratedPath、buildObservationGrid 等)
- DEB offset 基准改为优先用 hourly 曲线自身 max,forecast.today_high
降级为 fallback,防止不可靠的 today_high 整体抬升/压低曲线
- chart-utils.ts 精简 ~280 行,清除重写的 normalizeTafHm/chartHmToMinutes
- temperatureChartData.test.ts 新增 Moscow/Ankara/正常城市 3 个测试场景
|
2026-05-17 20:57:52 +08:00 |
|
2569718930@qq.com
|
9e400a3802
|
Document airport push worker cap
|
2026-05-17 20:25:27 +08:00 |
|
2569718930@qq.com
|
c74c193b02
|
移除市场监控推送功能及相关代码
- telegram_push.py: 删除 MARKET_MONITOR_CITIES/INTERVAL、_build_market_monitor_message、
_run_market_monitor_cycle、start_market_monitor_push_loop、_format_percent/_format_prob
- telegram_chat_ids.py: 删除 get_market_monitor_chat_ids_from_env
- runtime_coordinator.py: 删除 _start_market_monitor_push_loop 及调用
- 移除 #市场监控 hashtag
|
2026-05-17 20:22:42 +08:00 |
|
2569718930@qq.com
|
07f61f8ca9
|
Bump city detail cache for chart rebuild
|
2026-05-17 19:48:09 +08:00 |
|
2569718930@qq.com
|
38ac9844c1
|
Ensure DEB chart path covers full day
|
2026-05-17 19:34:42 +08:00 |
|
2569718930@qq.com
|
1ab10a9c90
|
Add MGM hourly support for Ankara models
|
2026-05-17 19:19:12 +08:00 |
|
2569718930@qq.com
|
a83200d505
|
Fix Ankara decision chart model coverage
|
2026-05-17 19:12:28 +08:00 |
|
2569718930@qq.com
|
8ade6dd7d2
|
Improve scan decision card hydration
|
2026-05-17 18:57:02 +08:00 |
|
2569718930@qq.com
|
5c2977fe71
|
修复温度曲线图 DEB 路径不显示:后端 v2 API 的 timeseries.hourly 映射到前端 CityDetail.hourly
- normalizeCityDetailPayload 新增 timeseries.hourly → hourly 字段提升
- 预热列表 DEFAULT_CITIES 扩展到 33 城,覆盖全部机场推送城市
|
2026-05-17 18:41:53 +08:00 |
|
2569718930@qq.com
|
ff6d6c550f
|
预热城市列表扩展到 33 城:覆盖全部机场推送城市
- 原 19 城缺少 amsterdam/helsinki/lau fau shan 及 11 个美国城市
- 导致这些城市 detail API 冷启动时 OM 缓存未命中,hourly 数据为空,温度曲线图无法渲染 DEB 路径
|
2026-05-17 18:34:51 +08:00 |
|
2569718930@qq.com
|
55099c3dd8
|
恢复城市决策卡温度曲线图
- AiPinnedCityCard: 重新引入 AiCityTemperatureChart 渲染
- MobileDecisionCard: 恢复温度走势图折叠区
|
2026-05-17 18:19:31 +08:00 |
|
2569718930@qq.com
|
02fd7d9e49
|
修复 CI: 适配 MobileCityPicker 测试断言 + 清理 f-string 和无用 import
- removedMonitorRunwayTabs.test.ts: 检查 MobileCityPicker 替代旧 scan-mobile-city-list-view
- stableServerRefreshPolicy.test.ts: 同上,MobileCityPicker 替代旧视图标识
- scan_forum_topics.py: 移除无占位符的 f-string 和无用 json import
|
2026-05-17 18:08:59 +08:00 |
|
2569718930@qq.com
|
d39534dff4
|
机场推送重构:观测缓存分离 + 全城市覆盖 + 四路并发
- 新增 force_refresh_observations_only 模式:机场推送仅刷新 METAR/AMOS
观测缓存,多模型预报缓存保留 15 分钟,杜绝 Open-Meteo 429 限流后
DEB 回退到实测温度的 bug
- 砍掉夜间静默和温度状态机,每条新观测无条件推送
- HIGH_FREQ_AIRPORT_CITIES 从 19 城扩到 30 城(新增 11 个美国城市)
- 美国城市走 airport_primary (MADIS) 优先取温
- 机场周期从串行改为 ThreadPoolExecutor(max_workers=4),周期时间从
~120s 压缩到 ~33s
Constraint: 单核 VPS 安全并发上限
Tested: docker compose up -d --build polyweather 重建后推送正常
|
2026-05-17 18:04:05 +08:00 |
|
2569718930@qq.com
|
58e6557c66
|
feat: implement mobile scan terminal dashboard and city picker with backend forum automation scripts
|
2026-05-17 17:05:47 +08:00 |
|
2569718930@qq.com
|
2d9aa576dd
|
feat: implement scan terminal mobile dashboard components and data management logic
|
2026-05-17 15:32:47 +08:00 |
|
2569718930@qq.com
|
04e0369255
|
feat: implement Telegram push notification utility with state management and market filtering
|
2026-05-17 15:06:27 +08:00 |
|
2569718930@qq.com
|
c60baaa1e8
|
feat: implement utility modules and AI-pinned city dashboard components for temperature forecasting
|
2026-05-17 14:33:23 +08:00 |
|
2569718930@qq.com
|
341c6d0a93
|
feat: implement Telegram push utility and add new dashboard components for scan terminal and paywall management
|
2026-05-17 13:59:40 +08:00 |
|
2569718930@qq.com
|
a83d9e7649
|
feat: implement 60-second analysis cache TTL for high-frequency airport cities
|
2026-05-17 13:41:44 +08:00 |
|
2569718930@qq.com
|
07bb8e1d15
|
feat: implement Telegram push utility and corresponding hashtag validation tests
|
2026-05-17 13:37:51 +08:00 |
|
2569718930@qq.com
|
8e2317592d
|
feat: implement chart utilities for temperature forecasting, calibration, and observation processing
|
2026-05-16 22:19:10 +08:00 |
|
2569718930@qq.com
|
80ca892611
|
回退 debTemps 首尾填充,修复 canvas CSS 无尺寸导致的图表缩塌
- 首尾填充会画成水平直线不反映预测,回退;past_days=1 已从后端补齐全天数据
- canvas 保留 width/height:100% 但去掉 !important,Chart.js 自管分辨率
|
2026-05-16 22:05:09 +08:00 |
|
2569718930@qq.com
|
a24185e6dc
|
DEB 预测线填充首尾空值,确保全天 00:00-23:00 铺满
|
2026-05-16 21:40:56 +08:00 |
|
2569718930@qq.com
|
4a938395be
|
修复温度曲线三个渲染问题:数据点过少、张力过高、canvas被CSS拉伸
- 小时数据插值为每半小时一点(24→47点)
- 全线 tension 从 0.28-0.32 降至 0.1-0.12
- 移除 canvas CSS width/height !important 声明,交由 Chart.js ResizeObserver 管理
|
2026-05-16 21:30:47 +08:00 |
|
2569718930@qq.com
|
2e02133696
|
修复图表时间轴不全与城市决策卡模型补齐卡顿
- 后端 Open-Meteo 请求加 past_days=1,小时数据从 00:00 开始
- 前端图表层填充完整 00:00-23:00 时间轴,缺失时段置空
- 城市深度分析门槛从 >1 降为 >=1,单模型城市不再被拦
- hydration 队列加最大重试 3 次,防止永久卡在等待模型补齐
- 移除右侧面板历史对账按钮
|
2026-05-16 20:14:05 +08:00 |
|
2569718930@qq.com
|
b27bedbca3
|
修复网站 API 阻塞与积分同步问题
- uvicorn 改用 import string 格式启动 4 workers,防止数据采集阻塞 event loop
- prewarm 去掉 --force-refresh,仅依赖缓存预热避免每 5 分钟全量采集
- 积分变动时同步写入 Supabase user_metadata,避免前端回退路径失败时显示 0 积分
- /api/auth/me 积分解析增加 Supabase email 回退路径
|
2026-05-16 13:15:30 +08:00 |
|
2569718930@qq.com
|
884a7899f3
|
修复图表横轴时间标签不完整:用tickLabels替代index取模过滤
|
2026-05-16 00:12:56 +08:00 |
|
2569718930@qq.com
|
04d0ae1125
|
卡片结构重组为三层:当前/日高/DEB显式展示→模型区间→市场叙述
叙述函数改为多行解释,增加具体delta和状态描述
|
2026-05-15 23:59:57 +08:00 |
|
2569718930@qq.com
|
6f14ef20db
|
重构跑道观测卡片为市场结构卡:核心指标压缩+多模型结构+市场叙述
|
2026-05-15 23:54:19 +08:00 |
|
2569718930@qq.com
|
9d3aa7fb53
|
修复凌晨伪冲顶误判:夜间直接停推,早晨需日高已形成才激活Peak Watch
|
2026-05-15 23:42:46 +08:00 |
|
2569718930@qq.com
|
5d514a4950
|
推送消息增加市场状态标签:🚀超预期 🔥升温中 ⚠️冲顶观察 ❄️降温中
取消DEB兑现即停推规则,超预期行情为重点信号
|
2026-05-15 23:36:03 +08:00 |
|
2569718930@qq.com
|
87b24aa071
|
重写跑道观测推送规则为热度状态机:盯今日最高而非DEB,夜间停推
|
2026-05-15 23:30:41 +08:00 |
|
2569718930@qq.com
|
e7a13c9be7
|
跑道观测推送增加规则:今日实测最高已达DEB预报则跳过,避免夜间降温噪音
|
2026-05-15 23:26:33 +08:00 |
|
2569718930@qq.com
|
6a4ec08b12
|
修复CI测试用例以匹配最新推送格式、间隔、AMSC数据结构
|
2026-05-15 18:01:53 +08:00 |
|
2569718930@qq.com
|
6746650bb1
|
跑道观测推送及前端刷新间隔改回60秒,匹配AMSC每分钟更新频率
|
2026-05-15 17:58:13 +08:00 |
|
2569718930@qq.com
|
861b394e49
|
跑道观测推送时间修正为AMSC/AMOS观测时间,显示HH:MM格式
|
2026-05-15 17:49:37 +08:00 |
|
2569718930@qq.com
|
cbf6a12f79
|
跑道观测推送增加市场最高选项对比,超过市场覆盖范围则跳过
|
2026-05-15 17:43:41 +08:00 |
|
2569718930@qq.com
|
767e0e7de1
|
feat: implement telegram alert notification utility with state persistence and market filtering logic
|
2026-05-15 17:10:16 +08:00 |
|
2569718930@qq.com
|
e93f052559
|
feat: implement telegram notification push utilities with state management and alert filtering
|
2026-05-15 16:38:02 +08:00 |
|
2569718930@qq.com
|
a614cbd298
|
feat: implement runway observations monitoring panel and Telegram alert utilities
|
2026-05-15 16:22:42 +08:00 |
|
2569718930@qq.com
|
f7fb2ec83b
|
feat: add utility module for Telegram alert push notifications and state management
|
2026-05-15 16:20:07 +08:00 |
|
2569718930@qq.com
|
30de937d04
|
feat: add Telegram push notification utility for weather alerts with state persistence
|
2026-05-15 16:09:32 +08:00 |
|