Skip to content

NOOP and WHOOP data import both fail with FormatException (Unexpected extension byte) #199

Closed

Description

@gerageragarza-prog

What happened?

Tried importing historical data from both NOOP and WHOOP using the Import data screen. Both imports fail immediately with a FormatException, just at different byte offsets:

  • Import from NOOP (raw 1Hz CSV): FormatException: Unexpected extension byte (at offset 18)
  • Import from WHOOP (export CSV, BETA): FormatException: Unexpected extension byte (at offset 10)

I expected both files to import and be parsed/re-analyzed successfully, appearing alongside my existing band data as the screen describes ("Imported days sit alongside your band data").

Since both failures are the same exception type, just at different offsets, this looks like a shared decoding bug in the import pipeline (possibly a BOM or non-UTF-8 byte in the CSV being hit before parsing) rather than two separate issues.

Steps to reproduce

  1. Go to Settings > Import data
  2. Tap "Import from NOOP" and select a raw 1Hz CSV export from NOOP → fails with FormatException: Unexpected extension byte (at offset 18)
  3. Tap "Import from WHOOP" and select a WHOOP export CSV → fails with FormatException: Unexpected extension byte (at offset 10)
  4. Both fail on the first attempt, consistently

App version

iOS 26.5.2

Platform

iOS (TestFlight)

Phone model and OS version

iPhone 16 Pro – iOS 26.5.2

Which band?

WHOOP 5.0 / MG (experimental — expect breakage)

Screenshots

Image Image

Quick checks

  • The official WHOOP app is not also connected to this band
  • I've searched existing issues for this

Activity

  1. gerageragarza-prog commented on Aug 5, 2026

    @gerageragarza-prog
    Author
  2. Brackyt commented on Aug 5, 2026

    @Brackyt
    Contributor

    What language are your CSVs in ? Mine had the column in french, OpenStrap only supports english. "Translations" should be supported or the system smarter to support all languages. In the mean time, I would suggest updating your column names (AI can help by looking at the code to retrieve the right labels)

  3. gerageragarza-prog commented on Aug 5, 2026

    @gerageragarza-prog
    Author

    Very good observation—I have it set to Spanish.

  4. abdulsaheel commented on Aug 6, 2026

    @abdulsaheel
    Collaborator

    What language are your CSVs in ? Mine had the column in french, OpenStrap only supports english. "Translations" should be supported or the system smarter to support all languages. In the mean time, I would suggest updating your column names (AI can help by looking at the code to retrieve the right labels)

    Damn nice findings.

  5. bartmuskala commented on Aug 6, 2026

    @bartmuskala

    Mine is set to English. How come it still fails? What are correct column names?

  6. Brackyt commented on Aug 6, 2026

    @Brackyt
    Contributor

    @bartmuskala can you share at least the top few lines of your csv ? (just enough to see the format and make sure we don't see your data)
    I would like to check why this happens

  7. bartmuskala commented on Aug 6, 2026

    @bartmuskala

    Any idea how to edit a .noopbak file? 🤔

  8. Brackyt commented on Aug 6, 2026

    @Brackyt
    Contributor

    Might be wrong but i think it's like a zip file

  9. bartmuskala commented on Aug 6, 2026

    @bartmuskala

    It's indeed a zip. It contains two files: settings.json (age, gender, weight etc) and noop-backup.sqlite which itself contains many files:

    Image

    I don't think language is the issue here.

  10. abdulsaheel commented on Oct 4, 2026

    @abdulsaheel
    Collaborator

    fixed in #258, the importers handle the zip exports now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions