Skip to content

fix: audit batch 6 — B11,B24,B26,B27,B30,B31,B37-B40,P01,P04,P13 with regression tests - #207

Merged
hermes-gadget merged 1 commit into
mainfrom
fix/audit-batch6
Sep 5, 2026
Merged

hermes-gadget merged 1 commit into
mainfrom
fix/audit-batch6

Conversation

@hermes-gadget

Copy link
Copy Markdown
Owner

Summary

Sixth block of the 2026-09-05 audit (ROADMAP.md): 13 findings fixed with regression tests. Session/activity, dictation, cron, share, chat queue/draft/image flows, startup I/O, ANSI allocation, and Markdown CPU safety.

Findings

B11, B24, B26, B27, B30, B31, B37, B38, B39, B40, P01, P04, P13

Test plan

  • TimestampNormalizationTest, CronScheduleDecodeTest, MarkdownPathologicalInputTest added.
  • Full suite: 559 tests, 0 failures.
  • Existing ANSI/Markdown/Terminal suites still green.

Closes the matching audit issues (audit-2026-09-05 label).

…P13 with regression tests

Continues the 2026-09-05 GPT-6 audit (ROADMAP.md):

- B11: activity collector arms on FIRST connection (scope-flow re-arm) and attributes rows to the snapshot captured at event arrival.
- B24: dictation no longer restarts on onEndOfSpeech — the final result is delivered before the continuous loop restarts (from onResults).
- B26: shared normalizeTimestampMillis unifies epoch-seconds/millis/ISO; garbage and non-finite rejected; sessionRecency + auto-open recency both use it.
- B27: CronJob.schedule accepts dashboard v0.19.1 object shape via FlexibleScheduleSerializer (renders "method: expression").
- B30: PtyEvent.Connected carries the RESUMED session id instead of a fabricated UUID; share image attach targets a real session.
- B31: UTF-8 prefix validation tolerates a multi-byte char split at the read boundary.
- B37: prompt response only clears the prompt it answered (requestId check) — newer prompts survive.
- B38: queued messages requeue at the FRONT when the transport rejects the send (ComposerQueue.requeueFront).
- B39: background-tab drafts no longer wipe the active connection scope's persisted draft.
- B40: freshly attached images are removable again (null==null staging check fixed).
- P01: Application.onCreate disk cleanups moved off the main thread.
- P04: AnsiStripper zero-alloc fast path for GROUND-state frames without escapes.
- P13: Markdown link scan is linear (no per-bracket indexOf over the suffix); parsing runs on Dispatchers.Default with last-good rendering; pathological-input perf test.

Regression tests: TimestampNormalizationTest, CronScheduleDecodeTest, MarkdownPathologicalInputTest.

Full suite: 559 tests, 0 failures.
@hermes-gadget
hermes-gadget merged commit cedce06 into main Sep 5, 2026
2 checks passed
@hermes-gadget
hermes-gadget deleted the fix/audit-batch6 branch September 5, 2026 22:48
This was referenced Sep 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant