Files
kawa 58d96cbb48 docs(10-03): complete credential-field help text plan
- Add 10-03-SUMMARY.md with full deviation documentation
- Update STATE.md: progress 97%, decisions, session
- Update ROADMAP.md: phase 10 plan progress (2/3 summaries)
- Mark UX-04 requirement complete in REQUIREMENTS.md
2026-04-01 12:56:45 +02:00

4.4 KiB

phase, plan, subsystem, tags, dependency_graph, tech_stack, key_files, decisions, metrics, requirements_satisfied
phase plan subsystem tags dependency_graph tech_stack key_files decisions metrics requirements_satisfied
10-content-clarity 03 schemas
tooltips
help-text
ux
registry
credential-fields
requires provides affects
UX-04
src/components/ui/FieldRenderer.tsx
src/components/ui/PasswordField.tsx
added patterns
FieldDef enrichment
tooltipText/helpText data layer
created modified
src/schemas/registry.ts
src/components/wizard/RemoteConfigStep.test.tsx
S3 region gets tooltipText only (no helpText needed — placeholder is already descriptive)
S3-compatible and S3 access key fields get both helpText and tooltipText
GCS service_account_credentials tooltipText includes official doc link for key creation
SFTP host and user intentionally get no tooltipText (self-explanatory, per user decision)
B2 and GCS already had helpText — added tooltipText only, no rewrites
OneDrive drive_id gets tooltipText alongside existing helpText
Selector ambiguity fix ({ selector: 'input' }) applied to all getByLabelText calls now that tooltip buttons render aria-label attributes matching field labels
duration_minutes completed_date tasks_completed files_modified
7 2026-04-01 2 2
UX-04

Phase 10 Plan 03: Credential Field Help Text and Tooltips Summary

One-liner: Enriched BACKEND_REGISTRY with actionable tooltipText and helpText for all S3, S3-compatible, GCS, B2, and OneDrive drive_id credential fields, directing users to the exact console location to find each value.

What Was Built

Registry.ts now contains contextual help for 11 credential fields across 5 backend types. Each tooltip tells users WHERE to find the value (not just what it is), with doc links for GCS service account JSON creation.

Fields enriched

Backend Field tooltipText helpText
s3 access_key_id Yes (IAM console path) Yes
s3 secret_access_key Yes (shown-once warning) Yes
s3 region Yes (S3 console bucket list) No
s3-compatible access_key_id Yes (Wasabi/R2/MinIO paths) Yes
s3-compatible secret_access_key Yes (shown-once warning) Yes
s3-compatible endpoint Yes (provider examples) No (pre-existing)
gcs project_number Yes (Cloud Console path, numeric vs text ID) No (pre-existing)
gcs service_account_credentials Yes (IAM steps + doc link) No (pre-existing)
b2 account Yes (App Keys page, key ID vs account ID) No (pre-existing)
b2 key Yes (shown-once warning) No (pre-existing)
onedrive drive_id Yes (rclone authorize output, b! prefix) No (pre-existing)

Fields intentionally unchanged

  • azureblob key, sas_url — pre-existing tooltipText preserved
  • onedrive token — pre-existing tooltipText preserved
  • sftp host, user — no tooltip (self-explanatory per user decision)
  • sftp pass, key_pem — pre-existing helpText preserved

Tests

37 tests pass. Added 4 new UX-01 tests verifying tooltip info buttons render for:

  • S3 access_key_id
  • S3-compatible endpoint
  • GCS service_account_credentials
  • B2 account (Application Key ID)

Deviations from Plan

Auto-fixed Issues

1. [Rule 1 - Bug] Fixed getByLabelText selector ambiguity across test suite

  • Found during: Task 1 (immediately after first test run)
  • Issue: Adding tooltipText to fields causes tooltip buttons to render with aria-label="More info about {Field Label}". This made getByLabelText(/field name/i) match both the input element AND the tooltip button, triggering "Found multiple elements" errors in 13 tests.
  • Fix: Added { selector: 'input' } to all affected getByLabelText calls in BACK-02, BACK-03, BACK-01 (drive_id), BACK-03 GCS, BACK-04 B2, and VALID-01 blocks. This is the same DEBT-01 pattern resolved in Phase 09-03.
  • Files modified: src/components/wizard/RemoteConfigStep.test.tsx
  • Commit: 489dfab

Commits

Hash Message
356d557 feat(10-03): enrich registry.ts with tooltipText and helpText for credential fields
489dfab feat(10-03): add tooltip tests for enriched fields; fix selector ambiguity

Self-Check

Files exist:

  • src/schemas/registry.ts — verified (tooltipText count: 15 = 1 interface + 14 fields)
  • src/components/wizard/RemoteConfigStep.test.tsx — verified (37 tests pass)

Commits exist: