Add modpack update page in instance settings
TODO:
- [x] Modrinth modpack page
- [x] Flame modpack page
- [x] Fix icons with managed packs not from MR/CF (or probably hide them since we can't update them yet anyways)
- [x] Make the changelog thing parse the content as markdown
- [ ] Add link to the modpack page in the mod provider
- [x] Modrinth URLs
- [ ] Flame URLs
and probably some more stuff i forgot about :x
Status (as of https://github.com/PrismLauncher/PrismLauncher/pull/32/commits/9cf53f847315726688a710d14bc47671f6cac597):


Button to update Modpack automatically too?
PS: What about a notification that there are updates for a modpack?
Button to update Modpack automatically too?
i don't feel great about automatically updating a modpack, since people should really backup their stuff before an update. But the idea is to have a button that allows for easy updating if the user wants to :)
PS: What about a notification that there are updates for a modpack?
maybe we could have something like that, but i guess you should make an issue about that, because it's unlikely i'll be able to do that in this single PR :p
Button to update Modpack automatically too?
i don't feel great about automatically updating a modpack, since people should really backup their stuff before an update. But the idea is to have a button that allows for easy updating if the user wants to :) Yea, I did mean semi-automatic. You click the button and it does the update on its own. But you need to click it again for the next update.
PS: What about a notification that there are updates for a modpack?
maybe we could have something like that, but i guess you should make an issue about that, because it's unlikely i'll be able to do that in this single PR :p
Sure! I can even work on it as soon as you finished this PR myself :)
Is this scheduled for 5.0?
Is this scheduled for 5.0?
if we are going to release 5.0 today, no :iea:
Some of my own opinions on this:
- make this menu a button in "version" instead, I'd rather not have any of my instances individually cursed/blessed with having a whole separate menu on the sidebar for modpack information.
- make sure an instance's modpack status can be completely removed by the user through the launcher
make this menu a button in "version" instead, I'd rather not have any of my instances individually cursed/blessed with having a whole separate menu on the sidebar for modpack information.
i don't think only a button is enough for this. It doesn't provide useful information such as changelogs and other metadata, which can in fact be very important when updating. My original design was to make it a tab inside a 'Overview' page, instead of being in the sidebar, but that'll take more time to be done.
make sure an instance's modpack status can be completely removed by the user through the launcher
Maybe, but currently this status doesn't add any restriction on its own, so if you don't want to use an instance as a managed pack, you can just not use the tab :p
Perhaps it could be an option in the future (similar to adding such a status to an already existing instance).
i don't think only a button is enough for this. It doesn't provide useful information such as changelogs and other metadata, which can in fact be very important when updating. My original design was to make it a tab inside a 'Overview' page, instead of being in the sidebar, but that'll take more time to be done.
Well, a button that opens the menu in a popup, that is.
Well, a button that opens the menu in a popup, that is.
why have it in a popup? it just seems unnecessary to me :/
To not clutter the sidebar and to not have wast amounts of emptiness in the window in case the edit instance menu is stretched out to cover the whole screen
To not clutter the sidebar and to not have wast amounts of emptiness in the window in case the edit instance menu is stretched out to cover the whole screen

i think adding something here would be more clutter than having a page on the sidebar though
we really should do something to this too though. we could swap the mod loader install section with the upper one, and move the folder shortcuts to the bottom.
Not to say there isn't clutter on the left.
Maybe, but currently this status doesn't add any restriction on its own, so if you don't want to use an instance as a managed pack, you can just not use the tab :p
Perhaps it could be an option in the future (similar to adding such a status to an already existing instance).
I wouldn't like to have 50% of my instances permanently marked as modpacks just because they are based off SO. There also needs to be an option to completely disable new modpack instances from getting modpack metadata.
The modpack updater should be treated in the same way the mod updater is - it should not be in your eyes too much, it's just something that you use once in a while and then forget about it for a few days. If it's not so, it's bloat.
Is it for sure that the "if a new instance of a modpack is created, annoyingly prompt the suer to update an existing one" will be removed with this PR? Again, I want to update my modpack instance when i want to update it, not when i create a new instance of it.
Dunno, some people seem to like it. It really depends on whether we can make the UX not be obnoxious for those that don't want it, but useful for those that do. Anyway, that'd not be done in this particular PR anyway, since it's not in the intended scope to change that.
Can we make a toggle for this in the options? Like "Prompt to update modpack on instance creation"
on curseforge packs, going to the curseforge tab, going back to version and then going back to curseforge causes a segmentation fault
on curseforge packs, going to the curseforge tab, going back to version and then going back to curseforge causes a segmentation fault
fixed, thanks!
Lesgo it's not draft anymore!
I got a problem. I updated from 4.2.1 to 4.4.4 then tried to update again to 4.5.4 but I keep getting this error:

@Imzxhir were you using the latest commit? i could swear i fixed this issue in bdac799 :pensive:
send prismlauncher-0.log
@Imzxhir were you using the latest commit? i could swear i fixed this issue in bdac799 😔
I tried to but it didn't have a build with MacOS Legacy so I used the build before that one.
I'm re-running the CI, hopefully it creates the artifacts correctly this time o.O
I'm re-running the CI, hopefully it creates the artifacts correctly this time o.O
Yep, it fixed the issue.
I've got another bug where I can't copy instances, I'm not sure if it's related to this. PrismLauncher-1.log
I've got another bug to report as well where some mods from the modpack get removed. I downloaded the 4.2.0 version of Fabulously Optimized and updated to 4.4.4 and then when I check the mods, most of the mods got removed. PrismLauncher-0.log
I've got another bug where I can't copy instances, I'm not sure if it's related to this. PrismLauncher-1.log
I'm not sure, I didn't touch that code in this PR. Perhaps it's an issue with the library we use for std::filesystem on legacy macOS, because it seems to work fine on my end.
I've got another bug to report as well where some mods from the modpack get removed. I downloaded the 4.2.0 version of Fabulously Optimized and updated to 4.4.4 and then when I check the mods, most of the mods got removed. PrismLauncher-0.log
I did an oopsie, should hopefully be fixed in this new commit, thanks :)
I've got another bug where I can't copy instances, I'm not sure if it's related to this. PrismLauncher-1.log
I'm not sure, I didn't touch that code in this PR. Perhaps it's an issue with the library we use for
std::filesystemon legacy macOS, because it seems to work fine on my end.I've got another bug to report as well where some mods from the modpack get removed. I downloaded the 4.2.0 version of Fabulously Optimized and updated to 4.4.4 and then when I check the mods, most of the mods got removed. PrismLauncher-0.log
I did an oopsie, should hopefully be fixed in this new commit, thanks :)
Ok, thanks. Also, maybe I could ask Dio about it since I think he wrote that part of code.