Skip to content

RUST-CI-047 - Unify application icons, native metadata and build identity #306

Open

Description

@itlezy

Durable spec: https://github.com/emulebb/emulebb-tooling/blob/main/docs/products/emulebb-rust/active/items/RUST-CI-047.md

Make application identity consistent across native packages and the embedded WebUI. Current gaps include a generic AppImage icon, a Debian desktop icon reference without an installed icon, missing Windows version resources, stale native-Slint wording, and incomplete desktop metadata.

Scope and acceptance:

  • Integrate the exact operator-selected proposal-1 ICO/PNG set: Windows multi-resolution embedded ICO; Linux hicolor PNGs; matching WebUI favicon and touch icon. Preserve the original supplied logo and the selected asset hashes.
  • Add accurate Windows Product Name, File Description, organization, numeric/file/product versions, Original Filename and copyright. Keep numeric components valid, full beta/nightly identity descriptive, the long-path manifest intact and diagnostics-binary identity distinct.
  • Install coherent desktop descriptions/keywords and validated AppStream metadata with real project links, license, screenshots and release information. Remove stale packaged Slint wording and the generic AppImage icon. Do not invent screenshots or validation proof.
  • Align EXE properties, --version, the existing REST application identity/OpenAPI, WebUI About and package metadata on version, commit, architecture and channel. Avoid a duplicate application-info endpoint and uncontrolled wall-clock timestamps.
  • Preserve native packaging checks, checksum/provenance evidence and the prepared-image source contract. Any new prepared-image dependency requires a separately produced/verified image and real consumer digest.
  • Verify actual native Windows PE resources/manifest and packaged Linux metadata/icons, not just source fixtures. Run the supported scoped/full gates selected by the changed build contract, plus independent hosted platform checks.

Related: public-presence branding/downloads work and CI infrastructure #302. Keep native resource/package implementation in independent managed branches with parent-owned shared-file reservations. Android APK/JNI/signing and Beta3 publication remain on hold.

Activity

  1. changed the title [-]RUST-CI-047: Unify application icons, native metadata and build identity[/-] [+]RUST-CI-047 - Unify application icons, native metadata and build identity[/+] on Nov 10, 2026
  2. added this to the post-beta-polish milestone on Nov 10, 2026
  3. itlezy commented on Nov 10, 2026

    @itlezy
    ContributorAuthor

    RUST-CI-047 implementation started in the parent-owned packaging-identity workstream, branch chore/packaging-identity.

    Clean local source checkpoints (unpublished): Rust 87b543591f4e9c3c82be0f03bede507093d5c352; Build b45ada9e37da974764a1dd44f713422bec16c54d.

    The bounded first slice adds the exact approved proposal-1 WebUI favicon/touch icon and eight Linux hicolor PNG sizes, replaces the generic AppImage E with the same installed donkey icon, shares the desktop entry between Debian/AppImage, adds its description/keywords, and removes obsolete Slint wording from packaged notes. All ten copied asset hashes match the approved set. Existing package tests now inspect the staged icons and bundled browser assets.

    Normal fast commit hooks passed. This is source work, not package qualification or delivery: package tests, WebUI build, actual native package assembly/metadata validation, full normal pre-push, hosted checks and publication remain pending. The parent has serialized the heavy validation slot behind the current cache-correctness work; no competing tests/builds were started.

    Windows embedded resources/version properties, AppStream and full build-identity coherence remain open. The Build packaging change depends on the matching Rust assets; integration must preserve that ordering and the exact prepared-image source contract. Beta3/APK/signing/soak holds are unchanged.

  4. moved this from Todo to In Progress in eMuleBB Roadmapon Nov 10, 2026
  5. itlezy commented on Nov 11, 2026

    @itlezy
    ContributorAuthor

    The parent-coordinated Slint retirement audit is complete across current Rust, Builder, Harness, Tooling, Pages and organization-profile surfaces. The follow-up source changes are integrated or qualifying as follows:

    The locked all-features Cargo review found no Slint/native-GUI dependency. Current Pages and organization-profile content has no Slint launch claim; Tooling has no active wiring or stale product claim. Its remaining mentions are cleanup acceptance criteria and an unrelated upstream inventory entry.

    Local read-only inventories of both owned validation stages, the active operator Rust stage and the controlled Windows candidate found no retired UI executable/resource/DLL payload. Operator profiles were not accessed or changed. Retained release evidence and recovery history were preserved.

    Intentional cleanup/exclusion guards, the disabled old-UI shortcut hard failure and negative regression fixtures remain: they prevent old GUI files or launch requests from becoming active again. The .slint suffix remains only a text-scanning backstop, with no compiler or build dependency.

    This item remains open until the Rust/Builder changes are integrated, real native Linux package metadata is qualified, and the remaining delivery lifecycle is complete. No new beta release or APK/signing is authorized by this audit.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions