Skip to content

Make installer truly cross-platform and CPU-arch aware#4

Open
999sian wants to merge 1 commit into
StonedModder:mainfrom
999sian:feature/cross-platform-arch-aware
Open

Make installer truly cross-platform and CPU-arch aware#4
999sian wants to merge 1 commit into
StonedModder:mainfrom
999sian:feature/cross-platform-arch-aware

Conversation

@999sian

@999sian 999sian commented Jul 9, 2026

Copy link
Copy Markdown

The launcher advertises Windows/macOS/Linux support but several paths
were Windows-only or ignored the host CPU architecture, so a non-x86_64
or non-Windows user could get the wrong asset or a crash.

github_api: _parse_release grouped assets per OS family and picked the
asset matching the host arch (platform.machine, normalized) instead of
letting the last asset in the list win; it now also parses macOS assets.
Single-arch releases still install via arch fallback. Added
select_asset()/platform_key() helpers that resolve the correct asset for
the running host from a release dict or sqlite3.Row.

database: added macos_* columns with an additive, idempotent migration
(ALTER TABLE ... ADD COLUMN guarded by OperationalError, since SQLite has
no ADD COLUMN IF NOT EXISTS) so existing DBs upgrade in place.

launcher: resolve tmc_pc.exe on Windows and bare tmc_pc elsewhere, and
restore the exec bit before launch (POSIX).

installer: restore the exec bit on tmc_pc/asset_extractor after
extraction, which uses set_attrs=False and would otherwise strip it.

ui: home/releases tabs install the host-appropriate asset via
select_asset; releases card shows macOS size; settings "Open Folder"
uses open/xdg-open instead of the Windows-only os.startfile.
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.

1 participant