Skip to content

Use updated icon forks; make Simple Icons migration version-independent - #763

Draft
sadespresso wants to merge 1 commit into
developfrom
claude/icon-libraries-fork-update-l4vw67
Draft

sadespresso wants to merge 1 commit into
developfrom
claude/icon-libraries-fork-update-l4vw67

Conversation

@sadespresso

Copy link
Copy Markdown
Collaborator

Changes

  • Bumps material_symbols_icons_flow to ^4.2960.0 and simple_icons_flow to ^16.23.0. Both forks are synced with upstream in flow-mn/material_symbols_icons_flow and flow-mn/simple_icons_flow.
  • Fixes a migration that the bump would otherwise break. migrateSimpleIconsToSlug mapped legacy 14.6.1 code points to 16.20.0 ones, then looked up the slug in the bundled font. Simple Icons reassigns code points every release (3370 moved between 16.20.0 and 16.23.0). On 16.23.0, users who haven't migrated yet would get the wrong brand icons.
    • legacy_simple_icons_codepoints.dart now maps each 14.6.1 code point straight to its slug. The table only includes slugs present in the bundled build, so it no longer depends on the package version.
    • Checked against the old table: the new slugs match the old table's 16.20.0 slugs, with 0 mismatches. The new table also covers 25 icons whose code point hadn't changed, which the old table left out.
  • CHANGELOG entry under 0.25.0.

Testing

Ran against the local fork checkouts through a temporary pubspec_overrides.yaml, which is not committed:

  • flutter analyze: no errors. 13 existing warnings/infos, none icon-related.
  • flutter test test/unit test/widget test/serialization: 270 pass. The 6 failures come from ObjectBox setup, because its native library isn't installed in this environment.

⚠️ pubspec.lock is unchanged. Both forks need to be published on pub.dev first, then run flutter pub get.

🤖 Generated with Claude Code

https://claude.ai/code/session_01FdMdLgvKZMHugJXw9JPFcz


Generated by Claude Code

Bump material_symbols_icons_flow to ^4.2960.0 and simple_icons_flow to
^16.23.0 (both synced with upstream).

Simple Icons reassigns code points every release (3370 of them moved between
16.20.0 and 16.23.0). migrateSimpleIconsToSlug mapped legacy 14.6.1 code
points to 16.20.0 ones and then resolved the slug against the *bundled*
font, so bumping the package would have migrated stored brand icons to the
wrong brands. Regenerate the legacy table as 14.6.1 code point -> slug
(limited to slugs present in the bundled build) and look slugs up directly,
so future package bumps can't break the migration.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FdMdLgvKZMHugJXw9JPFcz

Copy link
Copy Markdown
Collaborator Author

The test check fails at flutter pub get, and that's expected for now.

Because flow depends on simple_icons_flow ^16.23.0 which doesn't match any versions, version solving failed.

The new fork versions aren't on pub.dev yet. This PR can't go green until they are:

  1. Merge Sync with upstream simple_icons 16.23.0 simple_icons_flow#1 and Sync with upstream material_symbols_icons 4.2960.0 material_symbols_icons_flow#1, then run dart pub publish for each. Publishing needs the owner's pub.dev credentials, so I can't do it from here.
  2. Run flutter pub get on this branch and commit the updated pubspec.lock. Or ask me and I'll push it once the packages are live.

The code itself was checked against local copies of both forks (through a temporary pubspec_overrides.yaml): flutter analyze reports no errors, and the unit, widget and serialization tests pass (270). The only failures (6) came from ObjectBox's native library not being installed in that sandbox.


Generated by Claude Code

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants