2569718930@qq.com
|
72d2f360c6
|
feat: add LiveTemperatureThresholdChart component for real-time runway temperature monitoring
|
2026-05-26 11:28:33 +08:00 |
|
2569718930@qq.com
|
4ad1014108
|
修复全局 CORS:NEXT_PUBLIC_API_BASE_URL 默认改为空,前端请求走 Next.js 代理
|
2026-05-26 11:23:12 +08:00 |
|
2569718930@qq.com
|
c43f92cdeb
|
CI build-and-push 前后端并行构建,matrix 策略砍半墙钟时间
|
2026-05-26 11:18:18 +08:00 |
|
2569718930@qq.com
|
777b7465b7
|
SSE CORS 修复:EventSource 跨域 + preflight OPTIONS
- sse_router: 显式加 Access-Control-Allow-Origin + Allow-Credentials,新增 OPTIONS
- use-sse-patches: CORS 失败自动切 BFF 代理降级
|
2026-05-26 11:15:41 +08:00 |
|
2569718930@qq.com
|
a4891d58cd
|
feat: implement SSE patch synchronization with frontend hooks and backend infrastructure
|
2026-05-26 11:12:48 +08:00 |
|
2569718930@qq.com
|
55439977f6
|
文档更新 + SSE hook 修复
|
2026-05-26 11:02:33 +08:00 |
|
2569718930@qq.com
|
7045e11082
|
修复 weather_sources.py MADIS cache 清理中未定义的 now 变量
|
2026-05-26 10:40:00 +08:00 |
|
2569718930@qq.com
|
23882ac1ef
|
SSE Patch 增量推送架构全链路实现
- web/sse_manager.py: asyncio.Queue 连接池 + broadcast + event_stream
- web/routers/sse_router.py: GET /api/events + POST /api/internal/collector-patch
- weather_sources.py: 采集后 POST patch 给 web
- Nginx polyweather.conf: /api/events proxy_buffering off
- frontend/api/events/route.ts: Next.js SSE 代理
- frontend/hooks/use-sse-patches.ts: EventSource + useLatestPatch + 重连
- LiveTemperatureThresholdChart: mergePatchIntoHourly 增量合并
- scan-terminal-query: 接入 SSE patch 更新行数据
- 新增 ssePatchArchitecture.test.ts 架构测试
|
2026-05-26 10:39:17 +08:00 |
|
2569718930@qq.com
|
14252915ab
|
移除图表点击时的毛玻璃 loading 蒙层,改为静默后台更新
|
2026-05-26 09:54:16 +08:00 |
|
2569718930@qq.com
|
fbd00df72f
|
移除图表 Brush 缩放拖拽组件,简化交互
|
2026-05-26 09:52:09 +08:00 |
|
2569718930@qq.com
|
4d103a7a38
|
test: add unit tests for country network snapshots, city time zone mappings, and METAR data source logic
|
2026-05-26 09:48:46 +08:00 |
|
2569718930@qq.com
|
dd72908e0e
|
60s 轮询扩展:跑道曲线 + 站点观测同步刷新
原来只轮询 summary 拿 current.temp 更新数字。
现在同时 fetch detail?depth=full 合并 amos/runway_plate_history/
airport_primary_today_obs 等字段,跑道曲线和站点线每 60s 刷新。
后端 CITY_FULL_CACHE_TTL_SEC=60 保证轻量命中缓存。
|
2026-05-26 09:46:36 +08:00 |
|
2569718930@qq.com
|
6e6d27f323
|
莫斯科数据源简化:移除 METAR 集群 + NOAA 结算,仅保留 UUWW 单站
- city_registry: settlement_source noaa → metar
- weather_sources: 移除 Moscow METAR cluster 5 站配置
- country_networks: 删除 RussiaStationWebNetworkProvider 类
- 文档: Tier 4 备注更新
|
2026-05-26 09:20:49 +08:00 |
|
2569718930@qq.com
|
0fffc0faa1
|
修复 weather_sources.py 缺少 timezone 导入
|
2026-05-26 09:14:34 +08:00 |
|
2569718930@qq.com
|
45365df694
|
CoWIN 6087 历史持久化 + 跑道曲线聚合 + 模型区间修复 + HKO 曲线对调 + 毛玻璃加载层
- weather_sources: CoWIN 1min 观测写入 official_intraday_observations_store
- country_networks: cowin_obs 源从 DB 回读 1min 历史,不复用 VHHH METAR
- analysis_service: 跑道实测 36h 历史按跑道分组,透传至前端
- scan_terminal_city_row: model_cluster_sources fallback 修复 + runway_plate_history
- 前端: CoWIN 6087 升级为主轴实线,HKO 退为虚线,VHHH METAR 轻虚线
- 前端: Loading 升级为毛玻璃全卡蒙层
|
2026-05-26 09:13:39 +08:00 |
|
2569718930@qq.com
|
09a8e1bfbe
|
SEO 全链路:OG/Twitter 标签 + robots.txt + sitemap.xml + JSON-LD 结构化数据
- layout metadata: Open Graph + Twitter Card + canonical + robots 指令
- app/robots.ts: 允许首页/auth,禁止 /terminal/account/ops/api
- app/sitemap.ts: 首页 1.0 + /auth/login 0.6
- 首页 JSON-LD: WebApplication schema,含 $10/mo 定价
|
2026-05-26 08:43:55 +08:00 |
|
2569718930@qq.com
|
c88d313f60
|
终端 header 显示当前在线人数
- src/utils/online_tracker.py:5 分钟滑动窗口,thread-safe 内存追踪
- web/core.py:认证成功时 record_activity(user_id)
- web/routers/ops.py:GET /api/ops/online-users 返回 {online: N}
- 前端 header 每 60s 轮询,Users 图标 + 数字
|
2026-05-26 08:40:17 +08:00 |
|
2569718930@qq.com
|
23203f6ebb
|
图表 stats bar 温度数字 60 秒级轻量轮询
liveTemp state 独立于 hourly 缓存,每 60s fetch /api/city/{city}/summary。
只取 current.temp,不触发 _analyze() 重算。
图表曲线保持 5min TTL,顶部数字最快 1min 级更新。
|
2026-05-26 08:30:33 +08:00 |
|
2569718930@qq.com
|
5b19a49ffb
|
首屏优化:scan terminal 加 s-maxage 缓存 + 落地页预加载 API
1. /api/scan/terminal 返回 Cache-Control: public, s-maxage=30, stale-while-revalidate=120
→ pre-warm 期间也能返回缓存,白屏 20s 变 1s
2. 落地页 2s 后静默 prefetch /api/cities,预热后端进程和连接池
3. metadata 加 preconnect api.polyweather.top
|
2026-05-26 08:23:33 +08:00 |
|
2569718930@qq.com
|
4bc352519a
|
文档更新:香港 HKO 改 10min + CoWIN 6087 补入优先级链 + 深圳移入 Tier 3
|
2026-05-26 08:16:42 +08:00 |
|
2569718930@qq.com
|
5d10d60dcb
|
缓存 TTL 对齐:图表内存/会话缓存统一降为 5 分钟(metar),与大表刷新同步
- HOURLY_CACHE_TTL_MS: model(30min) → metar(5min)
- SESSION_CACHE_TTL_MS: 10min → metar(5min)
- 消除大表已刷新但折线图仍显示旧温度的时差问题
|
2026-05-26 08:13:37 +08:00 |
|
2569718930@qq.com
|
8a534160f0
|
修复 MADIS 测试:HH:MM 时间戳改为 ISO 格式,避免日期回退导致 slot 错位
normObs 对 HH:MM 格式调用 getCityLocalUtcTimestamp 时未传 referenceLocalDate,
导致取当前真实日期而非测试数据日期,所有观测挤到最后一个 slot。
|
2026-05-26 08:11:13 +08:00 |
|
2569718930@qq.com
|
18b5e9cfed
|
修正深圳 HKO 站名:Shenzhen (LFS) → Lau Fau Shan 匹配天文台 CSV
|
2026-05-26 08:01:04 +08:00 |
|
2569718930@qq.com
|
c331c89289
|
修复 fallback fetch 依赖:rows.length 改为 useRef 标记,避免 terminalData 刷新时无意义 re-run
|
2026-05-26 07:59:55 +08:00 |
|
2569718930@qq.com
|
598cd17c0b
|
城市图表增加 LoadingSignal 组件:detail 数据加载中显示进度指示
|
2026-05-26 07:57:38 +08:00 |
|
2569718930@qq.com
|
20d53e1ae2
|
新增 CoWIN 6087 数据源:香港保良局陳守仁小學 1 分钟参考站
- cowin_sources.py:从 cowin.hku.hk API 抓取站 6087 的逐分钟温度
- weather_sources.py:CowinSourceMixin 接入采集链,优先级高于 HKO
- country_networks.py:_airport_primary_from_raw 加入 COWIN 优先检查
airport_primary.source_label 显示为 CoWIN 6087,前端图表默认可见
|
2026-05-26 07:52:49 +08:00 |
|
2569718930@qq.com
|
00e3007949
|
feat: add LiveTemperatureThresholdChart component to dashboard scan-terminal
|
2026-05-26 07:32:02 +08:00 |
|
2569718930@qq.com
|
04dcbcd6ea
|
移除图表跑道系列的 AMOS/AMSC source 标签
|
2026-05-26 06:31:55 +08:00 |
|
2569718930@qq.com
|
3a82c11e78
|
feat: implement LiveTemperatureThresholdChart and add visibility and refresh policy unit tests
|
2026-05-26 06:13:18 +08:00 |
|
2569718930@qq.com
|
636a81d6df
|
test: add unit tests for temperature chart data and visibility policy, and document city data sources
|
2026-05-26 06:02:47 +08:00 |
|
2569718930@qq.com
|
e1417f607d
|
feat: implement LiveTemperatureThresholdChart and add visibility policy unit tests
|
2026-05-26 05:46:45 +08:00 |
|
2569718930@qq.com
|
8ca9ce4223
|
feat: add scan terminal dashboard, fallback city mapping, and Nginx deployment configuration
|
2026-05-26 05:20:36 +08:00 |
|
2569718930@qq.com
|
1ac41dde33
|
Callback 修复补丁:redirect URL 改用 siteUrl 构造,避免跳转到 localhost:3000
|
2026-05-26 04:48:07 +08:00 |
|
2569718930@qq.com
|
a7076f48a6
|
deploy.sh 成功后自动清理旧镜像,防止磁盘积满
|
2026-05-26 04:36:43 +08:00 |
|
2569718930@qq.com
|
f884b016cc
|
修复 callback 无限重定向:origin 比较改为 host header 比较
nextUrl.origin 在 route handler 中不认 x-forwarded-* headers,
导致 canonical origin 检查始终失败,callback 无限重定向到自身。
改用 request.headers.get(host) 比较。
|
2026-05-26 04:27:37 +08:00 |
|
2569718930@qq.com
|
ecf9481dfe
|
smoke test 修复:scan terminal 换 api/cities,避免 pre-warm 阻塞超时
|
2026-05-26 04:07:33 +08:00 |
|
2569718930@qq.com
|
ee3d489d8b
|
部署修复:healthz 重试从 60s 扩大到 150s,适配 pre-warm 125s
|
2026-05-26 03:57:22 +08:00 |
|
2569718930@qq.com
|
f5aefb27e3
|
部署修复:sleep 5 改重试循环,等 backend 真正 ready 再 smoke test
backend Python imports 需要 10-15s,固定 sleep 5 不够。
|
2026-05-26 03:55:21 +08:00 |
|
2569718930@qq.com
|
e2f11d580e
|
CI 修复:添加 setup-buildx 解决 GHA cache 导出报错
默认 docker driver 不支持 cache-to type=gha,需要 buildx driver。
|
2026-05-26 03:46:01 +08:00 |
|
2569718930@qq.com
|
91eb4307bd
|
部署加固:去重构建 + SHA tag 部署 + smoke test + 自动回滚
- frontend-quality 移除重复 npm run build
- docker-compose 镜像标签改用 ${IMAGE_TAG:-latest}
- deploy.sh:存旧 tag → SHA 部署 → smoke test → 失败回滚
- CI deploy job 改为 SCP deploy.sh 远程执行
|
2026-05-26 03:42:48 +08:00 |
|
2569718930@qq.com
|
28ad77c517
|
部署迁移:VPS 本机构建 → GitHub Actions 构建镜像推送 ghcr.io
CI 新增 build-and-push job,测试通过后构建 backend/frontend 镜像推送 ghcr.io。
VPS 部署改为 docker compose pull + up -d,不再本地编译。
|
2026-05-26 03:38:09 +08:00 |
|
2569718930@qq.com
|
6cc83ab165
|
placeholder
|
2026-05-26 03:21:11 +08:00 |
|
2569718930@qq.com
|
468e53f959
|
CI 简化:移除 SCP artifact,Dockerfile 内 npm run build
|
2026-05-26 03:19:28 +08:00 |
|
2569718930@qq.com
|
2e8349a2c9
|
CI 修复:简化 SSH 命令为 && 链,确保 mkdir 在 SCP 前执行
|
2026-05-26 03:11:10 +08:00 |
|
2569718930@qq.com
|
e1bad1bcfa
|
CI 部署顺序修复:先 git pull 建目录,再 SCP 上传 .next
|
2026-05-26 02:57:40 +08:00 |
|
2569718930@qq.com
|
2b5d5545e2
|
城市选择器弹框尺寸放大:280→380px,结果列表 240→380px
|
2026-05-26 02:53:05 +08:00 |
|
2569718930@qq.com
|
67460685e8
|
添加 .env.production:CI 构建时可读取 NEXT_PUBLIC 变量
|
2026-05-26 02:48:47 +08:00 |
|
2569718930@qq.com
|
5fb59b1b21
|
docker-compose 前端改用 prod.Dockerfile(CI 预构建,跳过 VPS 二次 build)
|
2026-05-26 02:42:33 +08:00 |
|
2569718930@qq.com
|
d088ff389a
|
CI/CD 优化:前端构建产物上传 artifact,VPS 跳过二次 npm run build
|
2026-05-26 02:39:02 +08:00 |
|
2569718930@qq.com
|
58cc82f520
|
feat: implement LoginClient component and add institutional landing page layout
|
2026-05-26 02:32:15 +08:00 |
|
2569718930@qq.com
|
98458c0c05
|
前端 Dockerfile 支持 build args,docker-compose 注入 NEXT_PUBLIC 变量
|
2026-05-26 02:25:41 +08:00 |
|
2569718930@qq.com
|
e852b9bc89
|
feat: initialize landing page, payment logic, bot coordination, and configuration validation systems
|
2026-05-26 02:11:27 +08:00 |
|
2569718930@qq.com
|
b68772f031
|
站点域名从 sslip.io 切换到 polyweather.top
|
2026-05-26 01:25:44 +08:00 |
|
2569718930@qq.com
|
5b97de4892
|
frontend 端口改为 3001 避免与 polymarket-bot 冲突
|
2026-05-26 01:18:46 +08:00 |
|
2569718930@qq.com
|
f2ce23d7de
|
VPS 增加 frontend Docker 服务替代 Vercel
|
2026-05-26 01:04:20 +08:00 |
|
2569718930@qq.com
|
cf84b8336f
|
扫描 worker 默认值 6→8,上限 8→12(适配 8GB 内存)
|
2026-05-26 01:01:07 +08:00 |
|
2569718930@qq.com
|
fedfebc76d
|
清理残留 .pyc 和 .env.example 中 Polymarket 环境变量
|
2026-05-26 00:46:43 +08:00 |
|
2569718930@qq.com
|
a13dff84ba
|
LoginClient 细节调整
|
2026-05-26 00:37:18 +08:00 |
|
2569718930@qq.com
|
d76c57466d
|
卸载 leaflet 地图依赖包
|
2026-05-26 00:33:43 +08:00 |
|
2569718930@qq.com
|
617d3c910e
|
支付域名识别更新:Vercel → polyweather.top
payment-host.ts 新增 polyweather.top。site-url.ts/wallet.ts/usePaymentFlow/AccountCenter 硬编码域名替换。PRODUCTION_SITE_URL 改为 https://polyweather.top。
|
2026-05-26 00:33:02 +08:00 |
|
2569718930@qq.com
|
3d0d099cb9
|
修复 _analyze() 移除 include_llm_commentary 参数后的残留调用
|
2026-05-26 00:29:45 +08:00 |
|
2569718930@qq.com
|
8cb2beb956
|
恢复美国城市电报推送和子话题
|
2026-05-26 00:25:35 +08:00 |
|
2569718930@qq.com
|
9545725d7f
|
清理旧决策卡片、市场总览、跑道面板等已废弃组件
|
2026-05-25 23:52:44 +08:00 |
|
2569718930@qq.com
|
723c6dafc6
|
终端布局和搜索框清理,新增网格策略业务测试
|
2026-05-25 23:44:02 +08:00 |
|
2569718930@qq.com
|
26b6f3ae9b
|
删除 AI 机场解读 12 个失效测试
|
2026-05-25 23:14:48 +08:00 |
|
2569718930@qq.com
|
a6367ab7c2
|
修复 marketOverview 移除后的导入错误
|
2026-05-25 23:09:37 +08:00 |
|
2569718930@qq.com
|
c2bb9d3901
|
电报推送移除美国城市;修复 market_overview_api 死引用
|
2026-05-25 23:07:32 +08:00 |
|
2569718930@qq.com
|
b3aabe61ce
|
清理市场概览残留与 refresh_policy 中的 marketOverview 条目
|
2026-05-25 23:06:44 +08:00 |
|
2569718930@qq.com
|
d1aa3550ba
|
电报推送移除全部美国城市,降低服务器负载
|
2026-05-25 23:05:46 +08:00 |
|
2569718930@qq.com
|
ea5c6ec71e
|
清理市场概览残留:删除 MarketOverviewBanner+refresh_policy 中的 marketOverview 条目
|
2026-05-25 23:04:40 +08:00 |
|
2569718930@qq.com
|
a3db39909d
|
术语统一:合约/市场/交易 → 阈值/信号/实况路径/多模型预测
|
2026-05-25 22:51:53 +08:00 |
|
2569718930@qq.com
|
a80280732c
|
限制 bot 容器资源占用
|
2026-05-25 22:31:42 +08:00 |
|
2569718930@qq.com
|
5d0d1e2673
|
删除 AI 预报系统全部死代码:11 个文件,扫描客户端 AI 流、状态管理、类型定义
|
2026-05-25 22:27:02 +08:00 |
|
2569718930@qq.com
|
9291ab9b3d
|
更新 CLAUDE.md:移除已删除的 PM 文件引用,补充新服务模块和组件
|
2026-05-25 22:21:00 +08:00 |
|
2569718930@qq.com
|
de8e92c985
|
feat: implement ScanTerminalDashboard and LiveTemperatureThresholdChart components
|
2026-05-25 22:06:54 +08:00 |
|
2569718930@qq.com
|
368388899d
|
移除左侧导航栏「市场概览」按钮
|
2026-05-25 21:57:10 +08:00 |
|
2569718930@qq.com
|
b7c5623161
|
移除终端搜索框
|
2026-05-25 21:54:49 +08:00 |
|
2569718930@qq.com
|
10dcf20077
|
巴黎推送按新口径重构:当前实况始终为 AEROWEB,AROME 仅为模型参考
|
2026-05-25 21:48:20 +08:00 |
|
2569718930@qq.com
|
c5e80a56b4
|
巴黎推送同时展示 AEROWEB 实况和 AROME 临近预报两条温度
|
2026-05-25 21:41:48 +08:00 |
|
2569718930@qq.com
|
5202ed06ff
|
巴黎 AROME 仅在 AEROWEB 为主源时作对比展示,避免与当前温度重复
|
2026-05-25 21:38:10 +08:00 |
|
2569718930@qq.com
|
b8b99a0fc5
|
巴黎推送增加 AROME HD 15分钟临近预报温度行
|
2026-05-25 21:35:39 +08:00 |
|
2569718930@qq.com
|
0e81b974e7
|
巴黎推送标明数据源:AEROWEB 实况或 AROME HD 临近预报
|
2026-05-25 21:28:17 +08:00 |
|
2569718930@qq.com
|
7a10f4b474
|
统一 METAR 获取:非 HK/深圳城市走同一条 NOAA 路径,前端移除所有流浮山字样
|
2026-05-25 21:15:14 +08:00 |
|
2569718930@qq.com
|
87643699e7
|
缓存TTL 2min→10min,空闲时预加载相邻区域数据
|
2026-05-25 21:06:57 +08:00 |
|
2569718930@qq.com
|
25bcc35063
|
温度链增加 settlement_current 兜底:CWA/HKO 等官方结算站温度优先于 METAR
|
2026-05-25 20:58:18 +08:00 |
|
2569718930@qq.com
|
7b8826dfa1
|
清理最后一批 Polymarket 注释+死代码 WeatherDecisionBand
|
2026-05-25 20:53:03 +08:00 |
|
2569718930@qq.com
|
11a901d22e
|
修复 scan_terminal_filters 残留语法错误
|
2026-05-25 20:28:48 +08:00 |
|
2569718930@qq.com
|
64ab74f7fc
|
移除区域标签栏和自选时区面板
|
2026-05-25 20:28:09 +08:00 |
|
2569718930@qq.com
|
7f0506b897
|
清理残留 skip_polymarket 参数和 PM 注释
|
2026-05-25 20:26:26 +08:00 |
|
2569718930@qq.com
|
2cd43b607d
|
清理时区逻辑:TRADING_REGIONS→REGIONS,移除 detectLocalRegion/TZ fallback,用 CITY_REGION 硬编码替代
|
2026-05-25 20:23:44 +08:00 |
|
2569718930@qq.com
|
798e2d6cc2
|
清理 web 层 PM 代码:city_payloads 移除 market_scan/market-scan/holders 路由
city_payloads: 移除 _get_polymarket_layer/_top_probability_bucket/build_city_market_scan_payload。city.py: 移除 /market-scan 和 /holders 路由。scan_terminal_city_row: 旧 PM 路径删除,quick 模式为唯一路径。
|
2026-05-25 20:18:11 +08:00 |
|
2569718930@qq.com
|
9c9924cc5a
|
扫描缓存键按区域隔离,修复切换区域时显示旧区域数据的问题
|
2026-05-25 20:16:50 +08:00 |
|
2569718930@qq.com
|
c16a8cb7a5
|
修复 Polymarket 清理后的导入错误:analysis_service 移除 city_payloads market_scan 依赖
|
2026-05-25 20:16:02 +08:00 |
|
2569718930@qq.com
|
e3aa612bf3
|
清理 Polymarket 市场扫描相关代码
|
2026-05-25 20:13:02 +08:00 |
|
2569718930@qq.com
|
96b8165be1
|
移除图表 Polymarket 跳转链接,保留城市名称标签
|
2026-05-25 20:10:56 +08:00 |
|
2569718930@qq.com
|
e0ab26a01e
|
城市列表移除合约数显示,仅保留城市名和当地时间
|
2026-05-25 20:09:36 +08:00 |
|
2569718930@qq.com
|
ef8d89e72e
|
删除 Polymarket 核心文件:readonly 层+WS 缓存
|
2026-05-25 20:07:32 +08:00 |
|
2569718930@qq.com
|
d3c8058178
|
更新 CLAUDE.md:Polymarket 已全部移除,终端仅气象数据
|
2026-05-25 20:03:06 +08:00 |
|
2569718930@qq.com
|
3bc1a4a1ed
|
后端深度清理 Polymarket:删除 readonly 层+WS 缓存+market_scan API
删除 src/data_collection/polymarket_readonly.py(2500行)和 polymarket_ws_cache.py。city_payloads 移除 _get_polymarket_layer/_top_probability_bucket/build_city_market_scan_payload。city.py 移除 /market-scan 和 /holders 路由。scan_terminal 移除 skip_polymarket。
|
2026-05-25 20:02:30 +08:00 |
|
2569718930@qq.com
|
66038e060c
|
更新 CLAUDE.md:Polymarket 已全部移除,终端仅气象数据
|
2026-05-25 19:59:24 +08:00 |
|