pnoker
7b79ea1f12
test(driver): 补充 point value 缓冲单测
...
PointValueBufferTest 临时 SQLite 覆盖 CRUD/容量淘汰;BufferServiceImplTest mock RabbitTemplate 覆盖 offer/republish/退避/禁用
2026-07-26 00:04:08 +08:00
pnoker
ee98ea387c
feat(driver): 驱动配置与容器卷挂载本地缓冲
...
28 驱动 application.yml 加 dc3.driver.buffer;Dockerfile 每段加 dc3/data 目录与 VOLUME;docker-compose 主/dev 加 driver_data 命名卷
2026-07-26 00:04:07 +08:00
pnoker
962eba67f9
feat(driver): 接入发送失败缓冲与 Quartz 重发
...
DriverSenderServiceImpl catch 写缓冲与 ConfirmCallback NACK 回补;BufferRepublishScheduleJob 周期重发;DriverScheduleServiceImpl 注册重发 job;DriverInitRunner 注册前建表
2026-07-26 00:04:07 +08:00
pnoker
e601e6a790
feat(driver): 新增 point value 本地缓冲 DAO 与服务
...
BufferedPointValue 行映射;PointValueCorrelation 携带 payload/routingKey/attempt;PointValueBuffer SQLite(WAL,HikariCP)DAO;BufferService/Impl offer/republish/容量淘汰/退避
2026-07-26 00:04:06 +08:00
pnoker
1f2e6c488f
feat(driver): 引入 sqlite-jdbc 依赖与本地缓冲配置属性
...
父 pom 加 sqlite-jdbc 3.53.2.0 与 dependencyManagement;dc3-common-driver pom 加 sqlite-jdbc 与 HikariCP;DriverProperties 新增 BufferProperties 嵌套组;ScheduleConstant 新增 BUFFER_REPUBLISH_SCHEDULE_JOB 常量
2026-07-26 00:04:05 +08:00
pnoker
e3d335b56d
build(docs): add makefile targets and pin node version
...
Add docs-dev, docs-build, docs-preview, and docs-version make targets. Pin
Node 22 LTS via .nvmrc. Bump pnpm packageManager to 11.17.0.
2026-07-24 12:08:08 +08:00
pnoker
2a328a252f
feat(docs): add documentation versioning system
...
Add build-time version resolution from POM, runtime version switcher with
cached /versions.json fetch, and archived-version warning banner. Inject
version meta tags into HTML head and auto-switch robots to noindex for
archived builds via DC3_DOCS_IS_LATEST=false.
2026-07-24 12:07:56 +08:00
pnoker
41c43b359a
feat(observability): integrate opentelemetry tracing into request-id mechanism
...
Unify request-id and OpenTelemetry trace context across all transport layers
(HTTP, gRPC, RabbitMQ) using a three-tier priority: X-Request-Id header, OTel
Trace ID, UUID fallback. Add traceId/spanId to the logback pattern for
log-trace correlation. Configure OTLP export, sampling, and B3/W3C propagation
in application-web.yml.
v2026.7.23
2026-07-23 23:20:58 +08:00
pnoker
91ccd25a59
style(gateway): align mcp controller javadoc param descriptions
2026-07-23 23:20:24 +08:00
pnoker
bed0877e08
build(infra): add jaeger tracing backend to optional docker-compose stack
...
Add jaegertracing/all-in-one with OTLP collector enabled (ports 16686 UI,
4317 gRPC, 4318 HTTP) for distributed trace visualization.
2026-07-23 23:20:18 +08:00
pnoker
db14f0f089
build(deps): add opentelemetry bom and tracing dependencies
...
Replace micrometer-tracing-bridge-brave with the full OpenTelemetry stack
(bridge-otel, OTLP exporter, SDK, trace SDK, propagators, API, context).
Add OTel BOM and semconv to the parent POM for centralized version control.
Add OTel API dependencies to dc3-common-rabbitmq and dc3-common-facade-grpc
for trace context propagation.
2026-07-23 23:19:48 +08:00
pnoker and Claude Fable 5
ef70a279c2
docs(seo): move meta into dynamic transformHead and add llms.txt
...
Replace the static SEO/social meta tags in the config head with a
transformHead hook (seo.mts) that emits per-page, per-locale description,
Open Graph, Twitter card, hreflang alternates, and JSON-LD structured
data (Organization / WebSite / WebPage / BreadcrumbList). Add llms.txt
to describe the site for LLM crawlers.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
v2026.7.19
2026-07-19 22:56:18 +08:00
pnoker and Claude Fable 5
8b7c65715a
build(web): bump frontend dependencies
...
Batch-upgrade dc3-web dependencies (element-plus, pinia, vue-router,
@types/node, typescript-eslint, vite, vitest, and related dev tooling),
covering Dependabot PRs #125/#128/#129 that could not auto-rebase because
Dependabot cannot parse the pnpm v9 lockfile.
Keep typescript on ~6: vue-tsc 3.3.7 and its volar toolchain do not yet
support TypeScript 7 (vue-tsc crashes resolving the removed ./lib/tsc
export), which would break the type-check quality gate.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-19 22:22:45 +08:00
dependabot[bot]
1dbb757392
build(deps): bump pnoker/dc3-nginx from 2025.2 to 2025.9 in /dc3-web ( #127 )
...
Bumps pnoker/dc3-nginx from 2025.2 to 2025.9.
---
updated-dependencies:
- dependency-name: pnoker/dc3-nginx
dependency-version: '2025.9'
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-19 21:28:14 +08:00
dependabot[bot]
7e2d030096
build(deps): bump pnoker/dc3-node from 2025.2 to 2025.9 in /dc3-web ( #126 )
...
Bumps pnoker/dc3-node from 2025.2 to 2025.9.
---
updated-dependencies:
- dependency-name: pnoker/dc3-node
dependency-version: '2025.9'
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-19 21:28:08 +08:00
dependabot[bot]
2d064e336d
build(deps-dev): bump vite from 8.1.0 to 8.1.5 in /dc3-web ( #124 )
...
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) from 8.1.0 to 8.1.5.
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v8.1.5/packages/vite )
---
updated-dependencies:
- dependency-name: vite
dependency-version: 8.1.4
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-19 21:27:58 +08:00
dependabot[bot]
1d2c51098b
build(deps-dev): bump vue-tsc from 3.3.5 to 3.3.7 in /dc3-web ( #122 )
...
Bumps [vue-tsc](https://github.com/vuejs/language-tools/tree/HEAD/packages/tsc ) from 3.3.5 to 3.3.7.
- [Release notes](https://github.com/vuejs/language-tools/releases )
- [Changelog](https://github.com/vuejs/language-tools/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vuejs/language-tools/commits/v3.3.7/packages/tsc )
---
updated-dependencies:
- dependency-name: vue-tsc
dependency-version: 3.3.7
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-19 21:27:52 +08:00
dependabot[bot]
ac39d9d60f
build(deps): bump actions/checkout from 4.3.1 to 7.0.0 ( #103 )
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 4.3.1 to 7.0.0.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/34e114876b0b11c390a56381ad16ebd13914f8d5...9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '7'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-19 21:07:39 +08:00
dependabot[bot]
c13feb0b7a
build(deps): bump docker/login-action from 3.7.0 to 4.4.0 ( #106 )
...
Bumps [docker/login-action](https://github.com/docker/login-action ) from 3.7.0 to 4.4.0.
- [Release notes](https://github.com/docker/login-action/releases )
- [Commits](https://github.com/docker/login-action/compare/c94ce9fb468520275223c153574b00df6fe4bcc9...af1e73f918a031802d376d3c8bbc3fe56130a9b0 )
---
updated-dependencies:
- dependency-name: docker/login-action
dependency-version: '4'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-19 21:07:34 +08:00
dependabot[bot]
583bd4993f
build(deps): bump docker/setup-qemu-action from 3.7.0 to 4.2.0 ( #105 )
...
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action ) from 3.7.0 to 4.2.0.
- [Release notes](https://github.com/docker/setup-qemu-action/releases )
- [Commits](https://github.com/docker/setup-qemu-action/compare/c7c53464625b32c7a7e944ae62b3e17d2b600130...96fe6ef7f33517b61c61be40b68a1882f3264fb8 )
---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
dependency-version: '4'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-19 21:07:29 +08:00
pnoker
20c10d2ba3
Merge branch 'main' into develop
2026-07-19 20:51:53 +08:00
pnoker and Claude Fable 5
829e82fe28
fix(web): restore frontend testing guardrails doc and fix test path
...
The doc was moved from dc3-web/docs/ to docs/zh/frontend/ then deleted
as an "orphan", but ai-guardrails.test.ts still read the old path,
breaking the quality gate on every frontend PR. Restore the doc and
point the test at its current location.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-19 20:35:43 +08:00
dependabot[bot]
ca359f6fc1
build(deps): bump com.infiniteautomation:bacnet4j from 6.0.1 to 6.1.0 ( #110 )
...
Bumps [com.infiniteautomation:bacnet4j](https://github.com/infiniteautomation/BACnet4J ) from 6.0.1 to 6.1.0.
- [Release notes](https://github.com/infiniteautomation/BACnet4J/releases )
- [Commits](https://github.com/infiniteautomation/BACnet4J/compare/v6.0.1...v6.1.0 )
---
updated-dependencies:
- dependency-name: com.infiniteautomation:bacnet4j
dependency-version: 6.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-19 20:30:24 +08:00
dependabot[bot]
af02d90024
build(deps): bump org.snmp4j:snmp4j from 3.7.4 to 3.12.2 ( #109 )
...
Bumps org.snmp4j:snmp4j from 3.7.4 to 3.12.2.
---
updated-dependencies:
- dependency-name: org.snmp4j:snmp4j
dependency-version: 3.12.2
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-19 20:30:18 +08:00
dependabot[bot]
f5d893dcb6
build(deps): bump swagger-core.version from 2.2.47 to 2.2.52 ( #108 )
...
Bumps `swagger-core.version` from 2.2.47 to 2.2.52.
Updates `io.swagger.core.v3:swagger-core-jakarta` from 2.2.47 to 2.2.52
Updates `io.swagger.core.v3:swagger-annotations-jakarta` from 2.2.47 to 2.2.52
Updates `io.swagger.core.v3:swagger-models-jakarta` from 2.2.47 to 2.2.52
Updates `io.swagger.core.v3:swagger-annotations` from 2.2.47 to 2.2.52
Updates `io.swagger.core.v3:swagger-models` from 2.2.47 to 2.2.52
---
updated-dependencies:
- dependency-name: io.swagger.core.v3:swagger-core-jakarta
dependency-version: 2.2.52
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: io.swagger.core.v3:swagger-annotations-jakarta
dependency-version: 2.2.52
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: io.swagger.core.v3:swagger-models-jakarta
dependency-version: 2.2.52
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: io.swagger.core.v3:swagger-annotations
dependency-version: 2.2.52
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: io.swagger.core.v3:swagger-models
dependency-version: 2.2.52
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-19 20:30:13 +08:00
dependabot[bot]
96d8e61e04
build(deps): bump docker/setup-buildx-action from 3.12.0 to 4.2.0 ( #104 )
...
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action ) from 3.12.0 to 4.2.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases )
- [Commits](https://github.com/docker/setup-buildx-action/compare/8d2750c68a42422c14e847fe6c8ac0403b4cbd6f...bb05f3f5519dd87d3ba754cc423b652a5edd6d2c )
---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
dependency-version: '4'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-19 20:29:04 +08:00
dependabot[bot]
f64327d4ea
build(deps): bump pnpm/action-setup ( #102 )
...
Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup ) from f40ffcd9367d9f12939873eb1018b921a783ffaa to b906affcce14559ad1aafd4ab0e942779e9f58b1.
- [Release notes](https://github.com/pnpm/action-setup/releases )
- [Commits](https://github.com/pnpm/action-setup/compare/f40ffcd9367d9f12939873eb1018b921a783ffaa...b906affcce14559ad1aafd4ab0e942779e9f58b1 )
---
updated-dependencies:
- dependency-name: pnpm/action-setup
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-19 20:29:00 +08:00
pnoker
9856ed0959
Merge branch 'develop'
2026-07-19 20:27:50 +08:00
pnoker
f2554b10ff
feat: configure docs AdSense auto ads
2026-07-19 20:20:44 +08:00
pnoker and Claude
c702b2a9a1
docs(seo): add sitemap, robots.txt and social sharing meta
...
Enable the vitepress sitemap (hostname https://docs.dc3.site ), add robots.txt, and add description + Open Graph/Twitter card meta so search engines and social shares get proper previews. Sitemap auto-emits en/zh URLs with hreflang alternates.
Co-Authored-By: Claude <noreply@anthropic.com >
v2026.7.17
2026-07-17 12:44:01 +08:00
pnoker and Claude
5b13982da0
promote: develop to main
...
Co-Authored-By: Claude <noreply@anthropic.com >
v2026.7.16
2026-07-16 21:18:52 +08:00
pnoker and Claude
d3b636f49b
docs: add Baidu Tongji analytics to the vitepress site
...
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-16 21:17:11 +08:00
pnoker and Claude
ff4a54d45d
docs: add Google Analytics (GA4) to the vitepress site
...
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-16 20:04:00 +08:00
pnoker and Claude
ad89fde9dc
ci: pin GitHub Actions and CodeQL workflows to immutable commit hashes
...
Replace floating action tags with pinned commit SHAs across the CI workflows and add the CodeQL config.
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-16 20:03:59 +08:00
pnoker and Claude
741ad7cc44
feat(security): redact identifiers and model names in logs
...
Add LogSanitizer and apply it to agentic conversationId/model and the listening-virtual netty deviceName so they are not emitted verbatim in log output.
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-16 20:03:59 +08:00
pnoker and Claude
3f083e7ee8
fix: guard numeric parsing against NumberFormatException
...
Wrap unchecked Integer/Long/Byte.parse* calls in topic/dashboard/oauth/facade and the BACnet-IP, Ethernet-IP, FINS, SNMP drivers plus the agentic action payload, so malformed values fall back to a safe default instead of aborting.
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-16 20:03:42 +08:00
pnoker and Claude
0ff5f7a14f
style(opc-da): add missing @Override to openscada adapter methods
...
Annotate overriding methods in the vendored org.openscada OPC-DA adapter with @Override.
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-16 20:03:41 +08:00
pnoker and Claude
9bd4dd303f
refactor(bo): annotate inherited Lombok getters with @Override and add @ToString
...
Mark @Getter with onMethod_={@Override} on BOs/enums whose accessors override a base-class getter, and add @ToString to the ChatCompletion VOs and Pages.
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-16 20:03:41 +08:00
pnoker and Claude
fe28d41803
refactor(config): drop redundant YAML blocks covered by shared profile bases
...
Remove configuration duplicated verbatim by the auto-activated shared profile bases: the dc3-center-manager gRPC channel in several drivers, the management.* block in center/gateway services, the gateway swagger-ui.path, duplicate logging sub-packages, and dead dc3.driver.mqtt config in dc3-center-data (no dc3-common-mqtt dependency). spring.env/spring.group are kept (consumed by RabbitmqEnvironmentConfig/WebFluxSecurityConfig/HmacAuthConfig). Effective configuration unchanged; validated via YAML parse + Maven process-resources.
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-16 19:45:16 +08:00
pnoker and Claude
d4bd33eefa
docs(driver): document dc3-common-driver public APIs, fields and constants
...
Add Javadoc to hand-written public methods/constructors (with @param/@return), injected fields, @Override methods, constants and nested types across dc3-common-driver. Also fix PointClient#getById @return type (PointDTO -> PointBO) and reorder TypedValueConverter#convert Javadoc above its @SuppressWarnings annotation. No code logic changes.
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-16 19:45:16 +08:00
pnoker
e42fd8b522
Merge branch 'develop'
2026-07-16 13:09:44 +08:00
pnoker and Claude
d5ffa87956
docs: update pnpm-lock.yaml after removing mermaid dependencies
...
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-16 13:09:23 +08:00
pnoker and Claude
7596fd2e15
docs: convert all 107 mermaid diagrams to self-contained SVG components
...
- Replace all mermaid blocks (zh+en) with 112 Vue SVG diagram components
covering flowchart/sequence/ER/class/state diagram types
- Remove mermaid + vitepress-plugin-mermaid dependencies (config.mts, package.json)
Build time drops from ~10s to ~6.4s; per-page eager JS ~528KB→~160KB gzip
- Fix 4 undefined CSS variables (--dc3-divider, --dc3-fe-text,
--dc3-region-amber, --dc3-region-be) that caused invisible lifelines
- Unify terminology: 物模型→模板 with comparison table + Badge
- Fix factual errors: MQTT batch 5ms→5s, MongoDB hallucination removed,
agentic /v1/ path corrected, tool count 150+→330+, compose drivers 8→22
- Remove 14 orphaned architecture images (replaced by Vue components)
- Add --dc3-rose-fill token (tenant/alarm styling)
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-16 13:06:09 +08:00
pnoker
c8d1a0bf0d
docs(manager): document driver device grpc server helpers
...
driverInTenant (tenant ownership check), getDeviceAttachDTO (device +
points + config assembly)
v2026.7.15
2026-07-15 12:12:02 +08:00
pnoker
e3633a9717
docs(manager): document driver point grpc server helpers
...
selectDriverScopedPage (driver-scoped in-memory pagination),
resolveDriverProfileIds (device/profile resolution), driverHasPoint
2026-07-15 12:10:12 +08:00
pnoker
78168fc14b
docs(auth): document tenant membership, token, denylist and user helpers
...
TenantMembershipServiceImpl.fuzzyQuery, TokenServiceImpl.markPrincipalLogin,
TokenDenylistCache.buildKey, UserServiceImpl.selectByKey
2026-07-15 12:08:21 +08:00
pnoker
4e8dd8d042
docs(auth): document resource sync builders and grouping helpers
...
buildApiDO, buildLeafResourceDO, buildApiExt, buildContent, parseContent,
equalsContent, resolveMenuParentResourceId, needsGroupingNodeUpdate,
applyGroupingNodeUpdates
2026-07-15 12:04:18 +08:00
pnoker
da11d8874a
docs(auth): document role and resource tree helpers
...
RoleServiceImpl.sortRecursive, ResourceServiceImpl.assembleTree
(flat-to-tree by parent id + sort) and sortRecursive
2026-07-15 12:01:10 +08:00
pnoker
3693d81c29
docs(auth): document mcp runtime grpc server conversion helpers
...
Six toGrpc overloads (introspect, tool definition, annotations,
metadata, resolve, authorize), toDTO (audit command), scopes parser
2026-07-15 11:58:25 +08:00
pnoker
7675e39ba2
docs(agentic): document action service impl helpers
...
getPending (status+expiry validation), claimPending (optimistic
PENDING-guarded transition), fillCreateAudit, scopedWrapper
2026-07-15 11:35:43 +08:00