Feat: Fix Curseforge restricted mods giving wrong url (#64)#65
Merged
Conversation
* fix: use CF websiteUrl for restricted mod dialog instead of broken numeric ID URL * fix: For modpacks, skip restricted entries entirely * fix: pass websiteUrl through ModDetail constructor to fix CF restricted mod URL
MaxJubayerYT
added a commit
that referenced
this pull request
May 29, 2026
* Remote Revamped UI * Update colors.xml to change the background colors Signed-off-by: TITAN-TV-Man <183899034+Mahdin4sure@users.noreply.github.com> * Update colors.xml Signed-off-by: TITAN-TV-Man <183899034+Mahdin4sure@users.noreply.github.com> * Feat: Fix Curseforge restricted mods giving wrong url (#64) (#65) * fix: use CF websiteUrl for restricted mod dialog instead of broken numeric ID URL * fix: For modpacks, skip restricted entries entirely * fix: pass websiteUrl through ModDetail constructor to fix CF restricted mod URL * Update colors.xml Signed-off-by: TITAN-TV-Man <183899034+Mahdin4sure@users.noreply.github.com> * Update colors.xml Signed-off-by: TITAN-TV-Man <183899034+Mahdin4sure@users.noreply.github.com> * feat(ui): landscape two-pane layout - sidebar + right content pane * fix: filter CF mod version dropdown by selected MC version * feat(ui): fix two-pane back crash, home button, add cat wallpaper * fix(ui): back crash + wallpaper not showing in two-pane landscape * fix(ui): back crash, cat size, compact landscape sidebar buttons * fix: Handle high polling rate sources Android's onTouch and onGenericMotion are only called every screen refresh. This means it is tied to your hz. So what android does for high refresh rate devices is it stores them in MotionEvent.getHistoricalAxisValue() and makes you process them all at once on the next screen refresh. See https://developer.android.com/reference/android/view/MotionEvent#batching We used to just completely ignore this so high DPI mice didn't work properly. Hopefully high DPI everything now works properly. * fix(ui): fix back button crash in ManageModsFragment * fix(ui): back button exits app — handle right pane in onBackPressed * feat(ui): instance picker in right pane on spinner tap, taller spinner * fix(build): rename parent → parentFrag in InstancePickerFragment * feat(ui): instance picker card UI, fix selection, bottom bar visibility * fix(build): forgot about /** in MainMenuFragment😭 * fix(build): shi * fix(ui): instance picker - rotation empty pane, icon size, create button * feat: Bhai legit * Fix: no commit message sorry * feat: test new colours * what * fix(ui): legit * fix(ui): tf bro * fix(ui): bar reappears, off-screen, and height * fix(ui): taskbar leaves empty gap on settings/mods panes * fix(ui): I am going to quit * fix(ui): brader whta is ts * fix(ui): play button invisible on first launch, crash, deleted instance in spinner - MainMenuFragment: call setBottomBarVisible() BEFORE addTaskCountListener() so the listener's synchronous initial callback doesn't fight unset state - MainMenuFragment: null-check mVersionSpinner in onResume to prevent crash on first launch before view is fully created - MainMenuFragment: add reloadSpinner() public method; fix selectInstance() to use ExtraCore + reloadProfiles() instead of manual setSelection() - ProfileEditorFragment: delete handler calls mmf.reloadSpinner() immediately after clearRightPane() so deleted profile disappears from spinner at once * fix(crash+ui): WrongThreadException, play button invisible, missing spinner icon - mTaskCountListener: wrap setVisibility() in Tools.runOnUiThread() — ProgressKeeper fires callbacks from background download threads, touching views off the UI thread caused WrongThreadException crash - onViewCreated: post setBottomBarVisible() to next frame so bottom_bar is fully measured before visibility is set - onResume: post reloadProfiles() to next frame so spinner is laid out before reload, fixing missing instance icon on first launch * fix(ui): icon wrong size + deleted instance stays in spinner reloadProfiles() only refreshed adapter data but never called setProfileSelection(), so the spinner view was never redrawn: - deleted profiles stayed displayed at their old index - edited icons kept stale/wrong-sized drawables from prior setView call Fix: reloadProfiles() now consumes REFRESH_VERSION_SPINNER extra (same logic as init()), resolves correct index, and calls setProfileSelection() to force setView() → correct icon redraw. * fix(ui): icon size after save, taskbar disappears after full-screen UI - ProfileEditorFragment: call mmf.reloadSpinner() after clearRightPane() on save — drops icon cache but spinner never redraws without reload - MainMenuFragment: wrap mTaskCountListener in Tools.runOnUiThread() to fix WrongThreadException and eliminate race with onResume - MainMenuFragment.onResume: post both reloadProfiles() and setBottomBarVisible() to next frame so they run after any pending task listener callbacks that could incorrectly hide the bar * fix(ui): taskbar gone after account/instance UI, play button disappears Root cause: SelectAuthFragment and ProfileTypeSelectFragment called Tools.swapFragment(requireActivity()) which replaced MainMenuFragment in the activity container, destroying the two-pane layout and bar. Fix: add openChildPane() to MainMenuFragment; both fragments now check getParentFragment() instanceof MainMenuFragment and navigate inside the right pane instead of replacing the activity container. Also remove mTaskCountListener entirely — was hiding play button during downloads causing it to disappear after hitting play. Activity's ProgressLayout already handles download progress display. * fix(build): missing /** in MainMenuFragment * fix(build): use @nullable instead of @android.annotation.Nullable * fix(ui): taskbar gone after instance creation flow * feat(ui): Update colors.xml for mine button consistency * fix(ui): Update colors.xml for mine button consistency * fix(ui): icon size after edit/create, MS login doesn't return to home - ProfileAdapter.setViewProfile: call cachedIcon.setBounds(iconSize) before setCompoundDrawablesRelative — BitmapDrawable intrinsic size is raw pixel dims; without explicit bounds ExtendedTextView can't enforce drawableStartSize after cache drop/re-fetch - MicrosoftLoginFragment: walk parent chain to find MainMenuFragment on login success; call clearRightPane() instead of backToMainMenu() which was replacing MainMenuFragment in the activity container * fix: Handle high polling rate sources Android's onTouch and onGenericMotion are only called every screen refresh. This means it is tied to your hz. So what android does for high refresh rate devices is it stores them in MotionEvent.getHistoricalAxisValue() and makes you process them all at once on the next screen refresh. See https://developer.android.com/reference/android/view/MotionEvent#batching We used to just completely ignore this so high DPI mice didn't work properly. Hopefully high DPI everything now works properly. * mitigation: very old forge will crash trying to load package name starting with "mod_" Because of crummy regex https://github.com/MinecraftForge/FML/blob/57be417b7c29bb23e152f400752f68f33115915d/common/cpw/mods/fml/common/Loader.java#L66 Old forge will incorrectly load "mod_blahblah/yourclass.class" while expecting a "yourclass.class" because package name started with "mod_". Fixes AngelAuraMC#265 * mitigation: very old forge will crash trying to load package name starting with "mod_" Because of crummy regex https://github.com/MinecraftForge/FML/blob/57be417b7c29bb23e152f400752f68f33115915d/common/cpw/mods/fml/common/Loader.java#L66 Old forge will incorrectly load "mod_blahblah/yourclass.class" while expecting a "yourclass.class" because package name started with "mod_". Fixes AngelAuraMC#265 * mitigation: very old forge will crash trying to load package name starting with "mod_" Because of crummy regex https://github.com/MinecraftForge/FML/blob/57be417b7c29bb23e152f400752f68f33115915d/common/cpw/mods/fml/common/Loader.java#L66 Old forge will incorrectly load "mod_blahblah/yourclass.class" while expecting a "yourclass.class" because package name started with "mod_". Fixes AngelAuraMC#265 * mitigation: very old forge will crash trying to load package name starting with "mod_" Because of crummy regex https://github.com/MinecraftForge/FML/blob/57be417b7c29bb23e152f400752f68f33115915d/common/cpw/mods/fml/common/Loader.java#L66 Old forge will incorrectly load "mod_blahblah/yourclass.class" while expecting a "yourclass.class" because package name started with "mod_". Fixes AngelAuraMC#265 * mitigation: very old forge will crash trying to load package name starting with "mod_" Because of crummy regex https://github.com/MinecraftForge/FML/blob/57be417b7c29bb23e152f400752f68f33115915d/common/cpw/mods/fml/common/Loader.java#L66 Old forge will incorrectly load "mod_blahblah/yourclass.class" while expecting a "yourclass.class" because package name started with "mod_". Fixes AngelAuraMC#265 * gg * fix(ui): Added logic to reload the spinner in onDestroyView for correct icon size. --------- Signed-off-by: TITAN-TV-Man <183899034+Mahdin4sure@users.noreply.github.com> Co-authored-by: Mahdin4sure <183899034+Mahdin4sure@users.noreply.github.com> Co-authored-by: tomikun <60690056+alexytomi@users.noreply.github.com>
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.
fix: use CF websiteUrl for restricted mod dialog instead of broken numeric ID URL
fix: For modpacks, skip restricted entries entirely
fix: pass websiteUrl through ModDetail constructor to fix CF restricted mod URL