Sefa Eyeoglu
4878f1a438
Merge pull request #735 from Scrumplex/import-component
2023-03-01 09:49:47 +01: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
flow
fda9ca1e34
fix+refactor: fix fail to import modpacks and clean up a bit
...
QDir::cleanPath called by FS::PathCombine removes the trailing '/'...
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-02-24 20:09:02 -03:00
kumquat-ir
dc8109658c
review fixes
...
Signed-off-by: kumquat-ir <66188216+kumquat-ir@users.noreply.github.com>
2023-02-22 13:20:13 -05:00
kumquat-ir
7973b01e81
fix metadata for mods with .nilmod
extension
...
Signed-off-by: kumquat-ir <66188216+kumquat-ir@users.noreply.github.com>
2023-02-19 17:21:53 -05:00
kumquat-ir
256fc322a8
minor cleanup
...
Signed-off-by: kumquat-ir <66188216+kumquat-ir@users.noreply.github.com>
2023-02-16 12:57:35 -05:00
Sefa Eyeoglu
1f0fc61b53
Merge pull request from GHSA-gq28-qx55-mh2r
...
Don't extract files outside of target path
2023-02-15 21:48:06 +01:00
kumquat-ir
9c2a3231c5
do not create nilmods folder
...
"it cant be that easy" - me, clueless
Signed-off-by: kumquat-ir <66188216+kumquat-ir@users.noreply.github.com>
2023-02-13 01:45:23 -05:00
Rachel Powers
80840f1fdb
fix: add missing header to Application.cpp
...
fails to compile on KISS Linux without
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-02-12 22:32:34 -07:00
kumquat-ir
c07fff7503
switch to qdcss for parsing
...
make it not horrible to look at
Signed-off-by: kumquat-ir <66188216+kumquat-ir@users.noreply.github.com>
2023-02-12 17:23:15 -05:00
kumquat-ir
7896dd19c1
nilmods instance page
...
mostly copied from the coremod page impl
Signed-off-by: kumquat-ir <66188216+kumquat-ir@users.noreply.github.com>
2023-02-11 17:46:17 -05:00
kumquat-ir
f5f2d33f93
parse nil metadata
...
Signed-off-by: kumquat-ir <66188216+kumquat-ir@users.noreply.github.com>
2023-02-11 17:46:17 -05:00
Sefa Eyeoglu
e70a5a47ee
fix: ignore absolute paths when extracting
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-02-10 10:46:21 +01:00
Sefa Eyeoglu
6be7eed878
fix: don't extract files outside of target path
...
This should fix a security issue regarding path traversal in zip files.
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-02-10 09:17:48 +01:00
PandaNinjas
d886d32bd8
Replace potentially ReDOSable regex
...
Signed-off-by: PandaNinjas <admin@malwarefight.gq>
2023-02-07 17:21:00 +00:00
DioEgizio
f36c3a3f6c
Merge pull request #819 from Scrumplex/fix-launch-script
2023-02-06 16:26:54 +01:00
flow
46c6cc2d2b
chore: add my copyright headers
...
.-.
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-02-05 17:02:56 -03:00
flow
ada5e88eb9
feat(RD): add texture pack downloader
...
This extends the resource pack downloader, with the custom behavior of
filtering the versions that shows up, to those <= 1.6. As always, Flame
is funky and requires a bit more workarounds than average.
This will also get a nice improvement when the Version parsing and
comparison PR gets merged! :D
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-02-05 17:02:56 -03:00
flow
b724607e31
feat(RD): add shader pack downloader
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-02-05 17:02:56 -03:00
flow
c3ea303a37
feat(RD): add resource pack downloader
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-02-05 17:02:52 -03:00
Sefa Eyeoglu
e89a10945c
Merge pull request #823 from BalkanMadman/linux-java
...
Fix https://github.com/PrismLauncher/PrismLauncher/issues/790
2023-02-05 19:09:48 +01:00
Sefa Eyeoglu
8ddc89fa01
Merge pull request #825 from Ryex/cmd_env_native_sep
...
fix https://github.com/PrismLauncher/PrismLauncher/issues/824
2023-02-05 18:42:19 +01:00
Sefa Eyeoglu
a47bf72b07
Merge pull request #751 from Edgars-Cirulis/develop
2023-02-05 17:48:26 +01:00
Rachel Powers
34460dd77a
ensure command env vars use native path seperators
...
fix #824
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-02-04 12:28:52 -07:00
BalkanMadman
c125c96e88
Java installations detection fix for Linux
...
Signed-off-by: BalkanMadman <zurabid2016@gmail.com>
2023-02-04 16:48:06 +02:00
Sefa Eyeoglu
d2fd0fd8e8
Merge pull request #802 from KosmX/develop
2023-02-04 14:43:28 +01:00
Sefa Eyeoglu
edaa66f622
fix: use /usr/bin/env bash in launch script
...
This should make it possible to run these scripts on any system, as
/bin/bash is not standard! Notably this fixes the script on NixOS.
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-02-04 01:06:16 +01:00
Sefa Eyeoglu
6ac073e779
fix: fix component uid regex
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-02-03 18:32:57 +01:00
flow
4166d9ab7b
fix: give error when components have bad uids
...
This allows other code to reject proceeding when the UID is bad, which
is generally a good idea. :p
Co-authored-by: Sefa Eyeoglu <contact@scrumplex.net>
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-02-02 17:11:24 -03:00
flow
435273e08a
fix(Inst.Import): don't allow bad file path in mrpack import
...
This checks the URL of the path of the file to be downloaded,
ensuring that it always contains the root .minecraft target folder,
following the warning in the mrpack documentation.
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-02-02 17:11:24 -03:00
KosmX
35a62d9787
commit requested change, make the lock static
...
Signed-off-by: KosmX <kosmx.mc@gmail.com>
2023-02-01 23:31:12 +01:00
KosmX
ec5bb944b2
thread-safe logger
...
Signed-off-by: KosmX <kosmx.mc@gmail.com>
2023-02-01 14:59:11 +01:00
leo78913
2b0252d4ae
Fix: fix some regressions in the main window
...
this removes the update action from the help button
and fixes the add to path action not showing on macos
Signed-off-by: leo78913 <leo3758@riseup.net>
2023-01-28 15:09:26 -03:00
flow
c78db5459e
Merge pull request #724 from leo78913/dot-ui-mainwindow
...
Closes https://github.com/PrismLauncher/PrismLauncher/issues/594
Closes https://github.com/PrismLauncher/PrismLauncher/issues/69
Closes https://github.com/PrismLauncher/PrismLauncher/issues/473
2023-01-27 10:55:49 -08:00
leo78913
a27564ed70
better fix for WideBar::insertSeparator
...
Signed-off-by: leo78913 <leo3758@riseup.net>
2023-01-27 13:48:12 -03:00
leo78913
df8df41621
Remove unused BarEntry variable
...
Signed-off-by: leo78913 <leo3758@riseup.net>
2023-01-27 12:40:27 -03:00
leo78913
d5a0d4b452
Update launcher/ui/MainWindow.ui
...
Co-authored-by: flow <flowlnlnln@gmail.com>
Signed-off-by: leo78913 <leo3758@riseup.net>
2023-01-27 12:35:53 -03:00
leo78913
357b6ee991
Update launcher/ui/MainWindow.ui
...
Co-authored-by: flow <flowlnlnln@gmail.com>
Signed-off-by: leo78913 <leo3758@riseup.net>
2023-01-27 12:35:41 -03:00
leo78913
4d2b5c2f42
refactor: clean up some MainWindow stuff
...
this makes the accounts button and menubar item share the same QMenu
and also refactors some code
Signed-off-by: leo78913 <leo3758@riseup.net>
2023-01-26 19:48:21 -03: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
Sefa Eyeoglu
199a7df807
refactor: add error handling to component import
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-01-25 10:43:23 +01:00
Sefa Eyeoglu
5186ad95d3
Merge pull request #784 from flowln/fix_resource_folder_double_smart_ptrs
2023-01-25 10:33:01 +01:00
Sefa Eyeoglu
0546345182
Merge pull request #458 from Scrumplex/remove-updater
2023-01-25 10:32:49 +01: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
6d27ef5eea
fix(ResourceFolder): don't create two smart ptrs for the same raw ptr
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-24 17:04:01 -03:00
Rachel Powers
3ddf413332
Update launcher/Application.cpp
...
Co-authored-by: Sefa Eyeoglu <contact@scrumplex.net>
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-01-24 09:24:12 -07:00
Sefa Eyeoglu
6e841a3b7e
Merge branch 'develop' into remove-updater
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-01-24 14:40:17 +01:00
Rachel Powers
085e067fc1
remove NDEBUG check per Scrumplex's orders
...
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-01-24 02:26:21 -07:00
Rachel Powers
c45fa016c0
fix: let jars be found from inside build dir for debug builds
...
debug bug builds run form inside the build dir before they are bundled can't find the jars
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-01-23 18:36:58 -07:00
Sefa Eyeoglu
16477a8f6c
Merge pull request #675 from flowln/generalize_mod_model
2023-01-23 23:58:52 +01:00
Sefa Eyeoglu
04e4900415
Merge pull request #758 from flowln/fix_process_events_backstab
2023-01-23 23:58:41 +01:00
flow
ea5020e188
fix(license): add/fix my copyright/license headers
...
*sobbing in messy legal stuff i know nothing about*
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-23 11:12:43 -03:00
flow
445f9e5f71
feat+fix(Version): make comparsion FlexVer-compatible
...
... and fixes a minor issue in the parsing.
This changes the expected behavior of Versions in one significant way:
Now, Versions like 1.2 or 1.5 evaluate to LESS THAN 1.2.0 and 1.5.0
respectively. This makes sense for sorting versions, since one expects
the versions without patch release to 'contain' the ones with, so the
ones without should be evaluated uniformily with the ones with the
patch.
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-21 18:47:47 -03:00
leo78913
5a25ce8c1b
Fix main window icon and stuff
...
i forgor 💀
Signed-off-by: leo78913 <leo3758@riseup.net>
2023-01-20 19:45:43 -03:00
leo78913
670cf8ee07
Fix: make the newsLabel toolbutton fullwidth again
...
this reverts it to how it was before the MainWindow .ui port
Signed-off-by: leo78913 <leo3758@riseup.net>
2023-01-20 19:45:43 -03:00
leo78913
6c5f6e8900
Fix status bar name
...
Signed-off-by: leo78913 <leo3758@riseup.net>
2023-01-20 19:45:43 -03:00
leo78913
4ed4fb2314
remove useless setEnabled calls
...
Signed-off-by: leo78913 <leo3758@riseup.net>
2023-01-20 19:45:43 -03:00
leo78913
f16989bea9
feat(WideBar): custom context menu actions
...
Signed-off-by: leo78913 <leo3758@riseup.net>
2023-01-20 19:45:43 -03:00
leo78913
55d4064335
Fix: translate actionNoDefaultAcount text
...
Co-authored-by: flow <flowlnlnln@gmail.com>
Signed-off-by: leo78913 <leo3758@riseup.net>
2023-01-20 19:45:43 -03:00
leo78913
3b38a4c690
Fix: translate NoAccountsAdded text
...
Co-authored-by: flow <flowlnlnln@gmail.com>
Signed-off-by: leo78913 <leo3758@riseup.net>
2023-01-20 19:45:43 -03:00
leo78913
ada595663d
fix(widebar): fix insertSeparator
...
WideBar::insertSeparator was adding the separator to the end of the toolbar
Signed-off-by: leo78913 <leo3758@riseup.net>
2023-01-20 19:45:43 -03:00
leo78913
b2de01b076
feat(WideBar): Allow disabling alt shortcuts
...
Signed-off-by: leo78913 <leo3758@riseup.net>
2023-01-20 19:45:43 -03:00
leo78913
f3acf35aea
refactor: Port the main window to a .ui file
...
some stuff still needs to be done in the c++ side because qt designer is dumb >:(
the instance toolbar icon and instance name buttons are still added manually inside MainWindow.cpp
looks almost identical, with some minor tweaks:
- the instance toolbar is now a WideBar, so you can customize what actions you want :D
- the instance toolbar buttons are now fullwidth
- the close window button is now at the end of the file menu
- the help menu has some layout changes
this also fixes some stuff:
- menus not having tooltips
- the top toolbar not connecting to the title bar in kde
- the instance toolbar separators looking weird after you move the toolbar
Signed-off-by: leo78913 <leo3758@riseup.net>
2023-01-20 19:45:43 -03:00
leo78913
3da1d6a464
feat: add Widebar::InsertWidgetBefore method
...
Signed-off-by: leo78913 <leo3758@riseup.net>
2023-01-20 19:44:39 -03:00
Tayou
cdc9f93f71
make MainWindow cat update instantly
...
Signed-off-by: Tayou <tayou@gmx.net>
2023-01-20 15:16:25 +01:00
flow
bcebb1920f
refactor: clean up Section struct
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-20 11:15:26 -03:00
flow
81848e05f1
refactor: simplify Version operators
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-20 11:15:26 -03:00
Edgars Cīrulis
0199d8a74f
Version.cpp: Add new line
...
Signed-off-by: Edgars Cīrulis <edgarsscirulis@gmail.com>
2023-01-19 14:12:59 +02:00
Edgars Cīrulis
f49ad2ee03
Version.h: Fix comparison of null version in Version class
...
Co-authored-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
Signed-off-by: Edgars Cīrulis <edgarsscirulis@gmail.com>
2023-01-19 10:40:30 +02:00
Rachel Powers
7ed993b54e
fix: proper null padded version comparison
...
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-01-19 09:51:11 +02:00
Rachel Powers
9934537e19
feat: add debug printing for Version
...
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-01-19 09:50:45 +02: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
Edgars Cīrulis
730f714e97
Version.cpp: Remove unnecessary QStringList include
...
Signed-off-by: Edgars Cīrulis <edgarsscirulis@gmail.com>
2023-01-17 22:39:19 +02:00
Edgars Cīrulis
3bec4a80b3
Version.cpp: Decompose version strings according to flexver
...
Co-authored-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
Signed-off-by: Edgars Cīrulis <edgarsscirulis@gmail.com>
2023-01-17 22:39:12 +02:00
Edgars Cīrulis
a84e4b0e07
Version.cpp: Format parse function code using clang-format
...
Signed-off-by: Edgars Cīrulis <edgarsscirulis@gmail.com>
2023-01-17 07:14:49 +02:00
Edgars Cīrulis
198139feb4
Version.cpp: Simplify Version::parse by using const auto& current_char
...
Signed-off-by: Edgars Cīrulis <edgarsscirulis@gmail.com>
2023-01-17 07:14:37 +02:00
Edgars Cīrulis
de11017552
Version.cpp: Use anonymous function to eliminate code duplication
...
Signed-off-by: Edgars Cīrulis <edgarsscirulis@gmail.com>
2023-01-17 07:14:29 +02:00
Edgars Cīrulis
6fb837c529
Version.cpp: Add version string parser to split on '.' character
...
Signed-off-by: Edgars Cīrulis <edgarsscirulis@gmail.com>
2023-01-17 07:14:05 +02:00
Edgars Cīrulis
c0c3892064
Version.cpp: Improve version parsing to handle mixed numeric and alphabetic characters
...
Signed-off-by: Edgars Cīrulis <edgarsscirulis@gmail.com>
2023-01-17 07:13:24 +02:00
Sefa Eyeoglu
1a35fec134
Merge pull request #696 from Ryex/import-all-the-things
...
Fixes https://github.com/PrismLauncher/PrismLauncher/issues/581
Fixes https://github.com/PrismLauncher/PrismLauncher/issues/700
2023-01-16 10:04:09 +01:00
Sefa Eyeoglu
cd893e18d2
chore: update license headers
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-01-14 17:21:52 +01:00
flow
cf022524d1
Merge pull request #743 from flowln/fix_mods_with_wrong_modListVersion
2023-01-14 12:19:12 -03:00
flow
ebb0596c1a
fix: don't fail mod parsing when encountering invalid modListVersion
...
The spec (admitely a very old one) states that this entry should always
have the value "2". However, some mods do not follow this convention,
causing issues.
One notable example is the 1.6 version of Aether II for 1.7.10, that has
this value set at "5" for whatever reason.
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-13 21:15:10 -03:00
flow
3de681d2d6
Merge pull request #685 from byteduck/instance-accounts
2023-01-13 17:21:12 -03:00
Rachel Powers
f7b0ba88da
Apply suggestions from code review
...
Co-authored-by: Sefa Eyeoglu <contact@scrumplex.net>
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-01-13 13:15:13 -07:00
flow
c95c81d42f
fix(ModUpdater): ensure instead of require icon_url
...
The spec says that this can be null, and indeed some mods have it set to
null, and should still be considered as valid.
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-13 16:59:37 -03:00
flow
9407596b12
fix(ModUpdater): fail mods individually when there's errors in the JSON
...
Prevents a single problematic mod from invalidating all the API
response.
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-13 16:49:21 -03:00
flow
c294c2d1df
refactor(RD): allow setting custom folder target for downloaded resources
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-13 16:23:09 -03:00
flow
bd36f8e220
fix(RD): set resource strings for ReviewMessageBox too
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-13 16:23:09 -03:00
flow
1919069b12
fix(RD): don't assert search offset on fetchMore() in ResourceModel
...
This allows the standard QAbstractItemModelTester to work without
shenanigans!
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-13 16:23:09 -03:00
flow
ba677a8cb7
refactor: change some ResourceAPI from NetJob to Task
...
This makes it easier to create resource apis that aren't network-based.
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-13 16:23:09 -03:00
flow
e62e1d9701
refactor(RD): move BaseInstance dep. to subclasses of ResourceModel
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-13 16:23:08 -03:00
flow
b3330cb0da
fix(RD): correctly set the strings for the specific resource names
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-13 16:23:08 -03:00
flow
7d128c79a3
fix: CodeQL warnings about the rule of two
...
shush
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-13 16:23:08 -03:00
flow
3cff23dae2
refactor(RD): move success callbacks from ModModel to ResourceModel
...
While implementing the resource pack downloader in another branch, I
noticed that most of the code in the success callback was identical in
both cases, safe for a few minute differences in strings. So, this tries
to make it easier to share this piece of code.
However, it still leaves the possibility of extending the methods in
ResourceModel to accomodate for cases where this similarity may not
hold.
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-13 16:23:08 -03:00
flow
c3f0139f76
refactor(RD): add helper in ResourceModel to find current sorting
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-13 16:23:08 -03:00
flow
563fe8d515
fix(RD): separate search and versions/info tasks
...
This allows us to check whether a search request is already on-going, in
which case we don't need to make another one (and shouldn't).
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-13 16:23:08 -03:00
flow
38e20eb148
fix(RD): pass copy of IndexedPack to callbacks instead of ref.
...
This prevents a crash in which the pack list gets updated in a search
request meanwhile a versions / extra info request is being processed.
Previously, this situation would cause the reference in the latter
callbacks to be invalidated by an internal relocation of the pack list.
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-13 16:23:07 -03:00
flow
36571c5e22
refactor(RD): clear up sorting methods
...
This refactors the sorting methods to join every bit of it into a single
list, easing maintanance. It also removes the weird index contraint on
the list of methods by adding an index field to the DS that holds the
method.
Lastly, it puts the available methods on their respective API, so other
resources on the same API can re-use them later on.
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-13 16:23:07 -03:00
flow
c8eca4fb85
fix: build with qt5.12 on Linux and pedantic flag
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-13 16:23:07 -03:00