Trial97
cf27d2f9ab
Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into download_threads
...
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-08-15 12:49:21 +03:00
Sefa Eyeoglu
f533173b95
Merge pull request #1516 from Trial97/abort_connect
2023-08-15 10:40:12 +02:00
Trial97
0ba88ff138
Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into staging
...
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-08-15 00:33:24 +03:00
Sefa Eyeoglu
215d7dbb74
chore: update license headers
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-08-14 18:17:05 +02:00
Sefa Eyeoglu
91ba4cf75e
chore: reformat
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-08-14 18:16:53 +02:00
Trial97
d801151d5c
connect the abort signal in concurent task
...
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-08-11 15:41:41 +03:00
Trial97
b2fdd83594
Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into download_threads
...
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-08-05 19:09:10 +03:00
Sefa Eyeoglu
1d638e018a
chore: update license headers
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-08-04 19:41:47 +02:00
Sefa Eyeoglu
1d468ac35a
chore: reformat
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-08-02 18:35:35 +02:00
seth
af59c41713
fix: typo in task.h
...
Signed-off-by: seth <getchoo@tuta.io>
2023-07-26 16:20:30 -04:00
Trial97
db9f5f44e0
Split in two the options
...
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-07-14 22:26:22 +03:00
Trial97
cebb4dd17a
made the number of concurrent tasks configurable
...
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-07-14 20:39:53 +03:00
Rachel Powers
8d7dcdfc5b
chore: fix shadowed member and signed/unsigned mismatch
...
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
chore: supress unused with [[maybe_unused]]
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
chore: unshadow ^&^& static_cast implicit return
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
chore: deshadow and mark unused in parse task
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
chore: mark unused in folder models
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
chore: deshadow and mark unused with instances
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
chore: more deshadow and unused
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
chore: remove uneeded simicolons
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
chore: mark unused
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
chore: prevent shadow
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-07-01 23:39:38 -07:00
Rachel Powers
98d6904e4a
chore: fix propagate mispelling
...
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-07-01 17:03:12 -07:00
Rachel Powers
671d3c1c80
Merge branch 'develop' into chore/add-compiler-warnings
...
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-07-01 17:03:11 -07:00
Trial97
f2932c6d03
Fixed some crashes
...
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-06-09 21:23:41 +03:00
Rachel Powers
cc41b039e6
chore: clean up after new compiler warnings
...
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-06-04 14:59:48 -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
62a402d05a
refactor: move functions to utils + code-review fixes
...
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-06 19:10:58 -07:00
Rachel Powers
b266068644
Apply suggestions from code review
...
Co-authored-by: flow <flowlnlnln@gmail.com>
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-05 14:07:10 -07:00
Rachel Powers
733619ca74
feat: estimate remining time on downloads
...
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-01 10:48:00 -07:00
Rachel Powers
236764adf6
refactor: Qt can handle const& in signals and slots
...
While most Qt types cna use implicit data sharing
pasing our own structs means copies. const& ensure
it's only copied as needed by Qt.
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-01 10:48:00 -07:00
Rachel Powers
d7032d975c
fix: no need to loop all sub tasks
...
pathc by flowin
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-05-01 10:48:00 -07:00
Rachel Powers
0fb6a2836b
refactor: propogate only only one StepProgress at a time
...
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-01 10:48:00 -07:00
Rachel Powers
6b28af6cc5
fix: clean up license headers for Tasks
...
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-01 10:48:00 -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
f1028fa66d
fix: properly map progress range
...
- doument PCRE used for URL compacting
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-01 10:47:31 -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
Rachel Powers
f997529cd4
feat: better task tracking
...
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-01 10:45:34 -07: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
90feaaf2df
fix(Tasks): don't try to start more tasks than necessary
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-24 17:04:05 -03:00
flow
00d42d296e
fix: call processEvents() before adding new tasks to the task queue
...
This allows the ongoing task to go off the stack before the next one is
started.
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-18 16:23:30 -03:00
flow
81fedbf03c
refactor(Tasks): remove 'm_total_size' from ConcurrentTask
...
We can use the queues directly instead.
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-12-17 13:10:19 -03:00
flow
b0c866bfaa
feat(Tasks): allow adding subtasks while running in ConcurrentTask
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-12-15 13:48:53 -03:00
flow
dd578354c4
feat(Tasks): add ConcurrentTask::clear to allow re-using tasks
...
This way old runs won't pile up in the internal DSs
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-12-15 13:45:50 -03:00
Bensuperpc
56ae4e5b6a
Change old style cast to C++ cast
...
Change old style cast to C++ cast
Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
2022-10-22 13:04:48 +02:00
flow
be8c6f218c
refactor: setAbortStatus -> setAbortable
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20 18:36:10 -03:00
flow
6a50fa35ec
feat: add canAbort() status change in Task
...
By now, it's a recurring pattern of wanting to restrict aborting in
certain situations. This avoids further code duplication, and adds a
signal that external users can hook up to to respond to such change.
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20 18:36:09 -03:00
Sefa Eyeoglu
4c7d3a103c
refactor: restructure tests
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-09-11 22:29:01 +02:00
flow
7cf2c3be0f
fix: start at least one task in ConcurrentTask
...
This allows us to emit all the necessary stuff when we're finished in
the case of starting a task with no subtasks. In particular, this caused
the mod updater to not work properly :)
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-07 12:11:42 -03:00
flow
064ae49d2b
fix: make MultipleOptionsTask inherit directly from SequentialTask
...
It's not a good idea to have multiple concurrent tasks running on a
sequential thing like this one.
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-28 16:29:02 -03:00
flow
247f99ce2f
feat(test): add more tests to Tasks
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-28 16:29:01 -03:00
flow
87a0482b8b
refactor: make MultipleOptionsTask inherit from ConcurrentTask too
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-28 16:29:01 -03:00
flow
e899699918
refactor: make SequentialTask inherit from ConcurrentTask
...
In a way, sequential tasks are just concurrent tasks with only a single
task running concurrently, so we can remove LOTS of duplicated logic :)
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-28 16:29:01 -03:00
flow
bdf464e792
fix: abort logic running subsequent tasks anyways some times
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-28 16:29:01 -03:00
flow
c410bb4ecb
fix: 'succeeded while not running' spam in ConcurrentTask
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-28 16:29:01 -03:00
flow
a720bcc637
fix: bogus progress update when the total step progress was zero
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-28 16:29:01 -03:00
flow
369a8cdc74
fix: only try to start tasks that are really there
...
This fixes an annoying issue where concurrent tasks would try to start
multiple tasks even when there was not that many tasks to run in the
first place, causing some amount of log spam.
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-28 16:29:00 -03:00
Sefa Eyeoglu
f371ec210c
Merge pull request #1052 from flowln/resource_model
2022-08-28 16:52:53 +02:00
flow
2d63c86022
feat: make Task a QRunnable
...
This makes it possible to run a task in another thread.
I added a variable to toggle debug prints because they seem to trigger
an assertion on Qt internals when the task in on another thread. Of
course, this isn't awesome, but can wait until we improve our logging.
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-20 10:41:59 -03:00