Migrate artifact icons to native Tabler names#930
Merged
Conversation
With Tabler icons in the HTML report (PR #929), move artifact metadata to native Tabler icon names instead of relying on the feather-to-tabler translation shim. 119 artifact_icon values across 89 files rewritten to the exact name the shim already resolves them to, so rendering is identical; includes the fitbit _art() helper's "watch" -> "device-watch". Because CI lints every changed file, small pre-existing pylint findings in two touched files are fixed with zero-behavior edits: - usagestatsVersion.py / Deepseek_ChatMessages.py: underscore-prefix unused arguments; remove unused "import html" (only referenced inside a commented-out block) - Deepseek_ChatMessages.py: convert two kept-for-reference triple-quoted string statements to comments; inline broad-exception-caught disables (repo precedent) on the four existing "except Exception" handlers All 583 artifacts now carry a native bundled Tabler icon name.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #929 (Tabler icons in the HTML report) — the ALEAPP counterpart of iLEAPP's abrignoni/iLEAPP#1640.
What changed (89 files, 119 icon values)
Every
artifact_iconstill carrying a Feather name is rewritten to the exact Tabler name thefeather_to_tabler_icon_names.jsonshim already resolves it to. Includes thefitbit.py_art()helper's positional"watch"→"device-watch"(the one non-literal metadata construct).Top renames:
message-square→message(57),image→photo(29),info→info-circle(6),grid→layout-grid(4),bar-chart-2→chart-bar(4), plusvoicemail→record-mail,chrome→brand-chrome,log-in→login-2,check-square→square-check, …Rendering: identical for 117 of 119 — two deliberate improvements
Verified through the actual
report.pyresolution (shim branch skips the correction map; native branch applies it): 117 of 119 render the exact same SVG before and after. The two exceptions are thebook-openartifacts (DuckDuckGo / Ornet Browser "Open Tabs"): they previously renderedbook.svg(closed book, because the shim branch bypasses thebook→book-2correction) and now renderbook-2.svg(open book) — restoring the original Featherbook-openintent.Full conversion audit (no invented mappings)
__artifacts_v2__main-vs-branch: no metadata field other thanartifact_iconchanged anywhereassets/tabler_icons/artifact_iconlines (diff-level check)Deepseek_ChatMessages.py: no livehtmlreference remains after the unused-import removal (AST-verified)Starting point vs iLEAPP
ALEAPP was already clean where iLEAPP wasn't: 0 icon-less artifacts, 0 broken names, 0 runtime-named report modules — a pure rename pass, no new icon assignments needed.
Lint (CI lints every changed file)
Two touched files carried small pre-existing findings, fixed with zero-behavior edits:
usagestatsVersion.py: underscore-prefixed unused argumentsDeepseek_ChatMessages.py: unused args prefixed; unusedimport htmlremoved (only referenced inside a commented-out block); two kept-for-reference triple-quoted string statements converted to real comments; inline# pylint: disable=broad-exception-caughton the four existingexcept Exceptionhandlers (repo precedent, e.g.fitbit.py)Validation
py_compileclean on all 89 filesPYTHONPATH=. pylint --disable=C,Ron all 89 changed files: 10.00/10