* feat: added sections for advanced mods
* fix: treat a null bundle file type as normal
* chore: drop ScrollArea::lazy_grid
* chore: pass one header height to lazy_sections
* chore: name BundleFileType::Normal in test fixtures
* feat: don't offer advanced bundle mods as optional mods
---------
Co-authored-by: LynithDev <61880709+LynithDev@users.noreply.github.com>
* feat: first version of flagging mods thru datastorage
* feat: added fallbacks, version-specific flag and project-specific flag
* chore: downsized the amount of requests sent when looking up for alternatives
* feat: added explanations for flagging mods
* fix: prompt for flagged dependencies instead of silently skipping them
* chore: size the flagged popup with max_height instead of measuring it
* chore: drop is_flagged and the explanation size cap
* feat: refresh the bad mods list with the pre-launch checks
---------
Co-authored-by: LynithDev <61880709+LynithDev@users.noreply.github.com>
* chore: deleted the download process from onboarding
* fix: gate onboarding Finish on loaded bundles and correct failure copy
* chore: drop unused install_cluster_bundles re-export from oneclient_core
* chore: drop the unread predownload flag from the versions manifest
---------
Co-authored-by: LynithDev <61880709+LynithDev@users.noreply.github.com>
* feat: added support for github hosted bundle mods
* fix: keep external bundle mods when their manifest entry gains an id
* fix: match a pending external bundle update to its installed jar
* chore: parse the bundle file host with url instead of by hand
* fix: namespace external bundle file ids under ext:
* chore: rename the Browser tab to Online and list unbundled GitHub mods there
---------
Co-authored-by: LynithDev <61880709+LynithDev@users.noreply.github.com>
* feat: added deleting browser and local mods by context menu and on list view by trashcan icon
* fix: only confirm shared deletes that reach other clusters
* fix: confirm shared removals from the browser package page too
* fix: keep "View in folder" alive after the context menu closes
---------
Co-authored-by: LynithDev <61880709+LynithDev@users.noreply.github.com>
* feat: added reseting back to the default options in settings tabs
* chore: removed the reset button for whole page and changed it to a reset button for every setting row
* chore: removed old reset options from search index
* chore: remove unused use_game_active and GameState::any_active
* fix: reset global memory to the Default option instead of a fixed size
* feat: add reset buttons to the launcher tab's system settings
* chore: fold with_reset into resettable_all and drop unneeded dispatch clones
* chore: rustfmt the import lists touched by the merge
* fix: treat a missing discrete GPU setting as on
* fix: read the discrete GPU reset default with the same true fallback
---------
Co-authored-by: LynithDev <61880709+LynithDev@users.noreply.github.com>
* chore: changed the UX for optional mods modal
* refactor: fold cancel_optional_mods into close_optional_mods
* fix: forget optional mod picks once the modal closes
* chore: rustfmt the optional mods import
* chore: say what the optional mods buttons actually do
---------
Co-authored-by: LynithDev <61880709+LynithDev@users.noreply.github.com>
* fix: fixed background covers rendering poorly on bigger resolutions
* fix: fixed onboarding cached images stacking from ~80MB to again ~20MB (like it was before)
* fix(java): add refresh button for stale runtimes
* fix(notifications): keep clipboard toasts out of the notification center
* fix(images): allow custom endpoints on non-public hosts
* chore: make toast_only notifications not increment notification counter
* chore: reorder navbar links
---------
Co-authored-by: LynithDev <61880709+LynithDev@users.noreply.github.com>
* feat: added a control center
* feat: added no account signed in handling; added a modal on sign out clicked
* feat: use the discord icon for the discord rpc quick setting
* style: fade out disabled quick setting tiles
* style: drop the 'Active' suffix from the control center account subtitle
* feat: added a gear indicator to the navbar avatar button
* add small gear icon on avatar
---------
Co-authored-by: LynithDev <61880709+LynithDev@users.noreply.github.com>
* fix(stats): drop zero units from durations and cap the server pie at ten slices
* fix(stats): say out loud that "when you play" bars are lifetime totals
* feat(stats): paint every bar in the accent colour until one is hovered
* feat(stats): add a calendar range picker to daily playtime
* fix(stats): stop recovery inventing playtime and carry sessions over midnight
* feat(stats): more stats out of the data already recorded
* feat(stats): eight more personas, and let them see the server data
* fix(charts): stop axis labels being cut off to their own bar's width
* feat(stats): give the overview a headline stat instead of seven identical boxes
* feat(stats): turn personas into wrapping badges
* fix(stats): lay the overview out for the window it is actually in
* feat(stats): fold the monthly chart into one "Playtime by hour/day/month" card
* fix(stats): stop the total playtime card making the tile block so tall
* fix(stats): strip the persona badges back to plain tags
* fix: stop offering bundle-owned packages in the update modal
* fix: match a version's game versions exactly not by substring
* fix: resolve a mod's materialized root from the layout in use
* fix: stop parking unclaimed jars in the cluster mods folder
* fix: stop the duplicate reconciler filing a user-disabled override
* fix: repair the disables duplicate resolution left behind