Skip to content

Professionalize API documentation, JSON contract, and tests#16

Merged
domingogallardo merged 1 commit intomainfrom
codex/professionalize-api
Mar 24, 2026
Merged

Professionalize API documentation, JSON contract, and tests#16
domingogallardo merged 1 commit intomainfrom
codex/professionalize-api

Conversation

@domingogallardo
Copy link
Copy Markdown
Owner

Summary

  • formalize the JSON export contract with ChatDumpPayload and getChatPayload(...)
  • split WABackup into smaller extension-based units without breaking the public API
  • rewrite consumer-facing docs and add a dedicated JSON contract document
  • restructure the test suite into portable quick checks plus opt-in full regression coverage
  • add CI workflows for quick verification and full regression runs

What changed

  • Added ChatDumpPayload as the recommended Encodable full-chat export wrapper.
  • Added getChatPayload(chatId:directoryToSaveMedia:) as a non-breaking convenience API.
  • Expanded doc comments across the public API and normalized public-facing terminology to English.
  • Reworked the README to cover installation, requirements, privacy, JSON export, media export, and error handling.
  • Added Docs/JSONContract.md and JSON snapshot fixtures to make the serialized output explicit and testable.
  • Split the test suite into smoke, error-handling, helper, JSON contract, and heavy regression suites.
  • Added a generated sample backup fixture so swift test runs without the large private fixture.
  • Preserved the large fixture regression tests behind SWIFT_WA_RUN_FULL_FIXTURE_TESTS=1.
  • Added GitHub Actions for quick checks and scheduled/manual regression runs.

Verification

  • swift test
  • SWIFT_WA_RUN_FULL_FIXTURE_TESTS=1 swift test

Notes

  • The full regression suite self-skips when the large local fixture is not present, which keeps CI portable while preserving the heavy regression path for environments that provide the fixture.
  • Public compatibility is preserved; all API additions in this PR are additive.

@domingogallardo domingogallardo merged commit c86d7a9 into main Mar 24, 2026
1 check passed
@domingogallardo domingogallardo deleted the codex/professionalize-api branch March 24, 2026 13:48
domingogallardo added a commit that referenced this pull request Mar 24, 2026
Professionalize API documentation, JSON contract, and tests
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