feat(icons): refresh per-platform icon assets from new 256x256 master - #15
Merged
Merged
Conversation
Adds a higher-quality 256x256 master PNG and regenerates all derived assets from it: - Linux: org.amule.aMule.png (128x128) re-rendered from the 256 master via Lanczos downscale; new org.amule.aMule-256.png installed under hicolor/256x256/apps for hi-DPI displays. - Windows: amule.ico rebuilt with modern sizes (16, 32, 48, 256). The previous .ico had only 16 + 32, causing blurry upscaling on Windows 10/11 hi-DPI Start menu and taskbar. - macOS: amule.icns regenerated via iconutil with the full Apple iconset shape — native 16/32/64/128/256 + Lanczos-upscaled 512/1024 for the @2x Retina variants. Previous .icns was a single 128 it32 entry, dated 2010-era. Also pins the metainfo screenshot URLs to the 3.0.0 tag so the screenshots displayed in Flathub / GNOME Software / KDE Discover listings can't silently change when master moves on. No source changes; the existing org.amule.aMule app-id and hicolor icon name are preserved.
This was referenced Jun 8, 2026
got3nks
added a commit
that referenced
this pull request
Jun 8, 2026
Stages the Flathub-strict version of the aMule Flatpak manifest in `packaging/flathub/` — the file that will be submitted to flathub/flathub once domain attestation for the app-id is resolved. Differences from the internal `packaging/linux/flatpak/org.amule.aMule.yaml.in`:
- All `${...}` template variables resolved to concrete values (Flathub forbids envsubst).
- The amule source: `branch:` swapped for `tag: + commit:` (Flathub forbids mutable refs).
- The cryptopp source: existing tag augmented with a pinned commit.
Pinned at master tip post-#15 (icon refresh), #17 (metainfo / desktop polish), and #19 (ENABLE_BFD option). Carries -DENABLE_BFD=NO so the Flathub-built bundle inherits the libbfd-runtime-missing fix.
Companion file `packaging/flathub/README.md` documents the two-manifest layout, the submission flow against flathub/flathub:new-pr, and how to refresh the pin on each new aMule release tag.
got3nks
added a commit
that referenced
this pull request
Jun 8, 2026
…#21) Reverts the icon-design change introduced in #15 while preserving #15's structural improvements (256x256 hicolor install path, metainfo screenshot URL pinning to the 3.0.0 tag). Context in amule-org/amule-org.github.io#156: #15 was intended as a resolution refresh but ended up swapping to a noticeably different design. The team will revisit a proper identity refresh on its own track later. - org.amule.aMule.png (128x128): restored bit-identical to the pre-#15 version. - org.amule.aMule-256.png (256x256): regenerated via Lanczos upscale of the restored 128. - amule.ico: rebuilt with sizes 16/32/48/128/256 from the restored 128. - platforms/MacOSX/amule.icns: rebuilt with iconset sizes up to 256 (drops #15's 512/1024 @2x slots since we have no native source data above 256).
got3nks
added a commit
that referenced
this pull request
Jun 14, 2026
…atforms
The macOS-only `std::_Exit(0)` block in OnExit() was added to dodge a
wxWebSessionURLSession dtor bug under wx 3.3.2. Turns out the
Linux backend (wxWebSessionCURL, wx 3.2.6) hits the same class of
shutdown crash: its dtor calls curl_multi_cleanup, libcurl invokes the
registered socket callback (wxWebSessionCURL::SocketCallback) to drop
tracked sockets, and that callback dereferences session state the
dtor's earlier steps have already torn down. wxASSERT fires,
wxFatalSignalHandler raise(SIGABRT)s.
Verified with a debug-symbol Flatpak + gdb on a user-supplied core,
fully symbolicated:
#19 main amule-gui.cpp:98
#18 wxEntry wx/init.cpp:500
#17 wxEntryCleanup wx/init.cpp:205
#16 wxModule::CleanUpModules wx/module.cpp:191
#15 wxModule::DoCleanUpModules wx/module.cpp:200
#14 wxRefCounterMT::DecRef
wxWebSession::Close wx/webrequest.cpp:1074
#13 wxWebSessionCURL::~wxWebSessionCURL wx/webrequest_curl.cpp:932
#12 wxWebSessionCURL::~wxWebSessionCURL wx/webrequest_curl.cpp:929
#11-#6 libcurl curl_multi_cleanup
#5 wxWebSessionCURL::SocketCallback wx/webrequest_curl.cpp:1047
#4 raise()
#3 wxFatalSignalHandler wx/unix/utilsunx.cpp:1523
#0 abort
Same justification used for the macOS guard applies on every
platform: by this point in OnExit we have saved state, joined
threads, and flushed logs -- nothing aMule-owned remains to clean up.
_Exit bypasses atexit and static destructors uniformly, so the buggy
wx dtor never runs and the process terminates cleanly.
Remove this once the upstream wx fix lands in a release we depend on.
Reported in #18.
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.
Summary
Refreshes every platform's icon asset from a single high-quality 256×256 master, and adds a 256×256 hicolor install rule for Linux hi-DPI desktops.
What changed
org.amule.aMule.png(Linux hicolor 128)org.amule.aMule-256.png(Linux hicolor 256)amule.ico(Windows)platforms/MacOSX/amule.icns(macOS)it32entryWhy each one matters
.icohad only 16/32 sizes, so Windows 10/11 was upscaling 32×32 for the 48 / 256 contexts (Start menu, taskbar at hi-DPI, alt-tab thumbnail). Visibly blurry. New.icoships a native 256..icnshad a singleit32entry. The Dock at 100% scale uses 64–128, Finder previews use 256–512, and Spotlight uses 1024. Without those entries macOS upscaled the 128. New.icnshas all 10 standard sizes including the @2x Retina variants.Validation
appstreamcli validate --strict --pedantic --no-netonorg.amule.aMule.metainfo.xml: ✔ passes (1 pedantic-level warning about uppercase letter in the app-id, unchanged from before — fixing would require an app-id rename).magick identify amule.ico: confirms 4 entries at 256, 48, 32, 16.iconutil -c icnsround-trips the iconset cleanly;filereportsMac OS X icon, 1052391 bytes, "ic12" type(modern format).Caveat — macOS Retina sizes upscaled
The 512 and 1024 entries in
.icnsare 2× / 4× Lanczos upscales from the 256 master because the project doesn't have a vector or higher-resolution source. The result is acceptable for icon-style content (high contrast, no fine texture detail), but slightly softer than a hand-crafted Retina master would be. If anyone produces an SVG or a 1024 master, regenerate from that.Refs
Initial icon refresh prep for Flathub submission. The other readiness items — manifest
tag/commitpinning — will follow in a separate PR.