Commit Graph

67 Commits

Author SHA1 Message Date
Rachel Powers
9c10965997
refactor: split out setting api headers for downloads
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-06-25 11:09:25 -07:00
Rachel Powers
1b3ff96ffd fix: memory leak with NetJob and responce not getting cleaned up
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-21 01:46:28 -07:00
Rachel Powers
b6452215c1 feat: add details signal to Task
feat: add details to mod pack downloading
feat: add logging rule sloading form `ligging.ini at data path root
feat: add `launcher.task` `launcher.task.net` and `launcher.task.net.[down|up]load` logging categories
fix: add new subtask progress to the end of the lay out not the beginning (cuts down on flickering)

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-01 10:47:50 -07:00
Rachel Powers
9d2f0e4dc8 feat: Propogated subtask progress
Oh boy this is big.

> TaskStepProgress struct is now QMetaObject compatabile and can be sent through signals
> Task now has a method to propogates sub task progress it must be signal bound by each task containing a task wishing to report progress of it's children.
> Downloads report speed
> Tasks now have UUIDS to track them
  - use when reporting
  - use when logging
  - use when storeing them or objects related to them

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-01 10:47:20 -07:00
flow
d5c6704475
fix: prevent crash when aborting import task while extracting pack
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-02-24 20:34:43 -03:00
PandaNinjas
d886d32bd8
Replace potentially ReDOSable regex
Signed-off-by: PandaNinjas <admin@malwarefight.gq>
2023-02-07 17:21:00 +00:00
flow
29f7ea752f
refactor: make shared_qobject_ptr ctor explicit
This turns issues like creating two shared ptrs from a single raw ptr
from popping up at runtime, instead making them a compile error.

Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-25 16:57:51 -03:00
flow
64585d8f78
fix(Inst.Import): don't assert extra data when importing from ZIP
ZIPs don't have the necessary data in those cases.

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-12-13 00:31:41 -03:00
flow
bb386a1162
fix(ManagedPackPage): only update the current instance exactly
Also carry on the original ID to avoid updating the wrong instance.

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-12-06 17:00:34 -03:00
flow
1630a23fb0
refactor(InstanceImport): require rvalue from 'extra_info' mappings
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-12-06 17:00:34 -03:00
flow
968366c2ae
feat+fix: allow forwarding extra info to InstanceImportTask
This allows us to pass to the creation instances their actual pack ID
and version ID, that in Flame's case, are only available before starting
to create an instance.

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-12-06 17:00:32 -03:00
flow
58d2c15ffa
feat: add functionality to MR modpack update in the page :D
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-12-06 17:00:32 -03:00
flow
a116778402
fix(Inst.Import): don't search inside 'overrides/' for the manifest
It will never be there anyways, and saves a **bunch** of time when the
overrides folder is big and we traverse all the tree when searching for
the MMC 'instance.cfg' file.

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-12-01 15:15:15 -03:00
flow
be8c6f218c
refactor: setAbortStatus -> setAbortable
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20 18:36:10 -03:00
flow
eda6cf11ef
feat(ui): improve info dialog before updating an instance
Adds a 'Cancel' option, and add a note about doing a backup before
updating.

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20 18:36:09 -03:00
flow
87002fb8f8
fix: hook up setAbortStatus in instance import tasks
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20 18:36:09 -03:00
flow
6541570969
fix: simplify abort handling and add missing emits
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20 18:36:09 -03:00
flow
6131346e2f
refactor: change the way instance names are handled
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-20 18:36:08 -03:00
flow
eed73c9078
refactor: clean up InstanceImportTask a bit
Also removes a divide by two in the download progress
(why was it there???)

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20 18:36:08 -03:00
flow
72d2ca234e
refactor: move flame modpack import to separate file
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20 18:36:07 -03:00
flow
208ed73e59
feat: add early modrinth pack updating
Still some FIXMEs and TODOs to consider, but the general thing is here!

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20 18:36:06 -03:00
flow
4441b37338
refactor: move modrinth modpack import to separate file
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20 18:32:36 -03:00
kumquat-ir
33e34ebb83 Add "Open All" button to blocked mods dialog
Signed-off-by: kumquat-ir <66188216+kumquat-ir@users.noreply.github.com>
2022-07-16 19:14:54 -04:00
Sefa Eyeoglu
ff2cd50bfa
refactor: replace QRegExp with QRegularExpression
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-07-10 12:17:52 +02:00
txtsd
c1bcbf8c63
Merge pull request #880 from Scrumplex/fix-loader-importance
Make loader components not important
2022-07-10 15:44:17 +05:30
Sefa Eyeoglu
301b811310
fix: make loader components not important
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-07-07 09:58:03 +02:00
flow
4bfc445cf8
fix: add progress indicator on Flame mod resolution dialog
This code is super :pofat: omg

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-03 12:43:04 -03:00
flow
37160f973f
fix: account for the dequeued url when checking the number of urls
Co-authored-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-06-11 14:31:50 -03:00
flow
29e5a213a5
fix: dequeue first added file in mrpack import
Co-authored-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-06-11 14:19:51 -03:00
flow
54144154f9
fix: apply client overrides in mrpacks
another oopsie x.x
2022-06-11 13:44:31 -03:00
flow
b3c8f9d508
revert: don't check modrinth whitelisted hosts
people didn't seem to like it, and its not required
2022-06-09 19:57:51 -03:00
flow
1b878030aa
fix: enable using more than one download url in mrpacks
Kinda, it's ugly and hackish, since we don't have the facilities to
do this properly (yet!)
2022-06-09 19:54:50 -03:00
flow
46e403b20b
fix: properly parse mrpacks without the 'env' field
It's optional, so some files may not have it (like most of FO).
2022-06-09 19:53:29 -03:00
Sefa Eyeoglu
65d23fc9b9
Merge pull request #671 from Scrumplex/fix-importing-flame-mmc-packs 2022-05-29 15:15:18 +02:00
Sefa Eyeoglu
0b3115997a
fix: fix importing Flame/MMC packs 2022-05-29 14:16:13 +02:00
flow
f0ec165d42
feat: add warning of non-whitelisted URLs instead of a hard fail
Based on people's votes on Discord :^)
2022-05-28 18:04:16 -03:00
flow
1698554024
debug: add non-translated debug logging for 'non-whitelisted url' fails 2022-05-28 17:01:57 -03:00
flow
f4604bbf79
change: update whitelisted hosts in Modrinth modpacks 2022-05-28 17:01:52 -03:00
timoreo22
699ad316f0
Rework curseforge download (#611)
* Use the bulk endpoint on mod resolution for faster download
* Search on modrinth for api blocked mods
* Display a dialog for manually downloading blocked mods
2022-05-28 21:53:12 +02:00
timoreo22
83078cd49a
Merge pull request #657 from JJL772/fix/misc-fixes
Fix crash when aborting instance import
2022-05-28 15:38:36 +02:00
Jeremy Lorelli
48e20cb5f7 Fix crash when aborting instance import
Also turned a loop var into a reference to avoid copies on each iteration
2022-05-27 16:41:57 -07:00
Sefa Eyeoglu
0263677e1f
fix: prefer stricter modpack formats during import
Flame modpacks use "manifest.json" as their only characteristic for
identification. Some modpacks might have other files called
"manifest.json", which is why we should prefer modpack formats that have
a stricter structure.
2022-05-26 22:41:20 +02:00
flow
ff9f3cb31f
fix conflicts with develop 2022-05-17 18:25:08 -03:00
flow
887246a66b
fix: typo and useless code 2022-05-16 17:09:14 -03:00
flow
62e099ace5
feat: better handling of optional mods
This disables the optional mods by default and tell the user about it.
Pretty hackish, but a better solution would involve the modrinth
metadata to have the mod names...

Also sorry for the diffs, my clangd went rogue x.x
2022-05-15 22:16:52 -03:00
flow
7194bb1b81
fix: validate whitelisted download urls 2022-05-15 16:06:49 -03:00
flow
93e0041d0e
change: use modrinth icon as default on modrinth packs 2022-05-15 11:09:45 -03:00
flow
5f2398fe59
chore: license headers 2 2022-05-15 08:26:34 -03:00
Sefa Eyeoglu
3abf466632
chore: add/update license headers 2022-05-15 13:20:05 +02:00
Sefa Eyeoglu
a43f882d48
feat: add support for Quilt Loader in Modrinth packs 2022-05-15 12:06:01 +02:00