Commit graph

226 commits

Author SHA1 Message Date
LynithDev
ef5847f417
feat: improved stats screen (#888) 2026-09-29 20:31:42 +02:00
Maciek
55125b551f
fix: fixed worlds and datapacks tabs jumping in (#887) 2026-09-29 20:27:58 +02:00
Maciek
0ab544f265
feat: custom cluster instances (#859)
* feat: added adding new instances of a cluster with 'start from scratch' option enabling user to create a vanilla/modded cluster; fixed couple pre-existing bugs that wouldn't let other loaders boot up

* feat: fully implemented cluster creation modal design

* chore: refactoring

* feat: expanded the tags section on customization step; found that fabric doesnt work with 1.8.9

* feat: added gallery covers handling for new cluster instances

* feat: added 'redirecting' from fabric to orinthe on versions pre-1.14

* feat: added java-version-override

* feat: added loader types migrations (right now they dont migrate mods because there are no bundles)

* chore: wider loader dropdown for multiloader cluster (if it will be used in the future)

* chore: fixed more issues with isolated and shared dir, with migrations and instances naming

* chore: refactor; taken the loader version dropdown from version picker view back to loader selector

* chore: deleted Quilt from UI

---------

Co-authored-by: LynithDev <61880709+LynithDev@users.noreply.github.com>
2026-09-29 19:08:21 +02:00
LynithDev
bdb9780794
fix: move (almost) all IO off the UI thread (#886) 2026-09-29 19:03:25 +02:00
LynithDev
95eba5503f chore: update dependencies and optimise archive operations 2026-09-29 15:04:51 +02:00
LynithDev
00237d5281 chore: update open crate to fix issue on windows 2026-09-29 13:59:01 +02:00
Maciek
495dbf05dc
feat: polyplus mark and removal warning (#877)
* feat: polyplus mark and removal warning (some issues with merging)

* chore: deleted the blue background from the polyplus mod

* feat: added warning for removing bundle mods; fixed the new/updated badges on mods cards
2026-09-29 12:38:05 +02:00
Maciek
45da20fac2
feat: release migration (#851)
* feat: added migration mechanism for versions 26.3 and above

* feat: added checking for mods that the migrating target already has

* feat: added scheduled migrations for up to 30 days

* feat: added button in cluster settings for manual migratting; added migratting disabled mods with status saving

* feat: added checking for show_initial_migration flag in metadata.json

* feat: added fabric -> orinthe migration (for 1.8.9)

* chore: force open from debug page

* chore: change some UI elements

* fix: don't migrate packages whose dependency failed to install

* fix: keep checking the release migration waitlist past a broken cluster

* fix: make Migrate on a debug fake plan a no-op

* perf: install the version the migration plan already fetched

* chore: fix the clippy warnings the release migration added

* refactor: open every release migration prompt through one helper

* chore(lint): cargo fmt the release migration code

* fix: check the release migration waitlist queries at compile time

---------

Co-authored-by: LynithDev <61880709+LynithDev@users.noreply.github.com>
2026-09-28 21:06:30 +02:00
Maciek
abb41dcc52
feat: worlds and datapacks views (#870)
* feat: added worlds and datapacks tab

* feat: added datapacks in browser; fixed datapacks view loading too long

* feat: added icons to datapacks

* fix: scope world query invalidation to the world that changed

* fix: keep the selected data pack world in one place and guard deletes

* chore: share one dialog shell between the world prompt and delete confirm

* fix: stop watching every subfolder of saves

---------

Co-authored-by: LynithDev <61880709+LynithDev@users.noreply.github.com>
2026-09-28 21:05:52 +02:00
LynithDev
48a25f0c2c
fix: rotate the advanced section chevron when it opens (#885) 2026-09-28 20:53:41 +02:00
Maciek
7f1a3176cf
feat: added sections for advanced mods (#876)
* 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>
2026-09-28 20:31:18 +02:00
Maciek
f94ca969b0
feat: bad mods flagging (#882)
* 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>
2026-09-28 17:40:00 +02:00
Maciek
695406145f
chore: deleted the download process from onboarding (#865)
* 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>
2026-09-28 17:33:01 +02:00
Maciek
b3b436bc3e
feat: added support for github hosted bundle mods (#883)
* 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>
2026-09-28 17:30:50 +02:00
Maciek
abc452f294
feat: added deleting browser and local mods (#853)
* 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>
2026-09-28 17:30:10 +02:00
Maciek
ac66752b99
feat: added reseting back to the default options in settings tabs (#818)
* 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>
2026-09-28 17:29:05 +02:00
Maciek
35dcd584d0
chore: changed the UX for optional mods modal (#878)
* 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>
2026-09-28 17:24:10 +02:00
LynithDev
8e66212596
fix: treat a missing discrete GPU setting as on (#884) 2026-09-28 17:22:13 +02:00
Julian Chang
d632c47320
remove unnecessary tests (#881) 2026-09-28 17:13:41 +02:00
Luna
5f7b624d82
fix: it's -> its for possessive (#872) 2026-09-28 17:13:27 +02:00
LynithDev
520e6c1ef1
chore: redesigned browser grid (#869) 2026-09-23 23:49:57 +02:00
LynithDev
3a5f06e8ac
chore: redesigned package grid (#867) 2026-09-23 13:39:11 +02:00
Maciek
36a925da06
fix: homepage cover images are now in much better quality without bigger memory use (#862)
* fix: fixed background covers rendering poorly on bigger resolutions

* fix: fixed onboarding cached images stacking from ~80MB to again ~20MB (like it was before)
2026-09-23 13:31:29 +02:00
LynithDev
2f7476ba6e
chore: redesigned the navbar links to be pills (#866) 2026-09-23 13:27:39 +02:00
LynithDev
80e7d4d4f8
chore: update freya and enable debug overlay in release (#856)
* chore: bump freya to 0.5.0-rc.6

* feat: add freya debug overlay plugin

* chore: bump to rc.7
2026-09-22 16:13:05 +02:00
LynithDev
850c695f91
feat: system tray and process state controls (#687) 2026-09-19 01:19:34 +02:00
LynithDev
a8cc4e8b7f
feat: better text inputs (#854) 2026-09-19 01:18:49 +02:00
sakuyma
45a970c38a
Small QoL fixes: Java refresh, clipboard toasts, custom image endpoints (#852)
* 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>
2026-09-18 23:43:49 +02:00
LynithDev
daaa209b30 chore(lint): cargo fmt 2026-09-18 23:05:50 +02:00
LynithDev
c7f3fdc52b
chore: update bundled packages only after cluster launch (#849) 2026-09-18 00:09:53 +02:00
Luna
9dccb42fd1
chore: optimize assets with oxipng (#846) 2026-09-17 23:18:00 +02:00
Maciek
a00e11d204
feat: control center and smaller navbar link gaps (#832)
* 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>
2026-09-16 20:29:14 +02:00
Maciek
b4f067483a
fix: fixed most of the sizing issues in the launcher (#822) 2026-09-16 18:58:10 +02:00
Maciek
d32d3e1782
feat: added tooltips (#837) 2026-09-16 18:34:50 +02:00
Maciek
0a6c9e0f74
fix: fixed scrollbar overlapping with the scrollview content (#817) 2026-09-16 18:30:55 +02:00
Julian Chang
c3a45371dd
fix: incorrect database and filesystem structure of mods after updates (#834)
Co-authored-by: LynithDev <61880709+LynithDev@users.noreply.github.com>
2026-09-16 18:24:09 +02:00
LynithDev
84bbf29882 fix: mod updates applying after launch and not before 2026-09-14 21:03:34 +02:00
LynithDev
80ba104861
chore: improve stats page and cluster overview (#831)
* 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
2026-09-14 16:45:02 +02:00
LynithDev
2e0ba533fe
fix: issues with mod updating and mods randomly being disabled (#830)
* 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
2026-09-14 16:44:46 +02:00
Julian Chang
297abeac00
tweak wording on stuff 2026-09-13 00:34:47 -04:00
LynithDev
54980fa73a
fix: linux use dedicated GPU setting (#816)
* forgot to add this

* fix complex type warning in test

* fix(linux): ask the driver whether a card is discrete
2026-09-13 01:36:47 +02:00
Maciek
576c93c96b
feat: added placeholder image for images that couldnt be decoded; fixed overflowing titles in mods view (#802)
fix: drop per-render image fallback logging and narrow its memoization cost

fix: keep the backdrop fallback, the cache is what fails
2026-09-13 00:54:10 +02:00
Maciek
ba74bedf92
feat: added microsoft jdk and new shared mods folder layout (#812)
* feat: added microsoft sdk provider

* feat: changed the default provider to microsoft everywhere

* feat: added checking for microsoft jdks and prompting user to install them (ui for discussion)

* feat: added toast popup when user tries to remove runtime that is pinned to some cluster

* feat: added 'migrating' user to the microsoft jdks

* feat: changed reading mods from cluster folders on launch to having cluster folders symlinks in the shared .minecraft folder where mods stay per given cluster; changed resource packs and shader packs from working per cluster to global, every resource pack and shader pack is now being shared between clusters; added mods disabling whenever a mod is manually removed from the mods folder

* fix/feat: fixed hardlinks counting as a duplicate of files it was pointing to (windows); added a progress bar to the disk storage view in settings

* chore: connected microsoft jdk branch and package folder management one

---------

Co-authored-by: LynithDev <61880709+LynithDev@users.noreply.github.com>
2026-09-13 00:37:40 +02:00
Maciek
a6c03c6f6d
feat: added resource packs and shaders sections inside browse view (#819) 2026-09-13 00:36:46 +02:00
Julian Chang
44dfa32233
Add Ornithe support (#811)
* Add Ornithe support

* chore: fix the remaining startup issues reltaed to arguments and manifest caching

* fix: stop repairing on every launch for natives-only libraries

---------

Co-authored-by: LynithDev <61880709+LynithDev@users.noreply.github.com>
2026-09-13 00:11:21 +02:00
Julian Chang
fe8bb6bfcc
chore: only download bundle content in onboarding pre-download (#801) 2026-09-12 23:40:49 +02:00
Maciek
4932b61a72
fix: cluster settings not inheriting value from global memory field (#804) 2026-09-12 23:39:06 +02:00
Maciek
0785e58d07
chore: deleted corners on the app (#815) 2026-09-10 14:16:31 +02:00
LynithDev
2378f74e58 chore: add COPR publish workflow 2026-09-09 01:54:35 +02:00
Julian Chang
7b95412511
Update splash_curtain.rs 2026-09-07 23:34:46 -04:00