zmuxuny opened a new issue, #7212:
URL: https://github.com/apache/rocketmq-dashboard/issues/7212

   ### Before Creating the Bug Report
   
   - [x] I have searched the [open 
issues](https://github.com/apache/rocketmq-dashboard/issues) of this repository 
and believe that this is not a duplicate.
   
   - [x] This is a defect in RocketMQ Studio, not a usage question and not a 
defect in another Apache RocketMQ repository.
   
   - [x] I can reproduce this on the current `master` branch, or I have stated 
the exact version I am running below.
   
   
   ### Studio Version
   
   Source inspected on 2026-10-20 at 
rocketmq-studio@127c47b06a268cc74224d5f34c56ec7c36ac0d55. Published October 10 
validation in #6301/#5251 is historical, not a fresh runtime test.
   
   ### Runtime Environment
   
   Studio K8s certificate metadata inventory, K8sCertService and frontend 
status labels. Original validation used Java 21 fixed-clock service tests and 
frontend Vitest.
   
   ### Connected RocketMQ Cluster
   
   No live RocketMQ or Kubernetes cluster is needed. Scope is 
certificate-status reporting, not installing certificates or changing 
Kubernetes.
   
   ### Build Toolchain
   
   _No response_
   
   ### Describe the Bug
   
   Tracking continuation of #6301, automatically closed by github-actions for 
seven days of inactivity on 2026-10-20. Reopening is unavailable to this 
account. Existing fix PR #5251 remains open; no new implementation or PR is 
proposed.
   
   Certificate metadata retains notBefore and notAfter, but 
refreshExpirationState checks only expiry. A future-starting certificate with 
distant expiry can therefore be reported as valid before its validity begins.
   
   ### Steps to Reproduce
   
   1. Use a fixed clock at 2025-07-01 UTC.
   2. Supply a synthetic certificate record with notBefore=2025-07-02 and 
notAfter=2026-07-02.
   3. Call listCerts() and inspect its status/inventory label.
   
   The original controlled fixture and regression are recorded in #6301/#5251. 
Today’s check is source inspection, not a new execution or real certificate 
upload.
   
   ### What Did You Expect to See?
   
   Return not_yet_valid before notBefore, preserve expired precedence and 
existing valid/expiring boundaries, validity dates and daysRemaining. When 
notBefore equals now or is absent, preserve existing behavior. Expose the 
status consistently through API documentation and Chinese/English UI labels.
   
   ### What Did You See Instead?
   
   At the inspected revision, refreshExpirationState(cert, now) reads notAfter, 
calculates daysRemaining, then chooses expired, expiring or valid without 
checking notBefore. copyOf preserves notBefore, so the missing condition 
remains in the status calculation.
   
   ### Additional Context
   
   Original report: https://github.com/apache/rocketmq-dashboard/issues/6301
   Existing fix: https://github.com/apache/rocketmq-dashboard/pull/5251
   Current source: 
https://raw.githubusercontent.com/apache/rocketmq-dashboard/127c47b06a268cc74224d5f34c56ec7c36ac0d55/server/src/main/java/org/apache/rocketmq/studio/cluster/k8s/K8sCertService.java
   
   October 10 validation of head 7067166: 34 Java tests and 16 focused frontend 
tests passed; TypeScript/Vite/frontend license checks passed. Exact-head CI was 
not green: two CloudCredentialTab failures and the backend binary-license gate 
failed. Details and limits remain in #5251; no fresh test, CI, maintainer 
approval or merge is claimed. Open-issue reference and notBefore searches found 
no equivalent continuation on October 20. AI assistance was used.
   
   ### Are You Willing to Submit a Pull Request?
   
   - [ ] Yes, I am willing to submit a pull request.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to