jiang
3ebe3328aa
fix(auth): handle expired session sources before permissions
...
Generic Container CI/CD / test-build-publish (push) Successful in 57s
Frontend CI/CD v2 / build-test-publish-and-deploy (push) Successful in 57s
The previous fix only prioritized authStore inside the route guard, so an unauthenticated NextAuth session or a suppressed access-context 401 still collapsed into an empty permission set. Propagate both authentication signals before authorization so expired sessions consistently reauthenticate.
v2026.09.09.2
2026-09-09 15:28:53 +08:00
jiang
b04378397c
test: type logout audit fetch mock
Generic Container CI/CD / test-build-publish (push) Successful in 1m1s
Frontend CI/CD v2 / build-test-publish-and-deploy (push) Successful in 1m1s
v2026.09.09.1
2026-09-09 15:07:45 +08:00
jiang
bad8769000
fix(auth): redirect expired sessions before permission checks
2026-09-09 15:07:25 +08:00
jiang
29b8babd68
fix(api): align frontend with project-scoped backend
...
Use project-scoped endpoints and run IDs for current project, SCADA metadata, historical time series, migrated DMA results, and sensor placement runs.
The regressions recurred because tests mocked pre-interceptor and new-only payload shapes, while history queries relied on implicit global scheme state and unbounded request fan-out. Cover post-interceptor pages, migrated result_rows, explicit run_id routing, multi-element requests, request limits, and cancellation.
2026-09-01 14:37:51 +08:00
jiang
0dad61ff1f
feat(chat): 优化分析过程与结果展示
Generic Container CI/CD / test-build-publish (push) Successful in 2m25s
Frontend CI/CD v2 / build-test-publish-and-deploy (push) Successful in 2m25s
v2026.08.26.1
2026-08-26 18:05:03 +08:00
jiang
fee4fc6ce1
refactor(frontend): align TJWater Next integrations
2026-08-26 12:26:29 +08:00
jiang
6623f4f7fb
merge: sync Server storage cleanup contract
...
Merge PR #2 after API contract, lint, test, and production build verification.
2026-08-18 18:35:23 +08:00
jiang
d2ce1687f2
chore(api): sync storage cleanup contract
2026-08-18 18:29:09 +08:00
jiang
dca2817320
merge: integrate agent-mvp into master
...
Merge PR #1 after frontend, cross-repository contract, and container gates passed.
2026-08-18 17:56:45 +08:00
jiang
41bf7d71e3
chore(api): sync backend contract mirror
2026-08-18 17:56:11 +08:00
jiang
5bea86dbf6
fix(deps): update XML parser and nanoid
2026-08-18 16:50:46 +08:00
jiang
78a470e89e
merge(frontend): integrate master into agent-mvp
2026-08-18 16:41:52 +08:00
jiang
6d505ca461
fix(flushing): 收紧空阀门区域高度
Generic Container CI/CD / test-build-publish (push) Successful in 1m1s
Frontend CI/CD v2 / build-test-publish-and-deploy (push) Successful in 1m1s
v2026.08.17.4
2026-08-17 19:44:11 +08:00
jiang
f34d81c933
fix(flushing): 对齐选择项空状态
Generic Container CI/CD / test-build-publish (push) Successful in 1m1s
Frontend CI/CD v2 / build-test-publish-and-deploy (push) Successful in 1m1s
2026-08-17 19:36:33 +08:00
jiang
5053ddcd1f
fix(map): 修正属性查询数据源与模拟属性
Generic Container CI/CD / test-build-publish (push) Successful in 1m4s
Frontend CI/CD v2 / build-test-publish-and-deploy (push) Successful in 1m4s
2026-08-17 19:31:54 +08:00
jiang
45def5bba3
fix(analysis): 统一方案名与接口错误提示
Generic Container CI/CD / test-build-publish (push) Successful in 1m2s
Frontend CI/CD v2 / build-test-publish-and-deploy (push) Successful in 1m2s
2026-08-17 18:54:29 +08:00
jiang
9e79d52dc8
feat(flushing): 添加阀门状态与设置值控制
2026-08-17 18:29:00 +08:00
jiang
4a978de905
ci(frontend): inject public build configuration
2026-08-11 10:44:56 +08:00
TJWater CI
f5bcf28f7e
fix(map): preserve hook order while data loads
Generic Container CI/CD / test-build-publish (push) Failing after 1m50s
Frontend CI/CD v2 / build-test-publish-and-deploy (push) Failing after 1m50s
v2026.08.11.4
2026-08-11 10:32:18 +08:00
jiang
1ac7372585
ci: replace webhook deployment with v2 workflow
Generic Container CI/CD / test-build-publish (push) Successful in 4m7s
Frontend CI/CD v2 / build-test-publish-and-deploy (push) Successful in 4m7s
v2026.08.11.5
2026-08-11 10:17:03 +08:00
TJWater CI
ab45c8da8e
ci: add frontend v2 deployment workflow
Generic Container CI/CD / test-build-publish (push) Failing after 1m13s
Frontend CI/CD v2 / build-test-publish-and-deploy (push) Failing after 1m14s
v2026.08.11.1
v2026.08.11.2
v2026.08.11.3
2026-08-11 09:51:13 +08:00
jiang
5d730ba1b8
fix(auth): ensure Keycloak logout clears secure session
2026-08-07 14:47:20 +08:00
jiang
caf18f706d
fix(auth): prevent logout audit from blocking redirect
2026-08-07 12:01:39 +08:00
jiang
0dd521d8c9
fix(chat): distinguish auth outages from model failures
...
Runtime model checks previously mapped every authenticated endpoint failure to models_unavailable. Treat request failures as service outages and retry failed checks after five seconds; empty model configurations remain distinct.
2026-08-06 19:35:24 +08:00
jiang
0a47534ddb
fix(chat): restore windowed turn alignment
...
Keep the virtual-window measurement wrapper as a flex column so AgentTurn alignSelf rules remain active. Add regression coverage for the alignment context.
2026-08-06 19:07:40 +08:00
jiang
9e75e2df8a
feat(chat): 完善运行状态与权限交互
2026-08-06 18:41:53 +08:00
jiang
8d7c947897
fix(auth): keep expiry dialog above agent UI
2026-08-06 16:09:23 +08:00
jiang
71bde7d9e4
refactor(chat): centralize agent session URLs
2026-08-06 10:40:13 +08:00
jiang
5037089057
feat(chat): refresh agent credentials during tool calls
2026-08-06 10:16:50 +08:00
jiang
b4c96f8524
fix(auth): set local logout redirect example
2026-08-05 17:57:49 +08:00
jiang
e496fbe4b7
fix(auth): align session lifecycle with Keycloak
2026-08-05 17:10:59 +08:00
jiang
5d9c40e454
feat(sensor): 完善监测点结果编辑与图层切换
2026-08-03 19:00:16 +08:00
jiang
5592c27386
chore(api): sync internal server contract
2026-08-03 11:12:54 +08:00
jiang
94142d7031
fix(auth): complete Keycloak logout flow
2026-08-03 10:40:21 +08:00
jiang
0e638046ed
fix(frontend): update production dependency security patches
Build Push and Deploy / docker-image (push) Successful in 2m7s
Build Push and Deploy / deploy-fallback-log (push) Skipped
latest
2026-07-30 22:41:30 +08:00
jiang
65ed1fd212
fix(sensor-placement): refine drawing export and editor density
Build Push and Deploy / docker-image (push) Failing after 23s
Build Push and Deploy / deploy-fallback-log (push) Successful in 1s
2026-07-30 21:39:27 +08:00
jiang
81cc5dcae1
fix(burst-location): clarify simulation baseline requirement
2026-07-30 20:55:01 +08:00
jiang
782363cfb6
fix(api): align frontend with REST contracts
2026-07-30 20:38:52 +08:00
jiang
b57e58ff87
fix(chat): 调整输入区操作按钮布局
2026-07-30 19:07:17 +08:00
jiang
38d246eb7b
fix(dma): 放宽总漏损流量下限
2026-07-30 18:15:36 +08:00
jiang
723931b6ae
feat(frontend): enforce RBAC and refine burst analysis
2026-07-30 16:45:10 +08:00
jiang
f355ddd002
fix(sensor-placement): smooth result editor transitions
2026-07-30 16:38:06 +08:00
jiang
6114e76735
fix(sensor-placement): stabilize engineering drawing export
...
Render the OpenLayers basemap at the final A3 map-box resolution with pixelRatio 1, carry provider attribution into the drawing, and keep the linework/basemap export path covered by regression tests.
2026-07-30 16:21:30 +08:00
jiang
d643f09fcf
feat(sensor-placement): add scheme engineering editor
2026-07-30 16:16:51 +08:00
jiang
04557b9363
feat(ui): 统一面板空状态引导
2026-07-30 14:34:43 +08:00
jiang
8836549697
fix(auth): unify scheme creator display
2026-07-30 14:21:20 +08:00
jiang
1d7e07174f
fix(map): use component-level loading skeletons
2026-07-30 13:21:55 +08:00
jiang
c4246cf25f
feat(burst): add analysis report and valve binding
...
Replace the obsolete location result with a printable analysis report, bind valve analysis to the selected scheme, and cache report diameter lookups. Scheme identity is tracked with valve results so reports cannot reuse results from another scheme that shares the same pipe.
2026-07-30 13:16:05 +08:00
jiang
1b2a7f4fb8
perf(map): reduce tile snapshot work during zoom
2026-07-30 12:50:33 +08:00
jiang
82e75c03d0
feat(health-risk): add printable assessment report
2026-07-30 11:52:43 +08:00