aboutsummaryrefslogtreecommitdiff
path: root/launcher/modplatform/modrinth
AgeCommit message (Collapse)Author
2022-11-04Fix: Resolve ambiguous overload errorsTheLastRar
Clang-cl fails to select the correct function and instead errors Signed-off-by: TheLastRar <TheLastRar@users.noreply.github.com>
2022-10-28fix: avoid segfault for unexpected API reponseSefa Eyeoglu
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-09-26fix: Fixed memory leaktimoreo
Signed-off-by: timoreo <contact@timoreo.fr>
2022-09-26huge nit: added const refs, everywheretimoreo
Signed-off-by: timoreo <contact@timoreo.fr>
2022-09-20feat: add dialog to ask whether to chaneg instance's nameflow
This prevents custom names from being lost when updating, by only changing the name if the old instance name constains the old version, so that we can update it if the user whishes to. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20fix: show warning in case there's no old index when updatingflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20refactor: setAbortStatus -> setAbortableflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20fix: move file deletion to the end of the instance updateflow
This makes it harder for problems in the updating process to affect the current instance. Network issues, for instance, will no longer put the instance in an invalid state. Still, a possible improvement to this would be passing that logic to InstanceStaging instead, to be handled with the instance commiting directly. However, as it is now, the code would become very spaguetti-y, and given that the override operation in the commiting could also put the instance into an invalid state, it seems to me that, in order to fully error-proof this, we would need to do a copy operation on the whole instance, in order to modify the copy, and only in the end override everything an once with a rename. That also has the possibility of corrupting the instance if done without super care, however, so I think we may need to instead create an automatic backup system, with an undo command of sorts, or something like that. This doesn't seem very trivial though, so it'll probably need to wait until another PR. In the meantime, the user is advised to always backup their instances before doing this kind of action, as always. What a long commit message o.O Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20fix: some abort-related issuesflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20feat(ui): improve info dialog before updating an instanceflow
Adds a 'Cancel' option, and add a note about doing a backup before updating. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20fix: hook up setAbortStatus in instance import tasksflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20fix: correctly set all managed pack fields in Modrinth packflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20feat: add override handling in modrinth pack updateflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20refactor: change the way instance names are handledflow
While working on pack updating, instance naming always gets in the way, since we need both way of respecting the user's name choice, and a standarized way of getting the original pack name / version. This tries to circunvent such problems by abstracting away the naming schema into it's own struct, holding both the original name / version, and the user-defined name, so that everyone can be happy and world peace can be achieved! (at least that's what i'd hope :c). Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20feat: add early modrinth pack updatingflow
Still some FIXMEs and TODOs to consider, but the general thing is here! Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20refactor: move modrinth modpack import to separate fileflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-07Merge pull request #939 from flowln/mod_downloader_improveflow
Some more UI / UX improvements to the mod downloader!
2022-08-01feat: display the 'body' of a MR mod on the mod downloaderflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-24refactor: add a HashUtils place for hashing stuffflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-24feat: use QIODevice for calcuating the JAR hash on Modrinthflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17fix: std::list -> QListflow
Qt6 removed Qlist::toStdList() :sob: Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17fix: don't use shared_ptr for a background task T_Tflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17change: make Mod a QObject used as a pointerflow
Prevents problems when copying it around! Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17fix: handling around disabled modsflow
Don't update disabled mods to prevent mod duplication. Also, chop filename in the metadata with a '.disabled'. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17fix: don't require non-essential items in mod indexflow
Also adds slug field. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17feat: add some mod api callsflow
- Get Project: Already existed but required a specific caller type. This is more general. - Get Projects: A single call to multiple of the above Both providers support these calls. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17feat: improve metadata gen. networking and performanceflow
This makes the metadata generation code a lot messier and harder to use, but there's not really much else that can be done about it while preserving all it's capabilities :( At least we now have speed Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17feat: add mod update dialogflow
This subclasses the Review mods dialog to make a "Update review" one. Also, all the necessary components built until now are put together in a coherent unity that checks and generates metadata on-the-fly and checks for mod updates, while giving and receiving feedback to the user. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17feat: add mod update check tasksflow
Those tasks take a list of mods and check on the mod providers for updates. They assume that the mods have metadata already. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17feat: add changelog to mod providersflow
The Modrinth changelog is fairly straight-forward, as it's given to us directly with the API call we already did. Flame, on the other hand, requires us to do another call to get the changelog, so it can introduce quite a heavy performance impact. This way, we make it optional to get such changelog. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17feat: add some api calls to modrinthflow
Calls added: - Get version from hash - Get versions from hashes - Latest version of a project from a hash, loader(s), and game version(s) - Latest versions of multiple project from hashes, loader(s), and game version(s) Some of those are not used yet, but may be of use later on, so we have it if we need it :) Signed-off-by: flow <flowlnlnln@gmail.com>
2022-06-14Merge pull request #634 from flowln/donate_linksEzekiel Smith
More links for CF / Modrinth mods / modpacks
2022-06-09revert: don't check modrinth whitelisted hostsflow
people didn't seem to like it, and its not required
2022-06-09fix: enable using more than one download url in mrpacksflow
Kinda, it's ugly and hackish, since we don't have the facilities to do this properly (yet!)
2022-06-04Merge pull request #426 from flowln/mod_permaSefa Eyeoglu
Add on-disk mod metadata information
2022-05-29Fix modrinth search filterstimoreo
2022-05-28clean up validateDownloadUrlLenny McLennington
2022-05-28change: add 'gitlab.com' to whitelisted Modrinth modpack urlsflow
2022-05-28change: update whitelisted hosts in Modrinth modpacksflow
2022-05-24feat: add remaining links to modrinth modsflow
2022-05-24feat: add remaining links to modrinth modpacksflow
2022-05-24feat: add donate info to modrinth modpacksflow
2022-05-24feat: add donate links for modrinth modsflow
2022-05-23chore: add license headersflow
Prevents a massive inload of Scrumplex ditto's :) I didn't add it to every file modified in this PR because the other changes are pretty minor, and would explode the diff of the PR. I hope that's not a problem O_O
2022-05-23feat: allow trying to use multiple hash typesflow
2022-05-23refactor: move individual pack version parsing to its own functionflow
2022-05-23fix: implement PR suggestionsflow
Some stylistic changes, and get hashes from the mod providers when building the metadata.
2022-05-23refactor: move code out of ModIndex.hflow
Now it's in ModIndex.cpp
2022-05-23feat: add very early mod.toml packwiz supportflow
Also use it as a on-disk format for storing mod metadata. This will be used later on to make better mod managment.
2022-05-19chore: improve readabilitySefa Eyeoglu
Co-authored-by: flow <thiagodonato300@gmail.com>