flxzt/rnote · error

Extracting bitmap image format from doc pages export prefs…

Error message

Extracting bitmap image format from doc pages export prefs failed, not set to a bitmap format.

What it means

Migration guard in TryFrom<RnoteFileMaj0Min9> for RnoteFileMaj0Min13: the engine_snapshot carried by the older file is not a JSON object, so the migration cannot access its fields. Fires on structurally corrupt .rnote files where engine_snapshot holds a non-object JSON value.

Solutions

  1. The .rnote file is structurally corrupt; recover from a backup copy.
  2. Inspect engine_snapshot in the file's JSON to see what non-object value it holds.
  3. Re-save the document in the originating app version if it can still open the file.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at crates/rnote-engine/src/engine/export.rs:759 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of flxzt/rnote@bbc5354502 (2026-09-08). Data as JSON: /api/errors/05e422535c50a014. Report an issue: GitHub.

Appendix: source

Thrown at crates/rnote-engine/src/engine/export.rs:759

    }

    /// Export the document pages as bitmap.
    ///
    /// Returns an error if the format pref is not set to a bitmap variant.
    fn export_doc_pages_as_bitmap_bytes(
        &self,
        doc_pages_export_prefs_override: Option<DocPagesExportPrefs>,
    ) -> oneshot::Receiver<Result<Vec<Vec<u8>>, anyhow::Error>> {
        let (oneshot_sender, oneshot_receiver) = oneshot::channel::<anyhow::Result<Vec<Vec<u8>>>>();
        let doc_pages_export_prefs = doc_pages_export_prefs_override
            .unwrap_or(self.config.read().export_prefs.doc_pages_export_prefs);
        let pages_contents = self.extract_pages_content(doc_pages_export_prefs.page_order);

        rayon::spawn(move || {
            let result = || -> Result<Vec<Vec<u8>>, anyhow::Error> {
                let image_format = match doc_pages_export_prefs.export_format {
                    DocPagesExportFormat::Svg => {
                        return Err(anyhow::anyhow!(
                            "Extracting bitmap image format from doc pages export prefs failed, not set to a bitmap format."
                        ));
                    }
                    DocPagesExportFormat::Png => image::ImageFormat::Png,
                    DocPagesExportFormat::Jpeg => image::ImageFormat::Jpeg,
                };
                pages_contents
                    .into_par_iter()
                    .enumerate()
                    .map(|(i, page_content)| {
                        page_content
                            .gen_svg(
                                doc_pages_export_prefs.with_background,
                                doc_pages_export_prefs.with_pattern,
                                doc_pages_export_prefs.optimize_printing,
                                DocPagesExportPrefs::MARGIN,
                            )?
                            .ok_or(anyhow::anyhow!(

View on GitHub (pinned to bbc5354502)