Skip to content

[Web Import] Add Octicons Import#997

Merged
t-regbs merged 4 commits intomainfrom
feature/octicons-svg-import
May 5, 2026
Merged

[Web Import] Add Octicons Import#997
t-regbs merged 4 commits intomainfrom
feature/octicons-svg-import

Conversation

@t-regbs
Copy link
Copy Markdown
Collaborator

@t-regbs t-regbs commented May 4, 2026

Screen.Recording.2026-05-04.at.22.55.28.mov

📝 Changelog

If this PR introduces user-facing changes, please update the relevant Unreleased section in changelogs:

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 4, 2026

Walkthrough

Adds Octicons support: a new colored SDK icon ValkyrieIcons.Colored.OcticonsLogo and corresponding API exports. The IDEA plugin gains an Octicons web-import provider including metadata data class and parser, a repository that resolves version and downloads metadata/SVGs from jsDelivr, a URL resolver, DI module, config builder, and a use case. UI changes include selector entry, import screen, persistent octiconsSize setting, localization keys, and a changelog entry. Unit tests for the metadata parser, URL resolver, and config builder were added.

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Description check ❓ Inconclusive PR description is minimal and lacks structured details beyond checklist items; the description template defines specific changelog sections requiring user-facing change documentation. Provide a clear description of the feature being added, the problem it solves, and any implementation details. The description should explain why Octicons support is being added and how it integrates with the existing web import functionality.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title '[Web Import] Add Octicons Import' clearly and concisely summarizes the main objective of the changeset: adding Octicons support to the web import feature.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/octicons-svg-import

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 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.

Inline comments:
In
`@tools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/screen/webimport/svg/octicons/data/OcticonsRepository.kt`:
- Around line 36-38: The downloadSvg function currently calls
httpClient.get(...).bodyAsText() and will return non-2xx responses (e.g., HTML
404) as if they were SVG; change downloadSvg to inspect the response status
(from the HttpResponse returned by httpClient.get(resolveOcticonsSvgUrl(path,
version = latestVersion()))) and throw or return an error when status is not
success (e.g., !response.status.isSuccess()), so only 2xx bodies are passed to
the conversion pipeline; alternatively enable expectSuccess for this request,
but be sure to reference and validate the response from downloadSvg and
propagate a clear error instead of returning raw non-SVG content.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 76d2ccf4-ff92-40bc-8c95-667d3162fe27

📥 Commits

Reviewing files that changed from the base of the PR and between 8088562 and 50cefc9.

📒 Files selected for processing (20)
  • sdk/compose/icons/api/icons.api
  • sdk/compose/icons/api/icons.klib.api
  • sdk/compose/icons/src/commonMain/kotlin/io/github/composegears/valkyrie/sdk/compose/icons/colored/OcticonsLogo.kt
  • tools/idea-plugin/CHANGELOG.md
  • tools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/service/PersistentSettings.kt
  • tools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/settings/InMemorySettings.kt
  • tools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/screen/webimport/WebImportFlow.kt
  • tools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/screen/webimport/WebImportSelectorScreen.kt
  • tools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/screen/webimport/svg/octicons/OcticonsImportScreen.kt
  • tools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/screen/webimport/svg/octicons/data/OcticonsIconMetadata.kt
  • tools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/screen/webimport/svg/octicons/data/OcticonsMetadataParser.kt
  • tools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/screen/webimport/svg/octicons/data/OcticonsRepository.kt
  • tools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/screen/webimport/svg/octicons/data/OcticonsSvgPathResolver.kt
  • tools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/screen/webimport/svg/octicons/di/OcticonsModule.kt
  • tools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/screen/webimport/svg/octicons/domain/OcticonsConfigBuilder.kt
  • tools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/screen/webimport/svg/octicons/domain/OcticonsUseCase.kt
  • tools/idea-plugin/src/main/resources/messages/Valkyrie.properties
  • tools/idea-plugin/src/test/kotlin/io/github/composegears/valkyrie/ui/screen/webimport/svg/octicons/data/OcticonsMetadataParserTest.kt
  • tools/idea-plugin/src/test/kotlin/io/github/composegears/valkyrie/ui/screen/webimport/svg/octicons/data/OcticonsSvgPathResolverTest.kt
  • tools/idea-plugin/src/test/kotlin/io/github/composegears/valkyrie/ui/screen/webimport/svg/octicons/domain/OcticonsConfigBuilderTest.kt

Copy link
Copy Markdown
Member

@egorikftp egorikftp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❤️

@t-regbs t-regbs force-pushed the feature/octicons-svg-import branch from c310242 to 1f676c8 Compare May 5, 2026 06:20
@t-regbs t-regbs merged commit 4a275c3 into main May 5, 2026
4 checks passed
@t-regbs t-regbs deleted the feature/octicons-svg-import branch May 5, 2026 07:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants