{"record":{"id":"f56f77795486e34e","repo":"tonhowtf/omniget","slug":"secao-nao-encontrada-no-board","errorCode":null,"errorMessage":"secao '{}' nao encontrada no board {}","messagePattern":"secao '(.+?)' nao encontrada no board (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src-tauri/omniget-core/src/core/tools/pinterest/api.rs","lineNumber":1293,"sourceCode":"                    Feed::Board {\n                        board_id: b.id.clone(),\n                        include_sections: true,\n                    },\n                    b.name,\n                ))\n            }\n            Target::Section {\n                user,\n                slug,\n                section,\n            } => {\n                let b = self.board(user, slug).await?;\n                let secs = self.board_sections(&b.id).await?;\n                let sec = secs\n                    .into_iter()\n                    .find(|x| &x.slug == section || x.title.eq_ignore_ascii_case(section))\n                    .ok_or_else(|| {\n                        anyhow!(\"secao '{}' nao encontrada no board {}\", section, b.name)\n                    })?;\n                Ok((\n                    Feed::Section { section_id: sec.id },\n                    format!(\"{} · {}\", b.name, sec.title),\n                ))\n            }\n            Target::User { username } => Ok((\n                Feed::UserPins {\n                    username: username.clone(),\n                },\n                username.clone(),\n            )),\n            Target::UserCreated { username } => Ok((\n                Feed::UserCreated {\n                    username: username.clone(),\n                },\n                format!(\"{} (criados)\", username),\n            )),","sourceCodeStart":1275,"sourceCodeEnd":1311,"githubUrl":"https://github.com/tonhowtf/omniget/blob/8600b91f4246848bac346874daa9e61c1fc5677a/src-tauri/omniget-core/src/core/tools/pinterest/api.rs#L1275-L1311","documentation":"When resolving a board-section target, the library lists the board's sections (via board_sections) and searches for one matching the requested section by slug or case-insensitive title. If none matches, it raises this error naming the section and the board. It is a lookup failure over an enumerated list, thrown after a successful board fetch.","triggerScenarios":"Calling the section target resolution (e.g. feed_for(Target::Section{user, slug, section})) with a section name/slug that does not exist on that board, is misspelled, or differs in punctuation/accents from the board's actual section titles.","commonSituations":"Hardcoded section names in configs after the board owner renamed or deleted a section; accent/case differences (Portuguese titles); boards whose pins live in the main feed, not in any section.","solutions":["Run user_boards()/board_sections first and pick the exact slug from the returned list.","Match the section slug exactly as Pinterest generated it (lowercased, hyphenated, accents stripped).","Verify the section still exists on the board in the Pinterest UI.","Catch the error and fall back to the board's main feed if section targeting is optional."],"exampleFix":"// before\napi.section_feed(user, slug, \"Receitas\").await?;\n// after\nlet board = api.board(user, slug).await?;\nlet secs = api.board_sections(&board.id).await?;\nlet wanted = secs.iter().find(|s| s.slug == \"receitas\")\n    .ok_or_else(|| anyhow!(\"available: {:?}\", secs.iter().map(|s| &s.slug).collect::<Vec<_>>()))?;","handlingStrategy":"validation","validationCode":"let secs = api.board_sections(&board.id).await?;\nlet slugs: Vec<_> = secs.iter().map(|s| s.slug.clone()).collect();\nanyhow::ensure!(slugs.iter().any(|s| s == &section), \"section '{section}' not in {slugs:?}\");","typeGuard":"fn find_section<'a>(secs: &'a [Section], name: &str) -> Option<&'a Section> {\n    secs.iter().find(|s| s.slug == name || s.title.eq_ignore_ascii_case(name))\n}","tryCatchPattern":"match api.section_feed(user, slug, section).await {\n    Ok(f) => use_feed(f),\n    Err(e) if e.to_string().contains(\"nao encontrada no board\") => fallback_to_board_feed(user, slug).await?,\n    Err(e) => return Err(e),\n}","preventionTips":["Always enumerate sections first and match by slug","Normalize user input (lowercase, strip accents) before matching","Fall back to the board's main feed when section is optional","Re-check section names after board owners edit them"],"tags":["pinterest","not-found","board-section","lookup"],"backgroundTag":"resource-not-found","analyzedSha":"8600b91f4246848bac346874daa9e61c1fc5677a","analyzedAt":"2026-09-12T14:29:19.317Z","contentChangedAt":"2026-09-12T14:29:19.317Z","schemaVersion":2},"datasetVersion":"2026-09-15T23:17:13.987Z"}