Skip to content

Feat: Fix Curseforge restricted mods giving wrong url (#64)#65

Merged
MaxJubayerYT merged 1 commit into
Feat/RevampedUIfrom
v3_openjdk
May 10, 2026
Merged

Feat: Fix Curseforge restricted mods giving wrong url (#64)#65
MaxJubayerYT merged 1 commit into
Feat/RevampedUIfrom
v3_openjdk

Conversation

@MaxJubayerYT

Copy link
Copy Markdown
Member
  • 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

* 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 MaxJubayerYT merged commit 4393b03 into Feat/RevampedUI May 10, 2026
2 checks passed
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>
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