Conversation
WalkthroughThis change introduces Simple Icons support as a new web import provider to the Valkyrie icon plugin. The implementation adds a 🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Review rate limit: 7/8 reviews remaining, refill in 7 minutes and 30 seconds.Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
tools/idea-plugin/src/test/kotlin/io/github/composegears/valkyrie/ui/screen/webimport/standard/simpleicons/data/SimpleIconsSvgPathResolverTest.kt (1)
9-14: 💤 Low valueConsider adding an edge-case test for the
trimStart('/')branch.The
resolveSimpleIconsSvgUrlimplementation explicitly trims a leading/from the slug, but no test currently exercises that path.🧪 Suggested additional test
`@Test` fun `resolve simple icons svg url`() { assertThat(resolveSimpleIconsSvgUrl("github", version = "16.18.1")).isEqualTo( "https://cdn.jsdelivr.net/npm/simple-icons@16.18.1/icons/github.svg", ) } + + `@Test` + fun `resolve simple icons svg url with leading slash in slug`() { + assertThat(resolveSimpleIconsSvgUrl("/github", version = "16.18.1")).isEqualTo( + "https://cdn.jsdelivr.net/npm/simple-icons@16.18.1/icons/github.svg", + ) + }🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@tools/idea-plugin/src/test/kotlin/io/github/composegears/valkyrie/ui/screen/webimport/standard/simpleicons/data/SimpleIconsSvgPathResolverTest.kt` around lines 9 - 14, Add a unit test to exercise the trimStart('/') branch of resolveSimpleIconsSvgUrl by calling resolveSimpleIconsSvgUrl with a slug that begins with a leading slash (e.g., "/github") and asserting it returns the same CDN URL as the existing test (e.g., "https://cdn.jsdelivr.net/npm/simple-icons@16.18.1/icons/github.svg"), so the trim behavior is covered; add this test in SimpleIconsSvgPathResolverTest using the same version parameter as the existing test.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In
`@tools/idea-plugin/src/test/kotlin/io/github/composegears/valkyrie/ui/screen/webimport/standard/simpleicons/data/SimpleIconsSvgPathResolverTest.kt`:
- Around line 9-14: Add a unit test to exercise the trimStart('/') branch of
resolveSimpleIconsSvgUrl by calling resolveSimpleIconsSvgUrl with a slug that
begins with a leading slash (e.g., "/github") and asserting it returns the same
CDN URL as the existing test (e.g.,
"https://cdn.jsdelivr.net/npm/simple-icons@16.18.1/icons/github.svg"), so the
trim behavior is covered; add this test in SimpleIconsSvgPathResolverTest using
the same version parameter as the existing test.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: f6d37ee6-8584-4946-b8f6-7bfc0bc6a175
📒 Files selected for processing (20)
sdk/compose/icons/api/icons.apisdk/compose/icons/api/icons.klib.apisdk/compose/icons/src/commonMain/kotlin/io/github/composegears/valkyrie/sdk/compose/icons/colored/SimpleLogo.kttools/idea-plugin/CHANGELOG.mdtools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/service/PersistentSettings.kttools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/settings/InMemorySettings.kttools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/screen/webimport/WebImportFlow.kttools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/screen/webimport/WebImportSelectorScreen.kttools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/screen/webimport/common/ui/StandardTopActions.kttools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/screen/webimport/standard/simpleicons/SimpleIconsImportScreen.kttools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/screen/webimport/standard/simpleicons/data/SimpleIconMetadata.kttools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/screen/webimport/standard/simpleicons/data/SimpleIconsMetadataParser.kttools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/screen/webimport/standard/simpleicons/data/SimpleIconsRepository.kttools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/screen/webimport/standard/simpleicons/data/SimpleIconsSvgPathResolver.kttools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/screen/webimport/standard/simpleicons/di/SimpleIconsModule.kttools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/screen/webimport/standard/simpleicons/domain/SimpleIconsUseCase.kttools/idea-plugin/src/main/resources/messages/Valkyrie.propertiestools/idea-plugin/src/test/kotlin/io/github/composegears/valkyrie/ui/screen/webimport/standard/simpleicons/data/SimpleIconsMetadataParserTest.kttools/idea-plugin/src/test/kotlin/io/github/composegears/valkyrie/ui/screen/webimport/standard/simpleicons/data/SimpleIconsSvgPathResolverTest.kttools/idea-plugin/src/test/kotlin/io/github/composegears/valkyrie/ui/screen/webimport/standard/simpleicons/domain/SimpleIconsExportNameTest.kt
| transform = { it.name }, | ||
| onSelectItem = onSelectCategory, | ||
| ) | ||
| if (hasMultipleCategories) { |
Screen.Recording.2026-05-04.at.19.26.19.mov
📝 Changelog
If this PR introduces user-facing changes, please update the relevant Unreleased section in changelogs: