Skip to content

Two crashes: Unknown node type Markdown:CHECK_BOX and Collection contains no element matching the predicate. #140

@stefansundin

Description

@stefansundin

Hello,

I am going to let my users render arbitrary markdown files in my app, and I encountered these two crashes when rendering this test file: https://gist.github.com/allysonsilva/85fff14a22bbdf55485be947566cc09e#file-full-markdown-md

java.lang.IllegalStateException: Unknown node type Markdown:CHECK_BOX
  at com.boswelja.markdown.generator.MarkdownNodeGenerator.parseGenericNode(MarkdownNodeGenerator.kt:117)
  at com.boswelja.markdown.generator.MarkdownNodeGenerator.parseUnorderedList(MarkdownNodeGenerator.kt:127)
  at com.boswelja.markdown.generator.MarkdownNodeGenerator.parseGenericNode(MarkdownNodeGenerator.kt:110)
  at com.boswelja.markdown.generator.MarkdownNodeGenerator.generateNodes(MarkdownNodeGenerator.kt:31)
  at com.boswelja.markdown.MarkdownDocumentKt.MarkdownDocument-aqv2aB4(MarkdownDocument.kt:61)
  at com.boswelja.markdown.material3.MarkdownDocumentKt.MarkdownDocument-tJlDC5Y(MarkdownDocument.kt:34)

It would be nice to be able to ignore unknown node types instead of throwing an exception.

After removing the checkboxes I got this:

java.util.NoSuchElementException: Collection contains no element matching the predicate.
  at com.boswelja.markdown.generator.MarkdownNodeGenerator.parseLinkNode(MarkdownNodeGenerator.kt:632)
  at com.boswelja.markdown.generator.MarkdownNodeGenerator.parseSpanNode(MarkdownNodeGenerator.kt:209)
  at com.boswelja.markdown.generator.MarkdownNodeGenerator.parseParagraphNode(MarkdownNodeGenerator.kt:191)
  at com.boswelja.markdown.generator.MarkdownNodeGenerator.parseGenericNode(MarkdownNodeGenerator.kt:102)
  at com.boswelja.markdown.generator.MarkdownNodeGenerator.parseUnorderedList(MarkdownNodeGenerator.kt:127)
  at com.boswelja.markdown.generator.MarkdownNodeGenerator.parseGenericNode(MarkdownNodeGenerator.kt:110)
  at com.boswelja.markdown.generator.MarkdownNodeGenerator.generateNodes(MarkdownNodeGenerator.kt:31)
  at com.boswelja.markdown.MarkdownDocumentKt.MarkdownDocument-aqv2aB4(MarkdownDocument.kt:61)
  at com.boswelja.markdown.material3.MarkdownDocumentKt.MarkdownDocument-tJlDC5Y(MarkdownDocument.kt:34)

Thank you!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions