Skip to content

Release: v7.0.2#380

Merged
Data-Wise merged 3 commits intomainfrom
dev
Feb 12, 2026
Merged

Release: v7.0.2#380
Data-Wise merged 3 commits intomainfrom
dev

Conversation

@Data-Wise
Copy link
Owner

Summary

  • Email doctor integrationflow doctor now includes an EMAIL section when the em dispatcher is loaded, checking himalaya, HTML renderers, OAuth2 proxy, AI backend, with guided setup wizard and --verbose connectivity testing
  • Segfault bugfix — fixed ${[[ ... ]]} inline plural pattern crash in _doctor_select_fix_category (replaced with pre-computed suffix variables)
  • 56 new tests across 3 test suites (unit, E2E, interactive headless)
  • Docs updated — doctor.md, REFCARD-DOCTOR, CHANGELOG v7.0.2, version refs synced

Test plan

🤖 Generated with Claude Code

Test User and others added 3 commits February 12, 2026 10:28
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: integrate em doctor checks into flow doctor

Add conditional EMAIL section to `flow doctor` that checks himalaya
and all email dependencies when the `em` dispatcher is loaded.

- Phase 1: _doctor_check_email() with himalaya (required+version),
  HTML renderer (any-of w3m/lynx/pandoc), glow, email-oauth2-proxy,
  terminal-notifier, AI backend checks + config summary
- Phase 2: Email category in --fix mode menu with brew/pip install
- Phase 3: _doctor_email_connectivity() for --verbose mode (IMAP,
  OAuth2 proxy, SMTP config validation with 5s timeouts)
- Phase 4: _doctor_email_setup() guided config wizard with provider
  auto-detection (Gmail, Outlook, Yahoo, iCloud) and OAuth2 guidance
- Phase 5: Updated _doctor_help() with EMAIL section docs
- Phase 6: 13 tests in test-doctor-email.zsh (all passing)

Zero overhead when em() not loaded. Existing 22 doctor tests pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* test: add E2E dogfooding tests for email doctor integration

20 tests across 8 categories: output structure, section ordering,
dep dedup, mode combinations, missing dep simulation (PATH manipulation),
fix mode menu, em doctor independence, and config env overrides.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: resolve category_info crash + add interactive headless tests

Fix zsh "bad output format specification" crash in
_doctor_select_fix_category — the ${[[ ... ]]} inline plural
pattern is invalid inside associative array assignments.
Replace with pre-computed suffix variables.

Add 23 interactive headless tests covering:
- _doctor_confirm yes/no/empty branching
- _doctor_select_fix_category menu selection
- _doctor_fix_email with fake brew/pip
- _doctor_email_setup wizard (Gmail, custom, cancel)
- --fix -y end-to-end auto-yes bypass

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* docs: update doctor docs for email integration

- doctor.md: EMAIL dep table, verbose connectivity, fix mode email
  category, guided setup wizard, updated key functions + see also
- REFCARD-DOCTOR.md: EMAIL category (#6), email in fix menu, --yes
  flag, email integration entry, updated version
- CHANGELOG.md: v7.0.2 entry for email doctor integration feature

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: resolve remaining segfault pattern + remove orphan file

Replace last $([[ ... ]]) inline plural pattern at line 476 with
pre-computed suffix variable, matching the safe pattern used at
lines 561, 571, 586, 595. Remove ORCHESTRATE-em-doctor-integration.md
session artifact from repo root.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Test User <test@example.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Update What's New banner, footer version, QUICK-REFERENCE version,
and CLAUDE.md status to v7.0.2 following PR #379 merge.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@Data-Wise Data-Wise merged commit e367c74 into main Feb 12, 2026
2 checks passed
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