Commit Graph

1282 Commits

Author SHA1 Message Date
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