Skip to content

WhatsApp parser — raw .txt export → ParsedConversation with unit tests #2

@Punkte

Description

@Punkte

What to build

A pure function that takes a raw WhatsApp .txt export and returns a typed ParsedConversation object. Must handle locale variants, multi-line messages, system messages, and omitted media. Covered by unit tests using real export samples.

Acceptance criteria

  • parseWhatsApp(rawText: string): ParsedConversation implemented
  • Handles EN and FR date/time locale formats
  • Multi-line messages (continuation lines) correctly merged
  • System messages filtered out ("Messages are end-to-end encrypted", "X added Y")
  • <Media omitted> marked as isMedia: true but retained
  • Returns participants, dateRange, and normalized messages[]
  • Unit tests pass on at least two real export samples

Blocked by

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs-triageMaintainer needs to evaluate this issue

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions