Repository navigation
Replace the inherited SQLite logo with a four-provider mark - #3
Conversation
|
Understand this PR’s impact Explore downstream dependencies and potential security impact with Blast Radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: ⛔ Files ignored due to path filters (9)
📒 Files selected for processing (2)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe documentation page replaces three ChangesDocumentation logo update
Priority: ⬇️ Low Estimated code review effort: 1 (Trivial) | ~2 minutes Change: Other 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The Chocolatey iconUrl now points at a master branch URL, but the repo only has main, so the icon link will break unless updated.
Get a fresh assessment by requesting another Copilot review.
Review effort: Lite
Findings: None
What changed in this PR
This PR replaces the inherited SQLite-derived branding with a new four-provider logo and wires it into the docs site and packaging assets, aiming to better represent the app’s multi-database scope (SQLite/PostgreSQL/SQL Server/MySQL).
Changes:
- Add a new vector master logo (
logo.svg) and introduce a Pillow-based icon generator to regenerate raster/container icon assets. - Update the docs landing page to reference the new
logo.png. - Update Chocolatey package metadata to reference the new icon URL (but currently targets a non-existent branch).
| File | Description |
|---|---|
| src/resources/logo.svg | Adds the new vector master mark used as the canonical design source. |
| dist/icons/generate-icons.py | Adds a generator script to produce ICO/ICNS/PNG outputs from the new mark. |
| docs/index.html | Updates favicon + in-page logo references to the new logo.png. |
| dist/chocolatey/sqlquery.nuspec | Repoints Chocolatey iconUrl to the new icon location (needs branch fix). |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|



Why
This repo is a fork of
christianhelle/sqlitequeryand inherited its icon unchanged. That icon is essentially a restyled SQLite logo, which both borrows another project's identity and undersells this one: the app speaks four Providers — SQLite, PostgreSQL, SQL Server and MySQL/MariaDB (src/database/connectioninfo.h:7).The assets were also fragile. They existed only as hand-committed binaries with no vector master and no reproducible pipeline, and two of the copies were literally named
sqlite-icon.png.The mark
A database platter split into four quadrants — one per Provider — around a dark hub carrying a query chevron. The colours nod at each engine without being their brand hex, so it reads as one family rather than a logo collage. Clockwise from top-right: teal (SQLite), crimson (SQL Server), indigo (PostgreSQL), amber (MySQL/MariaDB). The gaps between wedges are transparent, not white, so the mark sits on any background.
At 16 and 24px the chevron is dropped and the hub shrinks to a plain dot — a chevron inside a ~5px hub is a smudge. That is one branch in the generator, not a separately drawn file.
What changed
src/resources/logo.svgdist/icons/generate-icons.pysrc/resources/icon.icosrc/resources/icon.icnsic04–ic14.src/linux/.../apps/sqlquery.png256x256directory.images/sqlite-icon.png→images/logo.pngdocs/sqlite-icon.png→docs/logo.pngdocs/index.htmldist/chocolatey/sqlquery.nuspeciconUrlrepointed.Notes for review
The nuspec
iconUrlneeded more than a rename. It pointed atblob/<pinned-sha>/images/sqlite-icon.png. That SHA still resolves, so after the rename it would have silently kept serving the old SQLite-derived logo. It now uses araw.githubusercontent.comURL onmain. (blobURLs serve an HTML page, not an image, so the old value was doubly wrong.)Follow-up from review: I first wrote that URL against
master, copying the formlicenseUrlused one line below — but this repo's default branch ismainandmasterdoes not exist. It is not actually a dead link (GitHub still serves the retired default-branch name as an alias, soraw/master/LICENSEreturns 200 directly), but it leans on an alias GitHub can withdraw. The last two commits point theiconUrland the three pre-existingmasterlinks —licenseUrl,docsUrl, and the changelog link indocs/index.html— atmain. Verified: all three targets return 200 onmain, andimages/logo.pngresolves on this branch (it will 404 onmainuntil merge, which is expected).Why the generator mirrors the SVG instead of rasterising it. There is no SVG rasterizer in the toolchain — no ImageMagick, Inkscape, rsvg or cairosvg. The script therefore carries the same geometry constants as
logo.svgand draws them with Pillow primitives. Both files say so in a comment; change one, change the other. ICNS is written by hand (magic, length, typed chunks) because Pillow's ICNS save path is macOS-only.The rename is a delete + add, not a tracked rename. The content is 100% different, so
git log --followcannot linklogo.pngback tosqlite-icon.png.Deliberately untouched, as agreed when scoping:
src/main.cppstill does not callsetWindowIcon(Qt shows a generic window icon), andREADME.mdstill has no logo.docs/styles.cssneeded no change —.brand-icon/.hero-iconare sizing rules only.Verification
pwsh -NoProfile -File build.ps1— build and full test suite pass.docs/served over HTTP: favicon, nav and hero all render, no 404s in the network log.git grep sqlite-iconreturns nothing.Pre-existing issues found while mapping the assets
Not fixed here — all predate this change and are tracked separately:
CMakeLists.txt:9-13—${app_icon_macos}is never added to any target's sources, soset_source_files_propertieshas no effect andicon.icnsnever reaches the.appbundle.MACOSX_PACKAGE_LOCATIONis also"src/resources"rather thanResources. The new macOS icon is correct but still will not ship until this is fixed.dist/setup.iss:43—IconFilename: "{app}\{#MyAppIcon}"expands to a build-time source path that does not exist on the target machine, so the desktop shortcut falls back to a generic icon.CMakeLists.txt:119-122), so DEB/RPM carry no.desktopfile and no hicolor icon, and the Snapcraft step in.github/workflows/linux-template.yml:57-62is commented out — the Linux PNG currently ships nowhere. Flagging rather than changing, in case that is deliberate.Summary by CodeRabbit