Compare commits

...

3124 Commits

Author SHA1 Message Date
Alexandru Ionut Tripon
b69dbc2224 MSAStep: Log server errors (#4895) 2026-01-29 14:51:18 +02:00
Octol1ttle
665aa4c546 change(MSAStep): log server errors
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-29 17:11:30 +05:00
Alexandru Ionut Tripon
70cbbf5b07 Trim whitespace from path values in settings (#4886) 2026-01-28 08:48:53 +02:00
Seth Flynn
301d978d9c chore(nix): update lockfile (#4600) 2026-01-27 18:39:53 -05:00
Seth Flynn
cf63bccfd7 fix(MinecraftSettingsWidget): trim whitespace from path values
Should help in mitigating common mistakes in copy/pasting

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2026-01-27 17:59:12 -05:00
Alexandru Ionut Tripon
ec709e339b fix: remove flatpak submodule (#4878) 2026-01-27 18:32:11 +02:00
Octol1ttle
5de150b8dd fix: remove flatpak submodule
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-27 20:35:53 +05:00
Alexandru Ionut Tripon
915626de9d Allow overriding URL for downloading legacy FML libs (#4862) 2026-01-27 16:48:01 +02:00
Octol1ttle
caec4ef96c feat: allow overriding URL for downloading legacy FML libs
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-27 19:26:02 +05:00
Octol1ttle
f0a17d82d9 refactor: FMLLibrariesTask -> LegacyFMLLibrariesTask
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-27 19:24:13 +05:00
Alexandru Ionut Tripon
7945a7c626 Make Minecraft resource URL override consistent with other overrides (#4860) 2026-01-27 14:04:24 +02:00
Alexandru Ionut Tripon
e4a4d42bca Remove in-tree flatpak (#4856) 2026-01-27 14:01:53 +02:00
Alexandru Ionut Tripon
4f3c778b4d PackProfile: don't reset dirty if component list saving failed (#4870) 2026-01-27 13:57:54 +02:00
Alexandru Ionut Tripon
9e4dc64fa9 properly redraw viewport when scroll happens (#4857) 2026-01-27 13:56:01 +02:00
Octol1ttle
c6072ff434 fix(PackProfile): don't reset dirty if component list saving failed
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-26 21:53:51 +05:00
Alexandru Ionut Tripon
9776fb8d68 Actions: Use low-cost runner for simple workflows (#4863) 2026-01-25 19:24:54 +02:00
Octol1ttle
70f9b88e45 change(Actions): use low-cost runner for simple workflows
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-25 21:09:36 +05:00
Octol1ttle
1cdddd93ad style: don't use keyword as variable name
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-25 17:05:43 +05:00
Octol1ttle
3f0af19ed3 refactor: make Minecraft resource URL override consistent with other overrides
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-25 16:45:52 +05:00
Alexandru Ionut Tripon
33deb1da3f MinecraftSettingsWidget: Swap window width/height spinboxes (#4853) 2026-01-25 10:28:23 +02:00
Alexandru Ionut Tripon
1184a28a05 MSAStep: Tighten isSchemeHandlerRegistered check (#4841) 2026-01-25 10:28:13 +02:00
Trial97
7baaa05683 properly redraw viewport when scroll happens
fixes #1504

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2026-01-25 10:23:10 +02:00
Seth Flynn
3833b1e292 build(flatpak): remove
See https://github.com/PrismLauncher/flatpak

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2026-01-25 00:44:28 -05:00
github-actions[bot]
6348eafbda chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'https://releases.nixos.org/nixos/25.11/nixos-25.11.2222.b3aad468604d/nixexprs.tar.xz?lastModified=1766201043&narHash=sha256-v9nbQe0BgwBx%2BKcxRf6i2kbS8EwKjBFRjAawA91B/OE%3D&rev=b3aad468604d3e488d627c0b43984eb60e75e782' (2025-12-20)
  → 'https://releases.nixos.org/nixos/25.11/nixos-25.11.4506.078d69f03934/nixexprs.tar.xz?narHash=sha256-Xu%2B7iYcAuOvsI2wdkUcIEmkqEJbvvE6n7qR9QNjJyP4%3D' (2026-01-22)
2026-01-25 00:33:45 +00:00
Octol1ttle
dd220e61be "British roots ending with '-our' usually have '-or' in American English" thanks clion
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-24 17:13:48 +05:00
Octol1ttle
b4f892cf42 fix(MinecraftSettingsWidget): swap width and height spinboxes to be in their expected positions
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-24 17:13:15 +05:00
Alexandru Ionut Tripon
60a3745e50 Print custom environment variables during instance launch (#4832) 2026-01-22 22:49:33 +02:00
Alexandru Ionut Tripon
1a135af7de refactor: replace std::list with std::vector (#4833) 2026-01-22 22:48:52 +02:00
Alexandru Ionut Tripon
79b76726db chore(config): migrate Renovate config (#4827) 2026-01-22 22:47:10 +02:00
Alexandru Ionut Tripon
2554c37964 Add asserts to invalid Task states (#4835) 2026-01-22 22:40:43 +02:00
Alexandru Ionut Tripon
8abaea382d Add missing returns after task signal activation (#4836) 2026-01-22 22:39:43 +02:00
Alexandru Ionut Tripon
2c59b3342c ModrinthCheckUpdate: Don't send a request that is doomed to fail (#4840) 2026-01-22 22:39:20 +02:00
Octol1ttle
87b3a2ef99 fix(MSAStep): tighten isSchemeHandlerRegistered check
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-23 01:00:01 +05:00
Octol1ttle
fa040fc959 rename Assert.h because it causes conflicts???
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-23 00:34:34 +05:00
Octol1ttle
29afecdbde ModrinthCheckUpdate: don't send a request that is doomed to fail
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-22 22:34:44 +05:00
Octol1ttle
6cb07e203b fix(ResourceFolderModel): don't read state from off-thread task
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-22 22:10:13 +05:00
Octol1ttle
1cd78bf94a code review
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-21 19:15:12 +05:00
Octol1ttle
e27246c3f9 fix: add missing returns after emitSucceeded
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-21 18:30:31 +05:00
Octol1ttle
507de0fcbd fix: add missing returns after emitFailed/Aborted
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-21 18:30:31 +05:00
Octol1ttle
490df18fd5 Introduce macro to assert and return the assertion condition
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-21 18:02:38 +05:00
Octol1ttle
9ac0314d7a Add asserts to invalid Task states
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-21 17:10:14 +05:00
Octol1ttle
06d9079be1 fix: don't manually check for instance overrides
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-21 16:11:25 +05:00
Alexandru Ionut Tripon
b276ede6e5 initilize world size (#4784) 2026-01-21 12:45:05 +02:00
Octol1ttle
19b9557c19 refactor: replace std::list with std::vector
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-21 12:19:55 +05:00
Octol1ttle
ca5e1e0f1b feat: print custom environment variables in log
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-21 11:46:59 +05:00
Octol1ttle
2842defe7f refactor: use variables for string literals
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-21 11:46:31 +05:00
renovate[bot]
de4d8429be chore(config): migrate config renovate.json 2026-01-20 17:46:23 +00:00
Alexandru Ionut Tripon
ef747055af Do not delete LaunchController before we're done using it (#4822) 2026-01-20 16:24:57 +02:00
Octol1ttle
4b72870d49 refactor+fix: do not delete LaunchController before we're done using it, unify code for handling LaunchController finishing
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-20 15:57:52 +05:00
Alexandru Ionut Tripon
f60535dd68 Reformat with editorconfig, add clang-format target (#4556) 2026-01-18 22:57:05 +02:00
Seth Flynn
14df798d78 chore(deps): update azure/trusted-signing-action action to v1 (#4775) 2026-01-18 15:54:55 -05:00
Seth Flynn
70a6d11059 chore(deps): update actions/cache action to v5.0.2 (#4789) 2026-01-18 15:54:16 -05:00
Seth Flynn
5fcd11bec3 hack: resolve dependencies for imageformats on mingw (#4739) 2026-01-18 15:53:55 -05:00
Seth Flynn
fd91f87c21 style: re-format tree with editorconfig
```
find $PWD \
  -type f \
  ! -path '*/.git/*' ! -path '*/flatpak/shared-modules/*' \
  ! -path '*/libraries/*' ! -path '*/testdata/*' ! -name '*.patch' \
  ! -name '*.svg' ! -name '*.scd' ! -path '*/program_info/LICENSE' \
  ! -path '*/COPYING.md' ! -path '*/cmake/*' ! -name '.gitmodules' \
  -exec eclint -fix {} \;
```

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2026-01-18 15:48:07 -05:00
Seth Flynn
686ad72e03 build: add clang-format target
Through the power of CMake itself, we can format our files

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2026-01-18 15:48:01 -05:00
Tayou
1c4d378fc4 fix: improve we couldn't launch after 3 tries message (#4805) 2026-01-18 20:25:34 +01:00
Alexandru Ionut Tripon
e8b5d49154 Take $GRADLE_USER_HOME into account when looking for JDKs (#4790) 2026-01-18 01:17:46 +02:00
DioEgizio
d5da7c9bde fix: improve we couldn't launch after 3 tries message
Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2026-01-17 22:05:57 +01:00
DioEgizio
a98ec194be hack: resolve dependencies for imageformats on mingw
Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2026-01-17 20:45:33 +01:00
Trial97
09f548f688 initilize world size
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2026-01-17 17:34:47 +02:00
Alexandru Ionut Tripon
2e8256e322 fix ftb import for old packs (#4787) 2026-01-17 17:03:59 +02:00
Sefa Eyeoglu
ff34760868 fix build (#4795) 2026-01-17 15:41:57 +01:00
Trial97
d05b996c8a fix build
also fixed some warninigs of unused vars and formated the code again

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2026-01-17 02:28:56 +02:00
Alexandru Ionut Tripon
78bc6657f4 Allow moving accounts in list (#4647) 2026-01-17 02:08:19 +02:00
Alexandru Ionut Tripon
edf1840225 Add icons in settings account list (#4684) 2026-01-17 02:08:02 +02:00
Trial97
3496b7b3a0 fix ftb import for old packs
fixes #4786

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2026-01-17 01:22:25 +02:00
TheKodeToad
6848d60cad refactor!!!: migrate from shared pointers (#4673) 2026-01-16 20:32:17 +00:00
SandaruKasa
267e8f1d33 Take $GRADLE_USER_HOME into account when looking for JDKs
Signed-off-by: SandaruKasa <sandarukasa@ya.ru>
2026-01-16 21:16:14 +03:00
renovate[bot]
70de524c3a chore(deps): update actions/cache action to v5.0.2 2026-01-16 17:59:15 +00:00
renovate[bot]
3ce765fba0 chore(deps): update azure/trusted-signing-action action to v1 2026-01-15 02:07:09 +00:00
Alexandru Ionut Tripon
5f89187719 Fix instance and settings window minimum size (#4769) 2026-01-14 23:24:12 +02:00
Alexandru Ionut Tripon
07100658a8 Allow opting out of pre-compiled headers (#4768) 2026-01-14 23:21:26 +02:00
TheKodeToad
d283726494 Fix new instance window being too large
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2026-01-14 17:07:58 +00:00
TheKodeToad
40c6f79b5f Fix settings window being too large
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2026-01-14 17:07:58 +00:00
TheKodeToad
90e3c59bd8 Fix JavaWizardWidget compilation without PCH
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2026-01-14 16:20:32 +00:00
TheKodeToad
3a16cf3081 Allow toggling pre-compiled headers
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2026-01-14 16:20:26 +00:00
Alexandru Ionut Tripon
9ced66e990 Fix for Prism failing to recognize some shader pack ZIP archives added manually by the user (#4745) 2026-01-14 13:51:47 +02:00
Alexandru Ionut Tripon
2f1ab0162b IconList: Make sure we always set new path (#4753) 2026-01-14 13:50:46 +02:00
Alexandru Ionut Tripon
5a9382d29b chore: make appimage use portals for file picking (#4759) 2026-01-14 13:50:29 +02:00
Alexandru Ionut Tripon
35e64ae2c6 accept libarchive warning result (#4761) 2026-01-14 13:50:01 +02:00
Trial97
a6d6ff9926 accept libarchive warning result
this is the intended behavior to treat warnings as ok, because
teoretically the file was extracted, even if the time of the file can't
be set

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2026-01-14 00:17:17 +02:00
DioEgizio
1b15643fcd chore: make appimage use portals for file picking
much better than Qt's ugly default one

Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2026-01-13 15:35:58 +01:00
Seth Flynn
c2fc0a30b7 Free up disk space on Flatpak builds so they don't crash (#4755) 2026-01-13 01:14:57 -05:00
Octol1ttle
eafce5d5f6 hack: try to free up disk space on Flatpak builds so they don't crash
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-12 23:30:14 +05:00
Alexandru Ionut Tripon
92a2e3b894 auth: improve status messages (#4750) 2026-01-12 20:11:52 +02:00
Octol1ttle
6cbedbe184 fix(IconList): make sure we always set new path
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-12 23:00:45 +05:00
SwitchAxe
809e766aec Fixed formatting
Signed-off-by: SwitchAxe <sofiacerasuoli@gmail.com>
2026-01-12 16:44:01 +01:00
SwitchAxe
7f0f90fcce Improved the check for the assets dir
Signed-off-by: SwitchAxe <sofiacerasuoli@gmail.com>
2026-01-12 14:43:54 +01:00
Octol1ttle
6cddc28e9b auth: improve status messages
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-12 16:48:46 +05:00
SwitchAxe
8aba994312 Made the loop more efficient
Signed-off-by: SwitchAxe <sofiacerasuoli@gmail.com>
2026-01-12 03:36:52 +01:00
Sofia
6321db5942 Update launcher/minecraft/mod/tasks/LocalShaderPackParseTask.cpp
Co-authored-by: Octol1ttle <l1ttleofficial@outlook.com>
Signed-off-by: Sofia <75943257+SwitchAxe@users.noreply.github.com>
2026-01-12 03:25:43 +01:00
SwitchAxe
6ac9de7a11 Fixed Indentation
Signed-off-by: SwitchAxe <sofiacerasuoli@gmail.com>
2026-01-12 02:35:36 +01:00
SwitchAxe
9a93696915 Added support for shader packs with a top-level parent directory
Signed-off-by: SwitchAxe <sofiacerasuoli@gmail.com>
2026-01-12 02:13:56 +01:00
Alexandru Ionut Tripon
5a6f94fe79 Update copyright year (#4740) 2026-01-12 00:22:13 +02:00
Alexandru Ionut Tripon
b7e508870d Set current auth step description in correct method (#4733) 2026-01-12 00:22:01 +02:00
Alexandru Ionut Tripon
73dc92cedd Fix auto-join getting stuck disabled (#4711) 2026-01-12 00:21:51 +02:00
Trial97
508a66aedd Update copyright year
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2026-01-12 00:00:56 +02:00
Octol1ttle
01c1840531 refactor(InstanceList): use vector<unique_ptr> to store instances
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-11 21:00:04 +05:00
Octol1ttle
c24fd2f570 refactor(instance creation): use RAII lock to suspend instance settings saving
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-11 21:00:04 +05:00
Octol1ttle
3937819305 CapeChange: use dummy sink
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-11 21:00:04 +05:00
Octol1ttle
549405ab2f refactor!!!: migrate from shared pointers
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-11 21:00:03 +05:00
Octol1ttle
f0813b578e fix(AuthFlow): set current step description in correct method
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-11 20:05:00 +05:00
Alexandru Ionut Tripon
c64d871a28 Network: log server response on error (#4726) 2026-01-11 15:19:26 +02:00
Alexandru Ionut Tripon
136ad59fad Fix environment variables always being discarded and custom commands always being overriden (#4718) 2026-01-11 15:19:17 +02:00
Alexandru Ionut Tripon
2b04da0c36 Fix shaderpacks folder being hidden (#4707) 2026-01-11 15:19:00 +02:00
Octol1ttle
7f3790bf73 change(NetRequest): log server response on error
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-11 00:19:10 +05:00
Alexandru Ionut Tripon
62e17cd19e fix modrinth environments filter (#4704) 2026-01-10 18:36:38 +02:00
TheKodeToad
cbe77872fa Bump to 10.0.2 (#4713)
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2026-01-09 15:57:24 -07:00
Sefa Eyeoglu
100b2aa6da format the code (#4717) 2026-01-09 22:36:35 +01:00
TheKodeToad
01228cc0b7 Fix broken EnvironmentVariables and CustomCommands when tab is inactive
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2026-01-09 21:13:12 +00:00
Trial97
53acc60983 format the code
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2026-01-09 22:28:25 +02:00
Mark Deneen
133842d6a8 Disable tooltips if using gamescope / Steam Deck. (#4096)
* Disable tooltips if using gamescope / Steam Deck.

On a Steam Deck, Prism Launcher's window is scaled to fit the screen.
Whenever a tool tip is shown, it is often display outside of the window,
causing the compositor to scale the view to fit the new bounding box.

This effect is quite jarring, and I don't like it.  This patch adds a
small global event filter which swallows up the tool tip events.  It is
currently not configurable, although I suppose that could be an option.

Signed-off-by: Mark Deneen <mdeneen@gmail.com>

* Move tooltip filter addition from the Main Window to the Application.

Signed-off-by: Mark Deneen <mdeneen@gmail.com>

* Add license information to new files

Signed-off-by: Mark Deneen <mdeneen@gmail.com>

* Remove other authors, they should not have been added in the first place

Signed-off-by: Mark Deneen <mdeneen@gmail.com>

* Correct the years as well

Signed-off-by: Mark Deneen <mdeneen@gmail.com>

* Update launcher/ui/ToolTipFilter.cpp

Co-authored-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
Signed-off-by: Mark Deneen <mdeneen@gmail.com>

* Update launcher/ui/ToolTipFilter.h

Co-authored-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
Signed-off-by: Mark Deneen <mdeneen@gmail.com>

---------

Signed-off-by: Mark Deneen <mdeneen@gmail.com>
Co-authored-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2026-01-09 22:13:45 +02:00
Alexandru Ionut Tripon
99c5c7b990 remove curseforge api key validation (#4700) 2026-01-09 22:13:08 +02:00
Alexandru Ionut Tripon
1d659b5c68 fix jpg icons (#4706) 2026-01-09 22:12:58 +02:00
TheKodeToad
c7501b747e fix curseforge import (#4699) 2026-01-09 19:24:21 +00:00
TheKodeToad
e856f60804 Fix auto-join getting stuck disabled
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2026-01-09 18:42:46 +00:00
Trial97
3f53670cc2 fix jpg icons
fixes #4686 and fixes #4666
Forces jpg and jpeg to go through QPixmap first then to Icon.
The original behaivior used the QIcon internal engine to build the
QPixmap causing some inconsitencies.

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2026-01-09 16:36:05 +02:00
TheKodeToad
3e7ef5ee17 Fix shaderpacks folder being hidden on Windows
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2026-01-09 13:54:14 +00:00
Trial97
a97c15d0fb fix modrinth environments filter
fixes #4630
reversed the conditions to check for side because somewhere the mod side
is no initilized(easier to check one line than search where it is not
initialized)

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2026-01-09 12:07:03 +02:00
Trial97
7f952d9fdf remove curseforge api key validation
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2026-01-08 23:34:06 +02:00
Trial97
398689637d fix curseforge import
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2026-01-08 23:12:31 +02:00
Alexandru Ionut Tripon
3b1a5dd3c0 Remove prismlauncher-qt5-git badge from README (#4696) 2026-01-08 18:24:13 +02:00
Elliott Tallis
ada0401137 Remove prismlauncher-qt5-git badge from README
AUR has been deleted since Qt 5 builds are no longer possible

Signed-off-by: Elliott Tallis <tallis.elliott@gmail.com>
2026-01-08 15:54:24 +00:00
Alexandru Ionut Tripon
3e5990f8ec Update build instructions links in README (#4688) 2026-01-07 21:34:27 +02:00
Dylan Renwick
e91d05922a Update build instructions links in README
Signed-off-by: Dylan Renwick <skidsirongenesisdev@gmail.com>
2026-01-07 14:08:01 -05:00
Octol1ttle
fa88edf8c3 Use real move instead of remove-then-insert
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-07 20:21:03 +05:00
TheKodeToad
9be292b845 Use AccountList as model in ProfileSelectDialog
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2026-01-07 11:28:41 +00:00
TheKodeToad
fc1e29111b Add icons to account list
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2026-01-07 11:28:38 +00:00
Alexandru Ionut Tripon
d191f83a62 Check that mouse press is inside view rectangle of CheckComboBox (#4681) 2026-01-07 12:26:22 +02:00
Alexandru Ionut Tripon
6ae06249cb Skip asking for offline name when using offline account (#4680) 2026-01-07 12:25:53 +02:00
Octol1ttle
39e283169e fix(CheckComboBox): check that mouse press is inside view rectangle
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-07 14:03:38 +05:00
Octol1ttle
2e6efab913 fix: skip asking for offline name when using offline account
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-07 13:27:04 +05:00
Seth Flynn
c3bcfec5e4 Fix AppImage zsync information (#4671) 2026-01-06 18:52:32 -05:00
Seth Flynn
4037446051 build(appimage): use tag for version when available
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2026-01-06 18:40:20 -05:00
Octol1ttle
40af45bb1c feat: allow moving accounts in list
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-07 04:17:47 +05:00
Seth Flynn
20055aa2fa Automatically use vcpkg to build on macOS and Windows (#4670) 2026-01-06 17:38:07 -05:00
Seth Flynn
44bf3aad29 build(macos/windows): automatically use vcpkg
Previously `CMAKE_TOOLCHAIN_FILE` needed to be set manually, which was
kinda pointless when vcpkg is already installed and meant to be used

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2026-01-06 17:08:44 -05:00
Alexandru Ionut Tripon
31da9f51f0 Don't use .index for shaderpacks (#4658) 2026-01-06 23:53:17 +02:00
Alexandru Ionut Tripon
3b967ee195 Bump to 10.0.1 (#4662) 2026-01-06 23:36:55 +02:00
TheKodeToad
3a7366a998 Fix oversights and make requested changes
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2026-01-06 20:16:46 +00:00
TheKodeToad
e4991d81d7 Avoid some errors (less noisy log)
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2026-01-06 17:55:44 +00:00
TheKodeToad
398305eb66 Less destructive delete
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2026-01-06 17:54:16 +00:00
TheKodeToad
ea7122b641 Bump to 10.0.1
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2026-01-06 17:49:45 +00:00
TheKodeToad
d625a28112 Properly show shaderpacks in export
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2026-01-06 16:47:05 +00:00
TheKodeToad
1cf48dfd85 Don't use .index for shaderpacks
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2026-01-06 15:05:23 +00:00
Alexandru Ionut Tripon
639268798b fix manifest generation for linux (#4649) 2026-01-06 17:01:44 +02:00
Alexandru Ionut Tripon
db0bdc6bed Modified the plist to categorize it as a game [Mac] (#4619) 2026-01-06 14:19:11 +02:00
Alexandru Ionut Tripon
318a12cee6 change(program_info): more brand unhardcoding (#4648) 2026-01-06 14:16:17 +02:00
Alexandru Ionut Tripon
9b7630485f use libarchive to extract release files (#4641) 2026-01-06 14:15:35 +02:00
Trial97
681c635f0e fix manifest generation for linux
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2026-01-06 14:01:51 +02:00
Octol1ttle
abd482db4a change(program_info): unhardcode brand from macOS bundle GUI identifier
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-06 16:54:46 +05:00
Octol1ttle
c46eaec046 change(program_info): unhardcode brand from Windows files
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-06 16:54:13 +05:00
Alexandru Ionut Tripon
d6942089cd Change enum style guideline to PascalCase (#4623) 2026-01-06 12:57:23 +02:00
Alexandru Ionut Tripon
009b65cc1d refactor: remove broken Qt includes (#4643) 2026-01-06 12:54:42 +02:00
Octol1ttle
56392a20ed refactor: remove broken Qt includes
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-06 15:51:47 +05:00
Trial97
7b0896a0b9 use libarchive to extract release files
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2026-01-06 12:51:23 +02:00
Alexandru Ionut Tripon
b32bc08b34 ci: actually sign windows builds in Release env (#4632) 2026-01-05 20:34:47 +02:00
Seth Flynn
939093d648 ci: actually sign windows builds in Release env
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2026-01-05 13:32:03 -05:00
TheKodeToad
55102d4113 Change enum style guideline to PascalCase
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2026-01-04 10:16:28 +00:00
David Kaluta
094425552b Modified the plist to categorize it as a game
Signed-off-by: David Kaluta <mail@dkaluta.com>
2026-01-02 13:42:41 +02:00
Alexandru Ionut Tripon
fe2e171fa1 feat: use Qt 6.10.1 outside mac and use sharun for portable builds too (#4599) 2025-12-31 14:25:26 +02:00
DioEgizio
36ffd6b4ee chore: bump to ubuntu 24.04
no reason to keep using 22.04 with sharun

Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2025-12-31 09:18:15 +01:00
DioEgizio
015ee05311 chore: simplify Launcher.in quite a bit
not necessary anymore with sharun

Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2025-12-31 09:18:15 +01:00
DioEgizio
20f9784881 feat: Qt 6.10.1 outside macOS
Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2025-12-31 09:18:15 +01:00
Alexandru Ionut Tripon
840bed0666 Include ARM Linux portable builds in releases (#4609) 2025-12-31 08:46:41 +02:00
Alexandru Ionut Tripon
7e4e1de68e Remove some CI jobs (#4608) 2025-12-31 08:43:07 +02:00
Alexandru Ionut Tripon
3aab71ea3d ci: use Release env for releases (#4605) 2025-12-31 08:36:39 +02:00
Alexandru Ionut Tripon
b9e8ddac2b Add qtimageformats to Nix wrapper (#4606) 2025-12-31 08:35:13 +02:00
Seth Flynn
c059e812a0 ci: fail releases on unmatched files
This previously let bugs slip in, like not uploading the Linux ARM
tarball

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-12-30 20:47:58 -05:00
Seth Flynn
d4230349e3 ci: upload portable linux arm tarball to releases
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-12-30 20:47:35 -05:00
Seth Flynn
abe0c8e687 ci(flatpak): only build for x86_64
The flatpaks from CI aren't very usable in the first place, but also
take longer to complete than regular builds, as well as contribute to
our concurrent job limit. Dropping ARM builds shouldn't have much
impact, but this can obviously be reversed if people want it

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-12-30 20:07:56 -05:00
Seth Flynn
698e1dd7cf ci(nix): don't build for intel macs
These are being dropped by Nixpkgs itself soon in the near future, with
few users (on top of reduced usage of our flake/cache). We also already
have coverage for macOS builds through the aarch64-darwin target, so
this doesn't have a big impact on our end either

Obviously can be reverted if enough people want it

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-12-30 20:07:41 -05:00
Seth Flynn
df1573abfd chore: use go-appimage soft fork until the pgp pr is merged (#4588) 2025-12-30 19:56:01 -05:00
Seth Flynn
99d00957b7 fix(nix): add qtimageformats to wrapper
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-12-30 19:52:11 -05:00
Seth Flynn
44e927a69e ci: only sign windows artifacts in Release environment
`CI_HAS_ACCESS_TO_AZURE` is only set in our Release env

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-12-30 19:35:30 -05:00
Seth Flynn
d1313cbd2d ci: use Release env for releases
This ensures we have access to Azure on CI runs for tags

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-12-30 19:32:38 -05:00
DioEgizio
16635ca9fc feat: use sharun for portable builds too
Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2025-12-29 08:42:14 +01:00
DioEgizio
57c4b71c61 fix: improve a bit the FTB packs are also on cf notice
Co-authored-by: TheKodeToad <TheKodeToad@proton.me>
Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2025-12-27 15:10:30 +01:00
DioEgizio
31dd8cd9f8 chore: add new ftb packs are also on cf notice
Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2025-12-27 15:10:30 +01:00
Alexandru Ionut Tripon
993da92199 feat: Use precompiled headers for 130-180% speedup (#4494) 2025-12-26 23:41:37 +02:00
Alexandru Ionut Tripon
e3c79b3427 CMakeLists: fix ASan compile options (#4590) 2025-12-26 23:40:31 +02:00
Alexandru Ionut Tripon
91bd74198e fix(APIPage.ui): resolve duplicate name (#4591) 2025-12-26 23:40:11 +02:00
Octol1ttle
de092922d7 fix(APIPage.ui): resolve duplicate name
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2025-12-26 20:06:05 +05:00
Octol1ttle
1fdc33669b CMakeLists: fix ASan compile options
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2025-12-26 19:57:44 +05:00
DioEgizio
a4b142681d chore: use go-appimage soft fork until the pgp pr is merged
revert this once it's merged!

Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2025-12-26 15:27:18 +01:00
Alexandru Ionut Tripon
8e3be68c65 Force disable xrandr if it is unavailable (#4578) 2025-12-26 12:10:39 +02:00
Blake Batson
e0c2fbbcde Force disable xrandr if it is unavailable
lwjgl2 optionally requires the xrandr command line utility on linux, but
does not check if the executable actually exists before trying to use
it. We can force it to fall back to the xf86videomode implementation
by checking for the executable ourselves, and force disabling xrandr
with this boolean [1] if it does not exist.

Link: 2df01dd762/src/java/org/lwjgl/opengl/LinuxDisplay.java (L214) [1]
Signed-off-by: Blake Batson <bbatson101@gmail.com>
2025-12-25 14:09:50 -05:00
Alexandru Ionut Tripon
76d1cd1b4e fix mod update remaining disabled on second open (#4573) 2025-12-24 00:10:32 +02:00
Alexandru Ionut Tripon
072eaa32ec preserve original file extension when importing modpack icon (#4565) 2025-12-23 22:44:53 +02:00
Trial97
7f68f2fe3b fix mod update remaining disabled on second open
fixes
https://discord.com/channels/1031648380885147709/1450161125172707390/1453013386144124929
basically when opening the edit window a second time the model doesn't
get any updates as the data is already loaded into the memory.

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-12-23 22:32:52 +02:00
Alexandru Ionut Tripon
c59db39e06 match disabled mods on uninstall (#4544) 2025-12-22 23:55:25 +02:00
Alexandru Ionut Tripon
d18a6909c1 fix Pre-release filter (#4563) 2025-12-22 23:45:37 +02:00
Trial97
8e96beeda0 preserve original file extension when importing modpack icon
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-12-22 22:50:43 +02:00
Alexandru Ionut Tripon
9504ed500a build(mingw): use dwarf debug info (#4554) 2025-12-22 20:12:16 +02:00
Trial97
b1408775b3 fix Pre-release filter
introduced here https://github.com/PrismLauncher/PrismLauncher/pull/3260
fixes #4415
reason: some snapshot have Pre-Release in our meta but when searching in
Modrinth this needs to be translated to -pre and the reverse needed to
be done for filtering after we fetched the version.
Now there are snapshots with -pre in name and that works with Modrinth
but when we translate it back we replace it with Pre-Release so the
easeiest patch is just to double the version(one with -pre one with
Pre-Release)

The correct one would be to complicate the code and identify the
versions that need the transition and only apply this for those.

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-12-22 19:55:47 +02:00
Alexandru Ionut Tripon
8a84f5fc1d fix legacy skin model (#4511) 2025-12-22 19:32:25 +02:00
Alexandru Ionut Tripon
c723b3abe8 Update launcher/minecraft/skins/SkinModel.cpp
Co-authored-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2025-12-22 18:22:32 +02:00
Trial97
4b96c5736c add copyright for modrinth code
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-12-22 18:20:06 +02:00
timoreo
c7bf324e64 build(nix): use nixos-25.11 channel for nixpkgs (#4559) 2025-12-22 17:00:36 +01:00
Seth Flynn
5ee33814b6 build(nix): use nixos-25.11 channel for nixpkgs
This makes `clangd` work again, thanks to
https://github.com/NixOS/nixpkgs/pull/462747

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c6245e83d836d0433170a16eb185cefe0572f8b8' (2025-12-18)
  → 'https://releases.nixos.org/nixos/25.11/nixos-25.11.2222.b3aad468604d/nixexprs.tar.xz?lastModified=1766201043&narHash=sha256-v9nbQe0BgwBx%2BKcxRf6i2kbS8EwKjBFRjAawA91B/OE%3D&rev=b3aad468604d3e488d627c0b43984eb60e75e782' (2025-12-20)

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-12-22 10:27:11 -05:00
Seth Flynn
ea84621d2f Make blocked/stacked pr detection more flexible with capitalization (#4557) 2025-12-22 09:54:56 -05:00
Seth Flynn
d85ff94f03 build(mingw): use dwarf debug info
As it turns out, LLDB can load Windows crash dumps!

This allows us go back to the regular (better supported) DWARF debuginfo
format used by MinGW, as now we have a tool that can both parse those
symbols *and* Windows' crash dumps. The biggest advantage here is that
once again, MinGW crash dumps can be easily inspected on Linux

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-12-22 09:53:42 -05:00
Seth Flynn
39c4e7c79b fix(build): handle CMAKE_BUILD_TYPE with generator expressions (#4553) 2025-12-22 09:50:19 -05:00
Rachel Powers
586364e3b6 Make blocked/stacked pr detection more flexible with capitalization
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-12-22 02:51:58 -07:00
Seth Flynn
85849fea41 fix(build): handle CMAKE_BUILD_TYPE with generator expressions
Since we've started using ninja's multi-config generator, evaluating
CMAKE_BUILD_TYPE at configure-time is no longer reliable. Thankfully,
CMake offers "generator expressions" that are evaluated during build
system generation, which allows us to continue using these conditional
flags without much headache

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-12-22 03:21:10 -05:00
Alexandru Ionut Tripon
ee21ad836f fix modrinth modpack allways download latest (#4549) 2025-12-22 10:09:42 +02:00
Trial97
d7745d97f2 fix modrinth modpack allways download latest
fixes #4547
introduced by #3828
made a mistake to use addonId instead ov fileId
this only applies to modrinth
on curseforge I could not reproduce this bug

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-12-21 22:45:57 +02:00
Alexandru Ionut Tripon
49b66d8a54 chore(nix): update lockfile (#4545) 2025-12-21 09:50:46 +02:00
timoreo
52240cc64c fix accounts crash (#4543) 2025-12-21 05:33:14 +01:00
github-actions[bot]
6732d7f99c chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/2fbfb1d73d239d2402a8fe03963e37aab15abe8b?narHash=sha256-9VvC20PJPsleGMewwcWYKGzDIyjckEz8uWmT0vCDYK0%3D' (2025-12-11)
  → 'github:NixOS/nixpkgs/c6245e83d836d0433170a16eb185cefe0572f8b8?narHash=sha256-G/WVghka6c4bAzMhTwT2vjLccg/awmHkdKSd2JrycLc%3D' (2025-12-18)
2025-12-21 00:31:41 +00:00
Trial97
08c45684de match disabled mods on uninstall
fixes #4537
This ensures that when looking to uninstall a resource prism will
consider the disabled ones to.
Right now we have a guard in place to prevent resources using the same
name so this check will allways match with the correct resouce.

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-12-20 23:54:31 +02:00
Trial97
f4b22dae90 fix accounts crash
fixes #4541
introduced in
3c46d8a412
The original commit introduced m_name but never used it.
When the endActivity would be called with a count of 0 this would crash
the laucnher.
How to reproduce: try to switch your skin in quick succession until you
get 429 too many requests as response to the login.
I will also presume this is not the only crash caused by this(hopefully
it is as it was not catched for four years)

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-12-20 23:23:27 +02:00
Alexandru Ionut Tripon
d3f59a8a43 fix(skin-preview): smoother chessboard background contrast (#4534) 2025-12-20 18:51:04 +02:00
Tayou
5c6c92f286 fix skin preview leg rendering (#4538) 2025-12-20 13:00:06 +01:00
Tayou
fcf201755c fix skin preview leg rendering
Signed-off-by: Tayou <git@tayou.org>
2025-12-20 08:50:49 +01:00
Rachel Powers
42b72d676c fix(skin-preview): smoother chessboard background contrast
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-12-19 16:53:31 -07:00
Alexandru Ionut Tripon
877b824c3b fix skin depth (#4524) 2025-12-19 20:26:51 +02:00
Alexandru Ionut Tripon
2f540ffc61 fix elytra preview (#4525) 2025-12-19 20:26:35 +02:00
Seth Flynn
53fbc39ad1 Use sharun to bundle AppImage (#4515) 2025-12-19 03:43:51 -05:00
Alexandru Ionut Tripon
d1df515bcc Updated App icon for macOS 26 (#4160) 2025-12-19 10:37:25 +02:00
Trial97
e360a95c23 fix elytra preview
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-12-19 01:14:19 +02:00
Trial97
624d506fac fix skin depth
The skin overlay was drawn together with the original skin making it
blend weirdly. By drawing the overlay after the skin this blends with
the body corectly.

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-12-19 00:01:39 +02:00
Alexandru Ionut Tripon
53e090f035 Trim unexpected info from pack.mcmeta (#4522) 2025-12-18 23:51:15 +02:00
Dylan Schooner
51b47050f9 Check specifically for GarbageAtEnd error
- Out parameter for garbage data\n- Rename parseUntilMalformed to parseUntilGarbage

Signed-off-by: Dylan Schooner <dschooner05@gmail.com>
2025-12-18 15:23:48 -05:00
Dylan Schooner
9c7fe72f9c Use Json::parseUntilMalformed in McClient::parseResponse
Signed-off-by: Dylan Schooner <dschooner05@gmail.com>
2025-12-18 14:14:29 -05:00
Dylan Schooner
e1eee6e3ca Add Json::parseUntilMalformed helper
Signed-off-by: Dylan Schooner <dschooner05@gmail.com>
2025-12-18 13:33:13 -05:00
Dylan Schooner
43fce3ae46 Trim unexpected info from pack.mcmeta
Signed-off-by: Dylan Schooner <dschooner05@gmail.com>
2025-12-18 12:34:41 -05:00
Alexandru Ionut Tripon
018ff600f6 Use static image when opengl context is not available (#4509) 2025-12-18 13:21:00 +02:00
Seth Flynn
5d5f22e672 ci(linux): verify appstream info for appimages
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-12-17 23:53:47 -05:00
Seth Flynn
e39e59acb6 revert: "fix(launcher): set correct bin path for self-contained appimages"
Refs: b1b4b5d
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-12-17 23:53:47 -05:00
Seth Flynn
1d8bf82ef8 revert: "fix(appimage): launch external processes with bundled linker"
Refs: c305ed4
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-12-17 23:53:46 -05:00
Seth Flynn
06e99e2990 build(linux): use sharun for appimage bundling
This should fix issues with OpenGL, as well as help as avoid using some
annoying (and fragile) hacks to locate our actual binary/other resources

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-12-17 23:53:42 -05:00
Trial97
f7111b6ec1 fix legacy skin model
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-12-17 00:03:19 +02:00
Alexandru Ionut Tripon
3c570f9e9c Update launcher/ui/dialogs/skins/SkinManageDialog.cpp
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2025-12-16 20:56:41 +02:00
Alexandru Ionut Tripon
1dd8c9606f server player req: parse malformed json (#4512) 2025-12-16 16:35:20 +02:00
Tayou
5ebd386797 server player req: parse malformed json
ATM10 server seems to send a extra json object after the default response, that we need to cut off.
Signed-off-by: Tayou <git@tayou.org>
Co-authored-by: Trial97 <alexandru.tripon97@gmail.com>
2025-12-16 14:51:01 +01:00
Trial97
177e7b272b Use static image when opengl context is not available
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-12-16 13:36:28 +02:00
Alexandru Ionut Tripon
8cfed54399 fix: actually fix toml++ on fedora (#4506) 2025-12-16 10:27:25 +02:00
DioEgizio
9aa1a4d11b fix: actually fix toml++ on fedora
oops

Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2025-12-16 08:44:56 +01:00
Alexandru Ionut Tripon
92a12b5617 chore(deps): update korthout/backport-action action to v4.0.1 (#4500) 2025-12-16 08:50:49 +02:00
renovate[bot]
981b3fc48e chore(deps): update korthout/backport-action action to v4.0.1 2025-12-15 18:07:32 +00:00
Seth Flynn
fc3c5cba30 Use multibyte encoding aware libarchive functions when dealing with filenames (#4457) 2025-12-15 08:09:25 -05:00
Rachel Powers
b40544dc55 fix: remove locale forcing as unnecessary
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-12-14 22:43:22 -07:00
Rachel Powers
e53093c4b4 feat: Use pre-compiled headers
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-12-14 21:15:23 -07:00
Alexandru Ionut Tripon
bf0d0a1d5b change(Actions): cancel outdated builds (#4483) 2025-12-14 19:32:04 +02:00
Richard Voigtmann
e7f801c4c4 Add suggestion from code review
Co-authored-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
Signed-off-by: Richard Voigtmann <71901885+ShadowPaint-SP@users.noreply.github.com>
2025-12-14 11:07:19 +01:00
Richard Voigtmann
e46b0335ab xCode version check
Signed-off-by: Richard Voigtmann <richard.v.voigtmann@gmail.com>
2025-12-14 09:46:53 +01:00
Alexandru Ionut Tripon
fd338ce273 chore(nix): update lockfile (#4488) 2025-12-14 08:44:18 +02:00
Rachel Powers
c33d104dc3 fix leak of cloned entry (#4487) 2025-12-13 18:52:49 -07:00
Richard Voigtmann
e125f4767f removed unnecessary Option from actool command and failsafe attempt for older versions
Signed-off-by: Richard Voigtmann <richard.v.voigtmann@gmail.com>
2025-12-14 02:14:27 +01:00
github-actions[bot]
7e9324be20 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/f61125a668a320878494449750330ca58b78c557?narHash=sha256-BmPWzogsG2GsXZtlT%2BMTcAWeDK5hkbGRZTeZNW42fwA%3D' (2025-12-05)
  → 'github:NixOS/nixpkgs/2fbfb1d73d239d2402a8fe03963e37aab15abe8b?narHash=sha256-9VvC20PJPsleGMewwcWYKGzDIyjckEz8uWmT0vCDYK0%3D' (2025-12-11)
2025-12-14 00:31:50 +00:00
Rachel Powers
59313204b2 chore(deps): update korthout/backport-action action to v4 (#4485) 2025-12-13 16:06:14 -07:00
Rachel Powers
95d2789199 fix archive detection (#4486) 2025-12-13 16:02:50 -07:00
Alexandru Ionut Tripon
960c3a56b0 fix: bundle cmark in portable build (#4476) 2025-12-14 00:56:40 +02:00
Alexandru Ionut Tripon
66c9fafbe8 Use old ProjectItem highlight on Windows styles (#4466) 2025-12-14 00:56:30 +02:00
Alexandru Ionut Tripon
ed63a355b0 fix partial java download (#4472) 2025-12-14 00:55:05 +02:00
Alexandru Ionut Tripon
aa3d78b3dc Fix server columns text other than name being invisible (#4475) 2025-12-14 00:54:42 +02:00
TheKodeToad
caa69ee204 Allow http://localhost for meta (#4477) 2025-12-13 22:53:05 +00:00
Trial97
f05fd4da2b fix leak of cloned entry
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-12-14 00:20:24 +02:00
Trial97
e775629e1f fix archive detection
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-12-14 00:03:34 +02:00
Alexandru Ionut Tripon
7eaaf6a224 chore(deps): update actions/cache action to v5.0.1 (#4478) 2025-12-13 23:41:19 +02:00
Alexandru Ionut Tripon
6955c14a4b chore(deps): update github artifact actions (major) (#4479) 2025-12-13 23:40:54 +02:00
Richard Voigtmann
7f740e4ad6 added mono to brew because macos 26 runner doesnt include it
Signed-off-by: Richard Voigtmann <richard.v.voigtmann@gmail.com>
2025-12-13 21:50:40 +01:00
Richard Voigtmann
7cb623e800 bumped macos runner version to 26
Signed-off-by: Richard Voigtmann <richard.v.voigtmann@gmail.com>
2025-12-13 15:57:58 +01:00
renovate[bot]
c865c5b820 chore(deps): update korthout/backport-action action to v4 2025-12-13 13:14:26 +00:00
DioEgizio
891eb825d9 fix: bundle cmark in portable build
fixes portable not working outside ubuntu

Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2025-12-13 08:51:55 +01:00
Octol1ttle
5d48e13d21 change(Actions): cancel outdated builds
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2025-12-13 12:41:11 +05:00
renovate[bot]
3b715ada07 chore(deps): update github artifact actions 2025-12-12 21:58:12 +00:00
renovate[bot]
a159b64e72 chore(deps): update actions/cache action to v5.0.1 2025-12-12 21:58:08 +00:00
TheKodeToad
d818f232e3 Allow http://localhost for meta
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-12-12 17:21:00 +00:00
Richard Voigtmann
d53b785a1c implemented recommended changes -reverted .icns file instellation
Signed-off-by: Richard Voigtmann <richard.v.voigtmann@gmail.com>
2025-12-12 16:12:00 +01:00
Alexandru Ionut Tripon
9a505a07c0 Make page sidebar look less disjointed on breeze (#4465) 2025-12-12 14:51:36 +02:00
TheKodeToad
0d7244d56f Remove unused code
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-12-12 12:18:56 +00:00
TheKodeToad
7baac92f56 Fix server columns being totally invisible
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-12-12 12:07:19 +00:00
Seth Flynn
f155269f6d fix(InstanceImportTask): stream archive reads (#4459) 2025-12-12 02:41:31 -05:00
Trial97
0f7320ff1d fix partial java download
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-12-12 09:34:54 +02:00
timoreo
f5e122bda2 chore(deps): update cachix/install-nix-action digest to 4e002c8 (#4467) 2025-12-12 08:21:13 +01:00
Trial97
9cd199a49e fix use-afrer-free crash caused by QtConcurrent
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-12-12 09:00:30 +02:00
Alexandru Ionut Tripon
f024251e12 chore(deps): update actions/cache action to v5 (#4471) 2025-12-12 08:54:16 +02:00
renovate[bot]
52fe83f3c4 chore(deps): update actions/cache action to v5 2025-12-12 02:03:11 +00:00
renovate[bot]
6fe989d043 chore(deps): update cachix/install-nix-action digest to 4e002c8 2025-12-11 20:35:10 +00:00
TheKodeToad
81f34be053 Use old ProjectItem highlight on Windows styles
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-12-11 15:46:31 +00:00
TheKodeToad
2b949d5fdd Make page container hug edges of dialog <3
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-12-11 14:07:02 +00:00
Richard Voigtmann
a7dd3aeaab replaced binary with in ci building of Icons
Signed-off-by: Richard Voigtmann <richard.v.voigtmann@gmail.com>
2025-12-11 11:58:11 +01:00
Trial97
808b09c403 improve archive detection
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-12-11 12:54:49 +02:00
Alexandru Ionut Tripon
40d1dccb9b chore: Re-simplify IndexVersionType and MessageLevel with c++20 (#4455) 2025-12-11 12:51:31 +02:00
Rachel Powers
28d27d4f19 refactor(MessageLevel): move and rename 'FromLine*' functions
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-12-11 09:59:33 -07:00
Rachel Powers
d1b6d7c402 chore: Re-simplify IndexVersionType and MessageLevel with c++20
This sets our compiler requirements to gcc 11 and clang 13. If we
forgo the use of `using enum` we can drop to gcc 10 and clang 10 but
that means using `MessageLevel::Enum::Unknown` for direct enum access

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-12-11 09:59:33 -07:00
Rachel Powers
5e7de6bc53 Apply suggestions from code review
Co-authored-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-12-10 22:01:36 -07:00
Seth Flynn
30f24dae11 fix(appimage): launch updater with bundled linker (#4425) 2025-12-10 23:30:21 -05:00
Seth Flynn
66f1ca25ae Update in-tree flatpak to use KDE Platform 6.10 (#4452) 2025-12-10 23:27:50 -05:00
Seth Flynn
afe99948c2 fix(updater): re-use binPath to determine launcher binary path
Previously this would use the un-adjusted value from Qt, allowing it to
fail in edge cases like self-contained AppImages

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-12-10 22:23:09 -05:00
Seth Flynn
c305ed4506 fix(appimage): launch external processes with bundled linker
This ensures that external processes (including our updater and
Minecraft itself) maintain the same compatibility guarantees as the main
binary

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-12-10 22:23:01 -05:00
Alexandru Ionut Tripon
bc68192895 Expand variables in JVM args and add library_dir variable (#4427) 2025-12-09 21:09:03 +02:00
Alexandru Ionut Tripon
f72db9843d Properly rename shader config on update/version change (#4454) 2025-12-09 21:08:19 +02:00
TheKodeToad
66c8afe4d3 Simplify implementation by removing some unused code
Only applies to cauldron loader which doesn't exist on Modrinth or
CurseForge, and doesn't even make sense for shaders.

Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-12-09 11:42:17 +00:00
TheKodeToad
2477c4f021 Use FS::move instead; check new config does not exist
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-12-09 11:04:01 +00:00
Rachel Powers
87286fa6a3 fix(libarchive): use multibyte encoding aware libarchive functions when dealing with filenames
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-12-08 21:31:58 -07:00
TheKodeToad
826da57944 Properly rename shader config on update/version change
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-12-08 22:43:29 +00:00
Rachel Powers
c10681831c Fix typo in contributors section of README (#4448) 2025-12-08 14:09:15 -07:00
DioEgizio
33547c639c chore: Update in-tree flatpak to use kde platform 6.10
6.8 is eol. Also 6.10 requires codecs-extra so it fixes compatibility with replaymod.

flathub should also get updated to 6.10 but it's not as important because 6.9 isnt eol

Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2025-12-08 15:00:26 +01:00
Alexandru Ionut Tripon
2e3097d5ca fix log window margins (#4428) (#4451) 2025-12-08 14:44:05 +02:00
Tayou
0e68ba900f fix log window margins (#4428)
closes #4428
Signed-off-by: Tayou <git@tayou.org>
2025-12-08 13:20:46 +01:00
Alexandru Ionut Tripon
45fd2a89ad Only continue log level if line starts with whitespace (#4430) 2025-12-08 12:42:31 +02:00
TheKodeToad
4f5e348b66 Merge branch 'develop' into fix-log-level-bleed
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-12-08 09:21:27 +00:00
Sheldon Corkery
67aa140fae Fix typo in contributors section of README
Signed-off-by: Sheldon Corkery <sheldonmcorkery@gmail.com>
2025-12-07 19:32:31 -06:00
Alexandru Ionut Tripon
551382d0f6 EditorConfig essentials (#4445) 2025-12-08 01:12:08 +02:00
Alexandru Ionut Tripon
ff98c350a1 Simplify MessageLevel and IndexedVersionType enums (#4446) 2025-12-07 23:39:57 +02:00
TheKodeToad
0853afe274 Fix tests
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-12-07 16:40:18 +00:00
Alexandru Ionut Tripon
ec129eeee8 chore(nix): update lockfile (#4438) 2025-12-07 17:04:50 +02:00
TheKodeToad
22df159a9b clang-format: specify access modifier offset used in codebase (#4442) 2025-12-07 14:44:18 +00:00
TheKodeToad
de5c7bac72 Simplify IndexedVersionType::VersionType -> IndexedVersionType
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-12-07 14:34:00 +00:00
TheKodeToad
fd3ae85d45 Simplify MessageLevel::Enum -> MessageLevel
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-12-07 13:15:22 +00:00
TheKodeToad
c9d3f050a1 EditorConfig essentials
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-12-07 12:09:41 +00:00
TheKodeToad
0fd945b3db EditorConfig: set continuation indent size in CMakeLists for IntelliJ (#4443) 2025-12-07 11:08:17 +00:00
Octol1ttle
1344dcb27e EditorConfig: set continuation indent size in CMakeLists for IntelliJ
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2025-12-07 12:45:35 +05:00
Octol1ttle
904e8ef1ed clang-format: specify access modifier offset used in codebase
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2025-12-07 12:30:49 +05:00
github-actions[bot]
61f94f50c8 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/2fad6eac6077f03fe109c4d4eb171cf96791faa4?narHash=sha256-sKoIWfnijJ0%2B9e4wRvIgm/HgE27bzwQxcEmo2J/gNpI%3D' (2025-11-27)
  → 'github:NixOS/nixpkgs/f61125a668a320878494449750330ca58b78c557?narHash=sha256-BmPWzogsG2GsXZtlT%2BMTcAWeDK5hkbGRZTeZNW42fwA%3D' (2025-12-05)
2025-12-07 00:31:09 +00:00
TheKodeToad
aa0bd45d6c LaunchController: fix offline launches always failing (#4436) 2025-12-06 21:32:14 +00:00
Octol1ttle
86fd58e6cb Apply suggestions from code review
Co-authored-by: TheKodeToad <TheKodeToad@proton.me>
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2025-12-06 16:34:59 +05:00
Octol1ttle
04a405067d fix(LaunchController): correctly communicate if asking for offline name was successful
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2025-12-06 14:37:39 +05:00
TheKodeToad
c018b60816 Only continue log level if line starts with whitespace; reintroduce exception detection
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-12-05 12:38:21 +00:00
TheKodeToad
4ae0b3d898 Replace QDir("libraries/").absolutePath() with metacache solution
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-12-05 11:56:56 +00:00
TheKodeToad
cbf2f14b3f Add library_dir var
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-12-05 11:26:58 +00:00
TheKodeToad
069dacd464 Expand variables in JVM args
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-12-05 10:47:11 +00:00
Seth Flynn
92738feeba build: manually specify appimage update information (#4423) 2025-12-04 06:44:52 -05:00
Seth Flynn
e8d33e5af1 build: manually specify appimage update information
Previously this targeted the wrong filename from our releases

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-12-03 19:59:08 -05:00
Alexandru Ionut Tripon
fbe239eb3d fix: Add back fallback to pkgconfig for tomlplusplus (#4416) 2025-12-02 08:45:12 +02:00
DioEgizio
5532976ea7 fix: Add back fallback to pkgconfig for tomlplusplus
fixes a regression in #4405
Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2025-12-01 21:47:18 +01:00
Rachel Powers
5e54f9e223 chore(nix): update lockfile (#4409) 2025-12-01 13:09:50 -07:00
Seth Flynn
3dee0ef6dd fix(launcher): set correct bin path for self-contained appimages (#4408) 2025-12-01 11:57:00 -05:00
github-actions[bot]
428f8d6d80 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/117cc7f94e8072499b0a7aa4c52084fa4e11cc9b?narHash=sha256-%2BhBiJ%2BkG5IoffUOdlANKFflTT5nO3FrrR2CA3178Y5s%3D' (2025-11-20)
  → 'github:NixOS/nixpkgs/2fad6eac6077f03fe109c4d4eb171cf96791faa4?narHash=sha256-sKoIWfnijJ0%2B9e4wRvIgm/HgE27bzwQxcEmo2J/gNpI%3D' (2025-11-27)
2025-11-30 00:31:21 +00:00
Seth Flynn
b1b4b5d38a fix(launcher): set correct bin path for self-contained appimages
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-11-29 15:13:38 -05:00
Seth Flynn
603da29f28 Use go-appimage to create AppImages (#4314) 2025-11-29 12:05:51 -05:00
Seth Flynn
be25d3a6a5 fix(launcher/updater): call architecture-agnostic AppImageUpdate
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-11-29 11:35:03 -05:00
Seth Flynn
2cf5fe5097 build: use go-appimage to create appimages
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-11-29 11:34:05 -05:00
Seth Flynn
0704027e6c build: install 256x256 png icons
This is required by `go-appimage` - and apparently(?) a requirement by
XDG, with SVGs being optional

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-11-29 11:09:24 -05:00
Seth Flynn
5c8b18098f Remove in-tree third party dependencies (#4405) 2025-11-28 07:59:20 -05:00
Seth Flynn
38afa3a94c build: remove vendored gamemode code
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-11-28 04:02:08 -05:00
Seth Flynn
e2c31569dc build: remove third party submodules
Most of these are extremely common in distributions now, so packagers
don't have much need for our in-tree versions - most don't even use them
as is

With our move to vcpkg for Windows/macOS, we also don't have a need for
them. So time to say goodbye!

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-11-28 04:01:59 -05:00
Seth Flynn
5cb09d6ae8 De-vendor Qt and ECM CMake files (#4404) 2025-11-27 19:01:21 -05:00
Seth Flynn
dc774aa424 build(cmake): remove Launcher_FORCE_BUNDLED_LIBS option
As we won't be providing "bundled" libraries anymore, this option is
basically pointless

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-11-27 16:51:16 -05:00
Seth Flynn
030dc4e7b1 ci(setup-dependencies/linux): use deps from system
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-11-27 16:51:10 -05:00
Seth Flynn
1caf2cc7d5 Drop Qt5Compat (#4176) 2025-11-27 16:32:40 -05:00
Alexandru Ionut Tripon
32303d6351 Improve no loader dialog (#4374) 2025-11-27 22:56:11 +02:00
Seth Flynn
690a61a9e0 build(cmake): de-vendor versionless qt commands
These are already shipped in all versions of Qt 6

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-11-27 15:54:29 -05:00
Seth Flynn
3459e5bb52 build(cmake): de-vendor ecm files
These are now present in virtually all modern versions of ECM shipped by
distributions, so we don't really need to keep them around

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-11-27 15:52:34 -05:00
Trial97
074846d72a remove qt5compat
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-11-27 22:37:31 +02:00
Seth Flynn
bf5b03b4ff Replace QuaZip (and other archiving operations) with libarchive (#3959) 2025-11-27 14:53:59 -05:00
Seth Flynn
9a75d8f73f chore(deps): update actions/checkout action to v6 (#4379) 2025-11-27 14:40:47 -05:00
Seth Flynn
d852947895 chore(deps): update determinatesystems/update-flake-lock action to v28 (#4402) 2025-11-27 14:40:05 -05:00
Seth Flynn
da8c3b973d chore(deps): update hendrikmuhs/ccache-action action to v1.2.20 (#4401) 2025-11-27 14:39:48 -05:00
renovate[bot]
5b037793ff chore(deps): update determinatesystems/update-flake-lock action to v28 2025-11-26 22:10:33 +00:00
renovate[bot]
2dcc89aa00 chore(deps): update hendrikmuhs/ccache-action action to v1.2.20 2025-11-26 22:10:29 +00:00
Seth Flynn
ff40679d0f refactor(launcher/archive): ensure correct filetype for archived files
We can rely on stat for most things but this

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-11-26 17:01:09 -05:00
Trial97
ea05eb951a add back kdePackages.qt5compat
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-11-26 19:16:31 +02:00
Trial97
792b1d6648 apply suggestions
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-11-26 19:12:13 +02:00
Trial97
c787f4e291 fix merge
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-11-26 18:42:25 +02:00
Alexandru Ionut Tripon
67a5cc9b8d Update launcher/archive/ArchiveWriter.cpp
Co-authored-by: Seth Flynn <getchoo@tuta.io>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2025-11-26 18:41:57 +02:00
Trial97
a17908e078 use file stat to get time information
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-11-26 18:41:57 +02:00
Seth Flynn
06c3bb89ff build(vcpkg): minimize libarchive build
This avoids pulling in libxml2 for xar support, which we don't use and
was giving us some trouble in CI

Signed-off-by: Seth Flynn <getchoo@tuta.io>
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-11-26 18:41:57 +02:00
Trial97
df3ff60751 update the vcpkg baseline
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-11-26 18:41:57 +02:00
Trial97
44b36312be nothing but zip writes
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-11-26 18:41:57 +02:00
Trial97
5100588c8b ensure secure extraction
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-11-26 18:41:57 +02:00
Trial97
561187b18a fix: utf8 pathname encoding
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-11-26 18:41:57 +02:00
Trial97
8acc52b1ab fix: CF import and Modrinth export
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-11-26 18:41:57 +02:00
Trial97
b119cc04df update license readme
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-11-26 18:41:57 +02:00
Trial97
085183d530 fix license headers
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-11-26 18:41:57 +02:00
Seth Flynn
bc90327d44 build(vcpkg): remove bzip2 dependency
This was previously required by Quazip

Signed-off-by: Seth Flynn <getchoo@tuta.io>
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-11-26 18:41:57 +02:00
Trial97
c456e35e41 build(cmake): better detect libarchive
Co-authored-by: Octol1ttle <l1ttleofficial@outlook.com>
Co-authored-by: Seth Flynn <getchoo@tuta.io>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
Signed-off-by: Seth Flynn <getchoo@tuta.io>
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-11-26 18:41:57 +02:00
Trial97
7962e223ab fix merge conflicts
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-11-26 18:41:57 +02:00
Trial97
aa265a45ee fix nix build
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-11-26 18:41:56 +02:00
Trial97
27259ff52d Improve mod parsing
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-11-26 18:41:22 +02:00
Trial97
8cace06df9 move libarchive outside bundle libs
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-11-26 18:41:22 +02:00
Trial97
d036bba341 add libarchive as actions dependency
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-11-26 18:41:22 +02:00
Trial97
2a99bb534f add missing copyrights
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-11-26 18:41:22 +02:00
Trial97
84efa6814d remove quazip
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-11-26 18:41:20 +02:00
Trial97
30ef158716 finish moving all code to libarchive
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-11-26 18:40:41 +02:00
Trial97
f38a0c8f98 move more zip parsings
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-11-26 18:40:40 +02:00
Trial97
8c36be048c move ExtractZipTask
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-11-26 18:39:18 +02:00
Trial97
60b2585711 move some functions from MMCZip to use libarchive
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-11-26 18:39:18 +02:00
Trial97
fa930afe4b move ExportToZipTask
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-11-26 18:39:18 +02:00
Seth Flynn
64e923e977 chore(nix): update lockfile (#4390) 2025-11-26 11:24:50 -05:00
Seth Flynn
63e6fc28dc change packwiz extra warnings to debug (#4388) 2025-11-26 11:24:24 -05:00
Seth Flynn
5d1e457b39 nix: use default apple-sdk (#4398) 2025-11-26 10:16:53 -05:00
Pagwin
331c1de9cd Edited a comment for clarity
Signed-off-by: Pagwin <git@pagwin.xyz>
2025-11-25 13:34:31 -05:00
Tayou
117e0d7b24 nix: remove explicit apple-sdk
Signed-off-by: Tayou <git@tayou.org>
2025-11-25 12:40:26 +01:00
Alexandru Ionut Tripon
f77871a580 fix FTBA instance loading (#4347) 2025-11-24 15:23:35 +02:00
Edvin Bryntesson
9e614f94cd fix FTBA instance loading
Signed-off-by: Edvin Bryntesson <epost@edvinbryntesson.se>
2025-11-24 13:33:54 +01:00
TheKodeToad
f9331a1d43 Implement find wrapping in LogView (#4392) 2025-11-24 09:40:52 +00:00
Pagwin
55a212f3c4 Grammar/Spelling nit fix for Missing Mod loader dialog
Co-authored-by: Seth Flynn <getchoo@tuta.io>
Signed-off-by: Pagwin <git@pagwin.xyz>
2025-11-23 14:06:06 -05:00
TheKodeToad
17c4ad0f01 Implement find wrapping in LogView
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-11-23 16:15:43 +00:00
Trial97
9de2f96341 change packwiz extra warnings to debug
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-11-23 09:24:51 +02:00
github-actions[bot]
c22592d74c chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c5ae371f1a6a7fd27823bc500d9390b38c05fa55?narHash=sha256-4PqRErxfe%2B2toFJFgcRKZ0UI9NSIOJa%2B7RXVtBhy4KE%3D' (2025-11-12)
  → 'github:NixOS/nixpkgs/117cc7f94e8072499b0a7aa4c52084fa4e11cc9b?narHash=sha256-%2BhBiJ%2BkG5IoffUOdlANKFflTT5nO3FrrR2CA3178Y5s%3D' (2025-11-20)
2025-11-23 00:31:37 +00:00
Pagwin
5e2c8bdcf7 Fixed Loader Install Cancel crash
Fixed a crash which occurred when the mod loader dialog was cancelled
after being reached from the no loader dialog

Signed-off-by: Pagwin <dev@pagwin.xyz>
2025-11-22 17:10:22 -05:00
Alexandru Ionut Tripon
8abf5ed7b1 add support for neoforge in atl packs (#4383) 2025-11-22 18:32:24 +02:00
Pagwin
fca8ac40ff Minor remaining fixes for PR (#4374)
- changed case of `handleNoModLoader` to match project style

- made default case in switch statement for `handleNoModLoader` return
  true for safety

Signed-off-by: Pagwin <dev@pagwin.xyz>
2025-11-21 16:19:41 -05:00
Trial97
f832a361e2 add support for neoforge in atl packs
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-11-21 22:51:43 +02:00
DioEgizio
3ba24f3f09 Use security-scoped bookmarks for directory settings on macOS (#3616) 2025-11-21 18:34:43 +01:00
Pagwin
1dae1a210b Made changes to address feedback from code review (#4374)
Signed-off-by: Pagwin <dev@pagwin.xyz>
2025-11-20 20:48:53 -05:00
renovate[bot]
2f8a9fb6a2 chore(deps): update actions/checkout action to v6 2025-11-20 18:32:56 +00:00
timoreo
8b43ea486b chore(nix): update lockfile (#4357) 2025-11-20 15:44:56 +01:00
DioEgizio
c7fa69cfd0 ci: fix cmake --install on release & macos code signing (#4375) 2025-11-19 21:44:08 +01:00
Seth Flynn
6a46484895 ci: fix macos code signing secret names
oopsie

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-11-19 14:53:37 -05:00
Seth Flynn
dc88866d85 ci: ensure --config is always passed with cmake --install
lol

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-11-19 14:52:25 -05:00
Seth Flynn
b86f47d79b chore(deps): update cachix/install-nix-action digest to 0b0e072 (#4368) 2025-11-19 14:47:04 -05:00
Pagwin
9ce7738912 Implemented #4369
Signed-off-by: Pagwin <dev@pagwin.xyz>
2025-11-19 10:48:34 -05:00
renovate[bot]
90ea9af1cb chore(deps): update cachix/install-nix-action digest to 0b0e072 2025-11-19 00:29:00 +00:00
Sefa Eyeoglu
4c437a839c nix: Disable deprecated PIE flags (#4365) 2025-11-17 22:10:55 +01:00
Sefa Eyeoglu
48c91c13ad nix: Disable deprecated PIE flags
Fixes the following warning with nixos-unstable (and upcoming 25.11)

    evaluation warning: The 'pie' hardening flag has been removed in
    favor of enabling PIE by default in compilers and should no longer
    be used. PIE can be disabled with the -no-pie compiler flag, but
    this is usually not necessary as most build systems pass this if
    needed. Usage of the 'pie' hardening flag will become an error in
    future.

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2025-11-17 19:09:58 +01:00
Alexandru Ionut Tripon
8b4ad7aa49 Create a unified dialog to ask user for offline name (#4209) 2025-11-16 18:30:37 +02:00
Alexandru Ionut Tripon
e5629bb08a Refactor ReviewMessageBox::appendResource (#4320) 2025-11-16 18:13:32 +02:00
Alexandru Ionut Tripon
7ca8556211 Fix issues with log level handling (#4254) 2025-11-16 18:13:12 +02:00
Alexandru Ionut Tripon
f93e21fa2d deduplicate includes and reformat (#4228) 2025-11-16 18:12:52 +02:00
github-actions[bot]
57397c377d chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/ae814fd3904b621d8ab97418f1d0f2eb0d3716f4?narHash=sha256-YRqMDEtSMbitIMj%2BJLpheSz0pwEr0Rmy5mC7myl17xs%3D' (2025-11-05)
  → 'github:NixOS/nixpkgs/c5ae371f1a6a7fd27823bc500d9390b38c05fa55?narHash=sha256-4PqRErxfe%2B2toFJFgcRKZ0UI9NSIOJa%2B7RXVtBhy4KE%3D' (2025-11-12)
2025-11-16 00:29:46 +00:00
TheKodeToad
16066c9a15 fix(ModrinthPackIndex): set logo name correctly (#4356) 2025-11-15 18:50:51 +00:00
Octol1ttle
7cbec465cd fix(ModrinthPackIndex): set logo name correctly
Fixes: f90c0a59a7
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2025-11-15 22:42:16 +05:00
Alexandru Ionut Tripon
86b39b2771 Remove icon from PageContainer header (#4332) 2025-11-14 12:08:37 +02:00
TheKodeToad
f90c0a59a7 Remove Json ensure helpers (#4330) 2025-11-13 19:45:01 +00:00
Alexandru Ionut Tripon
dd295aaf1e Use multi-config generator for CMake presets (#4301) 2025-11-13 20:21:40 +02:00
Seth Flynn
b5964b0c3a ci(package/windows): use absolute paths for signed files (#4350) 2025-11-13 06:43:54 -05:00
Seth Flynn
4b6fab06d8 ci(package/windows): use absolute paths for signed files
This is (weirdly) required by the Trusted Signing action

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-11-13 06:40:00 -05:00
Seth Flynn
908032f033 Sign Windows builds again (#4348) 2025-11-13 06:29:59 -05:00
Seth Flynn
b819be49cd ci: sign windows builds through azure
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-11-13 06:07:59 -05:00
Seth Flynn
a9f27ef075 Use libqrencode for MSA QR codes (#3956) 2025-11-13 05:11:38 -05:00
Seth Flynn
83b4a31144 build(vcpkg): use a minimal libqrencode build
`libpng` in vcpkg doesn't have the right patches (libpng@ed68998) to
build with universal binary support on macOS, so let's avoid building it
(we need to bump our baseline for this too)

Thanks for letting me know it was optional, Kode :)

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-11-13 04:13:02 -05:00
Seth Flynn
3b9e020115 feat(ui/MSALoginDialog): use libqrencode for qr codes
`qrcodegen` isn't available in most repositories, package discovery
scripts for it are maintained in a different repository, and they are
bugged for Windows at least. This basically forces us into vendoring it,
which isn't cool; libqrencode seems like viable alternative used by many
more apps

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-11-13 04:12:52 -05:00
TheKodeToad
29bb9fe9f3 Revert some things caught in the crossfire
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-11-10 19:01:24 +00:00
TheKodeToad
51a1e3bfe0 Merge remote-tracking branch 'upstream/develop' into no-ensure
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-11-10 18:56:32 +00:00
TheKodeToad
ff1690532d fix mod select (#4305) 2025-11-10 16:55:21 +00:00
TheKodeToad
79fddf8a86 Remove icon from PageContainer header
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-11-10 00:03:30 +00:00
TheKodeToad
6475ce6623 Remove some redundant default values
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-11-09 22:21:46 +00:00
TheKodeToad
755ddd0f7f Remove traces of ensure helpers
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-11-09 21:35:21 +00:00
TheKodeToad
e42c9d2a1d Remove ensure JSON helpers
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-11-09 21:35:11 +00:00
Alexandru Ionut Tripon
b070ffaf72 Fix modpack search abort crash (#4327) 2025-11-09 23:17:55 +02:00
Alexandru Ionut Tripon
2563e280a4 fix: declare the flame icon like the others in multimc.qrc (#4326) 2025-11-09 23:17:40 +02:00
Alexandru Ionut Tripon
89edc7c826 chore: update to latest version of sparkle framework (#4325) 2025-11-09 23:17:18 +02:00
Alexandru Ionut Tripon
ca3cadc377 chore(nix): update lockfile (#4324) 2025-11-09 23:17:04 +02:00
Alexandru Ionut Tripon
20896855cc Cleanup main.cpp (#4318) 2025-11-09 23:16:54 +02:00
Alexandru Ionut Tripon
fe01aabc10 Fix fractional scaling issues on skin preview (#4310) 2025-11-09 23:15:59 +02:00
Alexandru Ionut Tripon
609aa9f7f3 fix crash when failing to download file (#4249) 2025-11-09 23:08:20 +02:00
TheKodeToad
80db7437d0 Ensure correct image format when importing skin files (#4053) 2025-11-09 21:00:56 +00:00
Kenneth Chew
d937563ead Pick out additional fixes, functionality to SecurityBookmarkFileAccess
Match the state of this class with the current state of the macOS sandbox PR

Signed-off-by: Kenneth Chew <79120643+kthchew@users.noreply.github.com>
2025-11-09 14:43:57 -05:00
Kenneth Chew
efe1d71d35 Generate security-scoped bookmarks on startup
Signed-off-by: Kenneth Chew <79120643+kthchew@users.noreply.github.com>
2025-11-09 14:43:57 -05:00
Kenneth Chew
710789b701 Use security-scoped bookmarks to keep track of data directory settings on macOS
This enables sandboxed apps to maintain access to user-selected items. In addition, for both sandboxed and nonsandboxed apps it can keep track of directories even if they are moved or renamed, and can remember access to directories in "sensitive" locations (such as the Documents folder or external drives).

Signed-off-by: Kenneth Chew <79120643+kthchew@users.noreply.github.com>
2025-11-09 14:43:55 -05:00
TheKodeToad
98afd2086a Make sure nullptr on_abort never gets called
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-11-09 10:52:24 +00:00
TheKodeToad
df35d5eb14 Fix crash when modpack search is aborted
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-11-09 10:44:23 +00:00
DioEgizio
00eef96f48 fix: declare the flame icon like the others in multimc.qrc
this fixes the flame icon not rendering on macOS with recent versions of Qt

Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2025-11-09 10:43:36 +01:00
DioEgizio
42b53504be chore: update to latest version of sparkle framework
Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2025-11-09 09:01:24 +01:00
github-actions[bot]
e3be434e94 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/2fb006b87f04c4d3bdf08cfdbc7fab9c13d94a15?narHash=sha256-kJ8lIZsiPOmbkJypG%2BB5sReDXSD1KGu2VEPNqhRa/ew%3D' (2025-10-31)
  → 'github:NixOS/nixpkgs/ae814fd3904b621d8ab97418f1d0f2eb0d3716f4?narHash=sha256-YRqMDEtSMbitIMj%2BJLpheSz0pwEr0Rmy5mC7myl17xs%3D' (2025-11-05)
2025-11-09 00:29:30 +00:00
Dylan Schooner
1fa486a795 Extend Ctrl+C functionality to requiredByItem and customPathItem
Refactor appendResource to remove redundant insertChildren calls

Signed-off-by: Dylan Schooner <dschooner05@gmail.com>
2025-11-08 10:55:34 -05:00
TheKodeToad
3a80dd10ea Cleanup main.cpp
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-11-08 15:38:27 +00:00
Tayou
7e8cf628e8 Override Ctrl+C functionality for ReviewMessageBox items (#4313) 2025-11-08 07:47:35 +01:00
Dylan Schooner
a16026828e Move shortcut connection to constructor
Add copy functionality for changelog on ResourceUpdateDialog

Signed-off-by: Dylan Schooner <dschooner05@gmail.com>
2025-11-07 13:40:54 -05:00
Dylan Schooner
6f4460b604 Apply override to ResourceUpdateDialog::appendResource
Signed-off-by: Dylan Schooner <dschooner05@gmail.com>
2025-11-07 02:30:45 -05:00
Dylan Schooner
8c0e8a319b Overwrite Ctrl+C functionality for ReviewMessageBox items
Signed-off-by: Dylan Schooner <dschooner05@gmail.com>
2025-11-07 00:53:41 -05:00
Dylan Schooner
405650eff2 Fix fractional scaling issues
Signed-off-by: Dylan Schooner <dschooner05@gmail.com>
2025-11-06 20:00:22 -05:00
Seth Flynn
1e4e3fd914 build(cmake): match ninja multi-config for compile commands
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-11-06 17:41:22 -05:00
Seth Flynn
85d6e03a4e build(cmake): always emit compile commands
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-11-06 17:41:21 -05:00
Seth Flynn
650ecb0bde build(cmake): centralize preset files
Now that we don't need so many variants for each platform, this is much
more sensible

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-11-06 17:41:21 -05:00
Seth Flynn
ffdf00876e build(cmake): use mutli-config generators for debug/release presets
This prevents us from hardcoding variants for each release type. Yay!

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-11-06 17:41:21 -05:00
Seth Flynn
c5c12ae8ce Build for Windows on ARM with MSVC natively (#3872) 2025-11-06 17:39:12 -05:00
Tayou
9c38719170 program_info: fix macOS icon generation, use AppID in desktop file template (#4164) 2025-11-06 13:45:09 +01:00
Tayou
c5b5b02621 Implement Reverse Z projection matrix for skin model (#4283) 2025-11-06 13:42:50 +01:00
timoreo
f835d00f77 Check return value of 'QFile::open(QIODeviceBase::OpenMode)' (#4274) 2025-11-06 09:47:33 +01:00
timoreo
a34cdf0519 chore(nix): update lockfile (#4256) 2025-11-06 09:39:45 +01:00
timoreo
c8911f9f70 Fix Java memory field alignment when warning label is visible (#4303) 2025-11-06 09:32:35 +01:00
Seth Flynn
bc02af771d ci: build for windows on arm with msvc natively
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-11-06 02:27:34 -05:00
Seth Flynn
9656db0f32 Update to Qt 6.9.3 (#4300) 2025-11-06 02:13:51 -05:00
Tayou
a7b302c1bb Move credits to a HTML resource (#4255) 2025-11-05 18:53:28 +01:00
Trial97
31cdca77df fix mod select
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-11-05 14:24:38 +02:00
TheKodeToad
d5309ffb05 Fix Java memory field alignment when warning label is visible
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-11-05 10:31:55 +00:00
Seth Flynn
fe6b90adc5 chore: qt 6.9.1 -> 6.9.3
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-11-03 17:40:38 -05:00
github-actions[bot]
42637a70db chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/544961dfcce86422ba200ed9a0b00dd4b1486ec5?narHash=sha256-EVAqOteLBFmd7pKkb0%2BFIUyzTF61VKi7YmvP1tw4nEw%3D' (2025-10-15)
  → 'github:NixOS/nixpkgs/2fb006b87f04c4d3bdf08cfdbc7fab9c13d94a15?narHash=sha256-kJ8lIZsiPOmbkJypG%2BB5sReDXSD1KGu2VEPNqhRa/ew%3D' (2025-10-31)
2025-11-02 00:28:51 +00:00
Tayou
f3bc2f0e9f Check for mouse button before applying skin rotation (#4279) 2025-11-01 19:59:08 +01:00
Dylan Schooner
b488547054 Implement Reverse Z projection matrix for skin model
Signed-off-by: Dylan Schooner <dschooner05@gmail.com>
2025-10-31 12:30:17 -04:00
Dylan Schooner
8e4b66d71c Check for mouse button before applying skin rotation
Signed-off-by: Dylan Schooner <dschooner05@gmail.com>
2025-10-31 03:02:46 -04:00
Dylan Schooner
8d42bdaf6b Check return value of 'virtual bool QFile::open(QIODeviceBase::OpenMode)'
Signed-off-by: Dylan Schooner <dschooner05@gmail.com>
2025-10-30 03:15:14 -04:00
TheKodeToad
ff3968e36e Fix brace war crime
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-10-27 11:36:38 +00:00
Alexandru Ionut Tripon
2982e6e7c9 chore(deps): update github artifact actions (major) (#4251) 2025-10-27 10:15:09 +02:00
TheKodeToad
8fddc353d5 Fix tests
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-10-25 15:14:32 +01:00
TheKodeToad
21a8ac530a Move credits to a HTML resource
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-10-25 14:34:42 +01:00
TheKodeToad
d626604b5e Fix issues with log level handling and clean up code
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-10-25 14:20:15 +01:00
renovate[bot]
8c9ad0664f chore(deps): update github artifact actions 2025-10-24 23:49:31 +00:00
Trial97
2981d9109b fix crash when failing to download file
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-10-23 19:34:44 +03:00
Seth Flynn
3c5431176b chore(nix): update lockfile (#4202) 2025-10-20 09:58:38 -04:00
Seth Flynn
41fe18d378 chore(deps): update cachix/install-nix-action digest to fd24c48 (#4227) 2025-10-20 09:58:15 -04:00
Seth Flynn
9bb25b8b43 chore(deps): update github/codeql-action action to v4 (#4213) 2025-10-20 09:57:57 -04:00
Alexandru Ionut Tripon
a550277fda fix: warn before double-click toggling resource while game is running (#4232) 2025-10-19 13:07:02 +03:00
github-actions[bot]
2dbcd8ea30 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e643668fd71b949c53f8626614b21ff71a07379d?narHash=sha256-NY3kSorgqE5LMm1LqNwGne3ZLMF2/ILgLpFr1fS4X3o%3D' (2025-09-24)
  → 'github:NixOS/nixpkgs/544961dfcce86422ba200ed9a0b00dd4b1486ec5?narHash=sha256-EVAqOteLBFmd7pKkb0%2BFIUyzTF61VKi7YmvP1tw4nEw%3D' (2025-10-15)
2025-10-19 00:29:21 +00:00
renovate[bot]
da39885249 chore(deps): update cachix/install-nix-action digest to fd24c48 2025-10-15 11:00:47 +00:00
Edgars Cīrulis
91a02a1dc6 style: run-run clang-format on launcher/*
Signed-off-by: Edgars Cīrulis <e.cirulis@proton.me>
2025-10-14 04:05:56 +03:00
Edgars Cīrulis
577f9ca94c style: remove duplicate #include headers
Signed-off-by: Edgars Cīrulis <e.cirulis@proton.me>
2025-10-14 04:03:02 +03:00
Alexandru Ionut Tripon
6a40ea4e69 fix: prioritize .ftbapp/version.json in FTB App import (#4207) 2025-10-13 13:20:15 +03:00
renovate[bot]
d399d241eb chore(deps): update github/codeql-action action to v4 2025-10-07 20:37:17 +00:00
Gingeh
abc63e4432 fix: warn before double-click toggling resource while game is running
Closes #4119

Signed-off-by: Gingeh <39150378+Gingeh@users.noreply.github.com>
2025-10-07 16:17:43 +11:00
Octol1ttle
ea004846a9 Create a unified dialog to ask user for offline name
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2025-10-07 01:07:50 +05:00
Marco von Rosenberg
182d130c18 fix: prioritize .ftbapp/version.json in FTB App import
Newer versions of FTB App create a stub version.json in the instance
root with only a comment directing to .ftbapp/version.json. The old
logic would find this stub file first and fail to parse it, causing
modpacks to not be detected.

This fix checks .ftbapp/version.json first (newer location) before
falling back to the root version.json (older location).

Signed-off-by: Marco von Rosenberg <codingmarco@gmail.com>
2025-10-06 21:56:19 +09:00
timoreo
8b5e91920d chore(deps): update korthout/backport-action action to v3.4.1 (#4191) 2025-10-02 22:02:20 +02:00
timoreo
c87c1b6988 chore(deps): update cachix/install-nix-action digest to 9280e7a (#4195) 2025-10-02 22:01:50 +02:00
renovate[bot]
acb4cee0ac chore(deps): update cachix/install-nix-action digest to 9280e7a 2025-10-02 17:58:51 +00:00
renovate[bot]
fca874a641 chore(deps): update korthout/backport-action action to v3.4.1 2025-10-01 20:43:52 +00:00
timoreo
60f81d54b3 chore(nix): update lockfile (#4186) 2025-09-30 16:09:57 +02:00
github-actions[bot]
e34cd3ef88 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/8eaee110344796db060382e15d3af0a9fc396e0e?narHash=sha256-iCGWf/LTy%2BaY0zFu8q12lK8KuZp7yvdhStehhyX1v8w%3D' (2025-09-19)
  → 'github:NixOS/nixpkgs/e643668fd71b949c53f8626614b21ff71a07379d?narHash=sha256-NY3kSorgqE5LMm1LqNwGne3ZLMF2/ILgLpFr1fS4X3o%3D' (2025-09-24)
2025-09-28 00:28:36 +00:00
Seth Flynn
fcd3852621 Actions fixes for setup-dependencies/macOS and package/Windows (#4182) 2025-09-25 10:59:25 -04:00
Octol1ttle
158e001660 fix(ci/windows): remove erroneous default
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2025-09-25 18:51:57 +05:00
Octol1ttle
e9ffb40e2b fix(ci/macOS): run vcpkg on non-debug builds too
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2025-09-25 18:50:27 +05:00
timoreo
e4fb28760b chore(deps): update actions/cache action to v4.3.0 (#4179) 2025-09-25 09:41:46 +02:00
renovate[bot]
eb26d655b0 chore(deps): update actions/cache action to v4.3.0 2025-09-24 14:50:40 +00:00
Tayou
e1a7f6cac4 fix: modrinth modpacks icon importing (#4171) 2025-09-22 20:06:26 +02:00
Trial97
88399cf922 fix: modrinth modpacks icon importing
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-09-22 14:47:56 +03:00
Richard Voigtmann
b0594dbb06 updated Assets.car to the icon suggestion from hw2007
Signed-off-by: Richard Voigtmann <richard.v.voigtmann@gmail.com>
2025-09-22 09:56:14 +02:00
timoreo
6aa728b12a ci: macos-13 -> macos-15-intel (#4166) 2025-09-22 09:48:16 +02:00
Tayou
6f1ebfbb54 Avoid pull_request_target in Nix workflow, always use upstream Nix (#4167) 2025-09-22 08:59:14 +02:00
Alexandru Ionut Tripon
f7e58723e0 Fix typo in status message for asset files (#4161) 2025-09-22 00:02:00 +03:00
Alexandru Ionut Tripon
9c9e0d2945 FindJavaPaths: fix sdkman search, add asdf search (#4163) 2025-09-22 00:01:31 +03:00
Seth Flynn
761cae8d9c chore(deps): update cachix/install-nix-action digest to a809471 (#4165) 2025-09-21 16:59:31 -04:00
Seth Flynn
37dabc7c9a chore(nix): update lockfile (#4162) 2025-09-21 16:57:25 -04:00
Seth Flynn
7ba91ca488 ci(nix): always use upstream nix
This ensures evaluation is consistent between out-of-tree and in-tree
runs

It also probably won't be possible to install upstream Nix with the
Determinate installer action soon so.....

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-09-21 16:28:07 -04:00
Seth Flynn
87174a0d5a ci(get-merge-commit): drop
No longer used after `pull_request_target` was NUKED

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-09-21 16:27:42 -04:00
Seth Flynn
90855a7cc0 ci(nix): pull_request_target -> pull_request
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-09-21 16:25:09 -04:00
Seth Flynn
7e4a4cfd11 ci(nix): flakehub -> magic-nix-cache & gha cache
This will help us avoid `pull_request_target`, etc.

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-09-21 16:23:15 -04:00
Seth Flynn
ffcd733d70 ci: macos-13 -> macos-15-intel
https://github.blog/changelog/2025-09-19-github-actions-macos-13-runner-image-is-closing-down/

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-09-21 16:15:10 -04:00
renovate[bot]
d5c0ff32a7 chore(deps): update cachix/install-nix-action digest to a809471 2025-09-21 13:38:54 +00:00
Octol1ttle
d2516c355c fix: use Launcher_AppID in desktop file template
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2025-09-21 15:58:20 +05:00
Octol1ttle
2fa50c5d50 fix(genicons/macOS): use correct filename suffixes, copy output file to current dir
Fixes: 6a474a0125 ("fix: update icon generate script")
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2025-09-21 15:56:18 +05:00
Octol1ttle
b605685187 feat(FindJavaPaths): also use asdf to find Java
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2025-09-21 13:45:35 +05:00
Octol1ttle
542ad146ad fix(FindJavaPaths): use SDKMAN_DIR env var to find sdkman installations
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2025-09-21 13:44:38 +05:00
github-actions[bot]
19dcc5b37a chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c23193b943c6c689d70ee98ce3128239ed9e32d1?narHash=sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820%3D' (2025-09-13)
  → 'github:NixOS/nixpkgs/8eaee110344796db060382e15d3af0a9fc396e0e?narHash=sha256-iCGWf/LTy%2BaY0zFu8q12lK8KuZp7yvdhStehhyX1v8w%3D' (2025-09-19)
2025-09-21 00:27:56 +00:00
Kat Tschan
418b84a599 Fix typo in status message for asset files
Signed-off-by: Kat Tschan <kat@kattschan.co.uk>
2025-09-20 16:39:53 -04:00
Richard Voigtmann
d0737eecc5 Added macOS 26 Liquid Glass Icon Support. See: #4149
Signed-off-by: Richard Voigtmann <richard.v.voigtmann@gmail.com>
2025-09-20 19:42:04 +02:00
Alexandru Ionut Tripon
28b755cf04 Remove unused code (#4158) 2025-09-19 13:37:49 +03:00
TheKodeToad
d384970694 Merge remote-tracking branch 'upstream/develop' into unused-code
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-09-19 11:06:34 +01:00
Alexandru Ionut Tripon
51a444624d Replace getThemedIcon with QIcon::fromTheme/APPLICATION->logo() (#4156) 2025-09-19 12:20:50 +03:00
TheKodeToad
49b238f384 Properly remove gameoptions
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-09-19 09:42:13 +01:00
TheKodeToad
7789ba8608 Remove unused code
GameOptions.{h,cpp}, GameOptionsPage.{h,cpp}, ThemeWizardPage.cpp

Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-09-19 09:04:29 +01:00
timoreo
7390bfcaff Fix crash in Rule::apply (#4157) 2025-09-19 08:58:15 +02:00
TheKodeToad
5d46f79f19 Fix crash in Rule::apply
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-09-19 00:25:26 +01:00
TheKodeToad
cd4f119e4b Replace getThemedIcon with APPLICATION->logo()
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-09-19 00:07:05 +01:00
timoreo
1724bdaeb9 Remove some unnecessary const_casting (#4150) 2025-09-18 16:17:55 +02:00
TheKodeToad
7c9c9432dd Remove pointless const_cast in ProgressWidget
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-09-17 11:24:10 +01:00
TheKodeToad
24726ea621 Avoid const-cast in WorldList - subclass is unnecessary and result->formats() is correct
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-09-17 10:50:54 +01:00
TheKodeToad
5ef61aa445 Make BaseVersion const-correct in order to remove const-cast from Meta::Version
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-09-17 10:30:00 +01:00
Alexandru Ionut Tripon
b7b06c0e48 Remove some duplicate code (#3828) 2025-09-16 11:03:30 +03:00
Trial97
29cff14fd6 removed some duplicate code
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-09-15 18:25:07 +03:00
Trial97
ab3bfb0f74 make universal resource type
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-09-15 18:25:06 +03:00
timoreo
668ff45403 chore(deps): update hendrikmuhs/ccache-action action to v1.2.19 (#4132) 2025-09-15 15:01:17 +02:00
timoreo
57dff0797d chore(deps): update cachix/install-nix-action digest to 7be5dee (#4136) 2025-09-15 15:00:44 +02:00
timoreo
b8ff2ce406 Fix minor annoyances (#4086) 2025-09-15 13:28:01 +02:00
timoreo
f665579c62 Simplify Rule class (#4040) 2025-09-15 10:14:15 +02:00
timoreo
529198702d chore(nix): update lockfile (#4138) 2025-09-15 10:11:34 +02:00
github-actions[bot]
89d7ffdc68 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d0fc30899600b9b3466ddb260fd83deb486c32f1?narHash=sha256-rw/PHa1cqiePdBxhF66V7R%2BWAP8WekQ0mCDG4CFqT8Y%3D' (2025-09-02)
  → 'github:NixOS/nixpkgs/c23193b943c6c689d70ee98ce3128239ed9e32d1?narHash=sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820%3D' (2025-09-13)
2025-09-14 00:27:15 +00:00
renovate[bot]
7f4b157087 chore(deps): update cachix/install-nix-action digest to 7be5dee 2025-09-13 06:24:19 +00:00
timoreo
31852724b1 Fix resource update with loaders (#3108) 2025-09-12 11:14:02 +02:00
renovate[bot]
170071746f chore(deps): update hendrikmuhs/ccache-action action to v1.2.19 2025-09-10 17:48:01 +00:00
timoreo
2ed5650c4f catpacks+gif=❤️ (#3315) 2025-09-08 17:29:46 +02:00
timoreo
d877f07662 Properly refresh modpack search upon changing filters (#4043) 2025-09-08 17:19:34 +02:00
timoreo
d694e58667 chore(deps): update actions/setup-java action to v5 (#4082) 2025-09-08 17:08:25 +02:00
timoreo
b6dcef8e90 chore(nix): update lockfile (#4092) 2025-09-08 17:06:34 +02:00
timoreo
78700aa8fb chore(deps): update actions/stale action to v10 (#4117) 2025-09-08 17:05:57 +02:00
timoreo
43e786e9e0 chore(deps): update cachix/install-nix-action digest to 56a7bb7 (#4122) 2025-09-08 17:05:33 +02:00
github-actions[bot]
d9e5afcaa0 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/fbcf476f790d8a217c3eab4e12033dc4a0f6d23c?narHash=sha256-wNO3%2BKs2jZJ4nTHMuks%2BcxAiVBGNuEBXsT29Bz6HASo%3D' (2025-08-14)
  → 'github:NixOS/nixpkgs/d0fc30899600b9b3466ddb260fd83deb486c32f1?narHash=sha256-rw/PHa1cqiePdBxhF66V7R%2BWAP8WekQ0mCDG4CFqT8Y%3D' (2025-09-02)
2025-09-07 00:27:45 +00:00
renovate[bot]
7e0b9511b4 chore(deps): update cachix/install-nix-action digest to 56a7bb7 2025-09-06 12:54:37 +00:00
renovate[bot]
e5653b36cc chore(deps): update actions/stale action to v10 2025-09-04 04:47:44 +00:00
Tayou
320cf0b3c2 Update TranslationsModel.cpp (#4110) 2025-09-04 06:47:22 +02:00
Cinnamon
9ecc11787f Update TranslationsModel.cpp
Signed-off-by: Cinnamon <rblossom.dev@gmail.com>
2025-08-31 10:14:40 -05:00
Tayou
5480ce6b44 Fix resourcepack parsing (#4084) 2025-08-21 19:36:42 +02:00
TheKodeToad
2b0d135afd More consistent padding and frames
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-08-21 15:08:18 +01:00
TheKodeToad
83736950d9 Consistent case style
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-08-21 15:08:18 +01:00
TheKodeToad
81e4f1cf7a Prevent View Configs showing in places it shouldn't
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-08-21 15:08:18 +01:00
TheKodeToad
40f45b19f4 Make search bars consistent
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-08-21 15:08:16 +01:00
Trial97
634a5d18c4 fix tests
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-08-21 15:14:05 +03:00
TheKodeToad
22d651f041 Fix buggy movement in screenshots page
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-08-21 13:05:13 +01:00
Trial97
8c9b504382 fix: datapack/resourcepack parsing
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-08-21 15:00:00 +03:00
TheKodeToad
31e0c07bf7 Fix #4083 - server address text box is enabled even if auto-join is disabled
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-08-21 12:45:48 +01:00
Trial97
9c3c74d055 fix: ensure correct skin format
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-08-21 10:09:49 +03:00
renovate[bot]
c596c6eb48 chore(deps): update actions/setup-java action to v5 2025-08-21 06:51:14 +00:00
timoreo
542ab62ab7 Refactor Filter API (#4039) 2025-08-20 16:45:48 +02:00
TheKodeToad
0f6d589c6b Merge branch 'PrismLauncher:develop' into refactor-filter 2025-08-20 14:48:15 +01:00
Seth Flynn
accb3382aa style(nix): format with modern nixfmt (#4066) 2025-08-18 12:16:13 -04:00
Seth Flynn
4a7772e2d1 Use C++20 (#3957) 2025-08-18 12:15:53 -04:00
timoreo
b6157fa8e4 chore(nix): update lockfile (#4072) 2025-08-18 16:18:57 +02:00
TheKodeToad
8420e75cfa Merge branch 'develop' into refactor-filter
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-08-18 11:40:38 +01:00
github-actions[bot]
4d4b8a1fd0 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c2ae88e026f9525daf89587f3cbee584b92b6134?narHash=sha256-erbiH2agUTD0Z30xcVSFcDHzkRvkRXOQ3lb887bcVrs%3D' (2025-08-06)
  → 'github:NixOS/nixpkgs/fbcf476f790d8a217c3eab4e12033dc4a0f6d23c?narHash=sha256-wNO3%2BKs2jZJ4nTHMuks%2BcxAiVBGNuEBXsT29Bz6HASo%3D' (2025-08-14)
2025-08-17 00:30:33 +00:00
Seth Flynn
bc76960dd7 style(nix): format with modern nixfmt
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-08-15 13:56:28 +00:00
Seth Flynn
3c93ce8385 chore(deps): update korthout/backport-action action to v3.3.0 (#4061) 2025-08-15 09:54:22 -04:00
Seth Flynn
847c3238ce chore(deps): update actions/cache action to v4.2.4 (#4046) 2025-08-15 09:54:02 -04:00
Seth Flynn
ee33aa81bd chore(deps): update actions/checkout action to v5 (#4056) 2025-08-15 09:53:46 -04:00
renovate[bot]
a261718009 chore(deps): update korthout/backport-action action to v3.3.0 2025-08-14 17:10:11 +00:00
TheKodeToad
2ae9b63a22 Add Ornithe, LegacyFabric and Rift mod loader filters (#4041) 2025-08-11 23:14:20 +01:00
renovate[bot]
29dc75ec63 chore(deps): update actions/checkout action to v5 2025-08-11 15:25:38 +00:00
renovate[bot]
a1956ec53a chore(deps): update actions/cache action to v4.2.4 2025-08-11 06:44:42 +00:00
timoreo
0e38deb199 chore(deps): update actions/download-artifact action to v5 (#4044) 2025-08-11 07:34:32 +02:00
timoreo
9afeb1a54f chore(nix): update lockfile (#4016) 2025-08-11 07:33:59 +02:00
github-actions[bot]
1cc6072a94 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/6e987485eb2c77e5dcc5af4e3c70843711ef9251?narHash=sha256-RKwfXA4OZROjBTQAl9WOZQFm7L8Bo93FQwSJpAiSRvo%3D' (2025-07-16)
  → 'github:NixOS/nixpkgs/c2ae88e026f9525daf89587f3cbee584b92b6134?narHash=sha256-erbiH2agUTD0Z30xcVSFcDHzkRvkRXOQ3lb887bcVrs%3D' (2025-08-06)
2025-08-10 00:32:11 +00:00
renovate[bot]
9f5bc882b2 chore(deps): update actions/download-artifact action to v5 2025-08-06 02:15:15 +00:00
TheKodeToad
d1f7bcd6c6 Properly refresh modpack search upon changing filters
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-08-05 18:55:07 +01:00
moehreag
98ae99c513 add Rift in the two places I missed
Signed-off-by: moehreag <moehreag@gmail.com>
2025-08-05 12:09:27 +02:00
TheKodeToad
8275529afb A few tweaks to new ui (#4033) 2025-08-05 10:44:57 +01:00
moehreag
100b209043 Add Ornithe, LegacyFabric and Rift mod loader filters
Signed-off-by: moehreag <moehreag@gmail.com>
2025-08-05 11:12:22 +02:00
TheKodeToad
aaa1a74875 Reintroduce some encapulation
As much as I like keeping things as simple as possible it's probably best to be consistent with other library related stuff

Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-08-04 15:43:05 +01:00
TheKodeToad
3ba9483011 Simplify Rule
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-08-04 15:36:11 +01:00
TheKodeToad
e14b18ca71 Fix tests (oops)
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-08-04 15:31:38 +01:00
TheKodeToad
d7eddd3773 Replace IPathMatcher stuff with Filter
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-08-04 15:03:22 +01:00
TheKodeToad
d41db5253e Refactor Filter
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-08-04 14:02:54 +01:00
TheKodeToad
6abd7ac673 Remove invisible GroupBoxes (they appear on Fusion)
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-08-04 10:22:25 +01:00
TheKodeToad
99f6a02a14 Cat Fit -> Cat Scaling
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-08-03 12:14:03 +01:00
TheKodeToad
6ab1a246cb Use radio buttons for Instance Renaming Mode
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-08-03 12:09:10 +01:00
Tayou
79b7e277f1 Explicitly install Java for Windows in CI (#4030) 2025-08-01 08:24:50 +02:00
Seth Flynn
b196c5d59f ci(setup-deps/windows): install java
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-07-31 21:19:37 -04:00
Trial97
29231e2038 chore: update to cxx20
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-07-30 18:52:52 +03:00
timoreo
9565affa64 ci(macos): use vcpkg (#3977) 2025-07-30 06:54:08 +02:00
timoreo
b5c86ffee6 ensure that both cape and skin are downloaded via https (#4006) 2025-07-30 06:51:16 +02:00
timoreo
0710f3667f update ftb import to consider meta folder (#4017) 2025-07-30 06:50:17 +02:00
TheKodeToad
a85babefaa fix: use new Mojang API endpoint for Username->UUID resolution (#4012) 2025-07-27 13:53:35 +01:00
Trial97
f40117b431 update ftb import to consider meta folder
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-07-27 14:59:02 +03:00
Octol1ttle
eefe0375af fix(mojang api): use new endpoint for Username->UUID resolution
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2025-07-26 18:41:34 +05:00
Trial97
597309ceeb ensure that both cape and skin are downloaded via https
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-07-24 18:44:46 +03:00
Trial97
2e428330f4 support gif catpacks
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-07-24 11:30:52 +03:00
Sefa Eyeoglu
b90cda5eef chore(deps): update cachix/install-nix-action digest to c134e4c (#4004) 2025-07-24 10:12:38 +02:00
renovate[bot]
a8eea411e9 chore(deps): update cachix/install-nix-action digest to c134e4c 2025-07-23 23:28:11 +00:00
Seth Flynn
0ae0996adc build(vcpkg): patch meson to support universal binaries
tomlplusplus uses Meson as a build system, which makes us come across a
small bug when building Universal Binaries with our custom triplet

I hate vendoring this

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-07-22 18:04:55 -04:00
Trial97
bd570aa5d1 fix:resource update with loaders
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-07-22 13:33:19 +03:00
Trial97
a75713897d chore:renamed variables to camelCase
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-07-22 13:33:19 +03:00
Alexandru Ionut Tripon
078de50951 make universal resource type (#3541) 2025-07-22 13:31:05 +03:00
Alexandru Ionut Tripon
e043242a8e Reduce usage of [[nodiscard]] attributes (#3952) 2025-07-22 13:30:45 +03:00
Alexandru Ionut Tripon
a7f3cbb6f5 Add "Babric" and "BTA (Babric)" filters as shown on Modrinth (#3961) 2025-07-22 13:30:33 +03:00
Alexandru Ionut Tripon
0c0111c03c Apply selected style to NSWindow elements (e.g. title bar) on macOS (#3986) 2025-07-22 13:30:22 +03:00
timoreo
43c07cab4d chore(nix): update lockfile (#3993) 2025-07-21 15:02:37 +02:00
timoreo
535bc4b6c6 chore(deps): update determinatesystems/update-flake-lock action to v27 (#3982) 2025-07-21 15:02:09 +02:00
timoreo
1794768b20 chore(deps): update determinatesystems/nix-installer-action action to v19 (#3981) 2025-07-21 15:01:44 +02:00
github-actions[bot]
43b2b07e0e chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9807714d6944a957c2e036f84b0ff8caf9930bc0?narHash=sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X%2BxgOL0%3D' (2025-07-08)
  → 'github:NixOS/nixpkgs/6e987485eb2c77e5dcc5af4e3c70843711ef9251?narHash=sha256-RKwfXA4OZROjBTQAl9WOZQFm7L8Bo93FQwSJpAiSRvo%3D' (2025-07-16)
2025-07-20 00:32:26 +00:00
Trial97
b60b577d25 rename VALID_RESOURCES static variable
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-07-18 18:26:25 +03:00
Alexandru Ionut Tripon
6f23c6ea41 Update launcher/modplatform/ResourceType.h
Co-authored-by: TheKodeToad <TheKodeToad@proton.me>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2025-07-18 18:22:46 +03:00
Trial97
9a51cd55df make universal resource type
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-07-18 16:17:22 +03:00
timoreo
d63dba43d6 Add ability to change assets download server (#3875) 2025-07-18 09:14:45 +02:00
timoreo
31d7c3a727 Don't always enable optional mods manually downloaded from CurseForge (#3864) 2025-07-18 08:31:07 +02:00
clague
78dc42f4dd fix grammar
Co-authored-by: Seth Flynn <getchoo@tuta.io>
Signed-off-by: clague <93119153+clague@users.noreply.github.com>
2025-07-16 14:56:44 +08:00
Kenneth Chew
677a7d7a05 Unregister window observer before theme manager is deallocated
Technically this probably isn't actually necessary since ThemeManager looks like it should remain allocated until the program quits, but...

Signed-off-by: Kenneth Chew <79120643+kthchew@users.noreply.github.com>
2025-07-16 01:15:56 -04:00
Kenneth Chew
3e65d3a9b5 Apply selected style to window elements on macOS
Qt doesn't apply the proper style to elements such as the title bar or text shadows, so this must be done in native code.

Signed-off-by: Kenneth Chew <79120643+kthchew@users.noreply.github.com>
2025-07-16 00:34:42 -04:00
renovate[bot]
49daf62114 chore(deps): update determinatesystems/update-flake-lock action to v27 2025-07-15 03:24:29 +00:00
renovate[bot]
3cc8362662 chore(deps): update determinatesystems/nix-installer-action action to v19 2025-07-15 03:24:25 +00:00
Seth Flynn
5c8ce8db66 build(vcpkg): add univesal-osx triplet
vcpkg doesn't officially support universal binaries, but this should
function as a workaround until it does one day

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-07-13 16:33:35 -04:00
Seth Flynn
4614d683b3 ci(macos): use vcpkg
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-07-13 16:33:35 -04:00
Seth Flynn
9210d68ed1 ci(setup-deps/windows): try to fix vcpkg binary cache auth
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-07-13 16:33:33 -04:00
Seth Flynn
0dbaeef8a6 chore(nix): update lockfile (#3972) 2025-07-13 11:50:39 -04:00
Seth Flynn
1a6ffaeb49 chore(deps): update cachix/install-nix-action digest to f0fe604 (#3971) 2025-07-13 11:50:20 -04:00
github-actions[bot]
f5fffd27ab chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5c724ed1388e53cc231ed98330a60eb2f7be4be3?narHash=sha256-xVNy/XopSfIG9c46nRmPaKfH1Gn/56vQ8%2B%2BxWA8itO4%3D' (2025-07-04)
  → 'github:NixOS/nixpkgs/9807714d6944a957c2e036f84b0ff8caf9930bc0?narHash=sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X%2BxgOL0%3D' (2025-07-08)
2025-07-13 00:31:57 +00:00
renovate[bot]
5fb6022b47 chore(deps): update cachix/install-nix-action digest to f0fe604 2025-07-12 13:50:35 +00:00
Alexandru Ionut Tripon
058717bcc2 chore(deps): update cachix/install-nix-action digest to cebd211 (#3967) 2025-07-12 08:28:16 +03:00
renovate[bot]
9ce6d3571e chore(deps): update cachix/install-nix-action digest to cebd211 2025-07-11 22:00:35 +00:00
matthewperiut
20a833e1b9 Add "Babric" and "Babric (BTA)" as shown on Modrinth. Add "Show More" button to allow for space efficiency and readiness to add all other Modrinth modloader types.
Signed-off-by: matthewperiut <matthewperiut@gmail.com>
2025-07-10 11:12:27 -04:00
Seth Flynn
af73cfa20f Add support for vcpkg (#3742) 2025-07-09 06:50:41 -04:00
Seth Flynn
463cf43161 ci(setup-deps/windows): use vcpkg for msvc
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-07-09 05:22:50 -04:00
seth
7f78f6b85f build: add support for vcpkg
Signed-off-by: seth <getchoo@tuta.io>
2025-07-09 05:22:50 -04:00
seth
a5f5d14538 build(cmake): fallback to pkg-config discovery for tomlplusplus
Some distributions of it (like in vcpkg *wink*) won't contain CMake files

Signed-off-by: seth <getchoo@tuta.io>
2025-07-09 05:22:44 -04:00
Alexandru Ionut Tripon
4072e2fa3d Modernize launcher bundling (#3741) 2025-07-09 11:13:06 +03:00
timoreo
37a9271d5b propagate side as enum instead of Qstring (#3544) 2025-07-09 10:01:51 +02:00
Seth Flynn
f3b778342e build(cmake): replace INSTALL_BUNDLE with install component
Considering this doesn't affect the build, it has never made much sense
for it to be a build option or require rereconfiguration of the project
to change

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-07-08 11:03:19 -04:00
seth
1688db055e build: modernize launcher bundling
Replaces fixup_bundle with Qt's deployment scripts and CMake's newer
RUNTIME_DEPENDENCY_SET target, making it a bit easier to find and
include linked dependencies with less code on our end

Signed-off-by: seth <getchoo@tuta.io>
2025-07-08 11:03:19 -04:00
Seth Flynn
91abebbb59 build: let cmake know when we're cross compiling on msvc
This (unsurprisingly) makes some things actually work as they're
expected to when cross compiling, like windeployqt

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-07-08 11:03:19 -04:00
Seth Flynn
822b10e46e Update to Qt 6.9 (#3934) 2025-07-07 20:18:34 -04:00
TheKodeToad
6d19984873 Add [[nodiscard]] guidelines
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-07-07 20:58:22 +01:00
TheKodeToad
29d73a474f Reduce usage of [[nodiscard]] attributes
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-07-07 20:56:29 +01:00
Alexandru Ionut Tripon
9559204c8f chore(nix): update lockfile (#3945) 2025-07-06 22:24:18 +03:00
github-actions[bot]
fe1a488651 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/30e2e2857ba47844aa71991daa6ed1fc678bcbb7?narHash=sha256-krGXKxvkBhnrSC/kGBmg5MyupUUT5R6IBCLEzx9jhMM%3D' (2025-06-27)
  → 'github:NixOS/nixpkgs/5c724ed1388e53cc231ed98330a60eb2f7be4be3?narHash=sha256-xVNy/XopSfIG9c46nRmPaKfH1Gn/56vQ8%2B%2BxWA8itO4%3D' (2025-07-04)
2025-07-06 00:30:52 +00:00
Seth Flynn
5b6276ac0f Don't bundle Qt with the Linux Portable build (#3940) 2025-07-05 17:30:34 -04:00
Seth Flynn
50c8cddb5b build(linux): don't bundle qt with portable zip
This was mainly implemented to work around an ABI incompatibility in
Arch Linux, which is no longer a major issue as they have an official
binary package for us now. Many ABI incompatibility issues still remain
(as not every distribution is, or similar to, Ubuntu) which this doesn't
even begin to scratch the surface of fixing, and isn't a very supported
use case in Linux-land outside of our mostly self-rolled `fixup_bundle`

Users who experience ABI incompatibilities with our binaries would be
*much* better served using Flatpak or AppImage, as they can guarntee^*
compatibility with any host system through a complete bundle; packagers
who experience ABI incompatibilities should probably build the launcher
against their own distribution, like Arch and many others do

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-07-05 02:50:10 -04:00
Seth Flynn
19e69b7197 Use Ninja for MSVC release and cross builds (#3938) 2025-07-05 02:38:51 -04:00
Seth Flynn
ba6f49b891 ci: glob directory matches
This makes sure *all* changes to directories trigger the given workflows

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-07-04 05:27:41 -04:00
Seth Flynn
3257abaa34 build(cmake): use ninja for msvc release and cross builds
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-07-04 05:16:35 -04:00
Seth Flynn
fde66a11ce build(cmake): apply workaround for ninja in release mode on msvc
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-07-04 05:13:01 -04:00
Seth Flynn
300851e603 chore(deps): update determinatesystems/update-flake-lock action to v26 (#3937) 2025-07-04 03:07:23 -04:00
Seth Flynn
7e3a0f5dc3 chore(deps): update determinatesystems/nix-installer-action action to v18 (#3936) 2025-07-04 03:07:01 -04:00
renovate[bot]
907f661c57 chore(deps): update determinatesystems/update-flake-lock action to v26 2025-07-03 17:40:45 +00:00
renovate[bot]
e12c4d0abc chore(deps): update determinatesystems/nix-installer-action action to v18 2025-07-03 17:40:41 +00:00
Seth Flynn
1deda8cdf4 build(cmake): set minimum version to 3.22
This requirement was introduced in Qt 6.9

https://doc.qt.io/qt-6/whatsnew69.html#build-system-changes

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-07-03 04:46:18 -04:00
Seth Flynn
59ed25fad1 chore: update to qt 6.9
https://doc.qt.io/qt-6/whatsnew69.html

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-07-03 04:20:52 -04:00
timoreo
d4a50166e8 Correct Corruption in CustomCommands (#3933) 2025-07-03 07:56:59 +02:00
Seth Flynn
364ebbcbe6 ci: run on changes to .ui files
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-07-03 01:25:49 -04:00
Seth Flynn
56fa6586ab fix(ui/CustomCommands): memory corruption in labelPostExitCmd
Making a QLabel a buddy of itself causes a double free and crashing on
deconstruction in some cases (like MSVC)

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-07-03 01:20:45 -04:00
Seth Flynn
ae9d0b2d6b Deploy PDBs with Windows debug builds (#3923) 2025-07-01 23:21:44 -04:00
seth
71be6eb7d8 build: deploy pdbs with windows builds
Signed-off-by: seth <getchoo@tuta.io>
2025-06-30 15:22:51 -04:00
seth
dac73b394a build: emit pdbs on mingw
Signed-off-by: seth <getchoo@tuta.io>
2025-06-30 15:21:04 -04:00
Alexandru Ionut Tripon
4d70d4cafe chore(nix): update lockfile (#3920) 2025-06-29 16:49:32 +03:00
Alexandru Ionut Tripon
3d4ed25dee fix: icon import with dot in name (#3919) 2025-06-29 16:49:17 +03:00
github-actions[bot]
be62a7d0a2 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/08f22084e6085d19bcfb4be30d1ca76ecb96fe54?narHash=sha256-XE/lFNhz5lsriMm/yjXkvSZz5DfvKJLUjsS6pP8EC50%3D' (2025-06-19)
  → 'github:NixOS/nixpkgs/30e2e2857ba47844aa71991daa6ed1fc678bcbb7?narHash=sha256-krGXKxvkBhnrSC/kGBmg5MyupUUT5R6IBCLEzx9jhMM%3D' (2025-06-27)
2025-06-29 00:31:19 +00:00
Trial97
53dcc15766 fix: icon import with dot in name
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-06-28 23:34:13 +03:00
Alexandru Ionut Tripon
497cea0bd5 fix typo in APIPage.ui (#3916) 2025-06-27 12:48:15 +03:00
Alexandru Ionut Tripon
957a577216 fix: escape quotes in shorcut creation arguments (#3909) 2025-06-27 12:47:47 +03:00
Alexandru Ionut Tripon
be310a272a chore(deps): update cachix/install-nix-action digest to f0fe604 (#3906) 2025-06-27 12:47:00 +03:00
Ismail
24d70c773e fix typo in APIPage.ui
Signed-off-by: Ismail <ismail.choudhury33@gmail.com>
2025-06-27 00:48:31 +01:00
Alexandru Ionut Tripon
95594caa12 chore(deps): update korthout/backport-action action to v3.2.1 (#3913) 2025-06-26 12:02:17 +03:00
renovate[bot]
bcdbbab7c0 chore(deps): update korthout/backport-action action to v3.2.1 2025-06-26 08:37:29 +00:00
Trial97
cdf8ad2c94 fix: escape quetes in shorcut creation arguments
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-06-25 13:13:42 +03:00
renovate[bot]
ec63f54f48 chore(deps): update cachix/install-nix-action digest to f0fe604 2025-06-24 17:38:33 +00:00
Alexandru Ionut Tripon
e0c569365f chore(nix): update lockfile (#3899) 2025-06-22 11:20:12 +03:00
github-actions[bot]
f29c5f5581 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/ee930f9755f58096ac6e8ca94a1887e0534e2d81?narHash=sha256-Kh9K4taXbVuaLC0IL%2B9HcfvxsSUx8dPB5s5weJcc9pc%3D' (2025-06-13)
  → 'github:NixOS/nixpkgs/08f22084e6085d19bcfb4be30d1ca76ecb96fe54?narHash=sha256-XE/lFNhz5lsriMm/yjXkvSZz5DfvKJLUjsS6pP8EC50%3D' (2025-06-19)
2025-06-22 00:30:42 +00:00
Seth Flynn
1064e5dc57 fix: nightly link (#3897) 2025-06-21 14:01:06 -04:00
Trial97
7eb07451ce fix: nightly link
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-06-21 17:35:51 +03:00
Alexandru Ionut Tripon
b6c1ce31a6 Fix crash wrong component (#3868) 2025-06-19 00:02:21 +03:00
Tayou
be2e2ec629 Improve the message when component metadata fails to download (#3884) 2025-06-17 10:14:39 +02:00
Seth Flynn
1889dca401 chore: refresh metainfo.xml.in (#3881) 2025-06-16 20:40:41 -04:00
TheKodeToad
8711913ac3 Improve the message when component metadata fails to download
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-06-17 00:43:03 +01:00
Trial97
21de7a2d97 fix: crash when component version can't be loaded from atlauncher file
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-06-16 22:32:39 +03:00
renner
e9899e3af3 chore: refresh metainfo.xml.in
adds a donation + FAQ URL and developer id property

Signed-off-by: renner <renner0@posteo.de>
2025-06-16 20:40:38 +02:00
clague
09ec3eb621 resolve problems
Signed-off-by: clague <93119153+clague@users.noreply.github.com>
2025-06-17 00:25:34 +08:00
clague
4bf6e59f3b feat: add ability to change assets download server
Signed-off-by: clague <93119153+clague@users.noreply.github.com>
2025-06-17 00:25:33 +08:00
Seth Flynn
f1b0034f5c Build Linux binaries for ARM64 (#3304) 2025-06-15 22:43:24 -04:00
Alexandru Ionut Tripon
a2681b5704 chore(nix): update lockfile (#3878) 2025-06-15 10:03:16 +03:00
github-actions[bot]
45027279fa chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d3d2d80a2191a73d1e86456a751b83aa13085d7d?narHash=sha256-QuUtALJpVrPnPeozlUG/y%2BoIMSLdptHxb3GK6cpSVhA%3D' (2025-06-05)
  → 'github:NixOS/nixpkgs/ee930f9755f58096ac6e8ca94a1887e0534e2d81?narHash=sha256-Kh9K4taXbVuaLC0IL%2B9HcfvxsSUx8dPB5s5weJcc9pc%3D' (2025-06-13)
2025-06-15 00:30:46 +00:00
seth
03c714cccf ci: build for arm on linux
Signed-off-by: seth <getchoo@tuta.io>
2025-06-13 02:19:52 -04:00
Seth Flynn
c03f854fb8 cmake: use build platform from environment
This allows all CI builds to be deemed "official"

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-06-13 02:18:19 -04:00
Seth Flynn
3718c60844 cmake: enforce explicit artifact name
It's much easier to determine this in CI and ensure our artifact names
are correct (I have made some accidents). They (and thus the updater)
can also easily be left out of local builds -- and probably should've
always been

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-06-13 02:18:19 -04:00
Seth Flynn
6d960b9c3c ci(setup-deps): always use sccache, simplify restore key
sccache is available on arm runners. we can use the restore key for an
easy, unique restore key in the cache too (it also prevents us from
re-using the ccache caches!)

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-06-13 02:18:19 -04:00
Seth Flynn
04ecd447bc ci(package/linux): use dpkg to determine file paths and variables
Should hopefully make things less brittle across different architectures

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-06-13 02:18:15 -04:00
Alexandru Ionut Tripon
2c91629564 Cleanup CI trigger events (#3873) 2025-06-13 09:13:11 +03:00
Seth Flynn
d8ac52bd8c ci: ensure all workflows are actually run on push to branches
Oops

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-06-12 21:39:41 -04:00
Seth Flynn
8df20a372c ci: don't run ci on custom in-tree branches
This basically duplicates runs when a PR is opened from an in-tree
branch. If we want to run one without a PR, we can use workflow_dispatch
anyways

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-06-12 21:37:39 -04:00
Seth Flynn
d68269eca8 chore: move opacity after checkbox draw (#3848) 2025-06-10 06:51:20 -04:00
Seth Flynn
7e6292db25 feat: use build config url instead of hadcoded one (#3829) 2025-06-10 06:48:31 -04:00
Trial97
ea1a0dadda fix: curseforge optinal blocked mods
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-06-09 23:04:20 +03:00
Alexandru Ionut Tripon
fbac04c170 Auth abort fixes (#3851) 2025-06-09 18:32:38 +03:00
Alexandru Ionut Tripon
75db733642 chore(nix): update lockfile (#3854) 2025-06-09 18:31:42 +03:00
github-actions[bot]
ca545b7a5b chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/96ec055edbe5ee227f28cdbc3f1ddf1df5965102?narHash=sha256-7doLyJBzCllvqX4gszYtmZUToxKvMUrg45EUWaUYmBg%3D' (2025-05-28)
  → 'github:NixOS/nixpkgs/d3d2d80a2191a73d1e86456a751b83aa13085d7d?narHash=sha256-QuUtALJpVrPnPeozlUG/y%2BoIMSLdptHxb3GK6cpSVhA%3D' (2025-06-05)
2025-06-08 00:30:27 +00:00
TheKodeToad
a195b9981d Use Task::getState
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-06-07 22:41:09 +01:00
TheKodeToad
06aece111a Reset account state on abort
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-06-07 20:25:21 +01:00
TheKodeToad
834eb5a90d Don't retry account refresh if aborted
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-06-07 16:32:40 +01:00
TheKodeToad
f19fe41937 Fix MessageLevel.h error when compiling on Debian Stable (#3846) 2025-06-07 08:46:56 +00:00
Trial97
8a80ccae3a chore: move oppacity after checkbox draw
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-06-07 09:10:03 +03:00
TheKodeToad
f0388d04bf Fix MessageLevel.h error when compiling on Debian Stable
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-06-06 23:42:43 +01:00
TheKodeToad
9f9aabcf97 Add a page to view launcher logs (#3831) 2025-06-06 14:59:57 +00:00
Yihe Li
836c558c6c Merge branch 'develop' into launcher-log-page 2025-06-06 21:36:03 +08:00
Tayou
f17e443b12 chore: fix some codeql warnings (#3838) 2025-06-06 15:20:07 +02:00
Tayou
87d199fae8 feat: fade installed resources in the download dialog (#3732) 2025-06-06 14:42:43 +02:00
Tayou
ae9e4835c4 fix: qr code overlaping with text when adding account (#3753) 2025-06-06 14:32:39 +02:00
Tayou
9cdfeb5fcd add options to change the cat scalling (#3380) 2025-06-06 14:23:39 +02:00
Tayou
a17ea196c1 chore: fix some codeql warnings (#3840) 2025-06-06 14:19:27 +02:00
Alexandru Ionut Tripon
2d90144cd9 More intuitive version changing for modpacks (#3841) 2025-06-06 08:12:52 +03:00
Alexandru Ionut Tripon
36572a63f0 fix: crash with global datapacks on export (#3843) 2025-06-06 08:12:40 +03:00
Trial97
09dcfa4b65 feat: fade installed resources in the download dialog
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-06-05 18:41:09 +03:00
Yihe Li
25907ea8c6 Forgot to reset pointer to nullptr
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-06-05 23:22:49 +08:00
Yihe Li
dea8de01e3 Merge branch 'develop' into launcher-log-page 2025-06-05 23:20:46 +08:00
Yihe Li
842662c24f Merge branch 'develop' into launcher-log-page 2025-06-05 23:20:15 +08:00
Yihe Li
d77889f26d Change log to be a QMainWindow
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-06-05 23:15:55 +08:00
Trial97
37f8b2f563 fix: crash with global datapacks on export
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-06-05 17:50:47 +03:00
Alexandru Ionut Tripon
6eec17e846 Remove reliance on SIGNAL/SLOT macros (#3842) 2025-06-05 17:41:33 +03:00
Yihe Li
c57ba911cf Remove unnecessary QObject::
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-06-05 21:41:06 +08:00
Yihe Li
4a9b3d2f5f Remove usage of SIGNAL/SLOT macro
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-06-05 21:35:19 +08:00
Yihe Li
58a28f319a More intuitive version changing for modpacks
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-06-05 20:20:34 +08:00
Yihe Li
ef3bf75715 Remove some duplicate code
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-06-05 16:15:29 +08:00
Trial97
7ea15c31a1 chore: fix some codeql warnings
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-06-05 09:45:25 +03:00
Yihe Li
e4a801fdf7 Use separate window for viewing logs
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-06-05 07:18:13 +08:00
Trial97
4f5db2e49f chore: fixe some codeql warnings
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-06-05 00:34:45 +03:00
Alexandru Ionut Tripon
0136c2e82a Fix crash and make loader override more consistent (#3827) 2025-06-04 22:20:13 +03:00
Yihe Li
1aa8d7bc13 Reuse OtherLogsPage directly
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-06-03 15:44:17 +08:00
Alexandru Ionut Tripon
6d9eac6766 remove: unused files (#3740) 2025-06-03 08:42:09 +03:00
Yihe Li
289645266a Add support for view older launcher logs
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-06-03 06:08:32 +08:00
Yihe Li
c58cc3396a Basic support for launcher log page
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-06-03 04:51:41 +08:00
Trial97
9991501832 feat: use build config url instead of hadcoded one
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-06-02 19:28:52 +03:00
Tayou
df90d0cb0d fix: warning with different signedness (#3826) 2025-06-02 17:28:13 +02:00
TheKodeToad
956f5ee180 Fix crash and make loader override more consistent with other option groups
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-06-02 14:59:56 +01:00
Trial97
93e9d2fd86 fix: warning with different signedness
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-06-02 16:43:36 +03:00
Alexandru Ionut Tripon
253b9756d4 improve blocked mods dialog (#3378) 2025-06-02 16:26:29 +03:00
Trial97
2fc89d7e11 improve blocked mods dialog
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-06-02 15:35:05 +03:00
Trial97
8c0ba43838 add options to change the cat scalling
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-06-02 15:15:17 +03:00
Trial97
be963764ea propagate side as enum instead of Qstring
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-06-02 13:26:42 +03:00
Alexandru Ionut Tripon
178965676e Remove reference to deprecated Q_OS_OSX macro (#3824) 2025-06-02 12:45:24 +03:00
Alexandru Ionut Tripon
52fa074ff7 Make column visibility global (#3748) 2025-06-02 12:45:03 +03:00
TheKodeToad
d9b672ee8d Data pack management (#1905) 2025-06-02 09:18:57 +00:00
Yihe Li
5ccdb0a477 Remove several warnings when building the project
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-06-02 17:00:13 +08:00
TheKodeToad
609a4f7160 Fix spelling of override
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-06-02 11:56:03 +03:00
Trial97
a29b189056 feat: make the visibility per resource
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-06-02 11:56:03 +03:00
Trial97
8c710fb8de chore: migrate map settings to json string
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-06-02 11:56:03 +03:00
TheKodeToad
edb1020dce Merge remote-tracking branch 'upstream/develop' into data-packs
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-06-02 09:52:05 +01:00
Trial97
89be378ef6 chore: add miggrate qbytearray settings to qstring
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-06-02 11:40:48 +03:00
Trial97
7e174f53af chore: add migration for old QByteArray to base64
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-06-02 11:40:48 +03:00
Trial97
6177fa0148 feat: make resource header config global
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-06-02 11:40:48 +03:00
TheKodeToad
af0176b12a Allow data packs on vanilla instances
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-06-02 09:39:45 +01:00
Alexandru Ionut Tripon
d667dfe223 feat: add setting to control the loaders for mod search (#3659) 2025-06-02 11:39:39 +03:00
Alexandru Ionut Tripon
a95def5588 Delete associated shortcuts when deleting instance (#3819) 2025-06-02 11:39:24 +03:00
Trial97
ca54971499 chore: ensure the setting is saved as string
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-06-02 09:45:49 +03:00
Trial97
492769aea6 feat: add setting to control the loaders for mod search
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-06-02 09:19:40 +03:00
Yihe Li
8965200384 Handle JSON parse error
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-06-02 14:19:31 +08:00
Alexandru Ionut Tripon
b4a998e992 chore(deps): try find system wide qrcodegencpp-cmake and use it (#3821) 2025-06-02 09:08:54 +03:00
Yihe Li
50fb2db718 Validate JSON parsing results
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-06-02 07:36:53 +08:00
TheKodeToad
142a73888d Rework the settings user interface (#3534) 2025-06-01 22:46:40 +00:00
TheKodeToad
b54dd051fb Fix close button on world datapacks dialog
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-06-01 19:24:21 +00:00
Yihe Li
0a1001ee84 Use QString instead of QByteArray
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-06-02 01:34:24 +08:00
Puqns67
49dc9a5d3f chore(deps): try find system wide qrcodegencpp-cmake and use it
Signed-off-by: Puqns67 <me@puqns67.icu>
2025-06-02 00:58:42 +08:00
Yihe Li
caff4b884f Use null QString instead of empty
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-06-01 18:32:38 +08:00
TheKodeToad
e665a257dc Hopefully fix segfault with HintOverrideProxyStyle (#3820) 2025-06-01 09:47:56 +00:00
Yihe Li
d9884f0d03 Add notes in shortcut creation screen
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-06-01 16:33:43 +08:00
Yihe Li
4214571cff Add # of shortcuts to deletion confirmation screen instead
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-06-01 16:18:35 +08:00
TheKodeToad
1c69f63357 Hopefully fix segfault with HintOverrideProxyStyle
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-06-01 09:15:21 +01:00
Yihe Li
d2ee023788 Switch to JSON-encoded store
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-06-01 16:13:40 +08:00
TheKodeToad
e4ed3b4546 Merge branch 'PrismLauncher:develop' into data-packs 2025-06-01 07:54:16 +00:00
Yihe Li
7c3a810d3d Implement persistence by storing shortcut in settings
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-06-01 14:16:47 +08:00
Rachel Powers
9f1d19811b chore(nix): update lockfile (#3818) 2025-05-31 18:56:31 -07:00
github-actions[bot]
48bc6ebcc2 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/063f43f2dbdef86376cc29ad646c45c46e93234c?narHash=sha256-6m1Y3/4pVw1RWTsrkAK2VMYSzG4MMIj7sqUy7o8th1o%3D' (2025-05-23)
  → 'github:NixOS/nixpkgs/96ec055edbe5ee227f28cdbc3f1ddf1df5965102?narHash=sha256-7doLyJBzCllvqX4gszYtmZUToxKvMUrg45EUWaUYmBg%3D' (2025-05-28)
2025-06-01 00:33:52 +00:00
Yihe Li
d3f337d6ef Delete shortcut when deleting instances
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-06-01 08:13:18 +08:00
Alexandru Ionut Tripon
0a89f5cfaa feat: move qr code glue in MSALoginDialog (#3676) 2025-05-31 21:40:01 +03:00
TheKodeToad
308cbcbf77 feat: propagate Sink error handling (#2631) 2025-05-31 18:32:19 +00:00
TheKodeToad
43dcafda60 Support for CurseForge recommended memory (#3711) 2025-05-31 17:22:06 +00:00
TheKodeToad
77057267d2 feat(skin manager): add elytra preview (#3761) 2025-05-30 19:01:58 +00:00
TheKodeToad
75779a841e Re-apply my suggestion
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-05-30 18:55:58 +00:00
Alexandru Ionut Tripon
acc0f96e34 chore(deps): update determinatesystems/update-flake-lock action to v25 (#3778) 2025-05-30 09:43:06 +03:00
Alexandru Ionut Tripon
2ac7b79026 chore(nix): update lockfile (#3784) 2025-05-30 09:42:57 +03:00
Alexandru Ionut Tripon
7d9eda7eb9 chore(deps): update determinatesystems/flakehub-cache-action action to v2 (#3812) 2025-05-30 09:42:42 +03:00
renovate[bot]
03e1b7b4d5 chore(deps): update determinatesystems/flakehub-cache-action action to v2 2025-05-29 22:07:33 +00:00
Rachel Powers
43c8f74fa0 chore(deps): update cachix/install-nix-action digest to 17fe5fb (#3798) 2025-05-27 16:16:47 -07:00
renovate[bot]
3690d93591 chore(deps): update cachix/install-nix-action digest to 17fe5fb 2025-05-27 12:24:27 +00:00
timoreo
a6c93d66d4 fix(skin manager): accept files with same name (#3755) 2025-05-26 21:47:49 +02:00
github-actions[bot]
ff1fb8755a chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/dda3dcd3fe03e991015e9a74b22d35950f264a54?narHash=sha256-Ua0drDHawlzNqJnclTJGf87dBmaO/tn7iZ%2BTCkTRpRc%3D' (2025-05-08)
  → 'github:NixOS/nixpkgs/063f43f2dbdef86376cc29ad646c45c46e93234c?narHash=sha256-6m1Y3/4pVw1RWTsrkAK2VMYSzG4MMIj7sqUy7o8th1o%3D' (2025-05-23)
2025-05-25 00:30:05 +00:00
TheKodeToad
618e6bd96b Merge remote-tracking branch 'upstream/develop' into rework-settings
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-05-22 23:04:57 +01:00
TheKodeToad
c300db1a24 Allow creating shortcuts to individual worlds and servers with Quick Play (#3767) 2025-05-22 20:48:02 +01:00
Yihe Li
8425861fb1 Just disable world selection when there is no world
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-05-23 00:53:03 +08:00
Yihe Li
a89caf7362 Apply suggestions from review
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-05-22 23:09:37 +08:00
Trial97
64ef14100d feat(skin manager): add elytra preview
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-05-18 21:13:13 +03:00
Yihe Li
3745bdb6f2 Special treatment of non-Quick Join worlds
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-05-19 01:46:23 +08:00
Yihe Li
46c9eb1d5f Remove button additions
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-05-19 01:34:18 +08:00
Yihe Li
4839595a11 Implement account override
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-05-19 01:29:30 +08:00
Yihe Li
3529d29584 Implement world and server selection
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-05-19 01:06:21 +08:00
Yihe Li
2e6981977b Add basic shortcut creation integration
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-05-19 00:04:15 +08:00
Yihe Li
b296085ea0 Small adjustments
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-05-18 23:32:35 +08:00
Yihe Li
37e12fff02 Merge branch 'develop' into world-server-shortcut 2025-05-18 23:09:47 +08:00
Yihe Li
ea8f105292 Add stubs and b asic integration with MainWindow
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-05-18 23:09:39 +08:00
Yihe Li
0a5013ff9f Add source files for UI
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-05-18 23:09:39 +08:00
Yihe Li
1c288543f2 Initial UI for shortcut dialog
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-05-18 23:09:39 +08:00
Trial97
8a60ec1c4a chore: replace foreach macro
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-05-18 23:09:39 +08:00
Sefa Eyeoglu
91e9e49d2c chore(readme): update Jetbrains logo
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2025-05-18 23:09:39 +08:00
github-actions[bot]
183f3d4e9a chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/f771eb401a46846c1aebd20552521b233dd7e18b?narHash=sha256-ITSpPDwvLBZBnPRS2bUcHY3gZSwis/uTe255QgMtTLA%3D' (2025-04-24)
  → 'github:NixOS/nixpkgs/dda3dcd3fe03e991015e9a74b22d35950f264a54?narHash=sha256-Ua0drDHawlzNqJnclTJGf87dBmaO/tn7iZ%2BTCkTRpRc%3D' (2025-05-08)
2025-05-18 23:09:39 +08:00
Yihe Li
d9c9eb6521 Remove redundant assignment
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-05-18 20:41:11 +08:00
renovate[bot]
776b15d587 chore(deps): update determinatesystems/update-flake-lock action to v25 2025-05-16 16:08:06 +00:00
Yihe Li
bc1d1b41c0 Move menu creation to constructors to avoid performance issues
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-05-15 19:12:15 +08:00
Yihe Li
f3c253d708 Fix menu issues
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-05-15 19:05:40 +08:00
Tayou
1c20faccf8 chore: replace foreach macro (#3773) 2025-05-14 10:48:37 +02:00
Trial97
bbfaaef31d chore: replace foreach macro
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-05-14 09:55:55 +03:00
Alexandru Ionut Tripon
7df330f411 chore(readme): update Jetbrains logo (#3768) 2025-05-13 22:08:16 +03:00
Alexandru Ionut Tripon
56b6c3a6a7 chore(nix): update lockfile (#3733) 2025-05-13 22:08:01 +03:00
Sefa Eyeoglu
003d422626 chore(readme): update Jetbrains logo
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2025-05-13 15:51:52 +02:00
Yihe Li
31dc84653d Refactor shortcut parameter into its own struct
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-05-13 05:14:53 +08:00
Yihe Li
db82988943 Re-add an appropriate copyright comment
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-05-13 03:23:28 +08:00
Yihe Li
bae0ac7ad6 Use index.row() directly
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-05-13 03:12:20 +08:00
Yihe Li
039682b7dc Remove inappropriate comments
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-05-13 03:09:49 +08:00
Yihe Li
dbdc9bea7a Add create shortcut button for servers
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-05-11 19:28:00 +08:00
Yihe Li
37213ecc34 Add create shortcut button for worlds
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-05-11 19:08:36 +08:00
github-actions[bot]
9f1ee3594e chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/f771eb401a46846c1aebd20552521b233dd7e18b?narHash=sha256-ITSpPDwvLBZBnPRS2bUcHY3gZSwis/uTe255QgMtTLA%3D' (2025-04-24)
  → 'github:NixOS/nixpkgs/dda3dcd3fe03e991015e9a74b22d35950f264a54?narHash=sha256-Ua0drDHawlzNqJnclTJGf87dBmaO/tn7iZ%2BTCkTRpRc%3D' (2025-05-08)
2025-05-11 00:28:34 +00:00
Yihe Li
69469b4484 Refactor shortcut creation logic into its own file
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-05-11 03:37:47 +08:00
Trial97
e1cfae5e06 fix(skin manager): accept files with same name
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-05-10 12:21:32 +03:00
Trial97
a67a015e49 fix: qr code overlaping with text when adding account
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-05-10 12:21:10 +03:00
Trial97
3d0bef92a1 feat: compound the conncurent task error
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-05-10 12:16:10 +03:00
Trial97
de541bf397 refactor: paste upload to report the error directly
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-05-10 12:16:10 +03:00
Trial97
c3749c4fdc feat: add sink fail reason and correctly propagate it through the NetRequest
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-05-10 12:16:10 +03:00
Alexandru Ionut Tripon
a89fc7d1e0 Improvements to upload logs (#1872) 2025-05-10 12:12:46 +03:00
Alexandru Ionut Tripon
2c838f8c2c Allow the user to create a shortcut on the desktop and/or application folder (#2966) 2025-05-10 12:12:04 +03:00
Alexandru Ionut Tripon
0a665231db feat: search for pack icon in the actual file (#3752) 2025-05-10 12:11:48 +03:00
Alexandru Ionut Tripon
bc9af29158 feat: prevent deletion of running instances (#3754) 2025-05-10 12:11:26 +03:00
Alexandru Ionut Tripon
c48ef22cf8 MinGW CI improvements (#3757) 2025-05-10 12:11:11 +03:00
seth
b9a97c8647 ci(release): upload mingw-arm64 artifacts
Signed-off-by: seth <getchoo@tuta.io>
2025-05-07 21:01:00 -04:00
Seth Flynn
b7bcc2f612 Don't re-define structs for newer MinGW versions (#3756) 2025-05-07 18:21:25 -04:00
seth
3dcac0de50 ci: run workflows on local action changes
Helps ensure they still actually work when changes are made

Signed-off-by: seth <getchoo@tuta.io>
2025-05-07 18:03:37 -04:00
seth
9d79695512 ci(mingw): print msys2 packages
Also lists theirs versions, which is useful for debugging issues like
those fixed in https://github.com/PrismLauncher/PrismLauncher/pull/3756

Signed-off-by: seth <getchoo@tuta.io>
2025-05-07 17:56:33 -04:00
seth
0711890d18 ci(mingw): use tomlplusplus from msys2
Signed-off-by: seth <getchoo@tuta.io>
2025-05-07 17:55:05 -04:00
seth
cf7061b9a8 fix(FileSystem): dont re-define structs for newer mingw versions
Signed-off-by: seth <getchoo@tuta.io>
2025-05-07 17:42:30 -04:00
Trial97
4bad7e48c3 feat: prevent deletion of running instances
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-05-07 23:21:35 +03:00
Trial97
fa189572db feat: search for pack icon in the actual file
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-05-07 22:52:22 +03:00
Alexandru Ionut Tripon
198fbd19cf Replace deprecated unique_qobject_ptr::swap with unique_ptr (#3746) 2025-05-07 19:18:33 +03:00
Hendrik Lind
14a78d55b0 Merge branch 'PrismLauncher:develop' into add-startmenu-shortcut 2025-05-07 13:34:35 +02:00
Trial97
e325806173 feat: add regex removal for log sesnitive data
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-05-07 00:12:10 +03:00
Trial97
63d40ecda4 feat: add upload action for launcher logs
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-05-07 00:12:09 +03:00
Trial97
cb01d5c46e feat: refactor logs upload to use the NetJob
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-05-07 00:12:09 +03:00
Trial97
9b07c6948c fix: modrinth categories not loading
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-05-06 23:27:29 +03:00
Trial97
7523bc1925 fix: replaced deprecated unique_qobject_ptr::swap with unique_ptr
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-05-06 23:12:03 +03:00
Trial97
476f3edce0 Revert "fix: 6.2 deprecation warning regard the QScopedPointer::swap function (#3655)"
This reverts commit ca258109c5, reversing
changes made to 693d9d02bc.
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-05-06 23:12:03 +03:00
Seth Flynn
cb8f6f5e80 Fix jq blocked (#3747) 2025-05-05 18:45:30 -04:00
Rachel Powers
1cff0dee21 Merge branch 'PrismLauncher:develop' into fix-jq-blocked 2025-05-05 15:41:59 -07:00
Rachel Powers
f379c5ef34 ci(blocked-pr): another jq syntax fix
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-05-05 15:40:21 -07:00
Seth Flynn
ad4983e422 jq if statements need parens (#3744) 2025-05-05 18:30:43 -04:00
Rachel Powers
d1234198a1 ci(blocked-pr): default pr body as empty string
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-05-05 14:01:58 -07:00
Rachel Powers
a55bffc963 ci(blocked-prs): jq if statements need parens
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-05-05 13:25:29 -07:00
Seth Flynn
f1d264d12d ci: Distinguish between stacked and blocked pr (#3719) 2025-05-05 13:04:35 -04:00
Trial97
fe0c52ff78 remove: unused files
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-05-05 19:57:24 +03:00
timoreo
ca258109c5 fix: 6.2 deprecation warning regard the QScopedPointer::swap function (#3655) 2025-05-05 14:42:09 +02:00
Tayou
693d9d02bc [macOS] Remove support for macOS 11 (#3611) 2025-05-04 11:47:48 +02:00
TheKodeToad
13f533801b Use options struct for FlamePackExportTask
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-05-03 14:26:52 +01:00
Alexandru Ionut Tripon
62afb86c6b Build MinGW binaries for ARM64 (#3724) 2025-05-01 20:18:31 +03:00
Seth Flynn
a7c5959b7e ci(setup-deps): dont force x64 binutils for msys2
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-05-01 11:02:35 -04:00
Seth Flynn
ee81c7a6f4 feat: build mingw binaries for arm64
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-05-01 11:02:32 -04:00
Seth Flynn
d13dff0dc8 chore(deps): update hendrikmuhs/ccache-action action to v1.2.18 (#3726) 2025-05-01 10:54:33 -04:00
Trial97
c7aef20b1e deperecate macos 11
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-05-01 17:22:33 +03:00
renovate[bot]
be33aa3567 chore(deps): update hendrikmuhs/ccache-action action to v1.2.18 2025-05-01 14:19:24 +00:00
Alexandru Ionut Tripon
65ce09969e Split build workflow into composite actions (#3707) 2025-05-01 17:18:59 +03:00
Seth Flynn
8c5333a5da ci: use sccache on windows
This apparently works with less hacks, and is actually suggested by the
action we're using

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-05-01 08:44:00 -04:00
Seth Flynn
1e617392ad ci(codeql): use setup-dependencies action
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-05-01 08:44:00 -04:00
Seth Flynn
efa3392632 ci: trigger_release -> release
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-05-01 08:44:00 -04:00
Seth Flynn
77b88fc7ec ci: run build workflow directly on push/prs
Calling this from another workflow only for these events doesn't make
much sense now

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-05-01 08:44:00 -04:00
Seth Flynn
2dfb674e44 ci: split build workflow into composite actions
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-05-01 08:43:57 -04:00
Alexandru Ionut Tripon
d88d32b917 chore(deps): update cachix/install-nix-action digest to 5261181 (#3720) 2025-04-30 21:34:36 +03:00
renovate[bot]
19d6999455 chore(deps): update cachix/install-nix-action digest to 5261181 2025-04-30 16:35:22 +00:00
Alexandru Ionut Tripon
573aa8c208 fix: task typo in flame export task (#3718) 2025-04-30 14:38:32 +03:00
Rachel Powers
eb911389f8 Distinguish between stacked and blocked pr
distinguish between stacked and blocked pr
stacks need merge
blocks just need a close

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-04-30 02:45:23 -07:00
TheKodeToad
29d867cb88 Merge branch 'develop' into recommended-memory
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-30 10:35:17 +01:00
Alexandru Ionut Tripon
b8a9b086ae ci: only run on specific paths (#3717) 2025-04-30 11:03:34 +03:00
Seth Flynn
dc3a8dcfed ci: only run on specific paths
This avoids the previously applied paths-ignore exception workaround,
and makes runs as strict as (reasonably) possible. Only directories
known to affect builds will trigger builds, as well as any `.cpp` or
`.h` files to account for any new folders created - though these should
still be added to the workflow later

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-04-30 03:30:47 -04:00
Trial97
a465af45dc fix: task typo in flame export task
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-04-30 10:15:59 +03:00
Alexandru Ionut Tripon
36d18b393b fix: crash when task was canceled and abort signal was fired early (#3712) 2025-04-30 10:10:36 +03:00
Alexandru Ionut Tripon
9a85f23d85 Add support for CMake presets and workflows (#3702) 2025-04-30 10:10:16 +03:00
Seth Flynn
b438236a64 ci: use symlink for ccache when possible
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-04-30 02:25:31 -04:00
Seth Flynn
6c45ff915a chore(gitignore): add CMakeUserPresets.json
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-04-30 02:25:31 -04:00
Seth Flynn
70500af2a2 ci: use cmake workflow presets
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-04-30 02:25:31 -04:00
Seth Flynn
9131f79cc0 feat: add CMakePresets.json
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-04-30 02:25:31 -04:00
Alexandru Ionut Tripon
224503cc93 fix: file filtering on modpack export (#3710) 2025-04-30 08:24:21 +03:00
Trial97
053b57c21f fix: crash when task was canceled and abort signal was fired early
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-04-29 19:24:04 +03:00
TheKodeToad
24036021bb Propagate task warnings
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-29 17:16:18 +01:00
TheKodeToad
acdb8c5578 Implement recommendedRam in CurseForge import
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-29 17:16:16 +01:00
Trial97
147159be2c fix: file filtering on modpack export
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-04-29 19:02:35 +03:00
TheKodeToad
ee52127044 Implement recommendedRam in CurseForge export
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-29 16:46:48 +01:00
TheKodeToad
75d4ef1828 Implement UI for setting recommended RAM
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-29 14:44:30 +01:00
TheKodeToad
497e0cbfdc Tweak pack export UI – add recommended RAM
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-29 14:44:09 +01:00
TheKodeToad
80fb1a8f4e Fixes for new changes
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-29 12:15:58 +01:00
Trial97
476054ba19 feat: move qr code glue in MSALoginDialog
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-04-29 11:27:02 +03:00
Seth Flynn
f086233186 chore(nix): update lockfile (#3693) 2025-04-29 04:23:53 -04:00
Seth Flynn
e9afa16aa1 chore: format some of the project files (#3677) 2025-04-29 04:23:25 -04:00
TheKodeToad
fadbcf2d04 Merge remote-tracking branch 'upstream/develop' into data-packs
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-29 09:15:11 +01:00
Trial97
8bb79cefac chore: add format commits to the git-blame-ignore
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-04-29 10:47:00 +03:00
Trial97
5c8481a118 chore: reformat
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-04-29 10:46:41 +03:00
Alexandru Ionut Tripon
57d3d4815b fix: build error introduced in #3516 (#3708) 2025-04-29 10:46:19 +03:00
Seth Flynn
e1fce47eb3 ci(nix): remove addtional > (#3709) 2025-04-29 03:43:32 -04:00
Trial97
7da32af1b2 ci(nix): remove addtional >
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-04-29 10:42:42 +03:00
Alexandru Ionut Tripon
c54f420c23 ci(nix): fix the PR number (#3703) 2025-04-29 10:33:43 +03:00
Trial97
93552277fe fix: build error introduced in #3516
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-04-29 10:20:28 +03:00
Alexandru Ionut Tripon
6b4f07e976 Add checkboxes to resource downloader (#3516) 2025-04-29 08:32:30 +03:00
Alexandru Ionut Tripon
0d15699b26 change java on modpack update (#3379) 2025-04-29 08:31:59 +03:00
Alexandru Ionut Tripon
aa6324c920 chore(deps): update hendrikmuhs/ccache-action action to v1.2.18 (#3704) 2025-04-29 08:31:46 +03:00
Alexandru Ionut Tripon
a6006c3a33 chore: make all the regexes static const (#3647) 2025-04-29 00:33:49 +03:00
renovate[bot]
1c223997db chore(deps): update hendrikmuhs/ccache-action action to v1.2.18 2025-04-28 21:33:12 +00:00
Alexandru Ionut Tripon
d6bba50d86 replace qvector with qlist (#3519) 2025-04-29 00:32:40 +03:00
Alexandru Ionut Tripon
5f20d98643 chore: update submodules (#3701) 2025-04-28 23:24:23 +03:00
Trial97
71da130fe4 ci(nix): fix the PR number
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-04-28 23:11:52 +03:00
Alexandru Ionut Tripon
25b1d79080 ci(nix): add github token for gh cli (#3700) 2025-04-28 22:49:38 +03:00
Trial97
c5fd5e6ac1 chore: make all the regexes static const
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-04-28 22:37:29 +03:00
Alexandru Ionut Tripon
21c90527d2 Parse log4j xml events in logs (#3642) 2025-04-28 18:33:17 +03:00
Alexandru Ionut Tripon
2ceb8a4986 Fix: Use after free collecting tasks from ResourceDownloadDialogs (#3670) 2025-04-28 18:32:39 +03:00
Trial97
0ccb4059a0 chore: update submodules
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-04-28 17:57:31 +03:00
Trial97
bcdbe79c59 fix: add github token for gh cli
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-04-28 17:38:01 +03:00
Rachel Powers
07a6606c9c fix: cover both usages of the download dialog
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-04-28 04:49:30 -07:00
Rachel Powers
d0ccd110a1 fix: use after free begone!
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-04-28 04:49:23 -07:00
Rachel Powers
2031859731 Merge remote-tracking branch 'upstream/develop' into xml-logs 2025-04-28 04:11:53 -07:00
Rachel Powers
2c943a003d feat(xml-logs): preserve whitespace lines in logs
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-04-28 03:54:47 -07:00
Rachel Powers
da30904630 fix: nullptr access (#3690) 2025-04-28 03:39:01 -07:00
TheKodeToad
63e30352e6 Fix catastrophic regex mistake (#3669) 2025-04-28 11:07:01 +01:00
TheKodeToad
51cd4c2174 Shallow search and lazy loading for Other Logs page (#3664) 2025-04-28 10:57:37 +01:00
TheKodeToad
1e3c197222 Merge remote-tracking branch 'upstream/develop' into shallow-lazy-otherlogs
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-28 10:31:48 +01:00
TheKodeToad
20626e6606 Fix log sorting
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-28 10:28:57 +01:00
TheKodeToad
0f7cb916cc Pass mainclass and gameargs to the main game via system properties (#3692) 2025-04-28 09:47:25 +01:00
Alexandru Ionut Tripon
f58ee6af7a ci(nix): fix get-merge-commit action call (#3697) 2025-04-27 23:48:49 +03:00
Rachel Powers
abba91c6fa chore(deps): update determinatesystems/nix-installer-action action to v17 (#3686) 2025-04-27 13:46:57 -07:00
Seth Flynn
cdb4247323 Improve CI path filtering (#3696) 2025-04-27 14:48:09 -04:00
Seth Flynn
57a2ef1aed ci: fix improper paths-ignore usage
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-04-27 07:47:36 -04:00
Seth Flynn
3b7b9fa03c ci: better filter workflow runs
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-04-27 07:30:26 -04:00
Seth Flynn
47cb58d326 ci(nix): fix get-merge-commit action call
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-04-27 07:28:25 -04:00
Seth Flynn
440f7ea9a5 Use nix-shell over nix develop in .envrc (#3634) 2025-04-27 06:46:13 -04:00
Seth Flynn
816752e4e9 Ensure Nix workflows are actually running on PRs (#3678) 2025-04-27 03:21:58 -04:00
github-actions[bot]
facc48d0f8 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b024ced1aac25639f8ca8fdfc2f8c4fbd66c48ef?narHash=sha256-fusHbZCyv126cyArUwwKrLdCkgVAIaa/fQJYFlCEqiU%3D' (2025-04-17)
  → 'github:NixOS/nixpkgs/f771eb401a46846c1aebd20552521b233dd7e18b?narHash=sha256-ITSpPDwvLBZBnPRS2bUcHY3gZSwis/uTe255QgMtTLA%3D' (2025-04-24)
2025-04-27 00:28:07 +00:00
Xander
02106ab29a comment on property about delimeter
Signed-off-by: Xander <xander@isxander.dev>
2025-04-26 23:42:22 +01:00
Xander
a92e114236 Use \u001F instead of a space as a delimeter for game args
Signed-off-by: Xander <xander@isxander.dev>
2025-04-26 21:57:28 +01:00
Xander
a702d06cd8 Pass mainclass and gameargs to the main game via system properties
Signed-off-by: Xander <xander@isxander.dev>
2025-04-26 21:41:14 +01:00
Seth Flynn
abe18fb144 ci(nix): checkout merge commit of pull request
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-04-26 15:02:39 -04:00
Rachel Powers
83ebb5984b fix: nullptr access
style can't always be created

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-04-25 19:18:28 -07:00
renovate[bot]
f2a601f815 chore(deps): update determinatesystems/nix-installer-action action to v17 2025-04-24 16:58:13 +00:00
Seth Flynn
e03870d3f2 ci(get-merge-commit): init
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-04-20 16:52:14 -04:00
Alexandru Ionut Tripon
60e279bf39 chore(nix): update lockfile (#3672) 2025-04-20 08:29:12 +03:00
github-actions[bot]
3fd5557f89 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'libnbtplusplus':
    'github:PrismLauncher/libnbtplusplus/23b955121b8217c1c348a9ed2483167a6f3ff4ad?narHash=sha256-yy0q%2Bbky80LtK1GWzz7qpM%2BaAGrOqLuewbid8WT1ilk%3D' (2023-11-06)
  → 'github:PrismLauncher/libnbtplusplus/531449ba1c930c98e0bcf5d332b237a8566f9d78?narHash=sha256-qhmjaRkt%2BO7A%2Bgu6HjUkl7QzOEb4r8y8vWZMG2R/C6o%3D' (2025-04-16)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/2631b0b7abcea6e640ce31cd78ea58910d31e650?narHash=sha256-LWqduOgLHCFxiTNYi3Uj5Lgz0SR%2BXhw3kr/3Xd0GPTM%3D' (2025-04-12)
  → 'github:NixOS/nixpkgs/b024ced1aac25639f8ca8fdfc2f8c4fbd66c48ef?narHash=sha256-fusHbZCyv126cyArUwwKrLdCkgVAIaa/fQJYFlCEqiU%3D' (2025-04-17)
• Updated input 'qt-qrcodegenerator':
    'github:nayuki/QR-Code-generator/f40366c40d8d1956081f7ec643d240c02a81df52?narHash=sha256-5%2BiYwsbX8wjKZPCy7ENj5HCYgOqzeSNLs/YrX2Vc7CQ%3D' (2024-11-18)
  → 'github:nayuki/QR-Code-generator/2c9044de6b049ca25cb3cd1649ed7e27aa055138?narHash=sha256-6SugPt0lp1Gz7nV23FLmsmpfzgFItkSw7jpGftsDPWc%3D' (2025-01-23)
2025-04-20 00:28:02 +00:00
Rachel Powers
1bd1245d86 feat(xml-logs): Case insisitive xml parseing + cleaner switch
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-04-19 13:48:18 -07:00
TheKodeToad
11015a22d2 Remove commented out code
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-19 13:02:40 -07:00
TheKodeToad
266031df81 Fix compilation on Qt 6.4.2
Is this an EOL version lol

Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-19 13:02:40 -07:00
Rachel Powers
21570a03fb feat(xml-logs): finish tests
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-04-19 13:02:30 -07:00
Rachel Powers
bfdc77665d feat(xml-logs): add tests
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-04-19 12:54:45 -07:00
Rachel Powers
47295da390 feat(logs): parse log4j xml events in logs
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-04-19 12:54:40 -07:00
Rachel Powers
15a981b3f8 fix: gzip file parsing as a stream (#3667) 2025-04-19 05:33:56 -07:00
TheKodeToad
feec7bf249 chore: update submodules (#3643) 2025-04-19 11:08:34 +01:00
TheKodeToad
111cdc240e Disable auto-reload of files
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-19 09:34:12 +01:00
Rachel Powers
2ce1fdcee0 chore(deps): update cachix/install-nix-action digest to 754537a (#3666) 2025-04-18 20:39:40 -07:00
Rachel Powers
16b0447dc9 blocked-prs workflow fixes (#3665) 2025-04-18 20:39:22 -07:00
Rachel Powers
0e00c28450 Console colors and log invocation location (#3654) 2025-04-18 20:38:55 -07:00
TheKodeToad
92ba13cfdb Fix catastrophic regex mistake
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-19 00:12:38 +01:00
TheKodeToad
0aa3341d58 Fix other weird import
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-19 00:07:13 +01:00
TheKodeToad
19b241fd31 Include txt too
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-19 00:07:12 +01:00
TheKodeToad
8ea5eac29c Make requested changes
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-18 23:50:02 +01:00
TheKodeToad
96a4b78e2e Remove accidental return
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-18 23:46:55 +01:00
Trial97
49f0e8ef6b replace qvector with qlist
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-04-19 00:59:48 +03:00
Trial97
e3ff9630e9 fix: 6.2 deprecation warning regard the QScopedPointer::swap function
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-04-19 00:43:52 +03:00
Trial97
d1c7107575 fix: gzip file parsing as a stream
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-04-19 00:41:24 +03:00
renovate[bot]
95492cdeef chore(deps): update cachix/install-nix-action digest to 754537a 2025-04-18 20:57:31 +00:00
Seth Flynn
b6e48ac641 ci(blocked-prs): allow workflow_dispatch on blocking prs
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-04-18 16:56:19 -04:00
Seth Flynn
e9f7ba188b ci(blocked-prs): use object filter to check pr label
https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/evaluate-expressions-in-workflows-and-actions#example-using-an-object-filter

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-04-18 16:53:16 -04:00
Seth Flynn
7f2f62afa8 ci(blocked-prs): use pull_request_target
This needs to run in the context of our repo to have access to it's
secrets

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-04-18 16:50:25 -04:00
Seth Flynn
3df98dd5e7 Remove support for Qt 5 (#2174) 2025-04-18 16:26:55 -04:00
TheKodeToad
01efd5b5d8 Fix double load (again lol)
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-18 21:24:25 +01:00
TheKodeToad
d5db974008 Shallow search and lazy loading for Other Logs page
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-18 20:14:33 +01:00
TheKodeToad
a39edb3b59 Optimise log colourisation (#3641) 2025-04-18 20:14:17 +01:00
TheKodeToad
0f847d6682 Fix mistakes
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-18 19:40:19 +01:00
TheKodeToad
f307340690 Fix formatting
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-18 11:32:50 -07:00
TheKodeToad
166b2cb286 Tweak log formatting
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-18 11:32:50 -07:00
Alexandru Ionut Tripon
5cab302ce4 chore: improve log display (#3658) 2025-04-18 21:31:41 +03:00
Alexandru Ionut Tripon
8373fa81f1 chore: add getOrRegisterSetting function (#3660) 2025-04-18 21:31:22 +03:00
Trial97
0948d3598b chore: improve log display
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-04-18 20:38:37 +03:00
Trial97
5af06dec85 chore: add getOrRegisterSetting function
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-04-18 20:02:52 +03:00
TheKodeToad
77f53c02a9 Fix compilation
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-18 17:03:29 +01:00
Alexandru Ionut Tripon
5eb8561157 add qr code support for login (#3257) 2025-04-18 18:48:26 +03:00
Alexandru Ionut Tripon
c622c83930 Add Popup for metacache clear failures (#3586) 2025-04-18 18:47:12 +03:00
Alexandru Ionut Tripon
e9245716f7 fix: load world size async (#3651) 2025-04-18 18:47:05 +03:00
Alexandru Ionut Tripon
6f38ab3fb0 fix: beginResetModel called before endResetModel (#3657) 2025-04-18 18:46:59 +03:00
Trial97
cb591ba52e chore:add qr code support for login
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-04-18 18:46:10 +03:00
Trial97
cddf00c61b fix: beginResetModel called before endResetModel
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-04-18 14:10:00 +03:00
Trial97
2271a05b19 chore: add back deprecation warnings and disable all API deprecated before 6.0
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-04-18 12:37:54 +03:00
Rachel Powers
45b6454222 feat(ansi-console): Format console with ansi excapes
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-04-18 00:39:19 -07:00
Rachel Powers
4a2b5c72dc feat(color-console): support ansi colors in console
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-04-17 14:54:44 -07:00
Trial97
5fee4e3f8b chore: remove qt5 from release and copyright
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-04-18 00:17:29 +03:00
Trial97
442aae88ce chore: remove qt version checks from code
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-04-17 23:46:55 +03:00
Trial97
59bd6a915b chore: remove qt5 from cmake files
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-04-17 23:38:49 +03:00
Trial97
8a3aafc274 chore: remove qt5 from github actions
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-04-17 23:38:48 +03:00
Trial97
efeaefbf2e fix: load world size async
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-04-17 23:31:25 +03:00
Trial97
6e00f94a57 chore: rename varibales to match code standards
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-04-17 22:43:32 +03:00
Rachel Powers
564f120c22 chore: sync cmake version with the one used in the launcher (#3644) 2025-04-16 19:35:30 -07:00
Alexandru Ionut Tripon
202095c466 fix: compile warning regarding duplicate object name (#3645) 2025-04-16 21:30:48 +03:00
Trial97
b70d9d6537 chore: update submodules
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-04-16 17:56:01 +03:00
Trial97
c3f4735808 fix: compile warning regarding duplicate object name
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-04-16 17:02:22 +03:00
Trial97
5ce6ad604b chore: sync cmake version with the one used in the launcher
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-04-16 16:54:08 +03:00
Alexandru Ionut Tripon
8285993f38 fix: crash when the instance window is closed before download dialog is open (#3614) 2025-04-16 16:28:11 +03:00
TheKodeToad
9b815e8bee Emit applied (oops)
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-16 11:54:31 +01:00
TheKodeToad
df15aacfbb Harmonizing "Other Log" page with "Minecraft Log" (#3638) 2025-04-15 21:49:13 +01:00
TheKodeToad
6d3d4d0083 Redo tab orderings
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-15 19:52:21 +01:00
TheKodeToad
fc94bb6af3 Add colons to single-line settings
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-15 19:47:00 +01:00
TheKodeToad
0b3b9debd8 Fix PageDialog OK button
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-15 19:42:46 +01:00
TheKodeToad
76db89460b Redo layouts
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-15 19:21:38 +01:00
Yihe Li
29b81e7163 Set parent for LogModel
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-04-15 23:11:54 +08:00
TheKodeToad
ce76320b23 Remove unnecessary import
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-15 15:58:11 +01:00
TheKodeToad
be803b3279 Optimise guessLevel
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-15 15:39:27 +01:00
Alexandru Ionut Tripon
8f54a8c8dc Fix icon removal in icon picker (#3410) 2025-04-15 16:58:13 +03:00
TheKodeToad
c7401ad649 Try to avoid cramming too much next to file path boxes
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-15 14:27:47 +01:00
TheKodeToad
be5a1b47ac Make PermGen max consistent
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-15 14:20:59 +01:00
TheKodeToad
53305bf5a7 Align task spinboxes
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-15 14:17:03 +01:00
Yihe Li
521302a962 Move delete buttons to the same line & set model to nullptr before adding lines
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-04-15 20:35:05 +08:00
TheKodeToad
54e63fee6e Fix spacer
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-15 13:17:31 +01:00
TheKodeToad
917abd60e1 Remove accidental qevent import
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-15 13:08:58 +01:00
TheKodeToad
33ac9e3f47 Apparently this is correct
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-15 12:39:25 +01:00
TheKodeToad
4a2e4e9dc2 Use title case for 'When Renaming Instances...'
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-15 12:32:14 +01:00
TheKodeToad
2c869c7a02 Revert to old close behaviour
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-15 12:09:13 +01:00
TheKodeToad
1a76e04925 Stop OK or Browse from getting implicit focus; add accelerator
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-15 11:59:02 +01:00
TheKodeToad
e04acdb8fb Cleanup modpack update prompt phrasing
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-15 11:44:19 +01:00
TheKodeToad
a0c0262a19 Delete libraries/filesystem
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-15 11:39:26 +01:00
TheKodeToad
211c71f84a Merge remote-tracking branch 'upstream/develop' into rework-settings
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-15 11:38:31 +01:00
TheKodeToad
ec2552e501 Make padding consistent
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-04-15 10:42:02 +01:00
Yihe Li
de66fe4eda Apparently removeLast() only comes in Qt 6.5+
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-04-15 06:16:47 +08:00
Yihe Li
5634723ecd Harmonizing other log controls with minecraft log
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-04-15 06:00:49 +08:00
Yihe Li
1ee1bab067 Add color lines button
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-04-15 05:07:56 +08:00
Yihe Li
4ac6a0629b Use LogView to implement level highlighting for other logs
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-04-15 03:42:51 +08:00
timoreo
41a790d258 Shorten LocalPeer socket names to fix CLI not working if an instance of the launcher is already running (#3630) 2025-04-14 11:40:38 +02:00
Rachel Powers
bd304eee94 chore: use nix-shell over nix develop in .envrc (brakes less things)
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-04-13 12:16:07 -07:00
Alexandru Ionut Tripon
42007290a0 Start using patch versioning for launcher (#3605) 2025-04-13 20:27:14 +03:00
Kenneth Chew
7d4034cfa5 Shorten LocalPeer socket names
On most systems supporting Unix sockets, the maximum length of a socket name is quite low (e.g. on macOS 104 characters and on Linux 108). If the name is too long, the sockets will not work and thus sending messages to a running instance of the launcher will not work.

Signed-off-by: Kenneth Chew <79120643+kthchew@users.noreply.github.com>
2025-04-13 02:33:22 -04:00
Alexandru Ionut Tripon
edd88b9603 chore(nix): update lockfile (#3628) 2025-04-13 08:15:13 +03:00
github-actions[bot]
6812d137e6 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/2c8d3f48d33929642c1c12cd243df4cc7d2ce434?narHash=sha256-F7n4%2BKOIfWrwoQjXrL2wD9RhFYLs2/GGe/MQY1sSdlE%3D' (2025-04-02)
  → 'github:NixOS/nixpkgs/2631b0b7abcea6e640ce31cd78ea58910d31e650?narHash=sha256-LWqduOgLHCFxiTNYi3Uj5Lgz0SR%2BXhw3kr/3Xd0GPTM%3D' (2025-04-12)
2025-04-13 00:51:01 +00:00
Rachel Powers
a8e5e8dcfc Fix compatibility with Qt 6.9 (#3622) 2025-04-11 11:44:41 -07:00
Yihe Li
8bb9b168fb Use explicit construction for QFile from QString
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-04-12 01:59:07 +08:00
timoreo
a601a7cb06 chore: remove release macos Legacy reference (#3619) 2025-04-11 08:32:45 +02:00
Trial97
cc69a59f36 fix: crash when the instance window is closed before download dialog is open
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-04-11 08:38:05 +03:00
Trial97
d1eebbceff chore: remove release macos Legacy reference
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-04-11 08:33:27 +03:00
Alexandru Ionut Tripon
c430b66657 Drop ghc_filesystem (#3608) 2025-04-10 22:39:10 +03:00
Trial97
4361aaa094 remove ghc_filesystem
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-04-10 22:38:55 +03:00
Alexandru Ionut Tripon
2ec0457854 Remove macOS Legacy build (#3607) 2025-04-10 22:38:24 +03:00
Seth Flynn
9364753d51 [Linux] Update to Qt 6.8.1 (#3610) 2025-04-09 17:22:06 -04:00
Alexandru Ionut Tripon
a6f00330a6 Improvements to modlist export (#3512) 2025-04-10 00:16:32 +03:00
Seth Flynn
a3b8846465 [Linux] Bump Ubuntu requirement to 22.04 (#3612) 2025-04-08 21:14:06 -04:00
Trial97
1a3cc00438 deprecate ubuntu 20.04 runner
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-04-08 21:37:34 +03:00
Trial97
5ba25a1476 remove mac legacy build
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-04-08 21:36:13 +03:00
Trial97
c89a8a676e increment linux qt version
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-04-08 20:43:41 +03:00
Rachel Powers
b579cae5c2 feat(server): start using semver for launcher
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-04-08 04:27:06 -07:00
Seth Flynn
734db2bedc Use ninja with MSVC on x64 (#3587) 2025-04-07 09:25:31 -04:00
Seth Flynn
4995bdcad6 Fix Nix release CI (#3594) 2025-04-07 09:13:23 -04:00
Seth Flynn
d92f7b3c97 ci: use ninja with msvc on x64
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-04-07 09:01:32 -04:00
Seth Flynn
6386d044e3 revert: "feat: publish on flakehub"
Flakehub requires semver. We don't use that (yet)

Refs: 86cc6d3
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-04-07 08:40:15 -04:00
Seth Flynn
180292098d ci(nix): pin release packages in cachix
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-04-07 08:40:15 -04:00
Seth Flynn
76bec385d6 ci(nix): correctly parse action env vars as bools
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-04-07 08:40:15 -04:00
Seth Flynn
1a5a162727 ci(nix): ignore more paths
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-04-07 08:40:14 -04:00
Seth Flynn
da3a498490 ci(nix): run on tags
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-04-07 08:40:14 -04:00
Seth Flynn
3f1b91c611 chore(nix): update lockfile (#3581) 2025-04-07 08:13:04 -04:00
Soup of the tomato kind
9b3fa591d3 Update launcher/net/HttpMetaCache.h
Co-authored-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
Signed-off-by: Soup of the tomato kind <43444191+Soup-64@users.noreply.github.com>
2025-04-06 16:24:09 -04:00
Soup of the tomato kind
25d7db207d Update FileSystem.cpp
fix oopsie

Signed-off-by: Soup of the tomato kind <43444191+Soup-64@users.noreply.github.com>
2025-04-06 16:15:02 -04:00
Soup
0c90530f88 cleanup
Fix formatting and fix a typo in the return code check

Signed-off-by: Soup <43444191+Soup-64@users.noreply.github.com>
2025-04-06 16:09:49 -04:00
Soup
b9a1fa3645 Implement popup for metacache
someone in the Discord ran into an issue somewhat related to the metacache button not working (folder in use err), so this warning makes it more obvious when this happens, though it would be better to find out why it ran into a process conflict

Signed-off-by: Soup <43444191+Soup-64@users.noreply.github.com>
2025-04-06 16:09:42 -04:00
Seth Flynn
6dd8bd0708 Use default palette on all system themes (#3584) 2025-04-06 15:55:02 -04:00
Seth Flynn
e5861129ad fix(SystemTheme): use default palette on all system themes
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-04-06 06:41:37 -04:00
github-actions[bot]
aec410cb28 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5e5402ecbcb27af32284d4a62553c019a3a49ea6?narHash=sha256-gWd4urRoLRe8GLVC/3rYRae1h%2BxfQzt09xOfb0PaHSk%3D' (2025-03-27)
  → 'github:NixOS/nixpkgs/2c8d3f48d33929642c1c12cd243df4cc7d2ce434?narHash=sha256-F7n4%2BKOIfWrwoQjXrL2wD9RhFYLs2/GGe/MQY1sSdlE%3D' (2025-04-02)
2025-04-06 00:27:19 +00:00
Seth Flynn
c1b460fa05 Nix Flake spring cleaning (#3560) 2025-04-04 05:01:40 -04:00
Alexandru Ionut Tripon
1bed9536f3 Add checkbox for LiteLoader in mod filter (#3572) 2025-04-04 08:12:52 +03:00
Alexandru Ionut Tripon
5ad6e7b50d chore(deps): update actions/create-github-app-token action to v2 (#3575) 2025-04-04 08:11:15 +03:00
hanlie
12c266f8bd Update ExportToModListDialog.ui
Signed-off-by: hanlie <48323966+HanlieChina@users.noreply.github.com>
2025-04-04 11:22:00 +08:00
renovate[bot]
dc4cb8b9d5 chore(deps): update actions/create-github-app-token action to v2 2025-04-03 22:22:42 +00:00
Yihe Li
3ae68114f6 Remove extra argument from ModFilterWidget::create
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-04-02 16:28:49 +08:00
Yihe Li
b0c85fd539 Hide checkbox for CurseForge
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-04-02 16:22:52 +08:00
Yihe Li
0518c50958 Add checkbox for LiteLoader in mod filter
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-04-02 16:01:45 +08:00
Rachel Powers
e883e9f359 (blocked-pr): push json expansion into env (#3571) 2025-04-01 23:53:34 -07:00
Rachel Powers
8fd86e065e push json expansion into env
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-04-01 23:46:49 -07:00
Rachel Powers
f82b050bca Fix blocked pr comment body (#3570)
* Add newline to seperate header from comment body

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Seth Flynn <getchoo@tuta.io>
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>

---------

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
Co-authored-by: Seth Flynn <getchoo@tuta.io>
2025-04-02 02:33:17 -04:00
Alexandru Ionut Tripon
3042e051c7 ci: add a workflow to detect and check dependencies for blocked pull requests (#3497) 2025-04-02 09:08:21 +03:00
Alexandru Ionut Tripon
40ff0321f6 Rename instance's physical dir when renaming instances (#3550) 2025-04-02 09:03:08 +03:00
TheKodeToad
1e5d21be61 feat: add updater dialogues (#3454) 2025-04-01 16:09:40 +01:00
Seth Flynn
1d45850b6d chore(deps): update cachix/install-nix-action digest to d1ca217 (#3563) 2025-03-31 21:41:17 -04:00
renovate[bot]
b1c4e85806 chore(deps): update cachix/install-nix-action digest to d1ca217 2025-03-31 19:53:22 +00:00
Seth Flynn
de08d7c364 chore(gitignore): add more nix-related files
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-03-31 01:28:43 -04:00
Seth Flynn
e9cac2e0e3 refactor(nix): use date for version
Helps avoid needless rebuilds where only the revision changed. Also
better conforms to Nixpkgs' version standards

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-03-31 01:28:43 -04:00
Seth Flynn
9b38226f8c chore(nix): clone git submodules automatically
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-03-31 01:28:43 -04:00
Seth Flynn
38ec7def32 chore(nix): add nice welcome message to dev shell
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-03-31 01:28:43 -04:00
Seth Flynn
51bbd02a08 Fix typo in NetRequest.cpp (#3561) 2025-03-31 01:12:48 -04:00
Seth Flynn
de923a07d8 refactor(nix): rely more on setup hooks in dev shell
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-03-30 19:25:48 -04:00
Seth Flynn
2d4bc09cb9 build(nix): properly wrap development shell
Allows actually running the executables built in the development shell

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-03-30 19:25:48 -04:00
Seth Flynn
58579539d0 fix(nix): only create compile_commands.json if it doesn't exist
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-03-30 19:25:48 -04:00
Seth Flynn
32b49ecb84 refactor(nix): cleanup flake
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-03-30 19:25:48 -04:00
Seth Flynn
c367f48ec9 refactor(nix): pin flake-compat in default.nix
Avoids polluting downstream flake.locks

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-03-30 19:25:47 -04:00
Seth Flynn
99852c972c Reapply "refactor(nix): nix-filter -> lib.fileset"
After extensive (5 minutes) of testing, it seems we don't actually come
across any Nix bugs with lib.fileset! (aside from those inherit to
it...but 🤷)

This reverts commit a49a58bc45.

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-03-30 19:25:47 -04:00
Yihe Li
da007d6212 Use CustomMessageBox::selectable
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-03-31 07:14:09 +08:00
Alexandru Ionut Tripon
0709479110 chore(nix): update lockfile (#3557) 2025-03-30 10:53:02 +03:00
github-actions[bot]
0487ab3754 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a84ebe20c6bc2ecbcfb000a50776219f48d134cc?narHash=sha256-mNqIplmEohk5jRkqYqG19GA8MbQ/D4gQSK0Mu4LvfRQ%3D' (2025-03-19)
  → 'github:NixOS/nixpkgs/5e5402ecbcb27af32284d4a62553c019a3a49ea6?narHash=sha256-gWd4urRoLRe8GLVC/3rYRae1h%2BxfQzt09xOfb0PaHSk%3D' (2025-03-27)
2025-03-30 00:27:40 +00:00
Alexandru Ionut Tripon
6b93e7aa62 fix themes leak (#3555) 2025-03-30 01:54:33 +02:00
Trial97
5b12d3cfff fix themes leak
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-03-30 00:46:59 +02:00
TheKodeToad
36a89b0839 Fix CustomCommands spacing
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-29 20:24:21 +00:00
LAHarbottle
66c6399ade Fix typo in NetRequest.cpp
Signed-off-by: LAHarbottle <87842870+LAHarbottle@users.noreply.github.com>
2025-03-29 17:17:57 +00:00
Yihe Li
02ca6bea8c Sync group after updating instance
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-03-29 14:11:09 +08:00
Yihe Li
694959ef7f Remove names from header comments
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-03-27 20:25:30 +08:00
Yihe Li
a2e44c0ef7 Use custom signals to record previous name
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-03-27 17:13:52 +08:00
Yihe Li
11a0dbf810 Make deleting a verb
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-03-27 16:11:54 +08:00
TheKodeToad
3b393e8d61 Fix Java padding
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-27 01:20:38 +00:00
TheKodeToad
7e5178cf81 Visual cleanup
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-27 01:08:26 +00:00
TheKodeToad
1ce343fb97 Try to make Minecraft general page easier to understand - remove misc
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-27 00:48:56 +00:00
TheKodeToad
910febeeb0 Try to make getchoo requested changes
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-27 00:38:37 +00:00
Yihe Li
45368fbf2f Get rid of unused includes
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-03-27 08:36:07 +08:00
TheKodeToad
1e7ceafa5f Auto-fix \ to / on Windows (for portability)
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-26 23:48:00 +00:00
TheKodeToad
ccef855f06 Reset path when unchecked (still keeps it in UI in case you recheck)
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-26 23:41:47 +00:00
TheKodeToad
9c942c6894 Fix CurseForge support
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-26 23:35:40 +00:00
Yihe Li
a7af120cf0 Fix interaction with invalid chars
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-03-27 07:22:05 +08:00
Yihe Li
294448a01e Filter out invalid chars
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-03-27 06:54:10 +08:00
Yihe Li
8fea37b8b7 Only call on interactive uses
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-03-27 06:53:57 +08:00
Yihe Li
ea44c2465c Add link instance detection
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-03-27 05:48:05 +08:00
Yihe Li
7b511f4c67 Refactor into InstanceDirUpdate.h
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-03-27 05:47:29 +08:00
Yihe Li
b550a6c5c4 Revert the radio button changes
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-03-27 05:20:58 +08:00
Yihe Li
7ea5b6173c Refactor updateInstanceRoot() to BaseInstance
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-03-27 04:51:13 +08:00
Yihe Li
abac3db125 Make remember checkbox off by default
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-03-27 04:11:29 +08:00
Yihe Li
4b20e3bc39 Implement instance renaming
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-03-27 03:26:13 +08:00
Yihe Li
0da645594f Adjust instance view sorting mode to QComboBox and add renaming behavior
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-03-27 01:20:07 +08:00
TheKodeToad
5ece4bae70 Add CurseForge support
Currently doesn't work. Will try another approach to modrinth filter.

Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-26 16:11:53 +00:00
TheKodeToad
1d1480f470 Filter for datapack loader in datapack update too
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-26 13:25:46 +00:00
TheKodeToad
221365f05b Make requested changes
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-26 10:12:13 +00:00
Alexandru Ionut Tripon
1c0c247631 chore:fixed some codeql warnings (#1679) 2025-03-26 08:05:57 +02:00
TheKodeToad
36ceaebcf0 pls compile
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-26 01:50:05 +00:00
TheKodeToad
7bac7f7b2b Actually fix build?
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-26 01:32:17 +00:00
TheKodeToad
683df62980 Implement data pack updating
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-26 01:30:06 +00:00
TheKodeToad
9c920fbad9 Open FileDialog in game root
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-26 01:10:10 +00:00
TheKodeToad
e22930fabf Fix build
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-26 01:08:05 +00:00
TheKodeToad
5bdc0b3871 Implement browse for global data pack folder
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-26 01:04:04 +00:00
TheKodeToad
ea82d44aab Allow absolute path for global data packs
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-26 00:30:00 +00:00
TheKodeToad
ed96f2064b Display selected count and add buttons to dialog
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-25 23:40:58 +00:00
TheKodeToad
82978ee34d Fix data pack filtering
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-25 19:23:35 +00:00
TheKodeToad
46c348a7b4 Fix license header emails
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-25 17:18:55 +00:00
TheKodeToad
481a1d222c Fix use after free
If any page apply methods return false, the launcher breaks when opening an instance window for the second time

Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-25 16:31:41 +00:00
TheKodeToad
18ee1f897a Global data packs
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-25 16:28:16 +00:00
Rachel Powers
064383b8fa Pin AppImage tooling in CI, drop libfuse2 (#3543) 2025-03-24 16:09:51 -07:00
Seth Flynn
671aad88f5 ci: don't install libfuse2
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-03-24 18:17:39 -04:00
Seth Flynn
5d5155bb22 ci: pin appimage tooling
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-03-24 18:17:39 -04:00
Seth Flynn
6ef59fe984 ci: use bundled linuxdeploy appimage plugin
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-03-24 18:17:39 -04:00
TheKodeToad
6ab4fef0c5 Merge remote-tracking branch 'upstream/develop' into data-packs
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-24 21:11:46 +00:00
Alexandru Ionut Tripon
ad8e0a9f7f chore(deps): update actions/cache action to v4.2.3 (#3517) 2025-03-24 22:27:02 +02:00
Trial97
f7fd6f566f chore:fixed some codeql warnings
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-03-24 22:25:35 +02:00
TheKodeToad
9a57fddaaf Refactor ResourcePack (#2616) 2025-03-24 20:12:41 +00:00
TheKodeToad
e2b85a2e2b Clang format
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-24 17:24:18 +00:00
TheKodeToad
23a28fe762 Fix tooltip inconsistency
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-24 17:19:09 +00:00
Alexandru Ionut Tripon
e27f602b7c chore(nix): update lockfile (#3525) 2025-03-24 18:59:26 +02:00
Alexandru Ionut Tripon
7d0e3fb792 Fix crash with low disk space (#3528) 2025-03-24 18:59:09 +02:00
Alexandru Ionut Tripon
aa4c0a4dcc fix account help link (#3529) 2025-03-24 18:58:36 +02:00
Alexandru Ionut Tripon
80b4a4427c Use correct colours for all system themes (#3530) 2025-03-24 18:58:27 +02:00
TheKodeToad
491b5e1473 Correctly show max memory notice for max < min
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-24 16:35:02 +00:00
TheKodeToad
a8ea072d36 Make Services page nicer
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-24 13:23:53 +00:00
TheKodeToad
4e6bfde723 Revert sliders
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-24 11:59:29 +00:00
TheKodeToad
e1e0a3d887 Remove tabs from proxy page
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-24 01:49:43 +00:00
TheKodeToad
26f9850462 fix memory leak
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-24 01:48:15 +00:00
TheKodeToad
0768623e1e Select General tab by default on Java page
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-24 01:33:23 +00:00
TheKodeToad
c5e766512e Improve update interval setting
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-24 01:21:52 +00:00
TheKodeToad
72b90cf7de gay bowser
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-24 01:07:40 +00:00
TheKodeToad
0434cc648a Rearrange settings categories
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-24 00:36:55 +00:00
TheKodeToad
ad8818a134 Improve proxy page
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-24 00:36:03 +00:00
TheKodeToad
2ab08f01b1 Merge mods & modpack settings
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-24 00:30:23 +00:00
TheKodeToad
3922136f6d Rework Minecraft and Java settings
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-24 00:29:07 +00:00
Seth Flynn
9fe78fa86a Improve clangd support (in Nix development shell) (#3526) 2025-03-23 17:15:23 -04:00
TheKodeToad
adf2ed0849 Only fire apply event when settings are actually applied
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-23 15:22:17 +00:00
TheKodeToad
513959750f Try best to avoid regression
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-23 14:29:58 +00:00
TheKodeToad
f08478c7ec Use correct colours for all system themes
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-23 14:17:43 +00:00
TheKodeToad
8732e17db9 Improve appearance icons for simple theme
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-23 13:50:08 +00:00
TheKodeToad
8852b5823b Rework tools page
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-23 13:11:26 +00:00
TheKodeToad
411161fe49 Use same UI for appearance page and wizard
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-23 13:11:26 +00:00
TheKodeToad
a1baa5ff47 Use OK and Cancel instead of Close in Settings dialog
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-23 13:11:26 +00:00
TheKodeToad
3a508bdc78 Change slider behaviour to jumping directly when clicking
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-23 13:11:26 +00:00
TheKodeToad
dd3a4023c9 Move cat to right and use QPushButtons for browse
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-23 13:11:26 +00:00
TheKodeToad
99eeef40d9 Improve appearance page more
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-23 13:11:26 +00:00
TheKodeToad
06b5ac9a25 Add icons to appearance page
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-23 13:11:26 +00:00
TheKodeToad
414ad1340d Rework API page design and rename to services
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-23 13:11:26 +00:00
TheKodeToad
dced39cab0 Add appearance page
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-23 13:11:25 +00:00
TheKodeToad
7dd159aac0 Rework Launcher as General category
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-23 13:11:25 +00:00
Trial97
a4472406b9 fix account help link
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-03-23 14:02:09 +02:00
Trial97
9ce5587f60 fix crash on accessing reseted output
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-03-23 08:52:30 +02:00
Trial97
269938dfd8 rename variable
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-03-23 08:52:08 +02:00
Seth Flynn
e3f93295f0 build(nix): add clangd to dev shell
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-03-22 22:36:16 -04:00
Seth Flynn
d6103c2a06 build(nix): copy compile_commands.json when entering dev shell
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-03-22 22:36:11 -04:00
Seth Flynn
8a21b07915 build: export compile commands for debug builds
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-03-22 22:16:18 -04:00
Seth Flynn
9fa397a299 chore(gitignore): add compile_commands.json
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-03-22 22:15:36 -04:00
github-actions[bot]
9ee357dcf1 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/6607cf789e541e7873d40d3a8f7815ea92204f32?narHash=sha256-cPfs8qMccim2RBgtKGF%2Bx9IBCduRvd/N5F4nYpU0TVE%3D' (2025-03-13)
  → 'github:NixOS/nixpkgs/a84ebe20c6bc2ecbcfb000a50776219f48d134cc?narHash=sha256-mNqIplmEohk5jRkqYqG19GA8MbQ/D4gQSK0Mu4LvfRQ%3D' (2025-03-19)
2025-03-23 00:27:03 +00:00
Rachel Powers
815306f1d0 Use group redirections for multiple outputs, prevent glob expansion of PR_NUMBER
Co-authored-by: Seth Flynn <getchoo@tuta.io>
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-03-21 12:16:44 -07:00
TheKodeToad
216034c283 refactor FlameCheckUpdate to remove qEventLoop (#3046) 2025-03-20 09:34:26 +00:00
Rachel Powers
436896d365 ci(blocked-pr): use gh issue comment --create-if-none --edit-last with app token, not composit action
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-03-19 15:46:04 -07:00
Rachel Powers
187728c1f2 ci(blocked-pr): use app token
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-03-19 15:19:13 -07:00
Alexandru Ionut Tripon
71e0c62fee fix no cape select (#3511) 2025-03-19 22:56:37 +02:00
renovate[bot]
4c2182e086 chore(deps): update actions/cache action to v4.2.3 2025-03-19 18:59:33 +00:00
TheKodeToad
947ca67952 Fix windows 9x and possibly other styles
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-19 13:32:14 +00:00
TheKodeToad
a108b5e9eb Correctly set objectName for HintOverrideProxyStyle
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-19 12:35:24 +00:00
TheKodeToad
e89f96e9e9 Hack for broken windowsvista
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-19 11:48:31 +00:00
TheKodeToad
5832fb8b95 Implement middle click
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-19 11:09:25 +00:00
TheKodeToad
9f768f76bb Translate installed indicator
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-19 11:00:51 +00:00
TheKodeToad
6dc16c48a2 Append [installed] to installed mods
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-19 10:56:07 +00:00
TheKodeToad
6c44a3f6df onToggle -> onResourceToggle
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-19 10:46:32 +00:00
TheKodeToad
0f3ac57fdd Trigger onToggle instead of onResourceSelected when pressing enter
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-19 10:42:38 +00:00
TheKodeToad
7532172233 Clear enableQueue on model reset
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-19 10:31:55 +00:00
hanlie
6bda537633 Improvements to modlist export
Added .replace("{mod_id}", modID)

Signed-off-by: hanlie <48323966+HanlieChina@users.noreply.github.com>
2025-03-19 12:35:22 +08:00
TheKodeToad
a5c62e657a Snek case
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-19 01:43:43 +00:00
TheKodeToad
c6066fe6ec Add warning dialog if there are no versions available
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-19 01:41:56 +00:00
TheKodeToad
900579eea6 Handle checkbox toggle
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-19 01:17:25 +00:00
TheKodeToad
8577f58fe3 Remove UserDataTypes::SELECTED
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-18 20:44:49 +00:00
TheKodeToad
5f70335a07 Render checkbox in project items
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-18 19:52:59 +00:00
Trial97
d5d83bf55c fix no cape select
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-03-18 16:48:18 +02:00
TheKodeToad
a501441e6e Paint project item backgrounds with native style
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-17 21:34:03 +00:00
Alexandru Ionut Tripon
d0b9073f60 Show online players on servers screen (#3112) 2025-03-16 08:30:12 +02:00
Alexandru Ionut Tripon
52a53a3b75 Make account checks more on-par with MultiMC (#3466) 2025-03-16 08:29:31 +02:00
Alexandru Ionut Tripon
41e2a486e0 chore(nix): update lockfile (#3484) 2025-03-16 08:28:22 +02:00
Alexandru Ionut Tripon
da508da1ab chore(deps): update cachix/install-nix-action digest to 02a151a (#3507) 2025-03-16 08:28:12 +02:00
github-actions[bot]
6cf96d8fe7 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/6313551cd05425cd5b3e63fe47dbc324eabb15e4?narHash=sha256-D%2BR%2BkFxy1KsheiIzkkx/6L63wEHBYX21OIwlFV8JvDs%3D' (2025-02-27)
  → 'github:NixOS/nixpkgs/6607cf789e541e7873d40d3a8f7815ea92204f32?narHash=sha256-cPfs8qMccim2RBgtKGF%2Bx9IBCduRvd/N5F4nYpU0TVE%3D' (2025-03-13)
2025-03-16 00:27:01 +00:00
renovate[bot]
a469f6b114 chore(deps): update cachix/install-nix-action digest to 02a151a 2025-03-15 21:14:57 +00:00
Rachel Powers
e28dd30d87 ci(blocked_pr): merge env setup for dispatch and pull_request events
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-03-14 19:26:27 -07:00
Rachel Powers
72aee5c9f6 ci(blocked-pr): go back to single labels use gh cli actions directly insead of api where possible
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-03-14 16:07:14 -07:00
Alexandru Ionut Tripon
1a1bc14a73 Fix crash with invalid quilt mod info (#3496) 2025-03-15 00:00:46 +02:00
Alexandru Ionut Tripon
577cae3e00 chore(deps): update cachix/cachix-action action to v16 (#3493) 2025-03-15 00:00:30 +02:00
Alexandru Ionut Tripon
998de93ee5 chore(deps): update cachix/install-nix-action action to v31 (#3492) 2025-03-15 00:00:19 +02:00
Rachel Powers
e8e81a7627 use basename and dirname to split owner/repo
Co-authored-by: Seth Flynn <getchoo@tuta.io>
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-03-14 14:56:46 -07:00
Rachel Powers
b42b453f76 ci(blocking-lables): cleanup lables with a pr closes
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-03-14 12:58:42 -07:00
Rachel Powers
da3f378d5d ci(label-actions): actions can't directly access secrets
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-03-14 11:04:44 -07:00
Rachel Powers
7cbdb80f6b ci(label-actions): composit actions to add and delete labels in bulk
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-03-14 10:26:19 -07:00
Rachel Powers
0818e7068a ci(blocked_pres): ensure merge workflow has actions permission
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-03-12 21:01:58 -07:00
Rachel Powers
c75ae4170f ci(blocked_prs): fix merge workflow
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-03-12 20:44:07 -07:00
Rachel Powers
c2b7b4c82a ci(blocked_prs): fix multiline comment body in comment action
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-03-12 20:44:07 -07:00
Rachel Powers
05356eff69 ci(blocking_prs): fix generated comment
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-03-12 20:44:06 -07:00
Rachel Powers
0474b03626 ci(blocked_pr): fix comment action
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-03-12 20:44:06 -07:00
Rachel Powers
79283fd744 ci(blocked_prs): checkout default branch for action access
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-03-12 20:44:06 -07:00
Rachel Powers
e00d93135f ci(blocked_prs): fix blocking_data refrences, add synchronize and
reopend events

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-03-12 20:44:06 -07:00
Rachel Powers
6fd70ad095 ci(blocked_prs): correct condition to use JOB_DATA from env
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-03-12 20:44:05 -07:00
Rachel Powers
1c6ab1f054 ci(blocked_prs): unnest array of blocking prs
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-03-12 20:44:05 -07:00
Rachel Powers
14f042540c ci(blocking_pr): pass json expressions as env not direct.
use internal compost comment action

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-03-12 20:44:05 -07:00
Rachel Powers
eb11cde0f4 ci(blocked_prs): use compact jq output when outputting to ENV or step
ouput

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-03-12 20:44:05 -07:00
Rachel Powers
0bbf529afb ci(blocked_prs): quote json in env file
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-03-12 20:44:04 -07:00
Rachel Powers
a6a172a136 ci: ensure block pr scan always returns valid json
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-03-12 20:44:04 -07:00
Rachel Powers
a2907dcaa3 ci: fix blocked PR workflow to preserve JSON in ENV
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-03-12 20:44:04 -07:00
Rachel Powers
cbd1fc6f43 ci: fix repo URL in blocked pr workflow
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-03-12 20:44:04 -07:00
Rachel Powers
cfc3c76779 ci: fix labels detected as sequence
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-03-12 20:44:03 -07:00
Rachel Powers
be1ce8dd9d ci: add workflow to trigger refresh of dependants when a blocking pr is merged
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-03-12 20:44:03 -07:00
Rachel Powers
a65ced1598 ci: add a workflow to detect and check dependencies for blocked pull requests
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-03-12 20:44:03 -07:00
Alexandru Ionut Tripon
88bdb6541e Update launcher/minecraft/mod/tasks/LocalModParseTask.cpp
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2025-03-12 00:14:53 +02:00
Trial97
0626e354a0 Fix crash with invalid quilt mod info
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-03-12 00:01:45 +02:00
renovate[bot]
de13d55c7c chore(deps): update cachix/cachix-action action to v16 2025-03-10 21:53:14 +00:00
renovate[bot]
d41c54b6b2 chore(deps): update cachix/install-nix-action action to v31 2025-03-10 18:24:28 +00:00
TheKodeToad
fde2f4afe9 Fix mistakes
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-10 12:44:44 +00:00
Alexandru Ionut Tripon
1e1730e5a9 fix mod load with empty gameversions (#3455) 2025-03-10 14:40:35 +02:00
Alexandru Ionut Tripon
bb9e19eec6 Qt app ID fix (#3480) 2025-03-09 15:03:38 +02:00
Echo J
14ab4055ff Reduce app ID hardcoding
And rename the relevant build variable to make more sense

Signed-off-by: Echo J <tcg96nougat@gmail.com>
2025-03-09 14:16:48 +02:00
Echo J
ffdf1f746e Remove .desktop suffix from application ID
Signed-off-by: Echo J <tcg96nougat@gmail.com>
2025-03-09 14:15:45 +02:00
Alexandru Ionut Tripon
91ef9f4998 fix duplicate optional mods dialog appearing when updating a modpack (#3475) 2025-03-09 14:05:09 +02:00
Alexandru Ionut Tripon
0716e49065 fix beginResetModel called before endResetModel (#3470) 2025-03-09 14:04:58 +02:00
Alexandru Ionut Tripon
43385f22be fix null mainwindow in case of login on setup (#3464) 2025-03-09 14:04:48 +02:00
Trial97
59a816c696 fix duplicate optional mods dialog appearing when updating a modpack
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>

tmp
2025-03-06 10:19:38 +02:00
Trial97
c441ae05df fix beginResetModel called before endResetModel
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-03-05 13:06:29 +02:00
Sticks
d4e1851e67 fix: remove qWarning for unknown state
Co-authored-by: TheKodeToad <TheKodeToad@proton.me>
Signed-off-by: Sticks <sticks@teamhydra.dev>
2025-03-04 22:20:40 -06:00
Trial97
7db717ee7c fix null mainwindow in case of login on setup
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-03-03 23:55:44 +02:00
Trial97
162bbcfe19 rename some variables
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-03-03 23:55:43 +02:00
TheKodeToad
cb77cc1219 Use refresh instead of requestRefresh on LaunchController::login
There should be no reason to queue it and it could cause problems with the launcher's rate limiting

Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-03 20:24:07 +00:00
Trial97
4dd026d1ae QList to QVector
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-03-03 08:31:39 +02:00
Trial97
8e33608ddb refactor FlameCheckUpdate to remove qEventLoop
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-03-03 08:31:39 +02:00
Trial97
22e0659a5f removed unused BaseInstance argument from some API functions
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-03-03 08:31:39 +02:00
Trial97
3da94eeea2 removed some unused QNetworkAccessManager references
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-03-03 08:31:39 +02:00
Alexandru Ionut Tripon
f9ab75868a remove some QEventLoops (#3044) 2025-03-03 08:27:06 +02:00
Alexandru Ionut Tripon
5d268a3ded chore: Update year range (#3461) 2025-03-03 08:26:56 +02:00
txtsd
f99b7e9ebd chore: Update year range
Signed-off-by: txtsd <code@ihavea.quest>
2025-03-03 10:14:06 +05:30
Trial97
8f8c8394dc remove some QEventLoops
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-03-02 08:36:48 +02:00
Alexandru Ionut Tripon
02b6afe3d5 Default to Fusion based Dark/Bright themes on Windows (#3452) 2025-03-02 08:21:20 +02:00
Alexandru Ionut Tripon
67d385fed2 chore(deps): update actions/cache action to v4.2.2 (#3451) 2025-03-02 08:19:27 +02:00
Alexandru Ionut Tripon
758b6cb756 chore(deps): update korthout/backport-action action to v3.2.0 (#3448) 2025-03-02 08:19:18 +02:00
Alexandru Ionut Tripon
74dd9ff43a chore(nix): update lockfile (#3439) 2025-03-02 08:19:10 +02:00
Alexandru Ionut Tripon
ecf770d4ae implement packignore for curseforge/modrinth export (#3295) 2025-03-02 08:19:03 +02:00
Alexandru Ionut Tripon
bf01d42c83 Add skin preview (#3283) 2025-03-02 08:18:51 +02:00
Alexandru Ionut Tripon
74ed1f3b5d Improve profile setup error messages (#3256) 2025-03-02 08:18:40 +02:00
github-actions[bot]
d75f1e3032 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/2ff53fe64443980e139eaa286017f53f88336dd0?narHash=sha256-%2B/bYK3DbPxMIvSL4zArkMX0LQvS7rzBKXnDXLfKyRVc%3D' (2025-02-13)
  → 'github:NixOS/nixpkgs/6313551cd05425cd5b3e63fe47dbc324eabb15e4?narHash=sha256-D%2BR%2BkFxy1KsheiIzkkx/6L63wEHBYX21OIwlFV8JvDs%3D' (2025-02-27)
2025-03-02 00:26:09 +00:00
Trial97
29b3eb5cc6 fix mod load with empty gameversions
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-03-01 22:45:36 +02:00
iTrooz
93286789c5 fix typo
Signed-off-by: iTrooz <hey@itrooz.fr>
2025-03-01 20:12:31 +01:00
Sticks
ea5458ed22 fix: Grammar correction in failed message for update dialogues
Co-authored-by: TheKodeToad <TheKodeToad@proton.me>
Signed-off-by: Sticks <sticks@teamhydra.dev>
2025-02-28 21:06:34 -06:00
sticks
998bc660fa feat: add updater dialogues
Signed-off-by: sticks <tanner@teamhydra.dev>
2025-02-28 15:09:46 -06:00
TheKodeToad
5261b615d7 Default to Fusion based Dark/Bright themes on Windows
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-02-28 21:07:58 +00:00
renovate[bot]
8cb999c479 chore(deps): update actions/cache action to v4.2.2 2025-02-27 19:24:06 +00:00
renovate[bot]
3cb44ba105 chore(deps): update korthout/backport-action action to v3.2.0 2025-02-23 22:35:16 +00:00
Alexandru Ionut Tripon
12a4915420 Apply suggestions from code review
Co-authored-by: TheKodeToad <TheKodeToad@proton.me>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2025-02-21 11:32:30 +02:00
Trial97
6a2f5f071c improve chessboard contrast
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-02-21 11:12:27 +02:00
Trial97
47af33ff6f Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into skin 2025-02-21 08:40:33 +02:00
Trial97
5810032861 Fix icon removal in icon picker
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-02-19 09:29:05 +02:00
Trial97
c9471d083b change java on modpack update
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-02-19 09:28:06 +02:00
Seth Flynn
0af021fef2 ci: always run nix workflow on push (#3433) 2025-02-19 02:17:41 -05:00
Alexandru Ionut Tripon
d24066c965 chore(deps): update actions/cache action to v4.2.1 (#3432) 2025-02-19 08:20:04 +02:00
Seth Flynn
46385e671d ci: always run nix workflow on push
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-02-18 22:55:51 -05:00
renovate[bot]
73bb740bbb chore(deps): update actions/cache action to v4.2.1 2025-02-18 18:14:21 +00:00
Alexandru Ionut Tripon
50ab1b2c40 Recognize riscv64 as a 64-bit platform (#3425) 2025-02-17 20:33:17 +02:00
Alexandru Ionut Tripon
d472b966dc chore(nix): update lockfile (#3401) 2025-02-17 18:04:45 +02:00
Alexandru Ionut Tripon
beee93e199 Update hendrikmuhs/ccache-action action to v1.2.17 (#3388) 2025-02-17 18:04:33 +02:00
thonkdifferent
8f1750df51 Recognize riscv64 as a 64-bit platform
Currently PrismLauncher complains about the installed JDK being a 32-bit version, despite it being compiled for 64-bit RISC-V `riscv64`. 

This PR fixes this issue.

Signed-off-by: thonkdifferent <41342923+thonkdifferent@users.noreply.github.com>
2025-02-16 19:30:31 +02:00
github-actions[bot]
bdf87fa02f chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/3a228057f5b619feb3186e986dbe76278d707b6e?narHash=sha256-xvTo0Aw0%2Bveek7hvEVLzErmJyQkEcRk6PSR4zsRQFEc%3D' (2025-02-01)
  → 'github:NixOS/nixpkgs/2ff53fe64443980e139eaa286017f53f88336dd0?narHash=sha256-%2B/bYK3DbPxMIvSL4zArkMX0LQvS7rzBKXnDXLfKyRVc%3D' (2025-02-13)
2025-02-16 00:25:49 +00:00
Rachel Powers
3295b0717a add libMangoHud_shim.so to mangohub preloadlist (#3413) 2025-02-13 14:41:01 -07:00
Rachel Powers
7b97863685 make sure if user changes java path also disable java management (#3414) 2025-02-13 14:40:40 -07:00
TheKodeToad
3840d8a37a Always check Microsoft account for offline account
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-02-13 19:12:50 +00:00
Alexandru Ionut Tripon
3e4fc2ff3b Increase the stale operations (#3393) 2025-02-13 13:44:01 +02:00
Alexandru Ionut Tripon
d22a20ffa6 Update .github/workflows/stale.yml
Co-authored-by: TheKodeToad <TheKodeToad@proton.me>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2025-02-13 08:14:20 +02:00
TheKodeToad
de86e63611 Update .github/workflows/stale.yml
Co-authored-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-02-13 00:05:14 +00:00
TheKodeToad
e41a60e57e remove some unused files (#3412) 2025-02-13 00:04:45 +00:00
iTrooz
34233a93a2 MinecraftTarget::parse() to parse IP
Signed-off-by: iTrooz <hey@itrooz.fr>
2025-02-13 00:55:35 +01:00
Trial97
174cddcf42 make sure if user changes java path also disable java management
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-02-12 20:40:09 +02:00
Trial97
9e954548dd add libMangoHud_shim.so to mangohub preloadlist
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-02-12 20:21:45 +02:00
Trial97
14b653e08d remove some unused files
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-02-12 20:16:00 +02:00
TheKodeToad
79180db663 Fix some undefined behaviour (#3407) 2025-02-11 19:04:56 +00:00
Alexandru Ionut Tripon
22b59e760c Update launcher/ui/widgets/CheckComboBox.cpp
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2025-02-11 21:03:04 +02:00
Alexandru Ionut Tripon
1d1a4f1b30 Apply suggestions from code review
Co-authored-by: TheKodeToad <TheKodeToad@proton.me>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2025-02-11 21:02:27 +02:00
Trial97
bf1084d7fa Fix some undefined behaviour
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-02-11 10:59:10 +02:00
Trial97
ef825a7bc5 update stale action
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-02-06 09:58:41 +02:00
Alexandru Ionut Tripon
8d143c7b95 Fixed when game crashes, it doesn't log any time played (#3392) 2025-02-06 09:35:23 +02:00
Riley Richard
9ea33e0651 DCO Remediation Commit for Riley Richard <bubbalou112@gmail.com>
I, Riley Richard <bubbalou112@gmail.com>, hereby add my Signed-off-by to this commit: cb83f8e52d

Signed-off-by: Riley Richard <bubbalou112@gmail.com>
2025-02-05 18:10:31 -05:00
Trial97
f1209c1279 Increase the stale operations
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-02-05 23:43:38 +02:00
Riley Richard
17e95c0d07 forgot to sign
Signed-off-by: Riley Richard <bubbalou112@gmail.com>
2025-02-05 16:33:15 -05:00
Riley Richard
cb83f8e52d fixed thing 2025-02-05 16:13:22 -05:00
Alexandru Ionut Tripon
7d202e348d Use the same UI for instance and global settings (#3341) 2025-02-05 23:04:54 +02:00
Alexandru Ionut Tripon
364b5be856 Add stale workflow (#3389) 2025-02-05 23:04:38 +02:00
TheKodeToad
e1896d5b6b Update launcher/ui/pages/global/MinecraftPage.h
Co-authored-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-02-05 13:45:49 +00:00
TheKodeToad
6e3dd04a1f Update launcher/ui/pages/global/MinecraftPage.h
Co-authored-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-02-05 12:09:32 +00:00
TheKodeToad
f7a401ab22 Update launcher/ui/pages/instance/InstanceSettingsPage.h
Co-authored-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-02-05 12:09:26 +00:00
TheKodeToad
9ed6801b15 Update launcher/ui/pages/global/JavaPage.h
Co-authored-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-02-05 12:09:12 +00:00
TheKodeToad
06b50dfd33 Fix more header mistakes
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-02-05 11:11:45 +00:00
TheKodeToad
5a76d9b7e1 Make requested changes
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-02-05 10:58:06 +00:00
Alexandru Ionut Tripon
34438824c1 Update .github/workflows/stale.yml
Co-authored-by: Seth Flynn <getchoo@tuta.io>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2025-02-04 23:15:18 +02:00
Alexandru Ionut Tripon
ac598740b3 Update .github/workflows/stale.yml
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2025-02-04 22:08:46 +02:00
Alexandru Ionut Tripon
85c2710e33 Apply suggestions from code review
Co-authored-by: Seth Flynn <getchoo@tuta.io>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2025-02-04 22:08:16 +02:00
Alexandru Ionut Tripon
afe6d4836d Update .github/workflows/stale.yml
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2025-02-04 17:41:36 +02:00
Trial97
9c26ba5932 add stale workflow
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-02-04 16:13:55 +02:00
renovate[bot]
2a987b5a4a chore(deps): update hendrikmuhs/ccache-action action to v1.2.17 2025-02-03 22:11:56 +00:00
Alexandru Ionut Tripon
1a375dc243 Merge pull request #3382 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2025-02-03 00:28:59 +02:00
Alexandru Ionut Tripon
ab3792b080 Merge pull request #3381 from razzeee/patch-1
Add PackageManager category
2025-02-03 00:28:42 +02:00
Seth Flynn
f9dcc31843 Merge pull request #3374 from getchoo-contrib/ci/fix-nix-out-paths
Fix Nix workflow
2025-02-02 17:18:03 -05:00
Seth Flynn
989e6c6cb6 ci: directly print nix out paths to step summary
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-02-01 22:55:39 -05:00
Seth Flynn
138684a84f Revert "ci: add nix out paths to job summary"
This reverts commit 588e0d6305.

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-02-01 22:54:26 -05:00
github-actions[bot]
faf7e6b06e chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/825479c345a7f806485b7f00dbe3abb50641b083?narHash=sha256-nU6AezEX4EuahTO1YopzueAXfjFfmCHylYEFCagduHU%3D' (2025-01-24)
  → 'github:NixOS/nixpkgs/3a228057f5b619feb3186e986dbe76278d707b6e?narHash=sha256-xvTo0Aw0%2Bveek7hvEVLzErmJyQkEcRk6PSR4zsRQFEc%3D' (2025-02-01)
2025-02-02 00:24:39 +00:00
Kolja
f1671e3ded Add PackageManager category
Signed-off-by: Kolja <razzeee@gmail.com>
2025-02-01 20:25:01 +01:00
Alexandru Ionut Tripon
6404d81ada Merge pull request #3373 from Trial97/fix_crash2
Show warning when adding new resources with no instances
2025-01-31 23:03:55 +02:00
Alexandru Ionut Tripon
d6eb96df5c Merge pull request #3260 from Trial97/fix_modrinth_shapshot
Map Minecraft snapshots to Modrinth
2025-01-31 23:02:55 +02:00
Trial97
c5efe081b4 fix add resource with no instance
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-01-31 22:03:57 +02:00
Seth Flynn
a639bc019e Merge pull request #3368 from getchoo-contrib/ci/print-nix-out-paths 2025-01-31 07:00:37 -05:00
Seth Flynn
588e0d6305 ci: add nix out paths to job summary
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-01-30 13:34:34 -05:00
Sefa Eyeoglu
d7eddedf41 Merge pull request #3359 from PrismLauncher/ci/flakehub 2025-01-30 16:06:58 +01:00
Alexandru Ionut Tripon
6ae9fa4df4 Merge pull request #3314 from Trial97/update_modules
update submodules
2025-01-29 23:35:08 +02:00
Seth Flynn
86cc6d3c5e feat: publish on flakehub
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-01-29 16:34:31 -05:00
Seth Flynn
61d7f08883 ci: use generic workflow for publishing
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-01-29 16:34:27 -05:00
Seth Flynn
0deb5e20ae Merge pull request #3362 from getchoo-contrib/ci/flakehub-cache 2025-01-29 16:34:02 -05:00
Alexandru Ionut Tripon
fcb3dd5e9d Merge pull request #3346 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2025-01-29 23:33:01 +02:00
Seth Flynn
169f5728b1 ci: run nix workflow on pull_request_target
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-01-29 16:22:44 -05:00
Seth Flynn
8816be1668 ci: use flakehub cache
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-01-29 16:17:01 -05:00
Alexandru Ionut Tripon
bd752c025c Merge pull request #3360 from getchoo-contrib/ci/split
Split Flatpak and Nix CI jobs from main build workflow
2025-01-29 22:51:07 +02:00
Seth Flynn
49d734f314 ci: separate flatpak job
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-01-29 08:32:49 -05:00
Seth Flynn
417688089d ci: separate nix job
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-01-29 08:31:45 -05:00
Seth Flynn
de21b77ae1 Merge pull request #3334 from PrismLauncher/renovate/determinatesystems-magic-nix-cache-action-9.x
chore(deps): update determinatesystems/magic-nix-cache-action action to v9
2025-01-29 07:44:06 -05:00
TheKodeToad
68bf409a98 Fix formatting issues
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-01-27 19:14:57 +00:00
TheKodeToad
5d179671bf Fix non-Linux build
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-01-27 18:55:24 +00:00
TheKodeToad
dc6f536843 Fix Qt 5 compilation
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-01-27 18:04:41 +00:00
TheKodeToad
cc504f4a6c Merge remote-tracking branch 'upstream/develop' into unify-mc-settings
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-01-27 17:02:50 +00:00
TheKodeToad
a92c68adbd Remove duplicate console section
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-01-27 16:54:45 +00:00
TheKodeToad
7aaa9fa93c Finish off MinecraftSettingsWidget implementation
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-01-27 16:46:26 +00:00
TheKodeToad
81769b9047 Use MinecraftInstancePtr instance of InstancePtr
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-01-27 14:34:07 +00:00
TheKodeToad
147b315c14 Update thresholds when min. memory value is changed too
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-01-27 14:15:07 +00:00
TheKodeToad
9d0918a064 Remove outdated JavaWizardWidget comment
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-01-27 13:19:10 +00:00
TheKodeToad
98ab686348 Merge remote-tracking branch 'upstream/develop' into unify-mc-settings
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-01-27 13:18:19 +00:00
TheKodeToad
39ae2fbd4a Fix tab inconsistencies
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-01-26 22:44:43 +00:00
TheKodeToad
36a35d7925 Fix tab order
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-01-26 22:36:48 +00:00
TheKodeToad
1b4b36df33 Unify Java page
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-01-26 22:25:26 +00:00
github-actions[bot]
3d9e073721 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5df43628fdf08d642be8ba5b3625a6c70731c19c?narHash=sha256-Tbk1MZbtV2s5aG%2BiM99U8FqwxU/YNArMcWAv6clcsBc%3D' (2025-01-16)
  → 'github:NixOS/nixpkgs/825479c345a7f806485b7f00dbe3abb50641b083?narHash=sha256-nU6AezEX4EuahTO1YopzueAXfjFfmCHylYEFCagduHU%3D' (2025-01-24)
2025-01-26 00:23:21 +00:00
iTrooz
bb20848449 use more sensible protocol version
Signed-off-by: iTrooz <hey@itrooz.fr>
2025-01-25 21:01:21 +01:00
iTrooz
0b9d4784d8 Show socket error in McClient
Signed-off-by: iTrooz <hey@itrooz.fr>
2025-01-25 20:26:52 +01:00
iTrooz
b06c4341d8 update documentation
Signed-off-by: iTrooz <hey@itrooz.fr>
2025-01-25 20:22:09 +01:00
iTrooz
7c82cd82d7 use m_responseReadState to avoid calling parseResponse() (as a failsafe for malicious/bad server responses)
Signed-off-by: iTrooz <hey@itrooz.fr>
2025-01-25 20:19:19 +01:00
iTrooz
439c565961 forward McResolver error as Task error
Signed-off-by: iTrooz <hey@itrooz.fr>
2025-01-25 20:14:15 +01:00
iTrooz
cf2b413f29 forward McClient error as Task error
Signed-off-by: iTrooz <hey@itrooz.fr>
2025-01-25 20:10:31 +01:00
iTrooz
fe8f755b43 remove waitForConnected() and waitForReadyRead() and use signals ineatd
Signed-off-by: iTrooz <hey@itrooz.fr>
2025-01-25 20:08:44 +01:00
iTrooz
43376b1c40 remove unused defines in McClient.h
Signed-off-by: iTrooz <hey@itrooz.fr>
2025-01-25 19:06:52 +01:00
Trial97
255f27d419 virtual constructor
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-01-22 16:11:54 +02:00
Trial97
aeeb6f6bb6 fix build final
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-01-22 00:16:20 +02:00
Trial97
49d82ab528 fix build
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-01-21 23:49:42 +02:00
Alexandru Ionut Tripon
fdb4159f2a Merge pull request #3332 from eff3ry/modrinth-filter-tweak
Update Modrinth Client/Server Filters to match Modrinth website & launcher.
2025-01-21 23:42:37 +02:00
Alexandru Ionut Tripon
98be91c9d5 Merge pull request #3294 from Trial97/fix_flame_update
Fix updating Curseforge mods with missing mod loader
2025-01-21 23:40:21 +02:00
Trial97
7010b8acb6 fix the freeze with openglwidget
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-01-21 23:36:40 +02:00
renovate[bot]
705375c0df chore(deps): update determinatesystems/magic-nix-cache-action action to v9 2025-01-21 21:35:18 +00:00
Alexandru Ionut Tripon
38d3f14f06 Apply suggestions from code review
Co-authored-by: TheKodeToad <TheKodeToad@proton.me>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2025-01-21 16:45:40 +02:00
TheKodeToad
8d3684c484 Merge pull request #1413 from Trial97/fix_curse_import
feat: updated flame mod resolution
2025-01-21 13:53:00 +00:00
Alexandru Ionut Tripon
0d4eeb9965 Merge pull request #3330 from getchoo-contrib/mingw-cfg
Use better compile flags for MINGW
2025-01-21 15:18:43 +02:00
Jeffery Tolmie
caccaefb39 Change "none" to ""
Co-authored-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
Signed-off-by: Jeffery Tolmie <jeffery.tolmie@gmail.com>
2025-01-22 02:06:49 +13:00
eff3ry
532fec7748 DCO Remediation Commit
DCO Remediation Commit for eff3ry <jeffery.tolmie@gmail.com>

I, eff3ry <jeffery.tolmie@gmail.com>, hereby add my Signed-off-by to this commit: 2a403b3bfe
I, eff3ry <jeffery.tolmie@gmail.com>, hereby add my Signed-off-by to this commit: 4ba3fd559d

Signed-off-by: eff3ry <jeffery.tolmie@gmail.com>
2025-01-22 01:48:04 +13:00
eff3ry
4ba3fd559d Update Filter Checks
Updates the filter checks so that options both and none can be differentiated.

Signed-off-by: Jeffery Tolmie Jeffery.tolmie@gmail.com
2025-01-22 01:40:59 +13:00
eff3ry
2a403b3bfe Edit Modrinth search faucets
Edit Modrinth search faucets to alter the client and server filters to be more in-line with the Modrinth website and Launcher, making it easier to find client-side only mods etc.

Signed-off-by: Jeffery Tolmie Jeffery.tolmie@gmail.com
2025-01-22 01:39:28 +13:00
Seth Flynn
f8a504e254 Merge pull request #3299 from Trial97/appimage2
Use Ubuntu 22.04 for Linux builds
2025-01-20 23:43:45 -05:00
Seth Flynn
e66f447ce5 feat: use better compile flags for mingw
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-01-20 20:36:48 -05:00
Seth Flynn
67b218b1f3 Merge pull request #2895 from Edgars-Cirulis/qt-6.8
chore: update to qt 6.8.x
2025-01-20 18:53:05 -05:00
Alexandru Ionut Tripon
db766574a4 Update .github/workflows/build.yml
Co-authored-by: Seth Flynn <getchoo@tuta.io>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2025-01-21 01:38:13 +02:00
timoreo
18da01c9a6 Merge pull request #3320 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2025-01-20 09:48:11 +01:00
Alexandru Ionut Tripon
c79ad73311 Merge pull request #3319 from getchoo-contrib/flatpak-arm
Build Flatpaks for ARM
2025-01-19 10:16:41 +02:00
Sefa Eyeoglu
fb3926a85d Merge pull request #3318 from getchoo-contrib/nix-arm
Build Nix packages for aarch64-linux
2025-01-19 09:08:17 +01:00
github-actions[bot]
8d4f279539 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/bffc22eb12172e6db3c5dde9e3e5628f8e3e7912?narHash=sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc%2Bc2c%3D' (2025-01-08)
  → 'github:NixOS/nixpkgs/5df43628fdf08d642be8ba5b3625a6c70731c19c?narHash=sha256-Tbk1MZbtV2s5aG%2BiM99U8FqwxU/YNArMcWAv6clcsBc%3D' (2025-01-16)
2025-01-19 00:24:56 +00:00
Alexandru Ionut Tripon
1b5d3c2bf9 Update .github/workflows/build.yml
Co-authored-by: seth <getchoo@tuta.io>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2025-01-19 02:03:21 +02:00
Trial97
be3eca8c97 remove specific step for qt6
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-01-19 01:05:06 +02:00
seth
66f0397087 ci: build flatpaks for arm
Signed-off-by: seth <getchoo@tuta.io>
2025-01-18 17:16:02 -05:00
seth
8e8538b506 ci: build nix packages for aarch64-linux
Signed-off-by: seth <getchoo@tuta.io>
2025-01-18 16:55:38 -05:00
Trial97
dc00c47f2e update submodules
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-01-18 13:27:18 +02:00
Trial97
7d3238d234 rename variables
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-01-17 21:09:44 +02:00
Alexandru Ionut Tripon
f17599c8b8 Merge pull request #1689 from Trial97/progrss_bar_interaction
Added mouse interactions for labels in ProgressDialog
2025-01-17 20:59:52 +02:00
Trial97
8e5a7c6e33 ensure that the snapshot mapping is on all apis
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-01-17 10:35:13 +02:00
Trial97
1d8bf1d5a7 map modrinth snapshots
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-01-17 09:19:39 +02:00
Alexandru Ionut Tripon
0a71b19509 Apply suggestions from code review
Co-authored-by: seth <getchoo@tuta.io>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2025-01-17 08:53:10 +02:00
Alexandru Ionut Tripon
c2f4389e5f Merge pull request #3254 from Trial97/remove_multimc
remove EditAccountDialog
2025-01-17 08:51:44 +02:00
Alexandru Ionut Tripon
b7d117cc77 Merge pull request #2737 from maskersss/log-upload
Truncate logs for mclo.gs to fit 25k line limit
2025-01-17 08:49:49 +02:00
seth
1cce582d56 Merge pull request #3292 from Trial97/fix_modrinth_link
fix modrinth link
2025-01-16 20:42:00 -05:00
seth
867aaf881e Merge pull request #3286 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2025-01-16 20:40:44 -05:00
seth
14b348ffe7 Merge pull request #3285 from PrismLauncher/renovate/hendrikmuhs-ccache-action-1.x
chore(deps): update hendrikmuhs/ccache-action action to v1.2.16
2025-01-16 20:40:17 -05:00
Edgars Cīrulis
181610a8c1 Merge branch 'PrismLauncher:develop' into qt-6.8 2025-01-17 03:04:43 +02:00
seth
b7f2175718 Merge pull request #3179 from sshcrack/fix-inst-java
Fix $INST_JAVA not being set for auto download java
2025-01-16 20:03:26 -05:00
seth
7a1dc0e9c9 Merge pull request #1555 from Trial97/env_vars
correctly expand env vars for pre/post launch commands
2025-01-16 19:45:31 -05:00
Trial97
9317a675ed removed unused type
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-01-16 17:07:44 +02:00
Trial97
7cb8deeb90 feat: updated flame mod resolution
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-01-16 17:05:36 +02:00
Trial97
797cacf804 refactor to remove code duplication
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-01-16 17:04:53 +02:00
Trial97
d2516cbecc use YCbCr for chesboard pattern
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-01-16 14:11:56 +02:00
Trial97
bca517b8d3 fix appimage
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-01-16 12:10:19 +02:00
Trial97
aa6518410e fix build
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-01-15 23:04:47 +02:00
Trial97
9d25680587 remove defaults blocked list
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-01-15 22:35:47 +02:00
Trial97
82e59658d5 uniform ignoreFilesWithPath
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-01-15 21:59:31 +02:00
Trial97
a6f5858dac Fix ignore for modrinth/flame export
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-01-15 21:54:02 +02:00
Trial97
c0525ebf4e add wheel support for zoom
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-01-15 17:59:45 +02:00
Trial97
dbeb987978 improve skin preview
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-01-15 17:59:24 +02:00
Trial97
f6622a4cbb implement packignore for curseforge/modrinth export
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-01-14 18:48:41 +02:00
Trial97
2292df16cc some renames
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-01-14 18:48:20 +02:00
Trial97
e4ad4051c8 fix curseforge with empty loader as newest version
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-01-13 13:56:55 +02:00
Trial97
3ee73916ca fix modrinth link
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-01-13 08:16:12 +02:00
github-actions[bot]
03834e1455 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/6df24922a1400241dae323af55f30e4318a6ca65?narHash=sha256-dklw3AXr3OGO4/XT1Tu3Xz9n/we8GctZZ75ZWVqAVhk%3D' (2025-01-02)
  → 'github:NixOS/nixpkgs/bffc22eb12172e6db3c5dde9e3e5628f8e3e7912?narHash=sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc%2Bc2c%3D' (2025-01-08)
2025-01-12 00:26:01 +00:00
renovate[bot]
54da41c625 chore(deps): update hendrikmuhs/ccache-action action to v1.2.16 2025-01-11 22:11:18 +00:00
Trial97
1b98c69948 generate skin preview
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-01-10 17:30:00 +02:00
Trial97
5ba4b3a32f add licence header
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-01-10 15:31:57 +02:00
Trial97
059c03c655 fix qt5 build
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-01-10 15:03:53 +02:00
Trial97
87ec7cdd39 move background to vertex buffer
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-01-10 14:54:40 +02:00
Trial97
0219c11a73 Fix build CI
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-01-10 11:48:21 +02:00
Trial97
6fc386cfe9 Move shaders to separate files
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-01-10 11:40:38 +02:00
Trial97
cd0895b237 Add skin preview
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-01-10 00:54:14 +02:00
Alexandru Ionut Tripon
f4f1d5f0d7 Merge pull request #3228 from Trial97/delete_block
Add settings to control the if prism should move the downloaded mods
2025-01-09 00:12:12 +02:00
Alexandru Ionut Tripon
fbd886e9db Merge pull request #3255 from Trial97/propagate_load
propagate load component error
2025-01-09 00:11:48 +02:00
Alexandru Ionut Tripon
0fb99d837f Merge pull request #3230 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2025-01-09 00:11:24 +02:00
Alexandru Ionut Tripon
cb8320ca41 Merge pull request #3278 from Trial97/remove_drop
remove drop label
2025-01-09 00:10:50 +02:00
Alexandru Ionut Tripon
33981b9870 Merge pull request #3215 from Trial97/fix_custom_instance_icons
Fix curseforge/modrinth instance icons
2025-01-09 00:10:39 +02:00
Alexandru Ionut Tripon
07a0a15457 Merge pull request #3277 from Trial97/drop_file
fix drop file on resource page
2025-01-08 10:46:55 +02:00
Trial97
0f9ea5c949 remove drop label
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-01-08 01:55:45 +02:00
Trial97
d40c8b704c fix drop file on resource page
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-01-08 01:52:11 +02:00
github-actions[bot]
82a500f4e8 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5d67ea6b4b63378b9c13be21e2ec9d1afc921713?narHash=sha256-Pj39hSoUA86ZePPF/UXiYHHM7hMIkios8TYG29kQT4g%3D' (2024-12-11)
  → 'github:NixOS/nixpkgs/6df24922a1400241dae323af55f30e4318a6ca65?narHash=sha256-dklw3AXr3OGO4/XT1Tu3Xz9n/we8GctZZ75ZWVqAVhk%3D' (2025-01-02)
2025-01-05 00:25:34 +00:00
Trial97
4358e28d7e improve profile setup error message
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-12-31 14:33:36 +02:00
Trial97
6ebfcb91cf propagate load component error
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-12-31 13:44:22 +02:00
Trial97
e01df73deb remove EditAccountDialog
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-12-31 11:13:01 +02:00
Trial97
7dde35fef2 Add settings to control the if prism should move the downloaded mods
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-12-20 19:57:09 +02:00
Trial97
23ffc4d8b9 Refactor ResourcePack
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-12-19 10:42:42 +02:00
Alexandru Ionut Tripon
0b6ce5525d Merge pull request #3216 from Trial97/fix_auto_mod_provider
Fix automatically choose mod provider option
2024-12-19 09:16:59 +02:00
timoreo
f17faadf8a Merge pull request #3174 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2024-12-18 19:54:44 +01:00
timoreo
c7b6977692 Merge pull request #3043 from Trial97/fix_flame_loader_match
fix the flame loaders match
2024-12-18 19:53:22 +01:00
timoreo
423d72a6e8 Merge pull request #3197 from Trial97/fix_curseforge_import
Do not fail curseforge import if modrinth file check fails
2024-12-18 19:48:05 +01:00
timoreo
2a2ed9f8bd Merge pull request #3214 from kthchew/fix/manifest-symlink
Correct symbolic link destination on manifest (Mojang) Java download
2024-12-18 19:42:25 +01:00
Trial97
0412ed3f78 Fix automatically choose mod provider option
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-12-16 14:51:59 +02:00
Trial97
f4d93a08ba Fix curseforge/modrinth instance icons
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-12-16 13:27:44 +02:00
Kenneth Chew
8d53242952 Correct symbolic link destination on manifest Java download
Signed-off-by: Kenneth Chew <79120643+kthchew@users.noreply.github.com>
2024-12-16 03:30:09 -05:00
github-actions[bot]
706e263050 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'flake-compat':
    'github:edolstra/flake-compat/9ed2ac151eada2306ca8c418ebd97807bb08f6ac?narHash=sha256-HRJ/18p%2BWoXpWJkcdsk9St5ZiukCqSDgbOGFa8Okehg%3D' (2024-11-27)
  → 'github:edolstra/flake-compat/ff81ac966bb2cae68946d5ed5fc4994f96d0ffec?narHash=sha256-NeCCThCEP3eCl2l/%2B27kNNK7QrwZB1IJCrXfrbv5oqU%3D' (2024-12-04)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/970e93b9f82e2a0f3675757eb0bfc73297cc6370?narHash=sha256-jNRNr49UiuIwaarqijgdTR2qLPifxsVhlJrKzQ8XUIE%3D' (2024-11-28)
  → 'github:NixOS/nixpkgs/5d67ea6b4b63378b9c13be21e2ec9d1afc921713?narHash=sha256-Pj39hSoUA86ZePPF/UXiYHHM7hMIkios8TYG29kQT4g%3D' (2024-12-11)
2024-12-15 00:27:47 +00:00
Alexandru Ionut Tripon
507faf9f00 Merge pull request #3150 from kthchew/fix/unneeded-hr-exceptions
Remove unnecessary hardened runtime exceptions on macOS
2024-12-14 19:30:11 +02:00
Alexandru Ionut Tripon
c0803365ef Merge pull request #3202 from kthchew/chore/bump-sparkle
[macOS] Update Sparkle to v2.6.4
2024-12-14 18:18:04 +02:00
Alexandru Ionut Tripon
02e527c15b Merge pull request #3199 from kthchew/fix/launcher-settings-tab
Fix tab order in launcher settings
2024-12-14 18:17:08 +02:00
Alexandru Ionut Tripon
5659dad23d Merge pull request #3198 from kthchew/fix/local-net-use-desc
[macOS] Add local network usage description
2024-12-14 18:16:34 +02:00
Alexandru Ionut Tripon
647bb04a0d Merge pull request #3181 from Trial97/fix_mrpack_crash
fix crash with invalid mrpack format
2024-12-14 18:15:50 +02:00
Kenneth Chew
b6cd46ad27 Update Sparkle to v2.6.4
Signed-off-by: Kenneth Chew <79120643+kthchew@users.noreply.github.com>
2024-12-14 00:42:08 -05:00
Kenneth Chew
c3712ba648 Fix tab order in launcher settings
Signed-off-by: Kenneth Chew <79120643+kthchew@users.noreply.github.com>
2024-12-12 14:53:39 -05:00
Kenneth Chew
c3e44554ab Add local network usage description
Signed-off-by: Kenneth Chew <79120643+kthchew@users.noreply.github.com>
2024-12-12 14:43:28 -05:00
Trial97
a1c1c0b769 Do not fail curseforge import if modrinth file check fails
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-12-12 17:29:46 +02:00
Alexandru Ionut Tripon
15e58589d5 Merge pull request #3170 from leia-uwu/fix-icon-theme-path
[Linux] Don't use fallback icon search paths
2024-12-09 09:14:25 +02:00
Edgars Cirulis
eb8c375ec5 chore: update Qt to 6.8.1
Signed-off-by: Edgars Cirulis <edgarsciruliss@gmail.com>
2024-12-09 00:40:05 +02:00
Trial97
1dd0728a58 fix crash with invalid mrpack format
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-12-08 22:04:16 +02:00
sshcrack
cf2dcbd431 load meta first
Signed-off-by: sshcrack <34072808+sshcrack@users.noreply.github.com>
2024-12-08 18:27:57 +01:00
sshcrack
dedb7a2343 change order of steps
Signed-off-by: sshcrack <34072808+sshcrack@users.noreply.github.com>
2024-12-08 14:39:06 +01:00
sshcrack
c06f83507c now its too much newlines??
Signed-off-by: sshcrack <34072808+sshcrack@users.noreply.github.com>
2024-12-07 20:29:09 +01:00
sshcrack
1cd4b49789 git is making me crazy at this point
Signed-off-by: sshcrack <34072808+sshcrack@users.noreply.github.com>
2024-12-07 20:26:48 +01:00
sshcrack
c4ba7fc401 add newline back
Signed-off-by: sshcrack <34072808+sshcrack@users.noreply.github.com>
2024-12-07 20:25:12 +01:00
sshcrack
8bb35f5b0b add macos support for shortcuts
Signed-off-by: sshcrack <34072808+sshcrack@users.noreply.github.com>
2024-12-07 20:25:09 +01:00
leia uwu
614574f15c fix icon theme search paths
using fallback search paths breaks qadwaitadecorations

Signed-off-by: leia uwu <leia@tutamail.com>
2024-12-06 23:26:46 -03:00
Alexandru Ionut Tripon
28a471777a Merge pull request #2800 from QazCetelic/advanced-icon-dialog
Add search and support for subdirectories to icon picker
2024-12-06 12:37:45 +02:00
Alexandru Ionut Tripon
93526637cb Merge pull request #3166 from PrismLauncher/renovate/actions-cache-4.x
chore(deps): update actions/cache action to v4.2.0
2024-12-06 08:47:04 +02:00
renovate[bot]
94c893bd86 chore(deps): update actions/cache action to v4.2.0 2024-12-05 20:29:11 +00:00
iTrooz
f9e450ace2 do not destroy the ping ConcurrentTask directly at the end of the task
Signed-off-by: iTrooz <hey@itrooz.fr>
2024-12-05 20:43:40 +01:00
iTrooz
4e48015868 currentQueryTask -> m_currentQueryTask
Signed-off-by: iTrooz <hey@itrooz.fr>
2024-12-05 20:43:40 +01:00
Alexandru Ionut Tripon
c99876f3d7 Merge pull request #3154 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2024-12-03 16:17:50 +02:00
Alexandru Ionut Tripon
a3b2f1a931 Merge pull request #3119 from guihkx/flathub-manifest-sync
Sync Flatpak manifest with Flathub's
2024-12-02 17:30:19 +02:00
TheKodeToad
488dc7815c Merge pull request #3135 from Trial97/italic
Make FTB Import note italic to match others
2024-12-02 14:07:42 +00:00
Tayou
dbee4bee14 Merge pull request #3152 from leia-uwu/fix-system-icons
Fix system icons on Linux
2024-12-02 15:00:43 +01:00
github-actions[bot]
2cfd116947 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'flake-compat':
    'github:edolstra/flake-compat/0f9255e01c2351cc7d116c072cb317785dd33b33?narHash=sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U%3D' (2023-10-04)
  → 'github:edolstra/flake-compat/9ed2ac151eada2306ca8c418ebd97807bb08f6ac?narHash=sha256-HRJ/18p%2BWoXpWJkcdsk9St5ZiukCqSDgbOGFa8Okehg%3D' (2024-11-27)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/23e89b7da85c3640bbc2173fe04f4bd114342367?narHash=sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w%3D' (2024-11-19)
  → 'github:NixOS/nixpkgs/970e93b9f82e2a0f3675757eb0bfc73297cc6370?narHash=sha256-jNRNr49UiuIwaarqijgdTR2qLPifxsVhlJrKzQ8XUIE%3D' (2024-11-28)
2024-12-01 00:30:03 +00:00
leia uwu
3f67ef968b fix: icon search paths memory leak
Signed-off-by: leia uwu <leia@tutamail.com>
2024-11-30 12:51:39 -03:00
leia uwu
fd9c80db62 fix: fix system icons
This sets the fallback icon theme to the current(system default) icon theme before
launcher specific themes are applied

And removes `Inherits` line of multimc/legacy icon theme because it can end up making it
inherit a default theme set from /usr/share/icons/default/index.theme
instead of the user configured theme (probably a qt bug?)

Signed-off-by: leia uwu <leia@tutamail.com>
2024-11-30 11:35:41 -03:00
Kenneth Chew
7e76638f2c Only disable library validation if using ad-hoc signature
While not needed for regular releases, it is needed for CI when an Apple Developer account isn't available and you can only perform an ad-hoc signature.

Signed-off-by: Kenneth Chew <79120643+kthchew@users.noreply.github.com>
2024-11-29 21:18:07 -05:00
Kenneth Chew
884f15da1e Remove unnecessary hardened runtime exceptions
These are cruft from an older time when the launcher was ad-hoc signed, and the OS couldn't tell the libraries and launcher were signed by the same party.

Additionally, add a workaround to send the necessary library injection to the game if Steam overlay is used despite library validation being on for the launcher.

Signed-off-by: Kenneth Chew <79120643+kthchew@users.noreply.github.com>
2024-11-29 21:18:06 -05:00
iTrooz
ba0bd5fd74 Use shared pointer to store server query task
Signed-off-by: iTrooz <hey@itrooz.fr>
2024-11-29 19:42:54 +01:00
iTrooz
1477d64400 add m_ prefix to class members
Signed-off-by: iTrooz <hey@itrooz.fr>
2024-11-29 19:42:52 +01:00
iTrooz
4aaf7b9b09 chore
Signed-off-by: iTrooz <hey@itrooz.fr>
2024-11-29 14:07:39 +01:00
iTrooz
fd1cb1b58b DCO Remediation Commit for iTrooz <hey@itrooz.fr>
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: fac521a312
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 43a54cafef
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: ee35ac5afd
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 99ac11bc40
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 8fa1dff17d
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 2f70115be5
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: ea2a2349f8
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 87c9066a2b
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: fe28a051d5
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 0a379a05ff
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 6a7678a6e9
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: cba7e2dc36
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 8cf0c2029c
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 0d830e56e9
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: b35cffb347
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 1f094b9803
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 2d06e0a111
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: c3543b104b
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 8b7040d416
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: b8035ca078
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 9d5727e36b
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 7cf24586c2
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 7d04f0ee75
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 60fb922ba2
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: a79a66c177
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 1fb0fe0171
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 5cfb5a6f0d
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 9ce5eaaa0c
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 0c6f78dee2
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 7c8d2c9b55
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 24b9815763
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 7d2da19418
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: ca6d66970e
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 520d6b0b42
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 4fad298d67
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 087ab70143
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 7c61fec8e0
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: fef8ee2d1b
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 3a9c030982
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: f05548f3a3
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 66f36195d8
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: ca52d00b80
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 26f50f9b81
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 873232ebe3
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 8b90a9f2b3
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: dbb88ca7df
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 6f9be258dc
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: d124e2e0cb
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: cfb0c97262
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 5eb417ff2b
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 3fb6764ea4
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: ae7d3379e4
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 09782745c6
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: b0778e7a1f
I, iTrooz <hey@itrooz.fr>, hereby add my Signed-off-by to this commit: 01db826ec9

Signed-off-by: iTrooz <hey@itrooz.fr>
2024-11-29 01:01:32 +01:00
iTrooz
01db826ec9 Reset online players UI component when refreshing 2024-11-29 00:58:08 +01:00
iTrooz
b0778e7a1f chore 2024-11-29 00:44:31 +01:00
iTrooz
09782745c6 make writePacketToSocket() clear data automatically 2024-11-29 00:44:25 +01:00
iTrooz
ae7d3379e4 abort current query task if present when refreshing 2024-11-29 00:39:43 +01:00
iTrooz
3fb6764ea4 fix typo 2024-11-29 00:13:43 +01:00
iTrooz
5eb417ff2b Always autodelete signal connections with this captured when the objet is deleted, just to be sure 2024-11-28 23:54:51 +01:00
TheKodeToad
616aa002e1 Merge pull request #2875 from Jan200101/PR/switcheroo
[Linux] Integrate switcheroo-control for discrete GPU support
2024-11-28 20:02:58 +00:00
iTrooz
cfb0c97262 use Json::requireInteger() 2024-11-28 18:09:38 +01:00
iTrooz
d124e2e0cb cleanup 2024-11-28 17:50:55 +01:00
iTrooz
6f9be258dc add documentation about task abortion 2024-11-28 17:49:35 +01:00
iTrooz
dbb88ca7df move ServerPingTask in its own file 2024-11-28 17:46:42 +01:00
iTrooz
8b90a9f2b3 remove infinite loop from readVarInt() 2024-11-28 17:32:49 +01:00
iTrooz
873232ebe3 remove infinite loop in writeVarInt() 2024-11-28 17:29:35 +01:00
guihkx
e0faee7f26 ci(flatpak): update build artifact name
Just aligning the name of the Flatpak package with other build artifacts.

Signed-off-by: guihkx <626206+guihkx@users.noreply.github.com>
2024-11-27 14:35:15 -03:00
iTrooz
26f50f9b81 connect job to deletion task before starting it
This ensures the signal is not fired before we have connected it
2024-11-26 18:50:37 +01:00
iTrooz
ca52d00b80 replace std::string by QString in emitFail() 2024-11-26 18:47:13 +01:00
iTrooz
66f36195d8 simplify code 2024-11-26 18:44:21 +01:00
iTrooz
f05548f3a3 remove implicit captures 2024-11-26 18:43:14 +01:00
iTrooz
3a9c030982 Do not timeout after just 3000ms
Keep the network default timeout
2024-11-26 18:24:46 +01:00
iTrooz
fef8ee2d1b Disconnect task finished signal when ServersModel is destroyed 2024-11-26 18:16:15 +01:00
iTrooz
7c61fec8e0 Make task output online players rather than updating Server itself
This doesn't really change anything
2024-11-26 18:03:35 +01:00
guihkx
f6770a847a flatpak: update KDE runtime to 6.8
This also switches to the Docker image provided and maintained by
Flathub collaborators through the 'flathub-infra' organization on
GitHub, because it looks better maintained at the moment.

Signed-off-by: guihkx <626206+guihkx@users.noreply.github.com>
2024-11-26 13:51:09 -03:00
guihkx
4a50e94967 flatpak: update xrandr to 1.5.3
Signed-off-by: guihkx <626206+guihkx@users.noreply.github.com>
2024-11-26 13:51:09 -03:00
iTrooz
087ab70143 refresh UI when we got the players online 2024-11-26 14:33:02 +01:00
iTrooz
4fad298d67 put more McClient methods to private 2024-11-26 13:22:02 +01:00
iTrooz
520d6b0b42 run socket code in thread 2024-11-26 13:22:00 +01:00
iTrooz
ca6d66970e add documentation for Task and ConcurrentTask 2024-11-25 23:49:03 +01:00
Jan200101
514ec99a03 Integrate switcheroo-control for discrete GPU support
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
2024-11-25 22:29:39 +01:00
TheKodeToad
6c062c48b4 Merge pull request #3130 from Kationor/trimversion
Improve MANIFEST.MF parsing
2024-11-25 10:05:02 +00:00
iTrooz
7d2da19418 make McResolver have the same signal name conventions as Task 2024-11-25 01:09:47 +01:00
iTrooz
24b9815763 cleanup 2024-11-25 00:16:46 +01:00
iTrooz
7c8d2c9b55 always delete McResolver object, even when it fails 2024-11-25 00:16:25 +01:00
iTrooz
0c6f78dee2 communicate when ServerPingTask succeeds/fails 2024-11-25 00:10:17 +01:00
iTrooz
9ce5eaaa0c fix job being deleted before tasks are finished 2024-11-24 23:54:19 +01:00
Kationor
b40a1973bf Improve MANIFEST.MF parsing
Previously, we would only properly parse LF-encoded manifests, and even
those only if they used the recommended casing.

This commit allows the parser to recognise CR and CRLF newlines, and
also makes the name comparison case insensitive to align with the
specification. (Though not completely: we still don't support multiline
values)

Signed-off-by: Kationor <n96211028@gmail.com>
2024-11-24 19:30:59 +01:00
Trial97
a09af619ce Make FTB Import note italic to match others
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-11-24 20:29:07 +02:00
TheKodeToad
835944387b Merge pull request #3128 from QazCetelic/naming-clang-tidy
Add naming check in `.clang-tidy` file
2024-11-24 16:10:41 +00:00
iTrooz
5cfb5a6f0d do not capture things implicitely in lambdas 2024-11-24 16:37:42 +01:00
QazCetelic
d927c539b5 Update CONTRIBUTING.md conventions section
Signed-off-by: QazCetelic <qaz.cetelic@protonmail.com>
2024-11-23 19:55:40 +01:00
QazCetelic
14454faac8 Use old list style
Signed-off-by: QazCetelic <qaz.cetelic@protonmail.com>
2024-11-23 18:21:03 +01:00
QazCetelic
2351531e84 Add naming checks to clang-tidy
Signed-off-by: QazCetelic <qaz.cetelic@protonmail.com>
2024-11-23 18:15:07 +01:00
QazCetelic
33ff3b4f36 Fix naming
Signed-off-by: QazCetelic <qaz.cetelic@protonmail.com>
2024-11-23 18:10:33 +01:00
seth
11e7b218d4 Merge pull request #3113 from PrismLauncher/update_flake_lock_action
chore(nix): adopt new darwin SDK pattern
2024-11-22 18:25:21 -05:00
seth
fbbd64ddb7 chore(nix): sync with upstream nixpkgs
Signed-off-by: seth <getchoo@tuta.io>
2024-11-22 17:33:16 -05:00
github-actions[bot]
41db87c8cf chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nix-filter':
    'github:numtide/nix-filter/776e68c1d014c3adde193a18db9d738458cd2ba4?narHash=sha256-SCHiL%2B1f7q9TAnxpasriP6fMarWE5H43t25F5/9e28I%3D' (2024-10-29)
  → 'github:numtide/nix-filter/f7653272fd234696ae94229839a99b73c9ab7de0?narHash=sha256-oRam5PS1vcrr5UPgALW0eo1m/5/pls27Z/pabHNy2Ms%3D' (2024-11-13)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/4aa36568d413aca0ea84a1684d2d46f55dbabad7?narHash=sha256-Zwl8YgTVJTEum%2BL%2B0zVAWvXAGbWAuXHax3KzuejaDyo%3D' (2024-11-05)
  → 'github:NixOS/nixpkgs/23e89b7da85c3640bbc2173fe04f4bd114342367?narHash=sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w%3D' (2024-11-19)
2024-11-22 22:26:01 +00:00
Alexandru Ionut Tripon
79dd912126 Merge pull request #3091 from Awqre/develop
Lossless image asset compression
2024-11-20 10:12:34 +02:00
Awqre
00fa65c18b Merge branch 'PrismLauncher:develop' into develop 2024-11-20 02:08:31 +00:00
iTrooz
1fb0fe0171 ping servers when opening Servers page 2024-11-19 20:48:17 +01:00
iTrooz
a79a66c177 remove debug print 2024-11-19 20:43:04 +01:00
iTrooz
60fb922ba2 remove QObject parent argument from ServerPingTask constructor 2024-11-19 20:43:04 +01:00
seth
59db80cb0e Merge pull request #3068 from Scrumplex/chore/update-nixos-readme
[Linux] Update Nix README
2024-11-19 10:09:11 -05:00
Alexandru Ionut Tripon
e5a4dfdf16 Merge pull request #2962 from AOSC-Tracking/upstream/detect-aosc-os-jdks
javautils: add a filter for detecting Java paths on AOSC OS
2024-11-19 13:44:57 +02:00
QazCetelic
6ca18c6266 Refactoring
Signed-off-by: QazCetelic <qaz.cetelic@protonmail.com>
2024-11-18 19:19:02 +01:00
QazCetelic
e74592fa09 Code style conventions (camelCase, m_ prefix)
Signed-off-by: QazCetelic <qaz.cetelic@protonmail.com>
2024-11-17 20:43:09 +01:00
QazCetelic
abbebff400 Removed bug when renaming icon file in nested folder while application is running
Signed-off-by: QazCetelic <qaz.cetelic@protonmail.com>
2024-11-17 20:35:24 +01:00
iTrooz
7d04f0ee75 remove useless code when reading response 2024-11-17 20:06:08 +01:00
iTrooz
7cf24586c2 .hpp -> .h 2024-11-17 19:58:30 +01:00
iTrooz
9d5727e36b MCResolver -> McResolver 2024-11-17 19:51:15 +01:00
iTrooz
b8035ca078 refactor header and code into 2 files 2024-11-17 19:50:52 +01:00
iTrooz
8b7040d416 use Qt5-compatible writeString() impl 2024-11-17 19:37:15 +01:00
iTrooz
c3543b104b fix qDebug() call with string << append 2024-11-17 19:26:21 +01:00
iTrooz
2d06e0a111 Fix after rebase 2024-11-17 19:21:09 +01:00
iTrooz
1f094b9803 avoid translating back to stf string without reason 2024-11-17 19:10:15 +01:00
iTrooz
b35cffb347 fix warning about unused jsonLength 2024-11-17 19:10:15 +01:00
iTrooz
0d830e56e9 replace std::runtime_exception with PrismLauncher Exception + add try/catch 2024-11-17 19:10:15 +01:00
iTrooz
8cf0c2029c No need to close the socket, it is done automatically
https://doc.qt.io/qt-6/qtcpsocket.html#dtor.QTcpSocket
2024-11-17 19:10:15 +01:00
iTrooz
cba7e2dc36 use std::optional<> to signify when there is no value 2024-11-17 19:10:15 +01:00
iTrooz
6a7678a6e9 Actually show online players when clicking on the button 2024-11-17 19:10:15 +01:00
iTrooz
0a379a05ff replace my printf calls with qDebug 2024-11-17 19:10:15 +01:00
iTrooz
fe28a051d5 make MCResolver a dynamic object so it doesnt get deleted before the callback
See https://discord.com/channels/1031648380885147709/1031823065937629267/1307471566166167696
2024-11-17 19:10:15 +01:00
iTrooz
87c9066a2b run the code in tasks 2024-11-17 19:10:15 +01:00
iTrooz
ea2a2349f8 make splitAddress() const 2024-11-17 19:10:15 +01:00
iTrooz
2f70115be5 add debug print 2024-11-17 19:10:15 +01:00
iTrooz
8fa1dff17d remove space 2024-11-17 19:10:15 +01:00
iTrooz
99ac11bc40 add my classes to CMakeLists 2024-11-17 19:10:15 +01:00
iTrooz
ee35ac5afd add method queryStatus() to servers and use it on click 2024-11-17 19:10:15 +01:00
iTrooz
43a54cafef add my classes 2024-11-17 19:10:15 +01:00
iTrooz
fac521a312 Add dummy UI button 2024-11-17 19:10:15 +01:00
Awqre
3c88eccf17 Merge branch 'PrismLauncher:develop' into develop 2024-11-17 08:19:35 +00:00
TheKodeToad
48235f5b71 Merge pull request #3083 from Trial97/fix_resource_search
Fix resource search
2024-11-15 23:09:28 +00:00
timoreo
736ecf266d Merge pull request #3019 from Trial97/task_parent
fixed double deletion for tasks
2024-11-15 06:19:40 +01:00
timoreo
b2a37452be Merge pull request #3024 from Trial97/leak
fix leak on resource search
2024-11-15 06:18:33 +01:00
timoreo
54f2e75b9d Merge pull request #3070 from TheKodeToad/general-scrollbar
Add scrollbar to Settings -> Launcher -> Features
2024-11-15 06:16:54 +01:00
timoreo
f7620a43aa Merge pull request #3094 from Trial97/remove_resource_warning
Fix warnings regarding Resource static cast
2024-11-15 06:15:55 +01:00
timoreo
bcbe5da87f Merge pull request #3096 from Trial97/dangling_file
Fix file remaingin open after program closure
2024-11-15 06:14:25 +01:00
Alexandru Ionut Tripon
e735ea7e63 Merge pull request #3003 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2024-11-14 22:50:53 +02:00
Trial97
ce61ed2f86 Fix file remaingin open after program closure
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-11-14 13:27:16 +02:00
Trial97
172e43cd3f Fix warnings regarding Resource static cast
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-11-13 23:11:33 +02:00
Awqre
9f0b2bafd8 Further additional even better(er) compression
Truly unprecedented levels of optimization we're reaching here. (OxiPNG/ZopfliPNG/ECT/DeflOpt)

Signed-off-by: Awqre <32497511+Awqre@users.noreply.github.com>
2024-11-13 14:31:20 -05:00
txtsd
03b34e39f8 feat: Compression script with compressed images
Also modified genicons.sh

Signed-off-by: txtsd <code@ihavea.quest>
2024-11-13 19:04:31 +05:30
Awqre
885fc66c14 Lossless image compression
Applied lossless zopfli/ect/deflopt compression to PNG files including ones contained in ICO files.

Repacked ICO files with optidash icopack

Signed-off-by: Awqre <32497511+Awqre@users.noreply.github.com>
2024-11-12 20:17:17 -05:00
github-actions[bot]
f41380d91c chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nix-filter':
    'github:numtide/nix-filter/3342559a24e85fc164b295c3444e8a139924675b?narHash=sha256-1Wvk8UP7PXdf8bCCaEoMnOT1qe5/Duqgj%2BrL8sRQsSM%3D' (2024-03-11)
  → 'github:numtide/nix-filter/776e68c1d014c3adde193a18db9d738458cd2ba4?narHash=sha256-SCHiL%2B1f7q9TAnxpasriP6fMarWE5H43t25F5/9e28I%3D' (2024-10-29)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0?narHash=sha256-/uilDXvCIEs3C9l73JTACm4quuHUsIHcns1c%2BcHUJwA%3D' (2024-10-18)
  → 'github:NixOS/nixpkgs/4aa36568d413aca0ea84a1684d2d46f55dbabad7?narHash=sha256-Zwl8YgTVJTEum%2BL%2B0zVAWvXAGbWAuXHax3KzuejaDyo%3D' (2024-11-05)
2024-11-10 00:24:54 +00:00
Trial97
66883db645 Fix removed signal handler for filter resource
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-11-09 23:30:04 +02:00
Tayou
df45e5518f Merge pull request #3081 from Trial97/fix_markdown
fix CONTRIBUTING.md formating
2024-11-09 22:19:41 +01:00
Trial97
4c8c6e543e fix contrributing
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-11-08 00:18:12 +02:00
Alexandru Ionut Tripon
1d9508c268 Merge pull request #3074 from Trial97/lock
Close the window using the invokeMethod to not block
2024-11-07 23:45:44 +02:00
Alexandru Ionut Tripon
7d03cb114d Merge pull request #3031 from Trial97/lambda
do not capture by default all values in lambdas
2024-11-07 23:45:31 +02:00
Tayou
2fcf03ead3 Merge pull request #3036 from Trial97/typo4 2024-11-07 17:30:47 +01:00
TheKodeToad
012bbca197 JavaSettingsWidget -> JavaWizardWidget
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-11-07 14:51:43 +00:00
TheKodeToad
8132828ad7 Phrasing fix
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-11-07 13:36:33 +00:00
Trial97
9601fbf2d5 Close the window using the invokeMethod to not block
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-11-07 15:07:17 +02:00
TheKodeToad
6e55239cec Merge pull request #3073 from TheKodeToad/fix-formatting-guidelines-oversight
Fix formatting oversight
2024-11-07 13:01:15 +00:00
TheKodeToad
900235642c Fix formatting oversight
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-11-07 12:16:22 +00:00
TheKodeToad
f667f56fb7 Merge pull request #3067 from TheKodeToad/updated-formatting-guidelines
Updated formatting guidelines
2024-11-07 11:43:12 +00:00
TheKodeToad
e06b3e7a7a Implement open global settings
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-11-07 00:47:32 +00:00
TheKodeToad
223b6b3b2b Fix non-Linux build
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-11-07 00:22:22 +00:00
TheKodeToad
71e55f8829 Add scrollbar to Settings -> Launcher -> Features
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-11-07 00:11:27 +00:00
TheKodeToad
e6d4e5d78d Unify instance and global settings pt.1
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-11-06 23:46:30 +00:00
TheKodeToad
8ecc21c093 Make Ryex's suggested change
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-11-06 22:12:22 +00:00
Sefa Eyeoglu
0a80da28fa chore: update Nix readme
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2024-11-06 19:29:57 +01:00
TheKodeToad
b67d400f60 Update formatting guidelines
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-11-06 16:27:03 +00:00
timoreo
1ab10bdd84 Merge pull request #3060 from Ryex/ci/bump_linux_qt
ci: bump linux qt version
2024-11-05 11:25:27 +01:00
Rachel Powers
ba6743d134 ci: libxcb-curcsor_dev ?
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-11-05 01:30:55 -07:00
Rachel Powers
d63a336411 ci: bump linux qt version
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-11-05 01:10:38 -07:00
Alexandru Ionut Tripon
4a92573235 Merge pull request #3042 from Trial97/isportable
use isPortable to determine if the MSAStep should check for url handler
2024-11-03 11:55:55 +02:00
Alexandru Ionut Tripon
db3d796275 Merge pull request #3045 from Trial97/ask_retry3
disable retry for modrinth currentVersions API
2024-11-03 11:55:37 +02:00
Trial97
6f2f3c2d3b disable retry for modrinth currentVersions API
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-11-01 17:34:29 +02:00
Trial97
f77f0207f7 fix the flame loaders match
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-11-01 14:30:47 +02:00
Trial97
99cfb62370 use isPortable to determine if the MSAStep should check for url handler
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-11-01 11:03:47 +02:00
Trial97
2b590f24ed remove task parent from constuctor
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-11-01 00:11:45 +02:00
Trial97
670c932f32 Fix installed typo
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-31 14:51:18 +02:00
TheKodeToad
ba07a136dc Merge pull request #3035 from PrismLauncher/remove-BasicFolderLoadTask
Remove BasicFolderLoadTask
2024-10-31 09:17:27 +00:00
TheKodeToad
9ae16921bc Remove BasicFolderLoadTask
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-10-30 21:10:43 +00:00
Tayou
887e4a964a Merge pull request #3010 from Trial97/lock3 2024-10-30 21:56:17 +01:00
seth
8faff9ac6a Merge pull request #3030 from Trial97/sys 2024-10-30 15:16:38 -04:00
Trial97
0e80aae1b8 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into lambda 2024-10-30 19:35:25 +02:00
TheKodeToad
c142d38f08 Merge pull request #1588 from TheKodeToad/resource-meta
Implement tracking and updates for files other than mods
2024-10-30 17:03:54 +00:00
Trial97
82bffabb69 do not capture by default all values in lambdas
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-30 18:16:43 +02:00
Trial97
14c95b9d37 fix macos system detection
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-30 17:15:42 +02:00
Alexandru Ionut Tripon
b7598c6a41 Merge pull request #2331 from michaeltyson/develop
Support for launching from command line in offline mode
2024-10-30 09:49:33 +02:00
Michael Tyson
ced2f9d1a0 Applied clang formatting
Signed-off-by: Michael Tyson <michael@atastypixel.com>
2024-10-30 12:51:34 +11:00
Michael Tyson
5661444414 Removed “--name” flag in favour of specifying offline player name via “--offline” flag
Signed-off-by: Michael Tyson <michael@atastypixel.com>
2024-10-30 12:37:14 +11:00
Michael Tyson
afa1e0599a Improved formatting
Signed-off-by: Michael Tyson <michael@atastypixel.com>
2024-10-30 12:34:33 +11:00
Michael Tyson
43e4481b70 Support for launching from command line in offline mode
This allows launching an offline instance with --offline --name=OfflineName. This is useful for playing split screen by creating two side-by-side instances, which is impossible online, unless one is using two separate paid accounts.

With this PR, it makes it possible to launch from a script - otherwise, one has to launch manually, which is a pain, or create offline profiles for each instance, which interferes with some functionality like skins (my autistic son takes great issue with his skin not being visible, when using offline profiles!).

Implementation is based on MultiMC, which supports this feature.

See also https://github.com/PrismLauncher/PrismLauncher/issues/1059 for discussion.

Signed-off-by: Michael Tyson <michael@atastypixel.com>
2024-10-30 12:30:20 +11:00
Tayou
65b0fdf08d Merge pull request #3027 from benthetechguy/metadata 2024-10-29 23:06:01 +01:00
Ben Westover
f6511c601e Fix some typos
Signed-off-by: Ben Westover <me@benthetechguy.net>
2024-10-29 20:45:10 +00:00
Ben Westover
fd109c4740 Shorten metainfo.xml app summary
Signed-off-by: Ben Westover <me@benthetechguy.net>
2024-10-29 20:45:06 +00:00
TheKodeToad
2368521a9a Add missing semicolon
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-10-29 17:54:03 +00:00
TheKodeToad
d49e6187cd Make requested changes
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-10-29 17:17:51 +00:00
TheKodeToad
c1c198b84b Combine if statements
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-10-29 15:45:30 +00:00
TheKodeToad
e7ff3146fe Merge pull request #1953 from Trial97/account2
Auto reauthenticate account if expired
2024-10-29 14:08:50 +00:00
Trial97
8e7d84d05b fix leak on resource search
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-29 00:40:13 +02:00
TheKodeToad
d157159106 Fix license headers and formatting
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-10-28 22:29:43 +00:00
TheKodeToad
bd8b30c606 Implement link for InfoFrame::updateWithResource
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-10-28 22:17:16 +00:00
TheKodeToad
f56a8feade Merge pull request #2986 from Trial97/bump_10.x
bump develop to 10
2024-10-28 21:12:53 +00:00
TheKodeToad
f3cae427f1 Fix tests (make them green)
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-10-28 21:09:45 +00:00
Alexandru Ionut Tripon
51b7abec24 Merge pull request #3005 from Trial97/installed
add installed text to version select
2024-10-28 22:55:40 +02:00
Alexandru Ionut Tripon
d90ed89a30 Merge pull request #2989 from Trial97/what
add extra protection against empty download link
2024-10-28 22:55:21 +02:00
TheKodeToad
ad1d5ddcdf Revert unwise refactor
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-10-28 20:42:59 +00:00
Alexandru Ionut Tripon
2dee936246 Merge pull request #2837 from Trial97/translate_standeard_butons
translate standard buttons
2024-10-28 22:31:47 +02:00
Alexandru Ionut Tripon
a0a74612e1 Merge pull request #1894 from Trial97/maximize
Fixed the maximized option on the newer Minecraft versions
2024-10-28 22:30:09 +02:00
Alexandru Ionut Tripon
fbd3aa36c4 Merge pull request #3006 from Trial97/relase_type
add release_type filer for mod/modpacks
2024-10-28 22:29:38 +02:00
Trial97
94f65f8727 add qassert
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-28 22:27:40 +02:00
TheKodeToad
2b22a1aebe Reimplement View Homepage
I removed it for some reason, but now it's back for all pages!

Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-10-28 20:14:56 +00:00
TheKodeToad
354a0ed46e Fix column sizes
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-10-28 18:01:01 +00:00
Trial97
9cdda4377b remove message box
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-28 19:19:06 +02:00
TheKodeToad
49044e23de Fix Export List placement
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-10-28 16:21:00 +00:00
TheKodeToad
f57ca1e79e Add Change Version action to all pages
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-10-28 16:07:41 +00:00
Trial97
0f42f3cc5c Added warning regarding maximized option
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-28 17:19:18 +02:00
Trial97
81c5866fa9 Made sure that the qt version check is in place
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-28 17:19:18 +02:00
Trial97
1be29076ea When java disappoints try C++
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-28 17:19:18 +02:00
Trial97
3c17f606ed Patched the maximized option on the newer Minecraft versions
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-28 17:19:18 +02:00
Trial97
09a118e85e expand env from wrapped cmd
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-28 16:23:33 +02:00
Trial97
c12beb43a0 correctly expand env vars
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-28 16:23:33 +02:00
Trial97
08f5148a9a Added mouse interactions for labels in ProgressDialog
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-28 16:22:52 +02:00
Trial97
14ad720c58 fix conflict
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-28 16:21:40 +02:00
Trial97
0ee5665c95 Revert "Removed auto reauthenticate"
This reverts commit 400b518bc2.

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-28 16:21:39 +02:00
Trial97
bd82737efb translate standard buttons
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-28 15:46:47 +02:00
Trial97
f75e049675 add release_type filer for mod/modpacks
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-28 15:36:47 +02:00
Tayou
1f8ce9eb92 Merge pull request #3002 from Trial97/typo2 2024-10-28 14:19:53 +01:00
Alexandru Ionut Tripon
d4bf61da50 Merge pull request #3007 from Trial97/open_source
add open source filter
2024-10-28 15:04:33 +02:00
Tayou
33754db9b9 Merge pull request #3009 from Trial97/order 2024-10-28 14:04:20 +01:00
TheKodeToad
1809858fc7 Ignore .index in ExportPackDialog
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-10-28 11:01:30 +00:00
Trial97
0cafac84ac replace currentData with itemData on QComboBox::currentIndexChanged slots
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-28 12:54:21 +02:00
Trial97
9eb1ce3ad7 replace unzipping with unpacking
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-28 12:39:26 +02:00
TheKodeToad
6a6fe60a5b Revert "Use non-mod metadata in ModrinthPackExportTask"
Out-of-scope

Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-10-28 10:29:49 +00:00
Alexandru Ionut Tripon
6338e2b362 Update launcher/ui/widgets/ModFilterWidget.ui
Co-authored-by: TheKodeToad <TheKodeToad@proton.me>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2024-10-28 00:34:41 +02:00
txtsd
b1113f4293 Merge pull request #3008 from Trial97/about
change contributors name
2024-10-28 01:01:43 +05:30
Trial97
c4cd7cf6c1 change ZekeZ name
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-27 13:17:58 +02:00
Trial97
11d4d948aa lock m_instanceExtras
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-27 12:36:14 +02:00
Trial97
61448a61ea swap search with filter button for modpacks
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-27 12:06:45 +02:00
Trial97
f373a5cea0 change contributors name
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-27 11:58:34 +02:00
Trial97
935b2e8fb2 add open source filter
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-27 11:56:48 +02:00
Trial97
b1c8ab9350 add installed text to version select
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-27 10:56:14 +02:00
Trial97
b593ff09e9 fix #3001
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-27 03:05:56 +02:00
Trial97
44894a29b1 rename snake_case to camelCase
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-27 03:05:30 +02:00
Trial97
685d3c79ac fix unzipping typo
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-27 03:02:13 +03:00
TheKodeToad
b66d6b2812 Unhardcode PREFIXES
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-10-26 13:24:03 +01:00
seth
5b8ea89092 Merge pull request #2992 from getchoo-contrib/nix/sync 2024-10-25 20:56:44 -04:00
TheKodeToad
13e13ea8fc Use non-mod metadata in ModrinthPackExportTask
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-10-25 19:13:41 +01:00
sshcrack
7c60f375f3 hide actions if not available
Signed-off-by: sshcrack <34072808+sshcrack@users.noreply.github.com>
2024-10-25 14:15:04 +02:00
sshcrack
cd3db28fce fixed typo
Signed-off-by: sshcrack <34072808+sshcrack@users.noreply.github.com>
2024-10-25 11:52:44 +02:00
sshcrack
43ccf18449 fix default action for flatpak
Signed-off-by: sshcrack <34072808+sshcrack@users.noreply.github.com>
2024-10-25 11:51:47 +02:00
sshcrack
b16e12c9af remove dot
Signed-off-by: sshcrack <34072808+sshcrack@users.noreply.github.com>
2024-10-25 11:49:13 +02:00
sshcrack
f1048c2e0d removed unnecessary macro
Signed-off-by: sshcrack <34072808+sshcrack@users.noreply.github.com>
2024-10-25 11:47:02 +02:00
sshcrack
ef2f865159 add back folder checks / use specific extension
Signed-off-by: sshcrack <34072808+sshcrack@users.noreply.github.com>
2024-10-25 11:45:50 +02:00
sshcrack
b182a888aa revert changes to settings and used menu for shortcuts
Signed-off-by: sshcrack <34072808+sshcrack@users.noreply.github.com>
2024-10-25 10:39:03 +02:00
seth
63b10738b2 chore(nix): use self for version
Signed-off-by: seth <getchoo@tuta.io>
2024-10-25 02:35:53 -04:00
seth
a5c554cf6e chore(nix): sync with nixpkgs
Signed-off-by: seth <getchoo@tuta.io>
2024-10-25 02:35:53 -04:00
seth
6a2ed4a631 Merge pull request #2982 from TheKodeToad/launcher-level-autoinstalljava
Use Launcher log level in AutoInstallJava
2024-10-25 02:23:02 -04:00
seth
b7152e7010 Merge pull request #2963 from PrismLauncher/renovate/actions-cache-4.x
chore(deps): update actions/cache action to v4.1.2
2024-10-25 02:22:12 -04:00
seth
d766de5fbf Merge pull request #2980 from Arcitec/flatpak-enhancements
fix: bring back Flathub manifest improvements to the repo
2024-10-25 02:19:09 -04:00
Trial97
8daa1219a5 add extra protection against empty download link
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-25 01:13:05 +03:00
Trial97
3bc40120cd bump develop to 10
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-25 00:17:34 +03:00
Arcitec
4ce025c0a2 fix: bring back Flathub manifest improvements to the repo
- Brings back all manifest improvements, such as the incredibly important Mojang Java Downloader (without it, the Flatpak doesn't work), and important fixes for Wayland.

Signed-off-by: Arcitec <38923130+Arcitec@users.noreply.github.com>
2024-10-24 17:36:45 +02:00
TheKodeToad
d8702e1357 Use Launcher log level in AutoInstallJava
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-10-24 12:46:01 +01:00
TheKodeToad
9fe81ff564 Merge pull request #2975 from Ryex/fix/version-page-load-speed
fix: don't hang the ui for a full version load
2024-10-24 11:24:35 +01:00
TheKodeToad
5eff9b0934 Fix column crashes
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-10-24 01:23:11 +01:00
TheKodeToad
8e586c883c Fix Modrinth update crashing
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-10-24 01:16:06 +01:00
Rachel Powers
7bd04ae928 fix don't hang the ui for a full version load
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-10-23 16:23:10 -07:00
TheKodeToad
4a7d624e9b Merge pull request #2972 from TheKodeToad/fix-clean-env
Fix launching Minecraft in portable Linux
2024-10-23 22:30:42 +01:00
TheKodeToad
92a906e0d4 Move everything in CheckUpdateTask::Update
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-10-23 14:58:52 +01:00
TheKodeToad
24cecf7b63 Fix compile
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-10-23 14:42:54 +01:00
TheKodeToad
89a327d363 Merge remote-tracking branch 'upstream/develop' into resource-meta
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-10-23 14:19:07 +01:00
TheKodeToad
e7cd8fe078 Fix CleanEnviroment()'s usage of stripVariableEntries
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-10-23 13:44:39 +01:00
sshcrack
59efca764c removed creation of shortcuts for flatpak / appimage users
Signed-off-by: sshcrack <34072808+sshcrack@users.noreply.github.com>
2024-10-22 21:20:41 +02:00
sshcrack
a737d5df42 added instance shortcut feature
Signed-off-by: sshcrack <34072808+sshcrack@users.noreply.github.com>
2024-10-22 21:20:41 +02:00
Kaiyang Wu
3d82bc37af javautils: add a filter for detecting Java paths on AOSC OS
Signed-off-by: Kaiyang Wu <origincode@aosc.io>
2024-10-22 11:58:00 -07:00
TheKodeToad
f13e875f0d Try to fix ModrinthCheckUpdate (not working)
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-10-22 18:46:10 +01:00
Alexandru Ionut Tripon
79439a0217 Merge pull request #2958 from Trial97/crash_QsaveFile
skip parsing open QSaveFile temprary files as resources
2024-10-22 17:38:32 +03:00
renovate[bot]
210d0d8aa2 chore(deps): update actions/cache action to v4.1.2 2024-10-22 13:48:29 +00:00
Trial97
836aebc0d9 fix small leak
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-22 13:43:16 +03:00
Trial97
73d33f93b3 Replaced QSet with QHash
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-22 09:41:00 +03:00
Trial97
562c301326 skip QSaveFile temprary files
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-22 01:22:31 +03:00
Alexandru Ionut Tripon
a43ebefc97 Merge pull request #2954 from Trial97/skin_warn
do not try to import skin if path is empty
2024-10-22 00:14:16 +03:00
Alexandru Ionut Tripon
69028969f1 Update launcher/ui/dialogs/skins/SkinManageDialog.cpp
Co-authored-by: TheKodeToad <TheKodeToad@proton.me>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2024-10-21 22:59:51 +03:00
Alexandru Ionut Tripon
671d5270eb Merge pull request #2953 from TheKodeToad/portable-fix
Fix removing portable.txt on Linux portable build
2024-10-21 22:44:44 +03:00
Trial97
9a5b773e69 do not try to import skin if path is empty
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-21 19:28:34 +03:00
TheKodeToad
f3f4c44620 Fix removing portable.txt on Linux portable build
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-10-21 16:30:08 +01:00
TheKodeToad
b049e92697 Merge pull request #2947 from Trial97/fix_initial_setup
do not require java if auto-download is enabled
2024-10-21 15:57:47 +01:00
Tayou
ea703ba26e Merge pull request #2948 from TheKodeToad/vc-redist-norestart 2024-10-21 16:54:18 +02:00
TheKodeToad
78e24962f9 Fix /norestart
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-10-21 14:41:48 +01:00
Trial97
fcadbbb739 do not require java if auto-download is enabled
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-21 16:17:48 +03:00
Alexandru Ionut Tripon
a8c3a49cb9 Merge pull request #2938 from Trial97/fix_sparkle
fix sparkle signature
2024-10-21 00:05:57 +03:00
Trial97
0586d38e03 fix sparkle signature
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-20 23:53:23 +03:00
ZekeZ
3ac080806d Merge pull request #2831 from Trial97/fix_login
split the auth loading screen
2024-10-21 00:14:36 +10:00
seth
38e0e0cb73 Merge pull request #2935 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2024-10-20 02:11:26 -04:00
github-actions[bot]
0501c1e17a chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5633bcff0c6162b9e4b5f1264264611e950c8ec7?narHash=sha256-9UTxR8eukdg%2BXZeHgxW5hQA9fIKHsKCdOIUycTryeVw%3D' (2024-10-09)
  → 'github:NixOS/nixpkgs/4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0?narHash=sha256-/uilDXvCIEs3C9l73JTACm4quuHUsIHcns1c%2BcHUJwA%3D' (2024-10-18)
2024-10-20 00:25:22 +00:00
Alexandru Ionut Tripon
417bb3564d Merge pull request #2933 from getchoo-contrib/flatpak/jdks
Don't bundle JREs in Flatpak
2024-10-19 22:33:05 +03:00
Alexandru Ionut Tripon
e43836a271 Merge pull request #2932 from getchoo-contrib/nix/enable-tests
Enable checks in Nix package
2024-10-19 22:32:59 +03:00
Alexandru Ionut Tripon
9a161a0335 Merge pull request #2930 from Trial97/fixes
Fix tests segfault
2024-10-19 22:32:51 +03:00
Trial97
2d234b127b make sure that tests are only disabled fro cmark
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-19 22:07:31 +03:00
Rachel Powers
464c7c1d4d Merge pull request #2929 from Trial97/https
Replace http with https on skins
2024-10-19 12:00:52 -07:00
Trial97
2030041fcc Fix tests segfault
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-19 21:42:14 +03:00
seth
01721b593b fix(flatpak): run tests for launcher
Signed-off-by: seth <getchoo@tuta.io>
2024-10-19 12:40:15 -04:00
seth
0bae14999f chore(flatpak): don't bundle JREs
After https://github.com/PrismLauncher/PrismLauncher/pull/2069, JREs can
be managed at runtime. This is great for the Flatpak, as previously
*all* JREs had to be installed and could not be updated independently of
the launcher's Flatpak. It also makes using unsupported Java versions
easier as the launcher can download any version in the sandbox

We don't need to include these anymore

Signed-off-by: seth <getchoo@tuta.io>
2024-10-19 12:40:15 -04:00
seth
522d105dbe fix(nix): enable checks
Signed-off-by: seth <getchoo@tuta.io>
2024-10-19 12:32:36 -04:00
Trial97
7519c63f2e Replace http with https on skins
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-19 01:11:27 +03:00
timoreo
f60d6e4d48 Merge pull request #2917 from Trial97/asan_log
fix heap-use-after-free in modrinth creation task
2024-10-18 12:09:24 +02:00
Alexandru Ionut Tripon
43eb27b695 Merge pull request #2916 from Ryex/fix/progress_dialog_use_after_free
fix: ensure all connections to the ProgressDialogs's Task the dialog made are disconnected
2024-10-15 08:59:12 +03:00
Trial97
ac13579b99 fix heap-use-after-free in modrinth creation task
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-14 11:10:54 +03:00
Rachel Powers
a108b5b420 fix: ensure all connections to the ProgressDialogs's Task the dialog made are dissconnected
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-10-14 00:45:45 -07:00
Alexandru Ionut Tripon
f239f4c17c Merge pull request #2914 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2024-10-13 22:46:00 +03:00
Alexandru Ionut Tripon
5685bc3407 Merge pull request #2913 from archessmn/fix/custom-command-tab-order
Fix tab order on custom command inputs
2024-10-13 09:49:13 +03:00
Alexandru Ionut Tripon
bd01c47dc9 Merge pull request #2906 from TheKodeToad/no-recursive-remove-on-update
Prevent directories from being removed on instance update
2024-10-13 09:48:27 +03:00
github-actions[bot]
3c836ece71 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/bc947f541ae55e999ffdb4013441347d83b00feb?narHash=sha256-NOiTvBbRLIOe5F6RbHaAh6%2B%2BBNjsb149fGZd1T4%2BKBg%3D' (2024-10-04)
  → 'github:NixOS/nixpkgs/5633bcff0c6162b9e4b5f1264264611e950c8ec7?narHash=sha256-9UTxR8eukdg%2BXZeHgxW5hQA9fIKHsKCdOIUycTryeVw%3D' (2024-10-09)
2024-10-13 00:24:52 +00:00
Mia Moir
3a1c06de02 fix: Tab order on custom command inputs
The tab order on the custom command UI in the instance settings is off, it goes 0 -> 2 -> 1, This re-orders the ui file to fix the order the inputs are in.

Signed-off-by: Mia Moir <63592337+archessmn@users.noreply.github.com>
2024-10-12 23:47:58 +01:00
Alexandru Ionut Tripon
ef0cb88dd3 Merge pull request #2907 from Ryex/fix/icon_cache_stack_overflow
Prevent infinite recursion when mod icon load fails
2024-10-12 12:21:09 +03:00
Alexandru Ionut Tripon
0b624a43d6 Merge pull request #2908 from Trial97/remove_client
remove client overrides instead of double deleting the normal ones
2024-10-12 00:49:57 +03:00
Trial97
97f4ead0fb remove client overrides instead of double deleting the normal ones
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-12 00:19:54 +03:00
Alexandru Ionut Tripon
78ceae9c17 Merge pull request #2887 from Trial97/filters_modpack
Add filters for modpack search
2024-10-12 00:07:14 +03:00
TheKodeToad
72cfad8fee Continue deleting before failing
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-10-11 21:35:13 +01:00
Rachel Powers
09c9da268f fix: prevent inf recursion when mod icon load fails; cut max pixmapcache to 1/4 previous value
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-10-11 13:26:20 -07:00
TheKodeToad
2bc6ae9756 Prevent directories from being removed on instance update
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-10-11 19:53:28 +01:00
Tayou
0c4c86c41f Merge pull request #2900 from TheKodeToad/log-utf8
Use UTF-8 to decode logs on Java 18 or newer
2024-10-11 19:10:55 +02:00
Edgars Cirulis
0beaa94311 ci: uprev qt install action to v4
Signed-off-by: Edgars Cirulis <edgarsciruliss@gmail.com>
2024-10-10 15:26:36 +03:00
Edgars Cirulis
b39098dbc5 ci: fix qt-6.8 workflow
Signed-off-by: Edgars Cirulis <edgarsciruliss@gmail.com>
2024-10-10 15:26:19 +03:00
Edgars Cirulis
5b6d551650 chore: update Qt to 6.8.0
Signed-off-by: Edgars Cirulis <edgarsciruliss@gmail.com>
2024-10-10 03:45:35 +03:00
TheKodeToad
98adcc60a3 Use UTF-8 to decode logs on Java 18 or newer
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-10-09 17:15:53 +01:00
TheKodeToad
909114bf2a Change LaunchTask to only accept MinecraftInstance
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-10-09 15:07:09 +01:00
txtsd
2abbcdfa6f Merge pull request #2896 from PrismLauncher/renovate/actions-cache-4.x
chore(deps): update actions/cache action to v4.1.1
2024-10-09 13:01:15 +05:30
renovate[bot]
093313e591 chore(deps): update actions/cache action to v4.1.1 2024-10-09 07:14:47 +00:00
Alexandru Ionut Tripon
c72cce6572 Merge pull request #2897 from Trial97/fix_crash
fix crash when no resorce version is available
2024-10-09 08:37:22 +03:00
TheKodeToad
4b66320f63 Move x-prism-launcher to unnamed table for consistency
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-10-08 22:51:03 +01:00
TheKodeToad
a76f37760c Fix log spam when opening files from older versions
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-10-08 22:30:50 +01:00
Trial97
d31c947b36 fix crash when no resorce version is available
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-08 22:02:38 +03:00
seth
e2b346fc53 Merge pull request #2888 from PrismLauncher/renovate/actions-cache-4.x
chore(deps): update actions/cache action to v4.1.0
2024-10-08 13:15:05 -04:00
seth
7c45f88769 Merge pull request #2883 from PrismLauncher/renovate/cachix-install-nix-action-30.x
chore(deps): update cachix/install-nix-action action to v30
2024-10-08 13:14:47 -04:00
seth
acd4dceafa Merge pull request #2890 from arnfaldur/patch-1
Keep libGLU in Flatpak
2024-10-08 13:14:18 -04:00
Trial97
df9f54454a removed static functions
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-08 19:19:03 +03:00
TheKodeToad
538815e033 Merge remote-tracking branch 'upstream/develop' into resource-meta
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-10-08 17:16:10 +01:00
TheKodeToad
3fae659b30 Merge remote-tracking branch 'upstream/develop' into resource-meta
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-10-08 17:15:42 +01:00
Trial97
5bd5627a96 extended the modrinth search and applied the suggested change
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-08 15:06:50 +03:00
TheKodeToad
a200fca45c Merge pull request #2869 from Edgars-Cirulis/patch-1
chore: update Qt to 6.7.3
2024-10-08 12:36:11 +01:00
Alexandru Ionut Tripon
dc1f56e108 Merge pull request #2865 from Ryex/nsis_vc_redist
add vc_redist as a NSIS install section
2024-10-08 14:09:22 +03:00
Trial97
6e5f616ced move checkMcVersions to Filter struct
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-07 00:21:28 +03:00
Alexandru Ionut Tripon
1eee5c924b Merge pull request #2891 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2024-10-06 23:21:16 +03:00
Alexandru Ionut Tripon
999dec18dd Merge pull request #2893 from PrismLauncher/ftb-private-no-retry
Disable retry for private pack fetch
2024-10-06 23:20:14 +03:00
TheKodeToad
d5990cca43 Disable retry for private pack fetch
This is already handled with a dialog asking whether you want it to be removed.

Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-10-06 13:51:36 +01:00
github-actions[bot]
03294f0000 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/1925c603f17fc89f4c8f6bf6f631a802ad85d784?narHash=sha256-J%2BPeFKSDV%2BpHL7ukkfpVzCOO7mBSrrpJ3svwBFABbhI%3D' (2024-09-26)
  → 'github:NixOS/nixpkgs/bc947f541ae55e999ffdb4013441347d83b00feb?narHash=sha256-NOiTvBbRLIOe5F6RbHaAh6%2B%2BBNjsb149fGZd1T4%2BKBg%3D' (2024-10-04)
2024-10-06 00:24:57 +00:00
arnfaldur
f7bd76c7d4 flatpak: don't cleanup libGLU
The mod AAA Particles (found in the modpack Prominence II RPG) fails to start due to a missing `libGLU.so.1` file.
Removing this cleanup command fixes the issue and makes the modpack run without issue.

I reproduced the issue at the head of the develop branch, with and without the change. No other issue was detected by adding the library, and I could not find the initial justification for removing it.

Signed-off-by: arnfaldur <a.arnaldur+git@gmail.com>
2024-10-05 17:58:53 +00:00
renovate[bot]
cc0c9d208d chore(deps): update actions/cache action to v4.1.0 2024-10-04 22:22:10 +00:00
Trial97
859fac604b add modrinth modpack filter
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-04 17:06:47 +03:00
Rachel Powers
a61c93bede Update .github/workflows/build.yml
Co-authored-by: Sefa Eyeoglu <contact@scrumplex.net>
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-10-04 07:06:19 -07:00
Rachel Powers
023aa18e85 ci: NSCurl only needed on MSVC
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-10-03 23:14:29 -07:00
Rachel Powers
63172540fb fix: nisi needs !include "x64.nsh" now. also, there were some broken varible
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-10-03 22:38:30 -07:00
Rachel Powers
bcb1d456d4 fix: version NSCurl plugin in workflow, detect and use arm64 vc_redist for arm64
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-10-03 21:56:19 -07:00
renovate[bot]
010678da53 chore(deps): update cachix/install-nix-action action to v30 2024-10-03 13:46:28 +00:00
Trial97
dfe3cd849d add curseforge modpack filter
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-02 01:06:45 +03:00
Alexandru Ionut Tripon
44b4262f3c Merge pull request #2862 from PrismLauncher/renovate/cachix-install-nix-action-29.x
chore(deps): update cachix/install-nix-action action to v29
2024-10-01 14:04:55 +03:00
Alexandru Ionut Tripon
2539aa42da Merge pull request #2851 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2024-10-01 14:04:28 +03:00
timoreo
62f19a6ac9 Merge pull request #2863 from Trial97/fix_resource_search_equal 2024-10-01 11:41:11 +02:00
timoreo
c57e26cf57 Merge pull request #2874 from Trial97/modpack_equal 2024-10-01 11:40:42 +02:00
timoreo
1b58645c52 Merge pull request #2857 from Trial97/translation_warnings 2024-10-01 10:20:56 +02:00
Trial97
946e791d39 sync modpack search field
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-01 08:53:27 +03:00
Trial97
5ea2dece54 fix search term not remaining the same between providers on resource download
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-01 08:52:07 +03:00
Trial97
0eefa52dbc fix some transtaions warnings
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-01 08:51:06 +03:00
Trial97
b676a67b3c Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into fix_login 2024-10-01 08:49:03 +03:00
Alexandru Ionut Tripon
fa92e6bd29 Merge pull request #2859 from Trial97/packwiz_prefix
add prefix to non-standard packwiz fields
2024-10-01 08:23:10 +03:00
renovate[bot]
79be2fc062 chore(deps): update cachix/install-nix-action action to v29 2024-10-01 00:32:42 +00:00
seth
974c89b9c3 Merge pull request #2843 from getchoo-contrib/ci/fix-nix
Fix Nix CI
2024-09-30 20:32:08 -04:00
seth
38fa2e0cd4 style: format with clang-format
Signed-off-by: seth <getchoo@tuta.io>
2024-09-30 16:32:55 -04:00
seth
988ef32019 fix(nix): don't write to files in formatting check
Signed-off-by: seth <getchoo@tuta.io>
2024-09-30 16:32:50 -04:00
seth
bf432b5514 chore(nix): use cachix for binary cache
Signed-off-by: seth <getchoo@tuta.io>
2024-09-30 16:25:58 -04:00
seth
68bf500f7e chore: add nix reformat to .git-blame-ignore-revs
Signed-off-by: seth <getchoo@tuta.io>
2024-09-30 16:25:58 -04:00
seth
5adca58337 ci: add nix job
Signed-off-by: seth <getchoo@tuta.io>
2024-09-30 16:25:56 -04:00
seth
2663ac5405 build(nix): add debug builds
This will lead to build times on par with our other CI jobs, as now
we're not always building for release

Signed-off-by: seth <getchoo@tuta.io>
2024-09-30 16:18:20 -04:00
seth
732008db20 ci: drop garnix
Signed-off-by: seth <getchoo@tuta.io>
2024-09-30 16:18:17 -04:00
Tayou
a63451212f Merge pull request #2867 from turret-dev/turret/tmpdir_noexec_jvmarg_noannoy
fix: don't annoy when java tmpdir jvmarg is set & /tmp is noexec
2024-09-29 09:07:25 +02:00
github-actions[bot]
c899043816 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/4f807e8940284ad7925ebd0a0993d2a1791acb2f?narHash=sha256-IiA3jfbR7K/B5%2B9byVi9BZGWTD4VSbWe8VLpp9B/iYk%3D' (2024-09-11)
  → 'github:NixOS/nixpkgs/1925c603f17fc89f4c8f6bf6f631a802ad85d784?narHash=sha256-J%2BPeFKSDV%2BpHL7ukkfpVzCOO7mBSrrpJ3svwBFABbhI%3D' (2024-09-26)
2024-09-29 00:25:33 +00:00
Rachel Powers
ed15a28eb3 fix : baking the redist into the installer breaks GPL, download at runtime instead
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-09-28 14:58:13 -07:00
Edgars Cīrulis
a897b012d9 chore: update Qt to 6.7.3
Only bug fixes no new / breaking changes 

Signed-off-by: Edgars Cīrulis <edgarsciruliss@gmail.com>
2024-09-28 12:11:25 +03:00
Rachel Powers
00f4221a83 reorg MSVC set(CMAKE_INSTALL_SYSTEM_RUNTIMES_LIBS_SKIP true) call
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-09-27 19:16:50 -07:00
Mason Rocha
b9c19fd3f7 fix: don't annoy when java tmpdir jvmarg is set & /tmp is noexec
Signed-off-by: Mason Rocha <mrocha@turretllc.us>

Got annoyed, didn't want to see it anymore.

Java tmpdir noexec warning modified to include information about
possible remedies available
2024-09-27 16:42:59 -05:00
Rachel Powers
8fa4467a36 use /norestart with redist install
Co-authored-by: seth <getchoo@tuta.io>
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-09-27 13:29:00 -07:00
Rachel Powers
c5daca3b01 include vc_redist in portable build
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-09-27 00:57:28 -07:00
Rachel Powers
37d3b2a4f6 prevent the unauthorised reditribution of MSVC CRT files
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-09-27 00:49:00 -07:00
Rachel Powers
2dc6f7504b add vc_redist as a NSIS install section
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-09-27 00:18:35 -07:00
Alexandru Ionut Tripon
b9a6c13d47 Merge pull request #2861 from Cartrigger/FixStringCases
Fix case for Java strings
2024-09-26 20:35:14 +03:00
Cart
6475dc5786 Lots of J's for Java needed to be uppercased 2024-09-26 01:58:21 -04:00
Trial97
1b2e9b95e2 add prefix to non-standard packwiz fields
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-09-25 21:17:44 +03:00
seth
3e60713257 Merge pull request #2838 from Trial97/view_log
Always display Minecraft log tab
2024-09-24 20:00:54 -04:00
seth
48904c0d66 Merge pull request #2806 from Trial97/technic_client
Add Technic client ID
2024-09-24 19:55:21 -04:00
QazCetelic
f641f3acda Refactoring
Signed-off-by: QazCetelic <qaz.cetelic@protonmail.com>
2024-09-24 12:32:49 +02:00
QazCetelic
b675406b1a Split set creation into a separate function for readability
Signed-off-by: QazCetelic <qaz.cetelic@protonmail.com>
2024-09-24 10:16:26 +02:00
QazCetelic
a58e81d744 snake_case to camelCase
Signed-off-by: QazCetelic <qaz.cetelic@protonmail.com>
2024-09-24 09:58:47 +02:00
Alexandru Ionut Tripon
4a40b53e5f Merge pull request #2845 from Trial97/typo
fix updater typo
2024-09-22 19:09:40 +03:00
TheKodeToad
4a5749f4d9 Merge pull request #2844 from Trial97/fix_modrith_update
fix folder duplication for modrinth
2024-09-22 11:28:19 +01:00
Trial97
9567d763c1 fix java archive typo
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-09-21 22:17:44 +03:00
Trial97
3e1cf6b2a7 fix updater typo
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-09-20 16:58:22 +03:00
Trial97
1243328876 fix folder duplication for modrinth
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-09-20 16:53:36 +03:00
Trial97
77463c6d33 display minecraft log before instance run
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-09-18 21:17:15 +03:00
timoreo
dc67807894 Merge pull request #2825 from Trial97/skin_fix 2024-09-17 08:50:19 +02:00
Alexandru Ionut Tripon
926a6bc72a Merge pull request #2583 from Trial97/metadata2
Generate updater metadata for mods added/updated using modpack updater/installer
2024-09-17 08:45:09 +03:00
Alexandru Ionut Tripon
d06f0529a0 Merge pull request #2830 from Trial97/login_wizard_retry
Show login dialog again if account login fails
2024-09-17 08:44:41 +03:00
Alexandru Ionut Tripon
53c3d99bdd Merge pull request #2828 from Trial97/cmake_fields
Allow configuring more URLs through CMake
2024-09-17 08:44:24 +03:00
Alexandru Ionut Tripon
c57b1d4227 Merge pull request #2820 from Trial97/mac_java
Add extra step to macos java install
2024-09-17 08:44:09 +03:00
Tayou
1b00d61587 Merge pull request #2819 from Trial97/java_dir
add open java folder action
2024-09-16 20:41:34 +02:00
Trial97
3ca67cc388 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into metadata2 2024-09-16 20:08:43 +03:00
Trial97
2fd8685894 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into java_dir 2024-09-16 20:08:20 +03:00
Trial97
0af639c20b Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into fix_login 2024-09-16 20:07:18 +03:00
Trial97
7438c71fdd Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into login_wizard_retry 2024-09-16 20:06:50 +03:00
Trial97
b4ecb38ae5 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into cmake_fields 2024-09-16 20:06:18 +03:00
Trial97
f36cfaf878 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into skin_fix 2024-09-16 20:05:44 +03:00
Trial97
aab82705cd Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into mac_java 2024-09-16 20:05:18 +03:00
Alexandru Ionut Tripon
914ae6ead6 Use macOS 14 in CI (#2826)
* chore: fix mac CI build

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>

* try what the error says

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>

* set -DCMAKE_OSX_ARCHITECTURES=x86_64

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>

---------

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-09-16 13:00:38 -04:00
Trial97
e53a5b3eca replace TRANSLATIONS_BASE_URL with TRANSLATION_FILES_URL
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-09-16 17:51:35 +03:00
Alexandru Ionut Tripon
2e537e55de Apply suggestions from code review
Co-authored-by: seth <getchoo@tuta.io>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2024-09-16 17:47:58 +03:00
seth
7eac06cad9 Merge pull request #2829 from Trial97/ask_retry2
disable retry for translation files
2024-09-16 10:15:21 -04:00
Alexandru Ionut Tripon
8d14060ad1 Apply suggestions from code review
Co-authored-by: seth <getchoo@tuta.io>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2024-09-16 16:46:01 +03:00
seth
8faebe320e Merge pull request #2807 from Trial97/fix_server_launch
fix server launch
2024-09-16 09:42:54 -04:00
Trial97
580fc32518 split the auth loading screen
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-09-16 16:41:16 +03:00
Alexandru Ionut Tripon
db3c7d01fd Apply suggestions from code review
Co-authored-by: seth <getchoo@tuta.io>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2024-09-16 16:36:05 +03:00
seth
160d2962e6 Merge pull request #2827 from Trial97/prefix_option
add Launcher_ prefix to enable java option
2024-09-16 09:30:54 -04:00
Trial97
75756b49c3 reshow login dialog in case account login fails
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-09-16 16:15:36 +03:00
Trial97
81f30f0360 disable retry for translation files
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-09-16 15:53:54 +03:00
Trial97
ca6b62c773 move some URLs in cmake
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-09-16 15:51:51 +03:00
Trial97
2c2defb266 add Launcher_ prefix to enable java option
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-09-16 14:30:23 +03:00
Trial97
d2f0d1d8d5 Wrap FS::write in try catch
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-09-16 12:42:09 +03:00
Trial97
d38e7fa142 Add more null protection for skin management
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-09-16 12:41:33 +03:00
QazCetelic
e35faa5522 Feedback I
Signed-off-by: QazCetelic <qaz.cetelic@protonmail.com>
2024-09-15 09:04:23 +02:00
Alexandru Ionut Tripon
bee59c904a Merge pull request #2773 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2024-09-15 08:49:07 +03:00
github-actions[bot]
8932a42644 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c374d94f1536013ca8e92341b540eba4c22f9c62?narHash=sha256-Z/ELQhrSd7bMzTO8r7NZgi9g5emh%2BaRKoCdaAv5fiO0%3D' (2024-08-21)
  → 'github:NixOS/nixpkgs/4f807e8940284ad7925ebd0a0993d2a1791acb2f?narHash=sha256-IiA3jfbR7K/B5%2B9byVi9BZGWTD4VSbWe8VLpp9B/iYk%3D' (2024-09-11)
2024-09-15 00:24:43 +00:00
Alexandru Ionut Tripon
71dda06276 Merge pull request #5 from QazCetelic/java_dir_disable_alt
Disable folder action instead of hiding it and add additional informa…
2024-09-14 23:27:57 +03:00
QazCetelic
1c6bd74ed8 Disable folder action instead of hiding it and add additional information in the tooltip.
Signed-off-by: QazCetelic <qaz.cetelic@protonmail.com>
2024-09-14 22:04:18 +02:00
Trial97
0afdce8a31 Add extra step to macos java install
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-09-14 21:18:20 +03:00
Alexandru Ionut Tripon
6492ad7076 Merge pull request #2813 from Trial97/fix_java_autodetect
fix java autodetect when instance settings are open
2024-09-14 20:19:15 +03:00
Alexandru Ionut Tripon
ad786fb983 Merge pull request #2811 from Trial97/fix_java_abort
fix download java abort being stuck
2024-09-14 20:19:02 +03:00
Alexandru Ionut Tripon
281621cfc0 Merge pull request #2808 from Trial97/fix_java_download_crash
fix java crash on refresh
2024-09-14 20:18:51 +03:00
Trial97
312009513d add open java folder action
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-09-14 19:35:43 +03:00
Trial97
5073fc19d4 fix java autodetect when instance settings are open
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-09-14 00:36:31 +03:00
Alexandru Ionut Tripon
e59f90eca8 Update launcher/ui/pages/global/APIPage.cpp
Co-authored-by: TheKodeToad <TheKodeToad@proton.me>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2024-09-14 00:19:48 +03:00
Trial97
22ebf7e961 fix download java abort being stuck
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-09-14 00:13:16 +03:00
Trial97
6706317f20 fix java crash on refresh
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-09-13 23:26:04 +03:00
Trial97
e18e9b0509 fix server launch
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-09-13 22:57:08 +03:00
timoreo
f46b73acb5 Merge pull request #2789 from Trial97/fix_concurrent_task
Remove all the slowdown code from CocurrentTask
2024-09-13 21:10:30 +02:00
Trial97
40b10ecf30 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into fix_concurrent_task 2024-09-13 21:38:29 +03:00
Trial97
1db122f1a2 fix typo
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-09-13 21:37:50 +03:00
Trial97
e34ebc1a0d Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into metadata2 2024-09-13 21:14:48 +03:00
Alexandru Ionut Tripon
d20f24d96f Apply suggestions from code review
Co-authored-by: seth <getchoo@tuta.io>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2024-09-13 21:13:21 +03:00
seth
ef76894587 Merge pull request #2799 from PrismLauncher/renovate/determinatesystems-update-flake-lock-24.x
chore(deps): update determinatesystems/update-flake-lock action to v24
2024-09-13 14:03:42 -04:00
Alexandru Ionut Tripon
f1ef243617 Merge pull request #2803 from Trial97/java_setup
Improve wizzard page
2024-09-13 21:01:02 +03:00
Trial97
973b43ca7a Add techinc client ID
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-09-13 20:01:45 +03:00
Trial97
c85294af9d Improve wizzard page
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-09-13 19:33:24 +03:00
QazCetelic
7b49fd6508 fixes for ci errors IV
Signed-off-by: QazCetelic <qaz.cetelic@protonmail.com>
2024-09-11 10:07:05 +02:00
QazCetelic
f7f7c4b43e fixes for ci errors III
Signed-off-by: QazCetelic <qaz.cetelic@protonmail.com>
2024-09-11 09:55:27 +02:00
QazCetelic
506ec64273 fixes for ci errors II
Signed-off-by: QazCetelic <qaz.cetelic@protonmail.com>
2024-09-11 09:43:45 +02:00
QazCetelic
0a576a0f67 fixes for ci errors
Signed-off-by: QazCetelic <qaz.cetelic@protonmail.com>
2024-09-11 09:31:16 +02:00
QazCetelic
40c3866f63 clang-tidy formatting
Signed-off-by: QazCetelic <qaz.cetelic@protonmail.com>
2024-09-11 09:22:28 +02:00
QazCetelic
6b0007291b Added search and support for subdirectories to icon picker
Signed-off-by: QazCetelic <qaz.cetelic@protonmail.com>
2024-09-10 22:30:29 +02:00
Alexandru Ionut Tripon
fa68428a90 Merge pull request #2795 from Trial97/fix_mc_launch
Fix launch when no java is loaded
2024-09-10 18:57:09 +03:00
Alexandru Ionut Tripon
b17a688237 Merge pull request #2771 from Kurumi78/develop
Add webp to validIconExtensions
2024-09-10 12:27:02 +03:00
TheKodeToad
e3f78e0205 Merge pull request #2798 from QazCetelic/chronological-screenshot-list
Sort screenshots chronologically in descending order
2024-09-10 09:38:11 +01:00
renovate[bot]
7e49fa0426 chore(deps): update determinatesystems/update-flake-lock action to v24 2024-09-09 19:05:56 +00:00
QazCetelic
e2ef280da9 DCO Remediation Commit for QazCetelic <qaz.cetelic@protonmail.com>
I, QazCetelic <qaz.cetelic@protonmail.com>, hereby add my Signed-off-by to this commit: 7fbf0d3bf3

Signed-off-by: QazCetelic <qaz.cetelic@protonmail.com>
2024-09-09 16:24:40 +02:00
QazCetelic
7fbf0d3bf3 Sort files chronologically in descending order
Signed-off-by: Qaz <dev@malplena.net>
2024-09-09 15:40:31 +02:00
Trial97
2622d3daa9 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into fix_mc_launch
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-09-09 08:11:11 +03:00
TheKodeToad
01015a7345 Merge pull request #2547 from Ryex/fix/component-version-resolusion
Component version resolusion on Minecraft version change
2024-09-08 23:44:07 +01:00
Trial97
14fb54afd9 Fix launch when no java is loaded
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-09-08 09:10:29 +03:00
Alexandru Ionut Tripon
42eedd1afa Merge pull request #2784 from Trial97/ensure_desktop
ensure that the shortcut destination exists
2024-09-08 08:52:53 +03:00
Rachel Powers
c2a2e95183 fix: Forge and neoforge conflict with quilt, not fabric twice
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-09-07 21:35:01 -07:00
Trial97
c5592a446a Remove all the slowdown code from CocurrentTask
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-09-06 21:47:35 +03:00
Trial97
166207753c ensure that the shortcut destination exists
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-09-05 09:36:45 +03:00
Kurumi78
4ea7132bdf Add webp validIconExtensions
Add webp to list of valid file extensions for Icons

Signed-off-by: Kurumi78 <30587387+Kurumi78@users.noreply.github.com>
2024-08-30 02:08:07 -05:00
timoreo
828acef7e9 Merge pull request #2760 from Trial97/mangohid
fix mangohud detection for absolute path
2024-08-29 06:24:09 +02:00
Alexandru Ionut Tripon
685519d12f Merge pull request #2758 from Edgars-Cirulis/improvements/instanceview-navigation
Improve left and right cursor navigation in Instances
2024-08-26 23:55:03 +03:00
Alexandru Ionut Tripon
74acb483af Merge pull request #2757 from Trial97/hash_maybe
Add checksum validator to resource download
2024-08-26 23:54:29 +03:00
Alexandru Ionut Tripon
cf12365358 Merge pull request #2755 from Trial97/fix_java_typo
fix java 64 bit condition
2024-08-26 23:49:35 +03:00
Edgars Cirulis
630df29010 feat: Improve left and right cursor navigation in Instances
Signed-off-by: Edgars Cirulis <edgarsciruliss@gmail.com>
2024-08-26 22:45:01 +03:00
Trial97
034e2a44ad update thresholds each time java result changes
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-08-26 17:43:49 +03:00
Trial97
c64b7cd693 fix mangohud detection for absolute path
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-08-26 09:00:46 +03:00
Trial97
430013737a add checksum validator
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-08-26 00:27:23 +03:00
Trial97
d55ebefac3 fix java 64 bit condition
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-08-25 21:42:40 +03:00
maskers
6a12c43c78 fix off by one error
Signed-off-by: maskers <97827489+mskrss@users.noreply.github.com>
2024-08-25 16:02:32 +03:00
TheKodeToad
43fc9ba932 Confirm Truncate -> Truncation
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-08-25 13:05:08 +01:00
TheKodeToad
23c69e7f94 Merge pull request #2018 from Trial97/coremods
Ensure that core mods tab is visible on correct versions
2024-08-25 13:01:27 +01:00
timoreo
70a0a71f10 Merge pull request #2753 from TheKodeToad/modrinth-hashes-parse-fix 2024-08-25 13:34:54 +02:00
TheKodeToad
ff9fa6aa4f Stop accepting malformed hashes object
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-08-25 11:45:45 +01:00
seth
faf9086705 Merge pull request #2750 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2024-08-25 05:12:32 -04:00
Trial97
465c9498d4 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into metadata2
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-08-25 09:50:41 +03:00
Alexandru Ionut Tripon
44f589817f Merge pull request #2749 from TheKodeToad/theme-bugfixes
Fix system theme detection
2024-08-25 08:58:42 +03:00
Alexandru Ionut Tripon
aa206f4c89 Merge pull request #2748 from TheKodeToad/gentoo-java-perf
Improve Java checking speed by using startsWith for gentoo paths
2024-08-25 08:58:22 +03:00
ZekeZ
1bb7f35ddb Merge pull request #2751 from Ryex/security/modrith-hash-priority
Prefer stronger hashes from Modrinth
2024-08-25 13:53:04 +10:00
Rachel Powers
5f874330d5 security(modrinth) reorder hash algo priority, prefer stronger hashes.
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-08-24 20:24:35 -07:00
github-actions[bot]
96414d7153 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c3aa7b8938b17aebd2deecf7be0636000d62a2b9?narHash=sha256-med8%2B5DSWa2UnOqtdICndjDAEjxr5D7zaIiK4pn0Q7c%3D' (2024-08-14)
  → 'github:NixOS/nixpkgs/c374d94f1536013ca8e92341b540eba4c22f9c62?narHash=sha256-Z/ELQhrSd7bMzTO8r7NZgi9g5emh%2BaRKoCdaAv5fiO0%3D' (2024-08-21)
2024-08-25 00:22:51 +00:00
TheKodeToad
cbdacf81ee Fix system theme detection
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-08-24 22:50:51 +01:00
TheKodeToad
d2304b6698 Improve Java checking speed by using startsWith for gentoo paths
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-08-24 22:13:18 +01:00
Sefa Eyeoglu
fac28a81ae Merge pull request #2738 from getchoo/nix-omnibus 2024-08-23 10:08:59 +02:00
Trial97
2a86ceb5d6 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into metadata2 2024-08-23 08:34:15 +03:00
Trial97
575cdb043b Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into fix/component-version-resolusion
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-08-23 08:29:43 +03:00
Alexandru Ionut Tripon
eae5d70385 Merge pull request #2069 from Trial97/feature/java-downloader
Feature/java downloader
2024-08-23 08:17:15 +03:00
Trial97
92495494ca Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into feature/java-downloader
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-08-23 08:16:59 +03:00
Alexandru Ionut Tripon
e4be8f97cd Merge pull request #2740 from TheKodeToad/themeable-logs
Allow themes to modify log colours
2024-08-23 08:12:34 +03:00
seth
fd14d3e9b0 Merge pull request #2745 from TheKodeToad/fix-java-message
Fix invalid Java path message
2024-08-22 21:33:24 -04:00
seth
11927e9bf2 Merge pull request #2739 from PrismLauncher/renovate/korthout-backport-action-3.x
chore(deps): update korthout/backport-action action to v3.1.0
2024-08-22 21:32:03 -04:00
TheKodeToad
e2f3641395 Merge branch 'develop' into data-packs
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-08-22 20:00:49 +01:00
maskers
762d24bd02 don't mention prism in the middle of the log
Signed-off-by: maskers <97827489+mskrss@users.noreply.github.com>
2024-08-22 21:44:53 +03:00
maskers
a910337e9d apply suggestion from code review
Co-authored-by: TheKodeToad <TheKodeToad@proton.me>
Signed-off-by: maskers <97827489+maskersss@users.noreply.github.com>
2024-08-22 21:42:05 +03:00
TheKodeToad
89ed85182c Fix invalid Java path message
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-08-22 19:07:15 +01:00
Trial97
5f64d7dc47 update adoptium icon
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-08-22 20:38:08 +03:00
Trial97
0b05c7cb07 fix bug with buton not updating corectly for java dialog
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-08-22 18:59:09 +03:00
Trial97
7d9e47ac18 Change major java column name
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-08-22 18:58:38 +03:00
Trial97
aa3a4585ee Add icons
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-08-22 18:58:04 +03:00
TheKodeToad
2ad34c724e Make log colours themeable
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-08-21 22:19:50 +01:00
maskers
6d017b5f0b fix formatting
Signed-off-by: maskers <97827489+mskrss@users.noreply.github.com>
2024-08-21 22:39:27 +03:00
maskers
65f8526152 add a Cancel option
Co-authored-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
Signed-off-by: maskers <97827489+maskersss@users.noreply.github.com>
2024-08-21 22:14:11 +03:00
renovate[bot]
7472233033 chore(deps): update korthout/backport-action action to v3.1.0 2024-08-21 17:22:09 +00:00
maskers
99bd4a8937 Apply suggestions from code review
Co-authored-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
Signed-off-by: maskers <97827489+maskersss@users.noreply.github.com>
2024-08-21 19:42:35 +03:00
maskers
cf914526bf add a warning about the log being too large
Signed-off-by: maskers <97827489+mskrss@users.noreply.github.com>
2024-08-21 15:59:51 +03:00
Trial97
26ae608685 fix initial java dialog
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-08-21 15:01:42 +03:00
Trial97
da7cc529f0 Enable auto-detect java if java path is not set
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-08-21 14:54:47 +03:00
seth
99ecab01fc ci(garnix): explicitly declare systems
as we now create outputs for each system in `lib.systems.flakeExposed`,
we should ensure garnix only builds the systems we officially support

dev shells are also no longer built as they really don't need to be
"built" on the developer's machine in any case; everything should be
cached

Signed-off-by: seth <getchoo@tuta.io>
2024-08-21 04:02:48 -04:00
seth
a49a58bc45 Revert "refactor(nix): nix-filter -> lib.fileset"
This reverts commit 8312713dc2.

See nix#9428. Path coercion like `"${./.}"` in flakes causes the path to
be copied to the store twice; using the `self` argument works around
this. However, as `lib.fileset` doesn't support using `self`, so we need
to go back to `nix-filter`

Signed-off-by: seth <getchoo@tuta.io>
2024-08-21 04:01:32 -04:00
seth
13eedbb7de doc(nix): prefer packages output
overlays can cause issues we don't run into upstream, especially when
used on stable channels for example. preferring the pure `packages`
output also encourages the use of our binary cache by users, who
probably don't like building the launcher all too much

Signed-off-by: seth <getchoo@tuta.io>
2024-08-21 04:01:32 -04:00
seth
e29ea4efb0 build(nix): add formatting checks
Signed-off-by: seth <getchoo@tuta.io>
2024-08-21 04:01:32 -04:00
seth
0ae421c265 chore(nix): drop flake-parts
The primary goals here include making the flake easier to contribute to
by having it follow the standard boilerplate, while also limiting the
size of our flake.lock to lower the chance of duplicate inputs for users

Signed-off-by: seth <getchoo@tuta.io>
2024-08-21 04:01:30 -04:00
seth
e85b364748 refactor(nix): use final in overlay
this allows to implictly pass `prismlauncher-unwrapped`
it won't have an effect on our package set as directly inheriting from
the scope we create filters out the extra attributes usually introduced
with a scope

Signed-off-by: seth <getchoo@tuta.io>
2024-08-21 03:49:37 -04:00
seth
271c38bc56 doc(nix): update package names and params
Signed-off-by: seth <getchoo@tuta.io>
2024-08-21 03:49:36 -04:00
seth
7a83d0cea0 ci(nix): drop pre-commit-hooks
Signed-off-by: seth <getchoo@tuta.io>
2024-08-21 03:49:36 -04:00
seth
4c81d8c53d style(nix): format with nixfmt
Signed-off-by: seth <getchoo@tuta.io>
2024-08-21 03:49:36 -04:00
seth
7dff77ca35 style(nix): alejandra -> nixfmt-rfc-style
Signed-off-by: seth <getchoo@tuta.io>
2024-08-21 03:49:36 -04:00
seth
1edfbeec8d Merge pull request #2732 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2024-08-20 22:36:33 -04:00
maskers
858f6aa9b8 fix formatting
Signed-off-by: maskers <97827489+mskrss@users.noreply.github.com>
2024-08-20 22:16:40 +03:00
maskers
e6f30c0ebe fix formatting
Signed-off-by: maskers <97827489+mskrss@users.noreply.github.com>
2024-08-20 22:14:40 +03:00
maskers
014fc14291 truncate logs for mclo.gs upload to fit 25k line limit
Signed-off-by: maskers <97827489+mskrss@users.noreply.github.com>
2024-08-20 21:53:05 +03:00
timoreo
7f594a342e Merge pull request #2735 from Trial97/force_load_java 2024-08-20 08:04:21 +02:00
Trial97
002fc71b8d allways load java list on autodetect
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-08-20 01:18:37 +03:00
Trial97
ca298d1ed5 add automatic java switch on minecraft version switch
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-08-20 01:08:03 +03:00
Trial97
7a66276838 fix conflicts
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-08-20 01:07:23 +03:00
Trial97
4d24213aa3 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into feature/java-downloader 2024-08-20 00:02:14 +03:00
Trial97
23c06f23c3 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into fix/component-version-resolusion 2024-08-19 22:35:11 +03:00
Alexandru Ionut Tripon
1b756b99bb Merge pull request #2528 from Trial97/validate_metadata
validate metadata on instance launch
2024-08-19 22:34:13 +03:00
Trial97
38b5ee198a Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into validate_metadata 2024-08-18 22:39:46 +03:00
Trial97
6bd8b72f68 fix meta not validating for specific versions
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-08-18 22:38:45 +03:00
Alexandru Ionut Tripon
efac063797 Merge pull request #2729 from Trial97/currentTextChanged
replaced currentTextChanged with currentIndexChanged
2024-08-18 19:00:29 +03:00
TheKodeToad
e9791d6bc1 Merge pull request #2633 from Trial97/refactor_minecraft_update
refactor MinecraftUpdate Task
2024-08-18 11:44:44 +01:00
github-actions[bot]
91d6465d45 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5e0ca22929f3342b19569b21b2f3462f053e497b?narHash=sha256-M0xJ3FbDUc4fRZ84dPGx5VvgFsOzds77KiBMW/mMTnI%3D' (2024-08-09)
  → 'github:NixOS/nixpkgs/c3aa7b8938b17aebd2deecf7be0636000d62a2b9?narHash=sha256-med8%2B5DSWa2UnOqtdICndjDAEjxr5D7zaIiK4pn0Q7c%3D' (2024-08-14)
• Updated input 'pre-commit-hooks':
    'github:cachix/pre-commit-hooks.nix/c7012d0c18567c889b948781bc74a501e92275d1?narHash=sha256-qbhjc/NEGaDbyy0ucycubq4N3//gDFFH3DOmp1D3u1Q%3D' (2024-08-09)
  → 'github:cachix/pre-commit-hooks.nix/bfef0ada09e2c8ac55bbcd0831bd0c9d42e651ba?narHash=sha256-yezvUuFiEnCFbGuwj/bQcqg7RykIEqudOy/RBrId0pc%3D' (2024-08-16)
2024-08-18 00:22:22 +00:00
Trial97
b5bbe93775 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into feature/java-downloader
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-08-17 00:20:40 +03:00
Trial97
b0cd412926 use index instead of currentIndex function
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-08-16 15:41:31 +03:00
Trial97
e6bc61d6d0 add overload for qt5
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-08-16 14:44:57 +03:00
Trial97
6de026bfcf replaced currentTextChanged with currentIndexChanged
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-08-16 14:34:28 +03:00
Sefa Eyeoglu
d6a825dd47 Merge pull request #2707 from PrismLauncher/renovate/hendrikmuhs-ccache-action-1.x 2024-08-12 10:40:26 +02:00
Sefa Eyeoglu
3d4be7ac8c Merge pull request #2669 from PrismLauncher/update_flake_lock_action 2024-08-12 10:40:00 +02:00
Sefa Eyeoglu
af83fc84a7 Merge pull request #2585 from PrismLauncher/renovate/determinatesystems-update-flake-lock-23.x 2024-08-12 10:39:19 +02:00
Alexandru Ionut Tripon
6b07e8e72d Merge pull request #2718 from cthbleachbit/develop
mangohud support: MangoHud::getLibraryString should return absolute path
2024-08-12 11:26:30 +03:00
Alexandru Ionut Tripon
d2daacf736 Merge pull request #2716 from Trial97/quickPlaySingleplayer
add setting for quickplay singleplayer
2024-08-12 11:25:25 +03:00
github-actions[bot]
96dad63173 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'flake-parts':
    'github:hercules-ci/flake-parts/9227223f6d922fee3c7b190b2cc238a99527bbb7?narHash=sha256-pQMhCCHyQGRzdfAkdJ4cIWiw%2BJNuWsTX7f0ZYSyz0VY%3D' (2024-07-03)
  → 'github:hercules-ci/flake-parts/8471fe90ad337a8074e957b69ca4d0089218391d?narHash=sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC%2Bx4%3D' (2024-08-01)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/7e7c39ea35c5cdd002cd4588b03a3fb9ece6fad9?narHash=sha256-EYekUHJE2gxeo2pM/zM9Wlqw1Uw2XTJXOSAO79ksc4Y%3D' (2024-07-12)
  → 'github:NixOS/nixpkgs/5e0ca22929f3342b19569b21b2f3462f053e497b?narHash=sha256-M0xJ3FbDUc4fRZ84dPGx5VvgFsOzds77KiBMW/mMTnI%3D' (2024-08-09)
• Updated input 'pre-commit-hooks':
    'github:cachix/pre-commit-hooks.nix/8d6a17d0cdf411c55f12602624df6368ad86fac1?narHash=sha256-ni/87oHPZm6Gv0ECYxr1f6uxB0UKBWJ6HvS7lwLU6oY%3D' (2024-07-09)
  → 'github:cachix/pre-commit-hooks.nix/c7012d0c18567c889b948781bc74a501e92275d1?narHash=sha256-qbhjc/NEGaDbyy0ucycubq4N3//gDFFH3DOmp1D3u1Q%3D' (2024-08-09)
2024-08-11 00:22:53 +00:00
Tianhao Chai
c2192cfa98 mangohud support: getLibraryString should return absolute path when possible
Some distros ship MangoHub vulkan layer json with bare shared object name
instead of an absolute path. This breaks environment config as
`MinecraftInstance::createLaunchEnvironment()` seems to require absolute
path of `libMangoHud.so`.

Since we already have `MangoHud::findLibrary()` lying around, use that to
figure out where `libMangoHud.so` really is. In case of a platform that
doesn't support `dlopen()`, fallback to old behavior and return the path
verbatim as it is recorded in vk layer json.

Signed-off-by: Tianhao Chai <cth451@gmail.com>
2024-08-09 14:11:44 -04:00
Trial97
dcca175b36 snake_case to m_camelCase
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-08-09 11:06:31 +03:00
Trial97
a9c7e95c66 fix widebar action removal
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-08-08 19:39:32 +03:00
Trial97
c9809fff6d add setting for quickplay singleplayer
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-08-08 16:53:26 +03:00
Tayou
b41e730707 Merge pull request #2714 from Kationor/fix-local-installs
Improve Java auto-detection
2024-08-07 18:48:24 +02:00
Kationor
659fa7fbfb fix/windows: Check registry for per-user java installations
Signed-off-by: Kationor <n96211028@gmail.com>
2024-08-07 18:00:42 +02:00
Sefa Eyeoglu
0215af828d Merge pull request #2667 from unmojang/evan-goode/nix-sync 2024-08-07 09:18:03 +02:00
Tayou
7a5e4a4293 Merge pull request #2706 from Edgars-Cirulis/develop
Restore connect line for device authorization in MSADeviceCodeStep
2024-08-05 22:08:40 +02:00
renovate[bot]
128827cef5 chore(deps): update hendrikmuhs/ccache-action action to v1.2.14 2024-08-05 20:02:40 +00:00
Edgars Cirulis
ba7391308e Restore connect line for device authorization in MSADeviceCodeStep
Parent PRs: https://github.com/PrismLauncher/PrismLauncher/pull/2617

Fixes https://github.com/PrismLauncher/PrismLauncher/issues/2705

Signed-off-by: Edgars Cirulis <edgarsciruliss@gmail.com>
2024-08-05 22:12:18 +03:00
Alexandru Ionut Tripon
0308710211 Merge pull request #2639 from Edgars-Cirulis/qt672
chore: update Qt to 6.7.2
2024-08-05 14:06:52 +03:00
Trial97
fe23e76714 fix codeql
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-08-05 12:04:08 +03:00
Trial97
af65eb17cf Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into metadata2
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-08-05 11:54:58 +03:00
Alexandru Ionut Tripon
9d684dcb82 Merge pull request #2617 from Trial97/clean_net
remove duplicate code from net folder
2024-08-05 10:56:40 +03:00
Alexandru Ionut Tripon
e4967f8d08 Merge pull request #2694 from Trial97/zip_folder_permissions
ensure minimal folder permissions when extracting files
2024-08-05 10:56:06 +03:00
Alexandru Ionut Tripon
5702b8e3c2 Merge pull request #2692 from srcres258/pr
Fix a typo in comment
2024-08-05 10:55:24 +03:00
Alexandru Ionut Tripon
110efb7259 Merge pull request #2627 from Edgars-Cirulis/build-instructions
readme: build instructions
2024-08-05 10:54:47 +03:00
TheKodeToad
b77dc47c6c Merge pull request #1526 from Trial97/disablemods
feat:Removed update disabled warning
2024-08-03 15:38:46 +01:00
Trial97
ca5df3ea60 ensure minimal folder permissions when extracting files
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-07-30 01:32:46 +03:00
src_resources
61e62dce1b Fix a typo in comment
Signed-off-by: src_resources <src.res.211@gmail.com>
2024-07-29 21:07:28 +08:00
Trial97
d5c5f5d4fc Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into disablemods
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-07-24 11:47:45 +03:00
Trial97
2c0b17d107 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into metadata2
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-07-24 11:40:23 +03:00
Trial97
0ac62f9ddf Recommend java major
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-07-23 01:41:41 +03:00
Trial97
4928706d8c Merge branch 'clean_net' of github.com:Trial97/PrismLauncher into clean_net 2024-07-22 22:06:27 +03:00
Trial97
63a380a039 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into clean_net
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-07-22 22:06:09 +03:00
Alexandru Ionut Tripon
33bf370d17 Update launcher/net/RawHeaderProxy.h
Co-authored-by: TheKodeToad <TheKodeToad@proton.me>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2024-07-22 21:51:20 +03:00
Trial97
5d3549a5e9 Add tooltips and fix archive download task
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-07-22 09:18:20 +03:00
Trial97
29a6db171f Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into feature/java-downloader 2024-07-22 08:57:31 +03:00
Evan Goode
ff31e88cf8 nix: sync changes from nixpkgs
Brings in changes from the Prism Launcher derivation(s) in nixpkgs, notably
from https://github.com/NixOS/nixpkgs/pull/321851 and
https://github.com/NixOS/nixpkgs/pull/303880

Signed-off-by: Evan Goode <mail@evangoo.de>
2024-07-21 15:47:38 -04:00
Trial97
91d03b34ac Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into validate_metadata 2024-07-21 02:24:30 +03:00
Alexandru Ionut Tripon
6352362907 Merge pull request #2662 from Edgars-Cirulis/ui
ui: swap timeoutSecondsLabel and numberOfManualRetriesLabel order
2024-07-20 11:39:51 +03:00
Edgars Cirulis
fc2d013402 ui: swap timeoutSecondsLabel and numberOfManualRetriesLabel order
fixes: 7a200a337f
conflicted with 6078a771c1

Signed-off-by: Edgars Cirulis <edgarsciruliss@gmail.com>
2024-07-20 01:55:23 +03:00
Trial97
c666d060fc fix merge issue
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-07-19 17:10:04 +03:00
Trial97
cae1fbc171 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into fix/component-version-resolusion
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-07-19 15:59:43 +03:00
Alexandru Ionut Tripon
0041d2a126 Merge pull request #2440 from Trial97/fix_retry_dialog
update retry netjob dialog
2024-07-19 15:47:12 +03:00
Alexandru Ionut Tripon
69c55d90ce Merge pull request #2558 from Trial97/update_filters
Resolve issue with multiple loaders during mod update
2024-07-19 15:46:15 +03:00
Alexandru Ionut Tripon
ddcaf25149 Merge pull request #2650 from Trial97/help-pages
fix a few missing help pages
2024-07-19 15:45:57 +03:00
Alexandru Ionut Tripon
fcdedc795c Merge pull request #2660 from benthetechguy/typo
Fix a few typos
2024-07-19 08:50:11 +03:00
Ben Westover
fb10cb5fdf Fix a few typos
As part of packaging Prism Launcher for Debian, I have run a package linter
called lintian which found a few spelling errors throughout the source.

I am not a fan of contributions that only fix cosmetics like spelling errors,
but Debian encourages forwarding this stuff upstream instead of letting it get
fixed naturally over time.

Signed-off-by: Ben Westover <me@benthetechguy.net>
2024-07-18 22:08:18 -04:00
Tayou
dcc58c8b75 Merge pull request #2655 from Ryex/fix/json-parsing-validator-buffer-reset
fix(net/validators): ensure buffers are cleared and reset;
2024-07-18 09:11:29 +02:00
Rachel Powers
cb65f6dfb5 fix(net/validators): ensure buffers are cleared and reset;
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-07-17 23:05:45 -07:00
Alexandru Ionut Tripon
d7579319e0 Merge pull request #2653 from UnownPlain/patch-1
Fix dead link to Modrinth authentication docs
2024-07-18 08:40:59 +03:00
UnownPlain
e6019ab396 Fix dead link to Modrinth authentication docs
Signed-off-by: UnownPlain <38232575+UnownPlain@users.noreply.github.com>
2024-07-17 23:04:52 -04:00
Trial97
6d425717e9 fix a few missing help pages
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-07-16 14:42:23 +03:00
Sefa Eyeoglu
84263cd94c Merge pull request #2644 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2024-07-14 09:31:41 +02:00
github-actions[bot]
303f3303f6 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9f4128e00b0ae8ec65918efeba59db998750ead6?narHash=sha256-rwz8NJZV%2B387rnWpTYcXaRNvzUSnnF9aHONoJIYmiUQ%3D' (2024-07-03)
  → 'github:NixOS/nixpkgs/7e7c39ea35c5cdd002cd4588b03a3fb9ece6fad9?narHash=sha256-EYekUHJE2gxeo2pM/zM9Wlqw1Uw2XTJXOSAO79ksc4Y%3D' (2024-07-12)
• Updated input 'pre-commit-hooks':
    'github:cachix/pre-commit-hooks.nix/0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07?narHash=sha256-F1h%2BXIsGKT9TkGO3omxDLEb/9jOOsI6NnzsXFsZhry4%3D' (2024-06-24)
  → 'github:cachix/pre-commit-hooks.nix/8d6a17d0cdf411c55f12602624df6368ad86fac1?narHash=sha256-ni/87oHPZm6Gv0ECYxr1f6uxB0UKBWJ6HvS7lwLU6oY%3D' (2024-07-09)
2024-07-14 00:22:27 +00:00
Alexandru Ionut Tripon
2df5d4012c Merge pull request #2635 from Izder456/develop
FIX launcher/java/JavaUtils.cpp to properly autodetect JVM paths on …
2024-07-13 11:16:35 +03:00
Edgars Cirulis
d3ca8864c2 chore: update Qt to 6.7.2
Signed-off-by: Edgars Cirulis <edgarsciruliss@gmail.com>
2024-07-12 23:54:22 +03:00
izder456
0a543cb66b FIX launcher/java/JavaUtils.cpp to properly autodetect JVM paths on OpenBSD and FreeBSD
Signed-off-by: izder456 <izder456@disroot.org>
2024-07-11 20:32:04 -05:00
Trial97
b989c5a36c refactor MinecraftUpdate Task
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-07-10 16:24:31 +03:00
Edgars Cirulis
3076e5b961 remove useless BUILD.md orphaned file
Signed-off-by: Edgars Cirulis <edgarsciruliss@gmail.com>
2024-07-09 22:21:13 +03:00
Edgars Cirulis
e5b1fa1e3a readme: build instructions
Signed-off-by: Edgars Cirulis <edgarsciruliss@gmail.com>
2024-07-09 22:15:52 +03:00
Trial97
061fdc1ada Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into clean_net
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-07-09 18:36:23 +03:00
Alexandru Ionut Tripon
5f345cedea Merge pull request #2596 from TayouVR/more-system-themes
Display all system themes in widget theme selector
2024-07-09 12:55:22 +03:00
timoreo
39b4293a62 Merge pull request #1752 from Trial97/fix_duplicate_mod 2024-07-09 10:32:56 +02:00
timoreo
ebd7974fcc Merge pull request #2416 from Trial97/retry_auth 2024-07-09 09:57:32 +02:00
Trial97
71c7dd1c5d Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into fix_duplicate_mod
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-07-08 21:51:34 +03:00
Alexandru Ionut Tripon
ca2dda5547 Merge pull request #2626 from Trial97/remove_poly
remove some poly mentions from the code
2024-07-08 21:46:39 +03:00
Alexandru Ionut Tripon
aeb7f29a5b Update launcher/InstanceList.cpp
Co-authored-by: Tayou <git@tayou.org>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2024-07-08 15:04:27 +03:00
Trial97
fdcd1068f3 remove some poly mentions from the code
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-07-08 14:53:39 +03:00
Alexandru Ionut Tripon
08cab11cfe Merge pull request #2554 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2024-07-07 08:01:42 +03:00
github-actions[bot]
e49e2622fc chore(nix): update lockfile
Flake lock file updates:

• Updated input 'flake-parts':
    'github:hercules-ci/flake-parts/2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8?narHash=sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw%3D' (2024-06-01)
  → 'github:hercules-ci/flake-parts/9227223f6d922fee3c7b190b2cc238a99527bbb7?narHash=sha256-pQMhCCHyQGRzdfAkdJ4cIWiw%2BJNuWsTX7f0ZYSyz0VY%3D' (2024-07-03)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/3f84a279f1a6290ce154c5531378acc827836fbb?narHash=sha256-u1fA0DYQYdeG%2B5kDm1bOoGcHtX0rtC7qs2YA2N1X%2B%2BI%3D' (2024-06-13)
  → 'github:NixOS/nixpkgs/9f4128e00b0ae8ec65918efeba59db998750ead6?narHash=sha256-rwz8NJZV%2B387rnWpTYcXaRNvzUSnnF9aHONoJIYmiUQ%3D' (2024-07-03)
• Updated input 'pre-commit-hooks':
    'github:cachix/pre-commit-hooks.nix/cc4d466cb1254af050ff7bdf47f6d404a7c646d1?narHash=sha256-7XfBuLULizXjXfBYy/VV%2BSpYMHreNRHk9nKMsm1bgb4%3D' (2024-06-06)
  → 'github:cachix/pre-commit-hooks.nix/0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07?narHash=sha256-F1h%2BXIsGKT9TkGO3omxDLEb/9jOOsI6NnzsXFsZhry4%3D' (2024-06-24)
2024-07-07 00:21:50 +00:00
Trial97
c07260e836 remove duplicate code from net folder
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-07-07 02:49:27 +03:00
Tayou
330c95e55b Merge pull request #2612 from Trial97/lib_doc
add docs to Library.cpp
2024-07-06 14:21:28 +02:00
Trial97
a6ae078e7e add docs to Library.cpp
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-07-06 09:30:26 +03:00
Trial97
c886111e18 format the code
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-07-06 09:09:54 +03:00
Trial97
a09742a406 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into feature/java-downloader 2024-07-06 01:07:00 +03:00
Alexandru Ionut Tripon
5973c1c45e Merge pull request #2607 from Kationor/noupdateprompt
Add ModpackUpdatePromptDisabled setting
2024-07-06 00:49:06 +03:00
Alexandru Ionut Tripon
9596e6fb01 Merge pull request #2609 from Trial97/crash_hash
fix crash with hash task
2024-07-06 00:48:19 +03:00
Trial97
5d8d1c4b90 transform hashFile to lambda
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-07-04 16:47:27 +03:00
Trial97
1dd21a5e4a fix crash with hash task
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-07-04 16:38:40 +03:00
Kationor
83a5fe1984 Rename setting to SkipModpackUpdatePrompt
Was ModpackUpdatePromptDisabled

Signed-off-by: Kationor <n96211028@gmail.com>
2024-07-03 23:13:39 +02:00
timoreo
219de66783 Merge pull request #2567 from Ryex/feat/ungrouped-group-persist-state 2024-07-03 18:21:54 +02:00
Kationor
9b172278f8 Add ModpackUpdatePromptDisabled setting
When creating an instance of a modpack that's already associated with
another instance, the user gets asked if they want to update that
instance instead. This commit introduces a setting to suppress the
prompt and directly create the new instance.

Signed-off-by: Kationor <n96211028@gmail.com>
2024-07-03 12:43:05 +02:00
Tayou
dbcfefca1b fix system theme
Signed-off-by: Tayou <git@tayou.org>
2024-07-01 23:05:54 +02:00
Tayou
d70be5121c tooltips
Signed-off-by: Tayou <git@tayou.org>
2024-06-30 23:27:45 +02:00
Tayou
4f795eb6ef format
Signed-off-by: Tayou <git@tayou.org>
2024-06-30 22:06:01 +02:00
Trial97
0f311453e1 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into feature/java-downloader
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-30 22:54:23 +03:00
Tayou
7104f8909d another oop
Signed-off-by: Tayou <git@tayou.org>
2024-06-30 21:52:26 +02:00
Tayou
a184b26a00 #ifdef, not #if... I'm smort
Signed-off-by: Tayou <git@tayou.org>
2024-06-30 21:47:52 +02:00
Trial97
4b4da8e6f6 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into fix_retry_dialog
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-30 22:41:49 +03:00
Tayou
f0c9b52055 oop
Signed-off-by: Tayou <git@tayou.org>
2024-06-30 21:41:37 +02:00
Tayou
046e3588af more system themes initial changes
Signed-off-by: Tayou <git@tayou.org>
2024-06-30 21:35:03 +02:00
Alexandru Ionut Tripon
fc445078cd Merge pull request #2415 from Trial97/configure_timeout
Add config for transfer timeout
2024-06-30 22:26:19 +03:00
Alexandru Ionut Tripon
7ff173d72a Merge pull request #2173 from Trial97/dependency_removal
Remove dependencies if review mods is rejected
2024-06-30 22:21:38 +03:00
Alexandru Ionut Tripon
aa24d70a24 Merge pull request #2590 from Trial97/env_dir
control Prism data directory via env variable
2024-06-30 20:45:22 +03:00
Alexandru Ionut Tripon
80243ab554 Merge pull request #2588 from Ryex/fix/updater-support-linux-nonportable
Fix linux non portable update
2024-06-30 07:54:05 +03:00
Alexandru Ionut Tripon
5d9f4f9ee7 Merge pull request #2589 from Trial97/portabledatadir2
make sure updater take into consideration UserData
2024-06-30 07:53:54 +03:00
Alexandru Ionut Tripon
de9df31efa Merge pull request #2592 from Trial97/import_whitespace
trim input from import page
2024-06-30 07:53:39 +03:00
Rachel Powers
8488d11c69 review suggestions + spelling
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-06-29 20:34:10 -07:00
Trial97
492c78a570 format the code
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-29 20:34:10 -07:00
Rachel Powers
c4cc1cfe4f Warn about known conflicting modloaders
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-06-29 20:34:10 -07:00
Rachel Powers
4ed92a95c2 fix segfaults consistently set component problems
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-06-29 20:34:09 -07:00
Rachel Powers
a85d6cb1f2 move resolution into update actions in task.
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-06-29 20:34:09 -07:00
Trial97
474effe7c7 clang-format
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-29 20:34:09 -07:00
Rachel Powers
cf319649f9 fix qt5 lwjgl recommend + spelling
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-06-29 20:34:09 -07:00
Rachel Powers
a94a081b9c add better profile logging properly resolve important dependencies
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-06-29 20:34:08 -07:00
Rachel Powers
ce280c2d04 fix misepellings
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-06-29 20:34:08 -07:00
Rachel Powers
a791e22853 fix(instance components): resolve instance componants when changing minecraft version
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-06-29 20:34:08 -07:00
Rachel Powers
44bf0315ad feat(components) recomend the correct lwjgl version for the minecraft version
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-06-29 20:33:51 -07:00
Trial97
25bae20db4 trim input from import page
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-30 00:17:25 +03:00
Trial97
7a0b299be9 control Prism data directory via env variable
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-29 18:08:28 +03:00
Rachel Powers
ae3e4ed528 fix Build Artifact Checks
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-06-29 04:29:19 -07:00
Rachel Powers
b4f5c3d241 Update launcher/updater/prismupdater/PrismUpdater.cpp
Co-authored-by: TheKodeToad <TheKodeToad@proton.me>
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-06-29 04:21:13 -07:00
Rachel Powers
9d1fffff27 reject zsync file as valid build artifact
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-06-29 04:21:13 -07:00
Rachel Powers
41bcfb3c07 Fix #2586
non portable linux update technically works even if not genraly a good idea.

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-06-29 04:21:06 -07:00
Alexandru Ionut Tripon
e6234b5086 Merge pull request #2504 from Trial97/auth3
update login flow
2024-06-29 14:09:49 +03:00
Trial97
eab53c6e42 make sure updater take into consideration UserData
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-29 14:02:09 +03:00
Trial97
f1a4a1e8ee increase 'or' font size for login dialog
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-29 08:41:35 +03:00
renovate[bot]
63a458ca0c Update DeterminateSystems/update-flake-lock action to v23 2024-06-28 21:48:40 +00:00
Alexandru Ionut Tripon
196b2b5a3e Merge pull request #2580 from Trial97/silent_background_update_check
do not display message that no update is avvailable if the check was …
2024-06-28 23:27:00 +03:00
Trial97
ebad11d34f made sure const method is respected
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-28 22:04:11 +03:00
Trial97
06add2b0a8 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into update_filters
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-28 20:55:16 +03:00
Trial97
9d903175ab format
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-28 20:51:52 +03:00
Trial97
cf220356b1 fixed panic with recursive eventloop
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-28 20:51:28 +03:00
Trial97
715c99636d fix offline mode for meta
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-28 20:51:28 +03:00
Trial97
0a95b57c0a moved QEventLoops inside functions
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-28 20:51:28 +03:00
Trial97
06e1cab41f force online in case the offline load failed
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-28 20:51:28 +03:00
Trial97
2af6902b42 validate metadata on launch
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-28 20:51:26 +03:00
Trial97
4f8b20437f Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into auth3 2024-06-28 20:49:37 +03:00
Trial97
515baffb8e Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into fix_retry_dialog 2024-06-28 20:48:28 +03:00
Trial97
4ad19cded5 format
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-28 20:45:54 +03:00
Trial97
0b79abcdcd Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into feature/java-downloader
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-28 20:45:30 +03:00
Trial97
90e756c041 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into coremods 2024-06-28 20:41:48 +03:00
Trial97
ddf1ea014c Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into fix_duplicate_mod 2024-06-28 20:39:37 +03:00
Alexandru Ionut Tripon
4aa2e5b85d Merge pull request #2571 from Trial97/account_refresh
refresh account if it should refresh on instance launch
2024-06-28 20:38:05 +03:00
Trial97
55f740453c Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into disablemods 2024-06-28 20:34:59 +03:00
Trial97
72dd3dfba5 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into metadata2
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-28 20:30:05 +03:00
Trial97
1021222c95 create mod meta information when importing modrinth pack
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-28 20:28:52 +03:00
Alexandru Ionut Tripon
2cd0223cff Merge pull request #2578 from Trial97/clang-format
chore:increment clang-tools version
2024-06-28 19:33:18 +03:00
Trial97
09d258670a create mod meta information when importing curseforge pack
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-28 19:26:11 +03:00
Trial97
2c02d02214 do not display message that no update is avvailable if the check was done in the background
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-28 14:11:27 +03:00
Trial97
bac678a7fc format files outside launcher
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-28 12:54:37 +03:00
Trial97
147741e616 increment clang-tools version
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-28 12:48:52 +03:00
seth
66e6fc04d3 Merge pull request #2520 from Trial97/metadata 2024-06-28 04:57:39 +00:00
Trial97
9d7c36c2fc made identty certain if the login ended
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-27 15:35:44 +03:00
Alexandru Ionut Tripon
5928bc30e1 Merge pull request #2572 from Trial97/sdkman_macos
fix sdkman on macos
2024-06-27 13:20:10 +03:00
Alexandru Ionut Tripon
68292aff6c Merge pull request #2574 from ajerick/develop
fix non-persistent user icon selection in NewInstanceDialog.cpp
2024-06-27 08:38:46 +03:00
seth
3f3351f89e Merge pull request #1892 from Trial97/change_version
Added mod reinstall dialog
2024-06-27 02:12:00 +00:00
Aiden J Erickson
37388e1d48 fix non-persistent user icon selection in NewInstanceDialog.cpp
Signed-off-by: Aiden J Erickson <aiden.j.erickson@gmail.com>
2024-06-26 20:54:04 -04:00
Trial97
3b473b24d8 fix sdkman on macos
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-26 10:16:27 +03:00
Trial97
b1a86bec34 refresh account if it should refresh on instance launch
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-26 09:51:12 +03:00
Alexandru Ionut Tripon
3aaa36a2bc Merge pull request #2566 from Trial97/mod_warning
add warnning when user closes the resource download dialog with selec…
2024-06-26 08:17:16 +03:00
Alexandru Ionut Tripon
8e2bb21e23 Merge pull request #2570 from porterporter/patch-1
add ~/Library/Java/JavaVirtualMachines/* to java installation detection
2024-06-26 08:16:37 +03:00
porter milton
2958691857 add ~/Library/Java/JavaVirtualMachines/* to java installation detection
Signed-off-by: porter milton <57007161+porterporter@users.noreply.github.com>
2024-06-25 23:16:26 +00:00
Trial97
7c38edc93d Apply suggestion from code review
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-25 16:10:05 +03:00
Alexandru Ionut Tripon
555c4a7c59 Apply suggestions from code review
Co-authored-by: seth <getchoo@tuta.io>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2024-06-25 15:33:11 +03:00
Alexandru Ionut Tripon
4e9e7212a6 Apply suggestions from code review
Co-authored-by: seth <getchoo@tuta.io>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2024-06-25 15:22:30 +03:00
Alexandru Ionut Tripon
52839774e6 Apply suggestions from code review
Co-authored-by: seth <getchoo@tuta.io>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2024-06-25 15:19:23 +03:00
Alexandru Ionut Tripon
1a66db78a9 Apply text change suggestions from code review
Co-authored-by: seth <getchoo@tuta.io>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2024-06-25 15:17:51 +03:00
Rachel Powers
14b09549e1 feat(instanceList) persist "ungrouped" hidden state
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2024-06-25 01:55:54 -07:00
Trial97
2f88da9de2 add warnning when user closes the resource download dialog with selection
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-25 09:50:33 +03:00
Alexandru Ionut Tripon
12db1efd20 Merge pull request #2561 from Trial97/fix_curseforge_logo
fix missing curseforge logo
2024-06-25 00:01:03 +03:00
Tayou
6b1c16b01a Merge pull request #2562 from Trial97/fix_update_message
fix update message
2024-06-24 22:17:48 +02:00
Alexandru Ionut Tripon
1fcad8d427 Merge pull request #1886 from Trial97/time4
Fixed playtime recording
2024-06-24 23:07:41 +03:00
Trial97
096266c141 fix update message
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-24 21:31:26 +03:00
Trial97
73db320bff fix missing curseforge logo
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-24 21:13:21 +03:00
Trial97
00b83efb9a fix build
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-24 20:12:40 +03:00
Trial97
e57c2180da Resolve issue with multiple loaders during update
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-24 03:06:10 +03:00
Trial97
bb48d1ec9d made sure that the retry dialog is not displayed offline
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-24 00:29:21 +03:00
Trial97
c04031ff00 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into fix_retry_dialog 2024-06-23 23:40:12 +03:00
Alexandru Ionut Tripon
98d68bafeb Merge pull request #2481 from DioEgizio/qt671
chore: update Qt to 6.7.1
2024-06-23 08:41:02 +03:00
seth
92b9f1a3e3 Merge pull request #2515 from Trial97/size_for_skin
force aspect ratio for skin preview
2024-06-22 19:21:59 -04:00
seth
e0063b1ee7 Merge pull request #2429 from Richard-Rogalski/GENTOOweloveyou
[Linux] Auto-detect Gentoo installed JDKs
2024-06-22 19:14:46 -04:00
seth
d8b47f5c8a Merge pull request #2466 from PrismLauncher/renovate/determinatesystems-update-flake-lock-22.x
chore(deps): update determinatesystems/update-flake-lock action to v22
2024-06-22 19:11:20 -04:00
Alexandru Ionut Tripon
369d7d83f5 Merge pull request #2542 from leia-uwu/perf/async-print-servers
perf: print api servers asynchronously on instance launch
2024-06-23 01:51:53 +03:00
Alexandru Ionut Tripon
5f1d86d91a Merge pull request #2553 from TayouVR/tr-file-types-in-dialogs
don't translate file types on file save/open, etc. dialogs
2024-06-23 01:51:27 +03:00
Trial97
2ac89c2378 add more states for account refresh fail
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-23 01:49:37 +03:00
Trial97
b0386a4c2f added better error handling
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-23 00:47:48 +03:00
Trial97
24aa337a64 fixed offline accounts
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-23 00:27:49 +03:00
Trial97
27ee8374e7 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into auth3 2024-06-22 22:54:38 +03:00
Tayou
178bd4a9c3 don't tr() file types on file save/open, etc. dialogs
Signed-off-by: Tayou <git@tayou.org>
2024-06-22 17:28:59 +02:00
leia uwu
c1d0560524 perf: print api servers asynchronously on instance launch
Doing this on the main thread can cause the launcher to freeze for up to
5 seconds when launching an instance on my system
so i moved it to a launch step where it gets all the servers info
asynchronously to print

Signed-off-by: leia uwu <leia@tutamail.com>
2024-06-20 17:58:00 -03:00
Alexandru Ionut Tripon
8014283bf4 Merge pull request #2536 from Trial97/refactor_hash
Refactor hash task
2024-06-18 22:55:32 +03:00
Trial97
888b22b4c7 rename variable
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-18 22:36:39 +03:00
Sefa Eyeoglu
8607dd46b5 Merge pull request #2361 from Scrumplex/fix/nix/drop-qt5 2024-06-18 21:32:31 +02:00
Trial97
97147f2d24 fix(nix): drop unsupported Qt 5 package
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-18 22:31:41 +03:00
Alexandru Ionut Tripon
5f3d3c3294 Merge pull request #2534 from DioEgizio/dataresourceupdate
fix: update datapack and resourcepack versions
2024-06-18 21:06:31 +03:00
DioEgizio
a63842c727 fix: add more datapack formats and clang-format it
Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2024-06-18 18:05:34 +02:00
Trial97
ac8c7baff2 fix tipo
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-18 17:49:07 +03:00
Trial97
9cbdbddb08 made hasing task async
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-18 17:27:17 +03:00
Trial97
766ddc80e3 refactored hassing task
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-18 16:51:26 +03:00
Alexandru Ionut Tripon
3f68b68691 Merge pull request #2531 from Trial97/relax_fat
relax fat FS filename restrictions
2024-06-18 12:51:22 +03:00
DioEgizio
c07e791d7f chore: clang-format ResourcePack.cpp
Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2024-06-18 10:17:48 +02:00
Alexandru Ionut Tripon
35e195b397 Merge pull request #2533 from Cartrigger/patch-1
Spelling mistake for Minecraft
2024-06-18 10:59:39 +03:00
DioEgizio
6af52c97c2 fix: update datapack and resourcepack versions
Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2024-06-18 09:47:07 +02:00
Cart
c9827f8085 Spelling mistake
in m_column_names and translated it is Miecraft and not Minecraft

Signed-off-by: Cart <81428538+Cartrigger@users.noreply.github.com>
2024-06-17 23:12:07 -04:00
Trial97
a587de8553 relax fat FS filename restrictions
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-17 13:35:23 +03:00
Trial97
2fb3e12492 fix auto java install
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-16 17:54:13 +03:00
Trial97
8d3e6667cd fix java download tasks
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-16 15:09:49 +03:00
Trial97
94fd02a34f fix java download button
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-16 14:26:19 +03:00
Alexandru Ionut Tripon
fdd302bc11 Merge pull request #2521 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2024-06-16 09:00:16 +03:00
github-actions[bot]
8dde773486 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/d226935fd75012939397c83f6c385e4d6d832288?narHash=sha256-HV97wqUQv9wvptiHCb3Y0/YH0lJ60uZ8FYfEOIzYEqI%3D' (2024-06-07)
  → 'github:nixos/nixpkgs/3f84a279f1a6290ce154c5531378acc827836fbb?narHash=sha256-u1fA0DYQYdeG%2B5kDm1bOoGcHtX0rtC7qs2YA2N1X%2B%2BI%3D' (2024-06-13)
2024-06-16 00:21:16 +00:00
Trial97
bbf52e3549 renamed dialog and button action
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-16 01:59:50 +03:00
Trial97
d0584684f2 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into feature/java-downloader 2024-06-16 01:17:01 +03:00
Trial97
2108ddcc1d completly remove metadata on refresh
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-16 01:16:09 +03:00
Trial97
5fbbdb9707 fix merge issues
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-16 00:31:31 +03:00
Trial97
c01f3107a4 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into change_version
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-16 00:18:11 +03:00
Alexandru Ionut Tripon
978e96916d Merge pull request #1728 from Trial97/filters
feat: add more filters to the mod download dialog
2024-06-16 00:05:42 +03:00
Trial97
f1d1c9e22c forget sort keys
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-15 11:06:20 +03:00
Trial97
a121bfbb15 add size back to texture view
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-15 10:43:21 +03:00
Trial97
98f8bc526d Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into filters 2024-06-15 10:21:53 +03:00
Trial97
d5fb9f0935 force aspect ratio for skin preview
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-15 10:21:21 +03:00
Trial97
8cdaf5d05f fix tests
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-14 23:27:27 +03:00
Trial97
cfdf4a9e1f Merge branch 'develop' of github.com:Trial97/PrismLauncher into feature/java-downloader 2024-06-14 22:50:20 +03:00
Trial97
1a84dc9bca no need for extra exist check
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-14 22:47:42 +03:00
Trial97
b872f88617 do not double rename
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-14 22:46:39 +03:00
Trial97
d2510b851b mark files as duplicate
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-14 22:45:15 +03:00
Trial97
2d51008304 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into fix_duplicate_mod 2024-06-14 21:05:11 +03:00
Alexandru Ionut Tripon
3c4eed13a3 Merge pull request #1829 from Trial97/demo
Fixed demo mode
2024-06-14 18:41:02 +03:00
Trial97
9d16557328 simplify constructor
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-14 16:40:27 +03:00
Trial97
863ebe421c randomize server port
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-14 16:38:41 +03:00
Trial97
52490743b4 revert desktop file creation
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-14 14:16:23 +03:00
Trial97
164d31dcb1 fix win build take#2
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-14 13:09:22 +03:00
Trial97
3db4f4dc2b fix build
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-14 13:00:59 +03:00
Trial97
8db0b5f421 Register mime-type on the fly
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-14 12:48:37 +03:00
Trial97
f60d0135f7 made login link to open browser
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-14 12:47:44 +03:00
Trial97
74a86df53c update the desktop file
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-14 12:41:37 +03:00
Trial97
1bd4e60e99 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into auth3 2024-06-14 11:23:52 +03:00
Trial97
c35461b314 remove aspect ratio
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-14 11:23:14 +03:00
Trial97
014721ca10 remove unused import
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-14 11:19:54 +03:00
Trial97
712fbc3a4b reverse login layout
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-14 11:15:40 +03:00
Alexandru Ionut Tripon
e9d681a088 Merge pull request #2509 from Scrumplex/fix/flatpak/glfw
fix(flatpak): disable docs for glfw
2024-06-14 08:57:50 +03:00
Sefa Eyeoglu
52338f0e88 fix(flatpak): disable docs for glfw
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2024-06-13 19:55:50 +02:00
Trial97
6e8dc6ccc0 add mouse interaction on microsoft link
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-13 19:20:32 +03:00
Alexandru Ionut Tripon
3fc5f56ed6 Merge pull request #2405 from Trial97/fix_missing_manifest
Fix portable if manifest is missing
2024-06-13 19:16:12 +03:00
Alexandru Ionut Tripon
ce5b2c54c5 Merge pull request #2439 from Trial97/fix_vanila_technic
fix vanilla technic modpacks
2024-06-13 19:15:43 +03:00
Trial97
f7c3e08ac8 add prismlauncher to plist
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-13 18:27:37 +03:00
Trial97
7fdc65eda8 add tooltip to url button
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-13 08:51:11 +03:00
Trial97
2b229d7326 increase qr code size
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-13 00:20:16 +03:00
Trial97
80ea67f7cf finish login dialog
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-13 00:00:08 +03:00
Alexandru Ionut Tripon
a74bebb358 Merge pull request #2499 from Trial97/imgur3
update imgur upload
2024-06-12 23:45:17 +03:00
Trial97
125fb2eaf2 remove png qr code
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-12 19:34:58 +03:00
Trial97
5f5296ef5e update ui once again
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-12 19:34:19 +03:00
Trial97
bbbe7c879e update callback
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-12 12:35:02 +03:00
Trial97
df142550fe update Add account question
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-12 11:55:56 +03:00
Trial97
c4a65dd861 update login flow
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-12 00:34:39 +03:00
Tayou
6b1c4981e7 Merge pull request #2498 from LaoshuBaby/patch-1
fix(SkinManageDialog.cpp): typo
2024-06-10 13:21:51 +02:00
Trial97
c1c182fd0c update imgur upload
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-10 12:38:59 +03:00
快乐的老鼠宝宝
1c1e296960 fix(SkinManageDialog.cpp): typo
Signed-off-by: 快乐的老鼠宝宝 <laoshubaby@protonmail.com>
2024-06-10 17:15:38 +08:00
Alexandru Ionut Tripon
7d418a32e7 Merge pull request #2425 from Trial97/win_char
improve invalid path name
2024-06-10 12:11:21 +03:00
Alexandru Ionut Tripon
93a0277479 Merge pull request #2450 from Trial97/remove_search
remove search button
2024-06-10 10:56:54 +03:00
Trial97
2ffabbdc6d Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into filters
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-10 10:00:52 +03:00
Trial97
11ae169087 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into feature/java-downloader
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-10 09:34:48 +03:00
Alexandru Ionut Tripon
95e7f36732 Merge pull request #2054 from Trial97/add_configurable_updater_interval
Made updater interval configurable
2024-06-10 09:22:54 +03:00
Trial97
6607c3bfa4 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into disablemods
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-10 09:04:09 +03:00
Trial97
3f0fa54fe8 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into retry_auth
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-10 09:03:04 +03:00
Trial97
e63f25c9e4 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into fix_retry_dialog
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-10 09:01:01 +03:00
Alexandru Ionut Tripon
dc39698c48 Merge pull request #1609 from Trial97/skin_selector
Skin management
2024-06-10 08:43:37 +03:00
Alexandru Ionut Tripon
12e04c412b Merge pull request #1776 from Trial97/resource_size
feat:added size column
2024-06-10 08:42:29 +03:00
Alexandru Ionut Tripon
154f4811c0 Merge pull request #2166 from Trial97/ftb2
Updated ftb app import instance detection
2024-06-10 00:45:22 +03:00
Trial97
29d32f0d9a Update size order for folders
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-10 00:18:21 +03:00
Trial97
242ddbb7e1 fix size column sorting
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-09 23:53:40 +03:00
Trial97
34e1a5e660 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into resource_size 2024-06-09 22:18:40 +03:00
Trial97
1e0db46728 add a more verbose error message in case user skin import fails
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-09 21:29:56 +03:00
Alexandru Ionut Tripon
6c76ba5163 Merge pull request #1032 from deadmeu/shorten-description
refactor: shorten desktop entry comment field
2024-06-09 20:59:23 +03:00
Trial97
04b2ac2efa update fail url skin messagebox
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-09 20:48:49 +03:00
Trial97
689b76885c Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into skin_selector 2024-06-09 20:13:09 +03:00
Trial97
6a99312df5 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into filters 2024-06-09 19:57:16 +03:00
Trial97
ca369ac2b0 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into feature/java-downloader
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-09 19:52:37 +03:00
Alexandru Ionut Tripon
9560f9ed98 Merge pull request #2474 from coolguy1842/develop
simple fix for resizing too small causing an index out of range crash
2024-06-09 16:10:57 +03:00
Alexandru Ionut Tripon
d6a03d3f2c Merge pull request #1554 from Trial97/instance_copy_progress
updated instance copy
2024-06-09 16:05:11 +03:00
Alexandru Ionut Tripon
3af4c94612 Merge pull request #2390 from Trial97/delete_tmp
Delete instaces tmp diectory on startup
2024-06-09 16:03:51 +03:00
Alexandru Ionut Tripon
55b6490530 Merge pull request #1617 from cullvox/components-resource-pack-fix
added functionality for components in resource pack descriptions.
2024-06-09 16:03:19 +03:00
Alexandru Ionut Tripon
7e5db651fd Merge pull request #1823 from Trial97/refresh_cats
Added button to refresh themes and catpacks
2024-06-09 16:02:26 +03:00
Alexandru Ionut Tripon
6f6ddc00c8 Merge pull request #2486 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2024-06-09 16:01:15 +03:00
Alexandru Ionut Tripon
0e996270b7 Merge pull request #2055 from Trial97/show_minecraft_version_modrinth
Display minecraft version if not mentioned for modrinth/curse packs
2024-06-09 15:59:24 +03:00
github-actions[bot]
24cf671370 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/6132b0f6e344ce2fe34fc051b72fb46e34f668e0?narHash=sha256-7R2ZvOnvd9h8fDd65p0JnB7wXfUvreox3xFdYWd1BnY%3D' (2024-05-30)
  → 'github:nixos/nixpkgs/d226935fd75012939397c83f6c385e4d6d832288?narHash=sha256-HV97wqUQv9wvptiHCb3Y0/YH0lJ60uZ8FYfEOIzYEqI%3D' (2024-06-07)
• Updated input 'pre-commit-hooks':
    'github:cachix/pre-commit-hooks.nix/0e8fcc54b842ad8428c9e705cb5994eaf05c26a0?narHash=sha256-xrsYFST8ij4QWaV6HEokCUNIZLjjLP1bYC60K8XiBVA%3D' (2024-05-20)
  → 'github:cachix/pre-commit-hooks.nix/cc4d466cb1254af050ff7bdf47f6d404a7c646d1?narHash=sha256-7XfBuLULizXjXfBYy/VV%2BSpYMHreNRHk9nKMsm1bgb4%3D' (2024-06-06)
2024-06-09 00:22:00 +00:00
TheKodeToad
3ef5cd20f4 Merge pull request #2428 from Fourmisain/semeru
add detection for IBM Semeru Java runtime and fix x86 detection on 64 bit Windows
2024-06-07 20:17:20 +01:00
DioEgizio
052ee0d71c chore: update Qt to 6.7.1
Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2024-06-07 15:48:19 +02:00
ZekeZ
39b8451130 Merge pull request #2383 from Trial97/scroll_new_instance
Made Custom New Instance scrollable
2024-06-07 16:37:21 +10:00
Trial97
8ff53e47e8 Merge branch 'develop' of github.com:Trial97/PrismLauncher into feature/java-downloader 2024-06-07 00:22:54 +03:00
Alexandru Ionut Tripon
6e5c41fc8e Merge pull request #2471 from Trial97/replace_auth_ping
replace auth server ping
2024-06-07 00:18:48 +03:00
Alexandru Ionut Tripon
e961cab352 Merge pull request #1409 from Trial97/import_zip
feat: refactored Instance ImportTask
2024-06-07 00:11:37 +03:00
Trial97
b096ee6a0c fix file permisions
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-06 14:12:55 +03:00
coolguy1842
aeb174fc55 DCO Remediation Commit for coolguy1842 <kian.goslett@protonmail.com>
I, coolguy1842 <kian.goslett@protonmail.com>, hereby add my Signed-off-by to this commit: 448ded2387

Signed-off-by: coolguy1842 <kian.goslett@protonmail.com>
2024-06-06 16:58:12 +10:00
coolguy1842
71b2c4b1fd fix formatting
Signed-off-by: coolguy1842 <kian.goslett@protonmail.com>
2024-06-06 16:32:49 +10:00
coolguy1842
448ded2387 simple fix for resizing too small causing an index out of range crash
Signed-off-by: coolguy1842 <coolguy1842.deport391@passfwd.com>
2024-06-06 16:18:47 +10:00
Trial97
b7008d2880 replace auth server ping
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-06 00:09:08 +03:00
Trial97
45463dcd75 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into import_zip 2024-06-04 11:04:02 +03:00
renovate[bot]
3263a706b4 chore(deps): update determinatesystems/update-flake-lock action to v22 2024-06-03 18:39:15 +00:00
Alexandru Ionut Tripon
080e64faaf Merge pull request #2346 from SabrePenguin/list-image-append-fix
List image append
2024-06-02 18:53:17 +03:00
Sefa Eyeoglu
a6788a92cf Merge pull request #2459 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2024-06-02 08:23:23 +02:00
github-actions[bot]
bbff31bcc0 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'flake-parts':
    'github:hercules-ci/flake-parts/8dc45382d5206bd292f9c2768b8058a8fd8311d9?narHash=sha256-/GJvTdTpuDjNn84j82cU6bXztE0MSkdnTWClUCRub78%3D' (2024-05-16)
  → 'github:hercules-ci/flake-parts/2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8?narHash=sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw%3D' (2024-06-01)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/47e03a624662ce399e55c45a5f6da698fc72c797?narHash=sha256-9dUxZf8MOqJH3vjbhrz7LH4qTcnRsPSBU1Q50T7q/X8%3D' (2024-05-25)
  → 'github:nixos/nixpkgs/6132b0f6e344ce2fe34fc051b72fb46e34f668e0?narHash=sha256-7R2ZvOnvd9h8fDd65p0JnB7wXfUvreox3xFdYWd1BnY%3D' (2024-05-30)
2024-06-02 00:20:40 +00:00
TheKodeToad
a70aeeea2b Merge branch 'develop' into list-image-append-fix
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-06-01 15:20:21 +01:00
Trial97
83883cadf9 fix qt5 build
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-31 19:30:10 +03:00
Trial97
f350918186 force initial size for the Add Instance dialog
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-31 19:03:40 +03:00
Trial97
c9c39b8203 fix double borders
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-31 17:47:39 +03:00
Trial97
f7120a4f6f Made Custom New Instance scrollable
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-31 16:46:46 +03:00
Trial97
f4f0a61bf2 fix vanilla technic modpacks
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-31 16:15:12 +03:00
Trial97
817ff1ecbd Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into change_version
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-31 10:20:48 +03:00
Alexandru Ionut Tripon
2145f9f0ac Merge pull request #1847 from Trial97/move_export2
Improvements to modlist export
2024-05-31 09:58:32 +03:00
timoreo
7ab8f8ef54 Merge pull request #2423 from Trial97/fix_time3
fix incorrect launch time
2024-05-31 08:17:07 +02:00
timoreo
da76b72800 Merge pull request #2438 from KernelFreeze/develop
Added support for bcachefs
2024-05-31 08:12:28 +02:00
Trial97
2635d7c3be replaced grid with vertical layout on all add modpack pages
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-31 09:07:51 +03:00
Trial97
d1286bbe90 add some comments
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-30 21:54:32 +03:00
Trial97
eaccdca02d added error message for import skin from user
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-30 16:21:08 +03:00
Trial97
75fbdc2df5 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into skin_selector 2024-05-30 14:25:51 +03:00
Trial97
44a16c1ca1 fix CI
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-30 14:20:35 +03:00
Trial97
a7a1b28765 improve invalid path name
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-30 13:49:23 +03:00
Trial97
8704cd8402 remove duplicate proggress bar
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-30 11:49:09 +03:00
Trial97
e94243f99b fix blocked mods api
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-30 09:56:55 +03:00
Trial97
a289e0c849 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into fix_retry_dialog 2024-05-30 09:35:47 +03:00
Trial97
7fed5e9173 Capitalize the mod categories
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-30 08:51:36 +03:00
Trial97
5e36def18b remove search button
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-30 00:36:02 +03:00
Trial97
469f051e30 remove search button
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-30 00:14:37 +03:00
Alexandru Ionut Tripon
6d60a6f4e3 Merge pull request #3 from TayouVR/filters
fix & clean ResourcePage.ui
2024-05-29 23:58:06 +03:00
Tayou
b8fe93efa3 fix & clean ResourcePage.ui
Qt is cursed.

Signed-off-by: Tayou <git@tayou.org>
2024-05-29 20:00:36 +02:00
Trial97
29444cfe0f fix win combobox take#2
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-29 17:19:15 +03:00
Trial97
660772d4d7 swap buttons
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-29 01:06:11 +03:00
Trial97
b256d325f7 fix win combobox
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-29 01:03:17 +03:00
Alexandru Ionut Tripon
f332503088 Apply suggestions from code review
Co-authored-by: Tayou <git@tayou.org>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2024-05-29 00:32:17 +03:00
Sefa Eyeoglu
f34c263964 Merge pull request #2441 from PrismLauncher/renovate/korthout-backport-action-3.x 2024-05-28 18:30:14 +02:00
renovate[bot]
4917287292 chore(deps): update korthout/backport-action action to v3 2024-05-28 14:35:10 +00:00
Trial97
5012178a98 trigger search on filter change
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-28 14:48:03 +03:00
Trial97
3f7847ad34 made ResourcePage elements resizable
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-28 14:47:44 +03:00
Trial97
4b52c72629 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into filters 2024-05-27 22:35:38 +03:00
Trial97
59a8b91274 add spacing to retry modal
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-26 16:28:07 +03:00
Trial97
694ea65457 disable retry dialog for logo fetching
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-26 11:13:01 +03:00
Trial97
7a200a337f update retry netjob dialog
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-26 11:04:41 +03:00
Sefa Eyeoglu
764463ada7 Merge pull request #2436 from PrismLauncher/update_flake_lock_action 2024-05-26 09:29:18 +02:00
Celeste Peláez
f5f32e2c6e Reformatted FileSystem.h
Signed-off-by: Celeste Peláez <KernelFreeze@users.noreply.github.com>
2024-05-26 01:40:31 -05:00
Celeste Peláez
a2b5ac73ff Added support for bcachefs
Signed-off-by: Celeste Peláez <KernelFreeze@users.noreply.github.com>
2024-05-26 01:33:22 -05:00
github-actions[bot]
a8712f7126 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/02923630b89aa1ab36ef8e422501a6f4fd4b2016?narHash=sha256-OhysviwHQz4p2HZL4g7XGMLoUbWMjkMr/ogaR3VUYNA%3D' (2024-05-18)
  → 'github:nixos/nixpkgs/47e03a624662ce399e55c45a5f6da698fc72c797?narHash=sha256-9dUxZf8MOqJH3vjbhrz7LH4qTcnRsPSBU1Q50T7q/X8%3D' (2024-05-25)
• Updated input 'pre-commit-hooks':
    'github:cachix/pre-commit-hooks.nix/fa606cccd7b0ccebe2880051208e4a0f61bfc8c1?narHash=sha256-nacSOeXtUEM77Gn0G4bTdEOeFIrkCBXiyyFZtdGwuH0%3D' (2024-05-16)
  → 'github:cachix/pre-commit-hooks.nix/0e8fcc54b842ad8428c9e705cb5994eaf05c26a0?narHash=sha256-xrsYFST8ij4QWaV6HEokCUNIZLjjLP1bYC60K8XiBVA%3D' (2024-05-20)
2024-05-26 00:20:28 +00:00
Trial97
eacd7758e9 fix pre-commit hook
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-22 22:49:28 +03:00
Trial97
2b949a8059 improve login account checking
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-22 10:53:24 +03:00
Richard-Rogalski
399071c717 Fix Java auto-detect so it finds Gentoo installed JDKs
Signed-off-by: Richard-Rogalski <rrogalski@tutanota.com>
2024-05-21 11:41:47 -05:00
Fourmisain
23095b70a4 please the pre-commit check
Signed-off-by: Fourmisain <8464472+Fourmisain@users.noreply.github.com>
2024-05-21 13:44:00 +02:00
Fourmisain
dbe4adc034 detect IBM Semeru Certified Edition on linux
Signed-off-by: Fourmisain <8464472+Fourmisain@users.noreply.github.com>
2024-05-21 10:51:37 +02:00
Trial97
f6a7fc215a update java sorting by taking into consideration release time
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-21 08:33:26 +03:00
Fourmisain
af157c1613 fix x86 detection on 64 bit windows
Signed-off-by: Fourmisain <8464472+Fourmisain@users.noreply.github.com>
2024-05-20 23:13:44 +02:00
Fourmisain
08918be11e add detection for IBM Semeru Java runtime
Signed-off-by: Fourmisain <8464472+Fourmisain@users.noreply.github.com>
2024-05-20 21:44:35 +02:00
Trial97
7a42fb284a reverse java version
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-20 18:33:40 +03:00
Trial97
0e239dfb2a fix crash on first display with java downloader off
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-20 18:24:19 +03:00
Trial97
abb628edb3 remove OverrideJava
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-20 18:23:43 +03:00
Sefa Eyeoglu
0ecdceccd2 Merge pull request #2426 from Luk-ESC/develop 2024-05-20 17:18:25 +02:00
Lukas Eschbacher
201c4d2cc6 nix: replace mesa-demos with glxinfo
Signed-off-by: Lukas Eschbacher <eschbacher.lukas@gmail.com>
2024-05-20 14:39:24 +02:00
Alexandru Ionut Tripon
529dc7c6b7 Merge pull request #2412 from DioEgizio/update-upstreamflatpak
fix: update bundled flatpak to switch it to Qt 6
2024-05-19 22:54:35 +03:00
Trial97
428889a68d removed + from bad chars in filenames
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-19 19:38:06 +03:00
Trial97
1b0e8260ac fix zero launch time
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-19 15:36:39 +03:00
Sefa Eyeoglu
be66a91295 Merge pull request #2418 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2024-05-19 10:36:16 +02:00
Trial97
425a6e0919 Fix code format
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-19 10:09:34 +03:00
Trial97
d9e2badf71 Rename timeout option
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-19 08:54:19 +03:00
github-actions[bot]
d21597cf89 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'flake-parts':
    'github:hercules-ci/flake-parts/e5d10a24b66c3ea8f150e47dfdb0416ab7c3390e?narHash=sha256-yzcRNDoyVP7%2BSCNX0wmuDju1NUCt8Dz9%2BlyUXEI0dbI%3D' (2024-05-02)
  → 'github:hercules-ci/flake-parts/8dc45382d5206bd292f9c2768b8058a8fd8311d9?narHash=sha256-/GJvTdTpuDjNn84j82cU6bXztE0MSkdnTWClUCRub78%3D' (2024-05-16)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/e4e7a43a9db7e22613accfeb1005cca1b2b1ee0d?narHash=sha256-FCi3R1MeS5bVp0M0xTheveP6hhcCYfW/aghSTPebYL4%3D' (2024-05-11)
  → 'github:nixos/nixpkgs/02923630b89aa1ab36ef8e422501a6f4fd4b2016?narHash=sha256-OhysviwHQz4p2HZL4g7XGMLoUbWMjkMr/ogaR3VUYNA%3D' (2024-05-18)
• Updated input 'pre-commit-hooks':
    'github:cachix/pre-commit-hooks.nix/2849da033884f54822af194400f8dff435ada242?narHash=sha256-q//cgb52vv81uOuwz1LaXElp3XAe1TqrABXODAEF6Sk%3D' (2024-04-30)
  → 'github:cachix/pre-commit-hooks.nix/fa606cccd7b0ccebe2880051208e4a0f61bfc8c1?narHash=sha256-nacSOeXtUEM77Gn0G4bTdEOeFIrkCBXiyyFZtdGwuH0%3D' (2024-05-16)
• Removed input 'pre-commit-hooks/flake-utils'
• Removed input 'pre-commit-hooks/flake-utils/systems'
2024-05-19 00:20:26 +00:00
Trial97
76a656a017 retry auth step on fail
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-18 22:44:17 +03:00
Trial97
6078a771c1 add config for transfer timeout
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-18 21:46:05 +03:00
Alexandru Ionut Tripon
5cf7466e4c Merge pull request #2404 from PrismLauncher/renovate/cachix-install-nix-action-27.x
Update cachix/install-nix-action action to v27
2024-05-18 19:49:58 +03:00
Alexandru Ionut Tripon
74c2f2599f Merge pull request #1365 from Trial97/netjob_retry
Ask user to retry if netjob fails
2024-05-18 17:54:12 +03:00
Trial97
5a598db608 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into disablemods 2024-05-18 17:40:54 +03:00
Trial97
5bd28e2cc8 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into filters 2024-05-18 17:11:41 +03:00
Trial97
e42dfbc391 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into fix_duplicate_mod 2024-05-18 17:02:10 +03:00
Trial97
477d1408ad Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into resource_size 2024-05-18 16:53:14 +03:00
Trial97
83fdfe8091 fix regression
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-18 16:52:29 +03:00
Trial97
4d21f71ccf Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into refresh_cats 2024-05-18 16:34:21 +03:00
Trial97
31d0cad377 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into demo 2024-05-18 16:24:22 +03:00
Trial97
c9c67ef79e Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into change_version 2024-05-18 15:27:02 +03:00
Trial97
d77d1f3be3 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into coremods 2024-05-18 14:44:33 +03:00
Trial97
b23b53d98d Add missing header
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-18 14:43:58 +03:00
Trial97
7a5348a179 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into feature/java-downloader 2024-05-18 14:14:31 +03:00
DioEgizio
3ba84cb844 fix: update bundled flatpak
Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2024-05-18 12:57:09 +02:00
Trial97
633489884d Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into skin_selector
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-18 13:27:31 +03:00
Alexandru Ionut Tripon
3887cfe5df Merge pull request #1525 from Trial97/waitprofiler
Add wait profiler
2024-05-18 13:17:24 +03:00
Alexandru Ionut Tripon
7b39ec5048 Merge pull request #2377 from dqfan2012/AddSdkmanToMacOs
Adding sdkman java location to MacOs
2024-05-18 13:15:57 +03:00
Trial97
ba947993c2 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into import_zip 2024-05-18 12:47:01 +03:00
Tayou
acd23ff163 Merge pull request #2402 from Trial97/refactor_auth
Improve Microsoft login
2024-05-18 11:07:16 +02:00
Alexandru Ionut Tripon
c8ff768d64 Merge pull request #1827 from Trial97/shader
fixed shader packs detection
2024-05-18 12:02:13 +03:00
Trial97
b6d87fc090 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into instance_copy_progress 2024-05-18 11:57:41 +03:00
Trial97
6aaf3a3ed4 Merge branch 'skin_selector' of github.com:Trial97/PrismLauncher into skin_selector 2024-05-18 11:57:06 +03:00
Trial97
2ac6efaa4a Fix reggresion
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-18 11:56:43 +03:00
Trial97
23134d4b72 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into skin_selector 2024-05-18 11:38:18 +03:00
Trial97
318819afc6 Made recommended button default
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-18 11:36:46 +03:00
Alexandru Ionut Tripon
eb0d0450e3 Merge pull request #2382 from Trial97/neoforge_technic
Add neoforge support for technic packs and atlauncher packs
2024-05-18 10:40:45 +03:00
Alexandru Ionut Tripon
0f2736306e Update launcher/ui/dialogs/skins/SkinManageDialog.ui
Co-authored-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2024-05-18 10:36:15 +03:00
Trial97
639c6e7f80 Add cancel to Add account dialog
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-17 00:49:00 +03:00
Trial97
78804b26ee Maybe fix nix
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-17 00:34:39 +03:00
Trial97
75a457ebfa Add custom page to land after microsoft login
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-17 00:31:04 +03:00
Trial97
ce09f06bda Fix CI3
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-16 22:16:42 +03:00
Trial97
09c0c11033 Add back device code flow
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-16 21:58:25 +03:00
Alexandru Ionut Tripon
ab5f628453 Update launcher/updater/prismupdater/PrismUpdater.cpp
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2024-05-16 19:45:43 +03:00
Alexandru Ionut Tripon
051e788683 Update launcher/updater/prismupdater/PrismUpdater.cpp
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2024-05-16 19:45:00 +03:00
Trial97
2a58fb0ac5 Remove cobrandid
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-16 17:31:25 +03:00
Trial97
c15f6fcd2a Fix portable if manifest is missing
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-16 17:21:30 +03:00
Alexandru Ionut Tripon
898ee67a07 Update launcher/ui/dialogs/MSALoginDialog.cpp
Co-authored-by: Tayou <git@tayou.org>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2024-05-16 00:41:07 +03:00
renovate[bot]
1d384544d3 chore(deps): update cachix/install-nix-action action to v27 2024-05-15 19:40:15 +00:00
Trial97
8b051b97fd Fix CI2
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-15 17:54:35 +03:00
Trial97
abedc6a23c Improve login UI
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-15 17:25:15 +03:00
Trial97
849c3faeb4 Fix CI
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-15 14:07:03 +03:00
Trial97
80d8e3ee06 Remove katabasis
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-15 12:53:06 +03:00
Trial97
c2ed50627d Added back qt version check
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-14 00:36:35 +03:00
Trial97
e285a85fe8 Removed AccountTask
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-14 00:21:51 +03:00
Trial97
3336f8107c Removed AuthRequest and NetAction
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-14 00:21:45 +03:00
Sefa Eyeoglu
93da066aa2 Merge pull request #2398 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2024-05-12 09:24:48 +02:00
github-actions[bot]
d74926e60d chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/5fd8536a9a5932d4ae8de52b7dc08d92041237fc' (2024-05-03)
  → 'github:nixos/nixpkgs/e4e7a43a9db7e22613accfeb1005cca1b2b1ee0d' (2024-05-11)
2024-05-12 00:20:20 +00:00
Trial97
d795ba25e7 Delete instaces tmp diectory on startup
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-10 20:55:26 +03:00
Alexandru Ionut Tripon
f15981d786 Merge pull request #2358 from DioEgizio/nosystem-portablewithqt
Remove prebuilt system tarballs on Linux, bundle Qt with Linux portable
2024-05-09 08:22:43 +03:00
Alexandru Ionut Tripon
c703babda9 Merge pull request #2379 from kthchew/fix/blocked-desc
Improve blocked mods dialog (permissions prompt, misc. fixes) on macOS
2024-05-09 08:17:03 +03:00
Alexandru Ionut Tripon
72e9d7b148 Merge pull request #2366 from Trial97/modrint_import2
Fix download packs with invalid characters
2024-05-09 08:16:16 +03:00
Alexandru Ionut Tripon
7bcb1777a1 Merge pull request #2341 from Trial97/image_size
Fix image width in project description
2024-05-09 08:15:35 +03:00
Alexandru Ionut Tripon
a4142573ac Merge pull request #2311 from SolidStateDj/gen->ui
Rename object name "userInterfaceTab" from "generalTab"
2024-05-09 08:15:15 +03:00
Trial97
a95c1768a7 Add neoforge support for technic packs and atlauncher packs
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-05-08 14:16:12 +03:00
Kenneth Chew
e7c95c9ccb Fix bug where watched directories are not clickable on macOS
Signed-off-by: Kenneth Chew <79120643+kthchew@users.noreply.github.com>
2024-05-07 18:57:04 -04:00
Kenneth Chew
4787141698 Improved blocked mods dialog permissions prompt
Targeted to macOS (where `~/Downloads` is considered a sensitive location that the system protects behind a prompt even from non-sandboxed apps)

Signed-off-by: Kenneth Chew <79120643+kthchew@users.noreply.github.com>
2024-05-07 18:30:06 -04:00
Samuel Stidham
adf0cfdebf Fixed the code.
Signed-off-by: Samuel Stidham <dqfan2012@gmail.com>
2024-05-05 20:01:29 -04:00
Samuel Stidham
8e0af16de9 Add extra java locations for MacOs.
Signed-off-by: Samuel Stidham <dqfan2012@gmail.com>
2024-05-05 19:53:18 -04:00
Sefa Eyeoglu
5ce8cd6b84 Merge pull request #2375 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2024-05-05 08:09:00 +02:00
github-actions[bot]
5d36ed9cf9 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'flake-parts':
    'github:hercules-ci/flake-parts/9126214d0a59633752a136528f5f3b9aa8565b7d' (2024-04-01)
  → 'github:hercules-ci/flake-parts/e5d10a24b66c3ea8f150e47dfdb0416ab7c3390e' (2024-05-02)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/d6f6eb2a984f2ba9a366c31e4d36d65465683450' (2024-04-27)
  → 'github:nixos/nixpkgs/5fd8536a9a5932d4ae8de52b7dc08d92041237fc' (2024-05-03)
• Updated input 'pre-commit-hooks':
    'github:cachix/pre-commit-hooks.nix/6fb82e44254d6a0ece014ec423cb62d92435336f' (2024-04-24)
  → 'github:cachix/pre-commit-hooks.nix/2849da033884f54822af194400f8dff435ada242' (2024-04-30)
2024-05-05 00:19:38 +00:00
SabrePenguin
0c76e7ab20 Made Regex static and const, removed dist
Signed-off-by: SabrePenguin <lknofczynski@gmail.com>
2024-05-01 13:00:55 -04:00
SabrePenguin
ce873e4a0d Regex correction
Co-authored-by: TheKodeToad <TheKodeToad@proton.me>
Signed-off-by: SabrePenguin <147069705+SabrePenguin@users.noreply.github.com>
2024-05-01 12:49:34 -04:00
SabrePenguin
814f84efab Fixed more clang formatting
Signed-off-by: SabrePenguin <lknofczynski@gmail.com>
2024-05-01 00:21:32 -04:00
SabrePenguin
51f4ede797 Fixing CI format issues
Signed-off-by: SabrePenguin <lknofczynski@gmail.com>
2024-05-01 00:11:53 -04:00
SabrePenguin
b9c010ffb2 Added patch to all setHtml calls
Signed-off-by: SabrePenguin <lknofczynski@gmail.com>
2024-04-30 23:43:36 -04:00
SabrePenguin
e3d64608b9 Switched </ul> to a Regex expression
Signed-off-by: SabrePenguin <lknofczynski@gmail.com>
2024-04-30 23:28:50 -04:00
SabrePenguin
cec27fd014 Moved html patch to StringUtils
Signed-off-by: SabrePenguin <lknofczynski@gmail.com>
2024-04-30 23:14:26 -04:00
Trial97
30ce8ecb5f Fixed imports
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-04-30 23:20:24 +03:00
Trial97
5400c24c73 Ensure valid file names for resource names
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-04-30 23:04:50 +03:00
Trial97
e068120375 Fix invalid characters filename download on windows
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-04-30 22:56:40 +03:00
Trial97
48f3ca56ba Fixed NetRequest not failing on sink init
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-04-30 22:38:01 +03:00
Sefa Eyeoglu
bfac12604e Merge pull request #2348 from TheKodeToad/single-click-hint 2024-04-30 07:55:48 +02:00
Sefa Eyeoglu
4dddf62e5e Merge pull request #2345 from Jan200101/PR/ssdfixmegamescope 2024-04-30 07:54:17 +02:00
Sefa Eyeoglu
603d196dac Merge pull request #2292 from ColonelGerdauf/develop 2024-04-30 07:53:32 +02:00
TheKodeToad
d2568333ed Merge pull request #2048 from erikLundstedt/develop
fix a minor spelling error in Mod.cpp
2024-04-29 18:22:22 +01:00
Alexandru Ionut Tripon
9b70606d7e Merge pull request #2353 from Trial97/fix_curseforge4
Fix CurseForge export caused by utf8 enabled
2024-04-29 19:30:01 +03:00
DioEgizio
cb9a83320c chore: make Qt 5 Linux use official Qt builds
Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2024-04-29 15:51:31 +02:00
DioEgizio
be8ac0b5bb fix: make portable builds bundle Qt
Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2024-04-29 15:08:10 +02:00
Trial97
a5b059ebad Fixed curseforge export
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-04-29 00:27:15 +03:00
Sefa Eyeoglu
23a38b19f2 Merge pull request #2351 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2024-04-28 10:42:34 +02:00
github-actions[bot]
890fd0b09c chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/fd16bb6d3bcca96039b11aa52038fafeb6e4f4be' (2024-04-20)
  → 'github:nixos/nixpkgs/d6f6eb2a984f2ba9a366c31e4d36d65465683450' (2024-04-27)
• Updated input 'pre-commit-hooks':
    'github:cachix/pre-commit-hooks.nix/40e6053ecb65fcbf12863338a6dcefb3f55f1bf8' (2024-04-12)
  → 'github:cachix/pre-commit-hooks.nix/6fb82e44254d6a0ece014ec423cb62d92435336f' (2024-04-24)
2024-04-28 00:20:12 +00:00
Alexandru Ionut Tripon
c14e6a67a8 Merge pull request #2349 from PrismLauncher/renovate/hendrikmuhs-ccache-action-1.x
chore(deps): update hendrikmuhs/ccache-action action to v1.2.13
2024-04-27 13:11:07 +03:00
DioEgizio
ccf0b01de7 chore!: make install_bundle work on linux, removed prebuilt tarballs
Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2024-04-27 11:06:08 +02:00
renovate[bot]
46b291d02e chore(deps): update hendrikmuhs/ccache-action action to v1.2.13 2024-04-27 07:16:54 +00:00
SabrePenguin
5348a90a15 Fix img tag allowing img....
Co-authored-by: TheKodeToad <TheKodeToad@proton.me>
Signed-off-by: SabrePenguin <147069705+SabrePenguin@users.noreply.github.com>
2024-04-26 18:21:17 -04:00
TheKodeToad
e3f55f6865 Use proxy style to force ActivateItemOnSingleClick off
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-04-26 22:08:45 +01:00
SabrePenguin
a988415028 Pleasing the format check
Co-authored-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
Signed-off-by: SabrePenguin <147069705+SabrePenguin@users.noreply.github.com>
2024-04-26 16:59:51 -04:00
SabrePenguin
6ecd2c7f31 Update launcher/Markdown.cpp
Co-authored-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
Signed-off-by: SabrePenguin <147069705+SabrePenguin@users.noreply.github.com>
2024-04-26 16:51:23 -04:00
Alexandru Ionut Tripon
3c9a207192 Update launcher/ui/widgets/VariableSizedImageObject.cpp
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2024-04-26 22:04:50 +03:00
TheKodeToad
60bd8104c4 Merge remote-tracking branch 'upstream/develop' into resource-meta
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-04-26 01:53:51 +01:00
TheKodeToad
9ce10231ed Remove redundant event handler
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-04-26 01:44:43 +01:00
TheKodeToad
803e26a401 Make actions more consistent
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-04-26 01:40:18 +01:00
Trial97
e1ed317c13 Updated CheckComboBox to look more like QComboBox
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-04-26 00:16:48 +03:00
SabrePenguin
2cfe482298 Formatting and fixed img_pos allowed as negative
Signed-off-by: SabrePenguin <lknofczynski@gmail.com>
2024-04-25 16:38:14 -04:00
SabrePenguin
dedea2c05d Added a naive implementation of a <br> inserter
Signed-off-by: SabrePenguin <lknofczynski@gmail.com>
2024-04-25 16:38:14 -04:00
Jan200101
a30c7193a2 remove server side decorations FIXME and document why its needed
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
2024-04-25 17:00:03 +02:00
Trial97
1961e2081f Removed scroll from version checkbox
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-04-25 00:48:40 +03:00
Trial97
e07e182e95 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into filters 2024-04-24 23:51:43 +03:00
Trial97
e33ddbadd2 Merge branch 'filters' of github.com:Trial97/PrismLauncher into filters 2024-04-24 23:51:33 +03:00
Alexandru Ionut Tripon
be15abda90 Merge pull request #2 from TheKodeToad/better-filters
Rework filter widget
2024-04-24 23:52:08 +03:00
Trial97
c902da4461 Fix image width in project description
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-04-24 22:02:55 +03:00
Sefa Eyeoglu
e777201187 Merge pull request #2337 from Trial97/java_path 2024-04-24 17:46:08 +02:00
Trial97
5ae98f4f90 Fixed windows bundled java path
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-04-24 15:49:05 +03:00
Trial97
3a4f82ffd1 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into import_zip
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-04-24 00:21:39 +03:00
TheKodeToad
f6f0f3b08d Merge pull request #2333 from Trial97/fix_bundled_java_mac
Fix Minecraft Launcher runtime detection on Windows and macOS
2024-04-23 17:19:37 +01:00
Trial97
10d1720da5 Removed duplicate local
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-04-23 19:08:14 +03:00
Trial97
73c3794c1b Changed env variable
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-04-23 19:03:19 +03:00
Trial97
dac7027846 Fixed windows appdata path
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-04-23 18:59:31 +03:00
Trial97
dbfd535b38 Fix bundled java detection on mac
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-04-23 08:52:17 +03:00
Tayou
5eeb3b7768 Merge pull request #2328 from Trial97/appimage
Removed java from appimage
2024-04-22 22:51:57 +02:00
Tayou
8e8877cf8c Merge pull request #2327 from wagyourtail/patch-1
Add Gradle Toolchains to java scan list
2024-04-21 19:45:02 +02:00
Trial97
1c8d333bfd Fixed build
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-04-21 15:07:10 +03:00
Trial97
a96f957b02 Removed java from appimage
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-04-21 14:48:27 +03:00
William Gray
9f4654ede9 Update JavaUtils.cpp
Signed-off-by: William Gray <ruwagray@gmail.com>
2024-04-21 03:35:27 -05:00
Sefa Eyeoglu
de5de6f88f Merge pull request #2325 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2024-04-21 09:49:14 +02:00
github-actions[bot]
210841606c chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/a0c9e3aee1000ac2bfb0e5b98c94c946a5d180a9' (2024-04-12)
  → 'github:nixos/nixpkgs/fd16bb6d3bcca96039b11aa52038fafeb6e4f4be' (2024-04-20)
2024-04-21 00:19:37 +00:00
Trial97
89230c4f8a Moved the export modlist out of the sub-menu
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-04-20 18:01:25 +03:00
Trial97
d88fb266a5 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into move_export2 2024-04-20 17:42:58 +03:00
Sefa Eyeoglu
d185f6b856 Merge pull request #2319 from TheKodeToad/neoforge-mods-toml
Support mod info for NeoForge 20.5
2024-04-20 09:49:47 +02:00
TheKodeToad
252406ba3e Support neoforge.mods.toml
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-04-19 21:19:36 +01:00
Alexandru Ionut Tripon
a8a234b666 Merge pull request #2294 from Trial97/import_crash
Fixed application close on open file dialog
2024-04-19 00:12:47 +03:00
Alexandru Ionut Tripon
0cae155380 Merge pull request #2304 from Trial97/modrint_import
Fixed modrinth pack update
2024-04-18 23:42:07 +03:00
DylanJOrr
77aead6470 Rename object name "userInterfaceTab" from "generalTab"
The "User Interface" tab was innacurately named "General" which I just
went in and fixed.

This also renamed the object for respective vertical spacers.

Signed-off-by: SolidStateDj <solidstatedj@proton.me>
2024-04-16 16:01:34 -04:00
seth
ef230b7ae4 Merge pull request #2305 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2024-04-15 18:24:42 +00:00
github-actions[bot]
cb8936ed68 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/9e7f26f82acb057498335362905fde6fea4ca50a' (2024-04-06)
  → 'github:nixos/nixpkgs/a0c9e3aee1000ac2bfb0e5b98c94c946a5d180a9' (2024-04-12)
• Updated input 'pre-commit-hooks':
    'github:cachix/pre-commit-hooks.nix/e35aed5fda3cc79f88ed7f1795021e559582093a' (2024-04-02)
  → 'github:cachix/pre-commit-hooks.nix/40e6053ecb65fcbf12863338a6dcefb3f55f1bf8' (2024-04-12)
2024-04-14 00:21:24 +00:00
Trial97
8121a6536b Fixed pack update
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-04-12 23:45:31 +03:00
Trial97
9f48694eb2 Fixed application close on open file dialog
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-04-09 08:28:09 +03:00
Alexandru Ionut Tripon
1a994e8aed Merge pull request #2291 from Trial97/import_crash
Fixed crash on invalid curseforge link on import
2024-04-09 00:19:55 +03:00
ColonelGerdauf
a877f9146d Change of parameters
To help deal with adjustments

Signed-off-by: ColonelGerdauf <ColonelGerdauf@users.noreply.github.com>
2024-04-07 16:53:53 -04:00
ColonelGerdauf
f91f97e56d Renaming and removing redundancies
old's do not make sense here

Signed-off-by: ColonelGerdauf <ColonelGerdauf@users.noreply.github.com>
2024-04-07 16:49:39 -04:00
Trial97
9cc58fe62c Fixed crash on invalid curseforge link on import
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-04-07 21:25:08 +03:00
Trial97
1c3c9d2457 Added the new ftb settings path
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-04-07 13:48:34 +03:00
Sefa Eyeoglu
70f7e0878e Merge pull request #2287 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2024-04-07 10:49:43 +02:00
github-actions[bot]
74fcfbae32 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'flake-parts':
    'github:hercules-ci/flake-parts/f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2' (2024-03-01)
  → 'github:hercules-ci/flake-parts/9126214d0a59633752a136528f5f3b9aa8565b7d' (2024-04-01)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/807c549feabce7eddbf259dbdcec9e0600a0660d' (2024-03-29)
  → 'github:nixos/nixpkgs/9e7f26f82acb057498335362905fde6fea4ca50a' (2024-04-06)
• Updated input 'pre-commit-hooks':
    'github:cachix/pre-commit-hooks.nix/c11e43aed6f17336c25cd120eac886b96c455731' (2024-03-30)
  → 'github:cachix/pre-commit-hooks.nix/e35aed5fda3cc79f88ed7f1795021e559582093a' (2024-04-02)
2024-04-07 00:20:19 +00:00
timoreo
5bc415d512 Merge pull request #2225 from TheKodeToad/zip-utf8 2024-04-06 14:43:35 +02:00
Alexandru Ionut Tripon
a88cc2133c Merge pull request #2277 from TheKodeToad/invalid-zip-files
Fix unicode characters being invalid in filenames
2024-04-06 15:41:51 +03:00
timoreo
9323dcb9dc Merge pull request #2247 from Trial97/names 2024-04-06 14:35:06 +02:00
TheKodeToad
9986fe4c45 Fix unicode characters being invalid in filenames
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-04-06 13:33:13 +01:00
timoreo
363273a17b Merge pull request #2275 from TheKodeToad/invalid-zip-files 2024-04-06 14:18:13 +02:00
TheKodeToad
8056a2fa46 Replace invalid characters when extracting ZIP
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-04-05 23:31:18 +01:00
Alexandru Ionut Tripon
44ea8cd885 Merge pull request #2268 from Scrumplex/fix/nix/jdk21
[Linux] Add jdk21 to Nix packages
2024-04-04 20:38:35 +03:00
TheKodeToad
df209c7b44 Merge pull request #2272 from DioEgizio/flatpakupdate
fix: update flatpak manifest for java 21
2024-04-04 17:38:07 +01:00
DioEgizio
e704fbbcec fix: update flatpak manifest for java 21
backport of https://github.com/flathub/org.prismlauncher.PrismLauncher/pull/54 for our CI builds

Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2024-04-04 17:53:30 +02:00
Trial97
3ddcadcdd1 Moved getPathNameInLocal8bit inside FileSystem namespace
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-04-04 18:01:24 +03:00
Trial97
8ecab305ac Moved the creation of natives folder in ExtractNatives task
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-04-04 13:49:27 +03:00
Sefa Eyeoglu
0d372d2fbf fix(nix): add jdk21
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2024-04-03 21:04:26 +02:00
Trial97
450b73328e Fixed crash on non-latin instance name
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-04-03 19:34:35 +03:00
Sefa Eyeoglu
90097f1309 Merge pull request #2263 from DioEgizio/update-qt670 2024-04-02 21:49:35 +02:00
DioEgizio
5f11b2e77f chore: update to Qt 6.7.0
Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2024-04-02 19:10:40 +02:00
TheKodeToad
186a6d0c52 Make filters vertical
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-04-01 17:00:10 +01:00
TheKodeToad
71904b52c1 Make option groups plural
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-04-01 15:31:18 +01:00
TheKodeToad
71998cb7d9 Rework filter widget
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-04-01 15:22:27 +01:00
Trial97
a0eba1ace6 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into filters 2024-03-31 21:15:49 +03:00
Sefa Eyeoglu
a2d28f6872 Merge pull request #2257 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2024-03-31 11:23:57 +02:00
github-actions[bot]
f1351a143e chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/20bc93ca7b2158ebc99b8cef987a2173a81cde35' (2024-03-23)
  → 'github:nixos/nixpkgs/807c549feabce7eddbf259dbdcec9e0600a0660d' (2024-03-29)
• Updated input 'pre-commit-hooks':
    'github:cachix/pre-commit-hooks.nix/e611897ddfdde3ed3eaac4758635d7177ff78673' (2024-03-20)
  → 'github:cachix/pre-commit-hooks.nix/c11e43aed6f17336c25cd120eac886b96c455731' (2024-03-30)
2024-03-31 00:20:10 +00:00
Alexandru Ionut Tripon
b7835036d4 Merge pull request #2255 from PrismLauncher/renovate/korthout-backport-action-2.x
chore(deps): update korthout/backport-action action to v2.5.0
2024-03-30 13:03:21 +02:00
renovate[bot]
e6a9badb73 chore(deps): update korthout/backport-action action to v2.5.0 2024-03-30 10:42:48 +00:00
Trial97
28cfd31269 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into disablemods
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-03-29 10:30:42 +02:00
Trial97
1930689a27 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into dependency_removal
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-03-29 10:12:02 +02:00
Trial97
81874f22f7 Fixed tar extract
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-03-29 00:10:59 +02:00
Trial97
45028ddc61 Added java downloader to CI build
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-03-28 14:58:05 +02:00
Alexandru Ionut Tripon
2012b2c243 Merge pull request #1977 from Trial97/resource_clear
Force clear the resource selection
2024-03-28 14:49:03 +02:00
Alexandru Ionut Tripon
b3abc052b5 Merge pull request #1529 from Trial97/portabledatadir
Added UserData as another posible path for portable builds
2024-03-28 14:48:34 +02:00
Alexandru Ionut Tripon
6b967d3f76 Merge pull request #1822 from Trial97/new_cats
Add random and slideshow modes to Catpacks
2024-03-28 14:48:18 +02:00
timoreo
e4742fdb3d Merge pull request #2221 from Trial97/fix_curseforge3
Set Forge version correctly when exporting to CurseForge
2024-03-28 09:41:11 +01:00
Tayou
0f178270be Merge pull request #1786 from Trial97/deps_improve
Make dependency checking more lax
2024-03-27 20:42:26 +01:00
Alexandru Ionut Tripon
93f6315b16 Update CMakeLists.txt
Co-authored-by: seth <getchoo@tuta.io>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2024-03-27 19:34:04 +02:00
Tayou
0e5727315b Merge pull request #2243 from Trial97/quick-play2
Allow joining servers to work on 1.20 take 2
2024-03-27 18:20:22 +01:00
Trial97
f6572c1244 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into shader 2024-03-27 18:55:34 +02:00
Alexandru Ionut Tripon
e212c019a0 Merge pull request #2209 from chouzz/add-totalPlayTime-ftb-import
Add totalTimePlayed for FTBApp import
2024-03-27 16:20:21 +02:00
Alexandru Ionut Tripon
ccf3a1582d Merge pull request #2231 from DioEgizio/bzip2-fix
fix: include libbz2.so.1.0
2024-03-27 16:19:53 +02:00
Alexandru Ionut Tripon
5117b21262 Merge pull request #1769 from Trial97/error_codes
added more microsoft error codes
2024-03-27 16:19:31 +02:00
Sefa Eyeoglu
5d72ee1c4f Merge pull request #1837 from Trial97/import_ok 2024-03-27 10:50:58 +01:00
Trial97
765bdf67c9 Changed the trait name
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-03-27 00:56:12 +02:00
Trial97
23bdccc91d Merge branch 'develop' of github.com:Trial97/PrismLauncher into quick-play 2024-03-26 23:58:56 +02:00
Sefa Eyeoglu
df0280f52b Merge pull request #2237 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2024-03-24 09:35:07 +01:00
github-actions[bot]
3a833b659a chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/9af9c1c87ed3e3ed271934cb896e0cdd33dae212' (2024-03-15)
  → 'github:nixos/nixpkgs/20bc93ca7b2158ebc99b8cef987a2173a81cde35' (2024-03-23)
• Updated input 'pre-commit-hooks':
    'github:cachix/pre-commit-hooks.nix/5df5a70ad7575f6601d91f0efec95dd9bc619431' (2024-02-15)
  → 'github:cachix/pre-commit-hooks.nix/e611897ddfdde3ed3eaac4758635d7177ff78673' (2024-03-20)
• Updated input 'pre-commit-hooks/flake-utils':
    'github:numtide/flake-utils/4022d587cbbfd70fe950c1e2083a02621806a725' (2023-12-04)
  → 'github:numtide/flake-utils/b1d9ab70662946ef0850d488da1c9019f3a9752a' (2024-03-11)
• Updated input 'pre-commit-hooks/gitignore':
    'github:hercules-ci/gitignore.nix/43e1aa1308018f37118e34d3a9cb4f5e75dc11d5' (2023-12-29)
  → 'github:hercules-ci/gitignore.nix/637db329424fd7e46cf4185293b9cc8c88c95394' (2024-02-28)
2024-03-24 00:19:57 +00:00
Trial97
3c12e27226 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into filters 2024-03-23 23:53:25 +02:00
Trial97
c0754b80a2 Add resize to last column
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-03-22 22:17:58 +02:00
Trial97
0b87e4c03b Fiexed codeql warning
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-03-22 12:29:15 +02:00
Trial97
a7029a9e53 Fixed qMin
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-03-21 20:01:40 +02:00
Trial97
3046822272 Fixed buid
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-03-21 19:53:52 +02:00
Trial97
1a6dfd04d6 Made tar.gz parser
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-03-21 19:46:57 +02:00
DioEgizio
37d348e60e fix: include libbz2.so.1.0
fixes portable installs not working on fedora anymore

i did this only on portable builds and not system installs so that it doesn't create problems to people packaging them, as to fix system installs i would have to put it in bin/

Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2024-03-21 10:39:12 +01:00
txtsd
794a60b684 Merge pull request #2224 from PrismLauncher/renovate/actions-cache-4.x
chore(deps): update actions/cache action to v4.0.2
2024-03-21 05:51:22 +00:00
Trial97
ab7fc2e46c Fixed archive java download
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-03-21 00:42:04 +02:00
Alexandru Ionut Tripon
93f19bda6e Update launcher/minecraft/auth/steps/XboxAuthorizationStep.cpp
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2024-03-21 00:07:06 +02:00
Trial97
1c809f0fb1 Added more logs for auto java install
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-03-20 17:39:10 +02:00
Trial97
703470e57d Hopefully fix codeql
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-03-20 08:24:40 +02:00
Trial97
5f8269f5e1 Small class rename
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-03-20 00:29:46 +02:00
Trial97
09c2c6793b Improve UI
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-03-20 00:15:02 +02:00
TheKodeToad
d72bd70c05 Use UTF-8 for ZIP creation
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-03-19 20:34:55 +00:00
renovate[bot]
7ffebcad72 chore(deps): update actions/cache action to v4.0.2 2024-03-19 17:41:32 +00:00
Trial97
ef4e5eb3cf fixed java build option
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-03-18 19:15:36 +02:00
Trial97
1322277ae6 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into feature/java-downloader 2024-03-17 20:57:53 +02:00
Trial97
05487152fe Fixed curesforge export
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-03-17 20:53:26 +02:00
Sefa Eyeoglu
46616d1c5d Merge pull request #2219 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2024-03-17 09:33:55 +01:00
github-actions[bot]
95c3daca59 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/0e7f98a5f30166cbed344569426850b21e4091d4' (2024-03-09)
  → 'github:nixos/nixpkgs/9af9c1c87ed3e3ed271934cb896e0cdd33dae212' (2024-03-15)
2024-03-17 00:19:13 +00:00
Sefa Eyeoglu
e288ee6ddd Merge pull request #2217 from AtomHare/develop 2024-03-16 13:04:18 +01:00
AtomHare
853e4a13ab fix: Compressing typo
Signed-off-by: AtomHare <29772841+AtomHare@users.noreply.github.com>
2024-03-16 12:44:55 +01:00
Sefa Eyeoglu
3b0564f098 Merge pull request #2183 from PrismLauncher/update_flake_lock_action 2024-03-10 02:45:42 +01:00
github-actions[bot]
75628bf81e chore(nix): update lockfile
Flake lock file updates:

• Updated input 'flake-parts':
    'github:hercules-ci/flake-parts/b253292d9c0a5ead9bc98c4e9a26c6312e27d69f' (2024-02-01)
  → 'github:hercules-ci/flake-parts/f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2' (2024-03-01)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/f63ce824cd2f036216eb5f637dfef31e1a03ee89' (2024-02-24)
  → 'github:nixos/nixpkgs/0e7f98a5f30166cbed344569426850b21e4091d4' (2024-03-09)
2024-03-10 00:19:11 +00:00
chouzz
92113e233a Add totalTimePlayed for FTBApp import
Signed-off-by: chouzz <zhouhua852@gmail.com>
2024-03-09 19:36:40 +08:00
Sefa Eyeoglu
51443fce8b Merge pull request #2206 from PrismLauncher/renovate/softprops-action-gh-release-2.x 2024-03-08 22:41:23 +01:00
renovate[bot]
03def913ad chore(deps): update softprops/action-gh-release action to v2 2024-03-08 21:26:24 +00:00
Alexandru Ionut Tripon
634ab279b0 Merge pull request #2204 from PrismLauncher/renovate/cachix-install-nix-action-26.x
chore(deps): update cachix/install-nix-action action to v26
2024-03-08 10:08:00 +02:00
renovate[bot]
6591379a8a chore(deps): update cachix/install-nix-action action to v26 2024-03-08 07:47:18 +00:00
Trial97
9120848278 Made java downloader as a build option
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-03-06 19:33:14 +02:00
Alexandru Ionut Tripon
a0311780c1 Merge pull request #1866 from Trial97/supported_files
Added all supported files filter
2024-03-06 17:21:56 +02:00
TheKodeToad
27780cc7ae Add update UI for all resource types
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-03-06 14:56:04 +00:00
Alexandru Ionut Tripon
fd9a4eed9e Merge pull request #2196 from DioEgizio/bump-9.0
chore: bump develop to 9.0
2024-03-04 17:45:22 +02:00
DioEgizio
d6abcb73c5 chore: bump develop to 9.0
until it's too late lol

Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2024-03-04 16:32:45 +01:00
Tayou
1627f3c63b Merge pull request #2178 from TheKodeToad/mrpack-fixes
(More) mrpack fixes
2024-03-03 16:30:40 +01:00
Sefa Eyeoglu
0dc2bf2681 Merge pull request #2160 from TheKodeToad/temp_folder 2024-03-03 15:06:52 +01:00
txtsd
ad8c3ca54b Merge pull request #2177 from PrismLauncher/renovate/actions-cache-4.x
chore(deps): update actions/cache action to v4.0.1
2024-03-03 07:52:47 +00:00
TheKodeToad
4101fbb634 Allow multiline description
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-03-01 01:05:03 +00:00
TheKodeToad
138df66355 Fix server side mods being marked as unsupported on client
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-03-01 00:03:20 +00:00
renovate[bot]
e1146455a3 chore(deps): update actions/cache action to v4.0.1 2024-02-29 23:16:59 +00:00
Sefa Eyeoglu
850e48ec67 Merge pull request #2176 from PrismLauncher/renovate/determinatesystems-update-flake-lock-21.x 2024-02-29 19:06:29 +01:00
renovate[bot]
322a8899ed chore(deps): update determinatesystems/update-flake-lock action to v21 2024-02-29 17:19:39 +00:00
Trial97
41d52dc347 Remove dependencies if review mods is rejected
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-02-29 00:06:28 +02:00
Trial97
27e76d0dcb Removed static path
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-02-27 17:11:19 +02:00
Trial97
24fd07861b format code
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-02-26 22:25:14 +02:00
Alexandru Ionut Tripon
da96172b0b Apply suggestions from code review
Co-authored-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2024-02-26 22:00:40 +02:00
Trial97
344398f238 Updated ftb app import instance detection
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-02-26 21:20:14 +02:00
Alexandru Ionut Tripon
fba2ce3c9f Merge pull request #2161 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2024-02-25 12:46:12 +02:00
github-actions[bot]
1b89c63ad4 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/6e2f00c83911461438301db0dba5281197fe4b3a' (2024-02-17)
  → 'github:nixos/nixpkgs/f63ce824cd2f036216eb5f637dfef31e1a03ee89' (2024-02-24)
2024-02-25 00:18:54 +00:00
TheKodeToad
c0eb80947d Fix build on Windows and formatting
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-02-24 21:50:51 +00:00
TheKodeToad
fccf857d8e Fix a mistake
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-02-24 19:16:39 +00:00
TheKodeToad
bd0cd82826 Add upper-bound for randomisation
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-02-24 18:41:45 +00:00
TheKodeToad
df60f5cc96 Add error when staging folder could not be created
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-02-24 18:41:35 +00:00
TheKodeToad
9574ebe480 Delete staging on abort
Previously instances would get "stuck" in the folder

Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-02-24 18:41:35 +00:00
TheKodeToad
6a9f5540d3 Re-randomise key until it does not collide
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-02-24 13:38:19 +00:00
Trial97
aac6fea724 Updated application manifest
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-02-22 20:34:34 +02:00
Trial97
726b0ffb3b Reduced temporary instance folder name
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-02-22 19:40:24 +02:00
Sefa Eyeoglu
1cdb9bd5af Merge pull request #2141 from crpz1/welcome_label_consistency 2024-02-22 12:36:00 +01:00
seth
02340f19a5 Merge pull request #2152 from PrismLauncher/getchoo-patch-1
ci: fix permissions for backport workflow
2024-02-22 06:15:57 -05:00
seth
f747ae949c ci: fix permissions for backport workflow
Signed-off-by: seth <getchoo@tuta.io>
2024-02-22 06:13:27 -05:00
Sefa Eyeoglu
bff8d7220d Merge pull request #2150 from DioEgizio/fix-ghactions-macos 2024-02-22 11:02:09 +01:00
DioEgizio
4421746c0e fix: fix sparkle signing
Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2024-02-22 10:00:21 +01:00
DioEgizio
01c4e6a65c Merge pull request #2137 from DioEgizio/zink 2024-02-21 17:42:11 +01:00
crpz1
9aa81cf005 Use empty list label code for welcome screen
Signed-off-by: crpz1 <8588315+crpz1@users.noreply.github.com>
2024-02-20 00:21:37 +11:00
Trial97
1c96ae5807 Fixed java refresh button
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-02-18 22:32:54 +02:00
Trial97
889f604a41 Removed JavaExtraSearchPaths
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-02-18 21:38:31 +02:00
Trial97
a288779790 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into feature/java-downloader 2024-02-18 16:49:35 +02:00
Trial97
038d3e4596 Fixed asan complains
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-02-18 16:49:10 +02:00
DioEgizio
44327980db feat: add "use zink" button
Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2024-02-18 13:30:55 +01:00
Trial97
b4f3a969b3 Updated strings that are displayed to user
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-02-18 14:30:38 +02:00
DioEgizio
99cbb5d0b2 Merge pull request #2110 from Trial97/fix_curseforge 2024-02-18 12:42:09 +01:00
DioEgizio
dbdd96edc3 Merge pull request #2130 from DioEgizio/updates 2024-02-18 12:41:49 +01:00
Trial97
4aafa98852 Improved the message boxes for java wizzard
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-02-18 12:58:34 +02:00
Trial97
2f489d1aec Added auto java options to the java wizzard page
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-02-18 11:34:54 +02:00
Sefa Eyeoglu
976f5f10cf Merge pull request #2132 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2024-02-18 09:38:24 +01:00
Trial97
4c76f7afe0 Made auto java checkbox dependent
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-02-18 09:46:44 +02:00
Trial97
a7dad96a70 Added refresh button on managed java list
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-02-18 09:32:31 +02:00
github-actions[bot]
54bfbe562e chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/442d407992384ed9c0e6d352de75b69079904e4e' (2024-02-09)
  → 'github:nixos/nixpkgs/6e2f00c83911461438301db0dba5281197fe4b3a' (2024-02-17)
• Updated input 'pre-commit-hooks':
    'github:cachix/pre-commit-hooks.nix/0db2e67ee49910adfa13010e7f012149660af7f0' (2024-02-07)
  → 'github:cachix/pre-commit-hooks.nix/5df5a70ad7575f6601d91f0efec95dd9bc619431' (2024-02-15)
2024-02-18 00:18:59 +00:00
Trial97
5232b3cd89 Added some logs and fixed natives extraction
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-02-17 12:17:00 +02:00
Trial97
ea2adf909d Added progeess dialog to autodownload java
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-02-17 11:14:32 +02:00
seth
599a08d309 Merge pull request #2126 from TheComputerGuy96/mr/mangohud-fix
Use absolute path to load MangoHUD library
2024-02-16 19:57:12 -05:00
Trial97
2941307581 Added basic java auto-detect and auto-download
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-02-16 23:42:39 +02:00
DioEgizio
25b69b4c0d fix: fix sparkle hash
:/ oops

Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2024-02-16 17:29:49 +01:00
DioEgizio
94b48e9702 fix: remove cmark_static
cmark 0.31 removed CMARK_STATIC/CMARK_SHARED and replaced it with the native cmake BUILD_SHARED_LIBS

Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2024-02-16 17:06:28 +01:00
DioEgizio
5d36067c74 chore: update libraries
updated qt to 6.6.2
updated some submodules
updated sparkle framework to the latest version

Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2024-02-16 16:21:53 +01:00
Echo J
01180c20e1 Use absolute path to load MangoHUD library
This should finally fix the Arch Linux Java symbol issue with MangoHUD
enabled: https://bugs.archlinux.org/task/77183

Signed-off-by: Echo J <tcg96nougat@gmail.com>
2024-02-14 10:11:49 +02:00
Sefa Eyeoglu
e738b78044 Merge pull request #2112 from TheKodeToad/log-performance 2024-02-13 09:15:47 +01:00
Sefa Eyeoglu
b02eef9358 Merge pull request #2116 from TheKodeToad/use-after-free 2024-02-13 09:14:34 +01:00
TheKodeToad
8cf2a04f31 Fix formatting issues
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-02-12 15:24:56 +00:00
TheKodeToad
7f4c74ffbe Fix immediate free in Exception.h
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-02-11 22:16:03 +00:00
Trial97
fdaaee64d1 Fixed curseforge neoforge export for 1.20.1
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-02-11 21:49:28 +02:00
TheKodeToad
ff989b4305 Fix ResourceModel error display
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-02-11 15:43:36 +00:00
TheKodeToad
ded77e6183 Fix NetJob use-after-free
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-02-11 15:43:36 +00:00
Sefa Eyeoglu
b0b77c2178 Merge pull request #2114 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2024-02-11 09:57:06 +01:00
github-actions[bot]
0f254c8425 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/79a13f1437e149dc7be2d1290c74d378dad60814' (2024-02-03)
  → 'github:nixos/nixpkgs/442d407992384ed9c0e6d352de75b69079904e4e' (2024-02-09)
• Updated input 'pre-commit-hooks':
    'github:cachix/pre-commit-hooks.nix/7c54e08a689b53c8a1e5d70169f2ec9e2a68ffaf' (2024-01-28)
  → 'github:cachix/pre-commit-hooks.nix/0db2e67ee49910adfa13010e7f012149660af7f0' (2024-02-07)
2024-02-11 00:19:31 +00:00
Alexandru Ionut Tripon
29bf6cc68c Update launcher/modplatform/flame/FlameInstanceCreationTask.cpp
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2024-02-10 23:15:26 +02:00
Trial97
830ce246e1 Fixed curseforge neoforge import for 1.20.1 versions
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-02-10 13:48:02 +02:00
Trial97
f3600972a0 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into instance_copy_progress
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-02-10 11:09:45 +02:00
Trial97
031a9f4738 Replaced QFile::remove with FS::deletePath
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-02-10 11:03:51 +02:00
Trial97
5099061a5c Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into import_zip
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-02-10 11:02:29 +02:00
Trial97
c0fb053ccc Added warning for x86 java
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-02-09 23:14:49 +02:00
Trial97
27d662e642 Added management for downloaded javas from prism
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-02-09 22:47:39 +02:00
Trial97
0a3303bcbd Added button to add extra java path to the Java Wizzard
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-02-09 21:07:12 +02:00
Trial97
379f1a70e9 Leave headers alone
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-02-08 22:37:57 +02:00
Trial97
b3fc07d444 Added extra java search paths
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-02-08 21:47:59 +02:00
Trial97
3d29da916d Made Java path configurable
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-02-08 20:15:19 +02:00
Trial97
ba990e075b Added JavaPath function
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-02-08 19:45:46 +02:00
TheKodeToad
7cac8ad2b4 Use QTextFragment for inserting log lines
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-02-06 20:42:18 +00:00
Sefa Eyeoglu
6935c0dc3b Merge pull request #2089 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2024-02-04 10:01:20 +01:00
github-actions[bot]
15670cc27b chore(nix): update lockfile
Flake lock file updates:

• Updated input 'flake-parts':
    'github:hercules-ci/flake-parts/07f6395285469419cf9d078f59b5b49993198c00' (2024-01-11)
  → 'github:hercules-ci/flake-parts/b253292d9c0a5ead9bc98c4e9a26c6312e27d69f' (2024-02-01)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/4fddc9be4eaf195d631333908f2a454b03628ee5' (2024-01-25)
  → 'github:nixos/nixpkgs/79a13f1437e149dc7be2d1290c74d378dad60814' (2024-02-03)
• Updated input 'pre-commit-hooks':
    'github:cachix/pre-commit-hooks.nix/f56597d53fd174f796b5a7d3ee0b494f9e2285cc' (2024-01-20)
  → 'github:cachix/pre-commit-hooks.nix/7c54e08a689b53c8a1e5d70169f2ec9e2a68ffaf' (2024-01-28)
2024-02-04 00:19:10 +00:00
Trial97
82b15268bc preparing java autodownload
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-02-03 00:11:05 +02:00
Trial97
0384e652fb Finished up the download dialog
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-02-02 22:42:42 +02:00
Trial97
3c58fb0677 Moving files around
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-02-02 15:51:32 +02:00
Tayou
5d223f6f93 Merge pull request #2050 from TheKodeToad/default-game-dir
Use `minecraft` instead of `.minecraft` for better accessibility
2024-02-01 18:16:14 +01:00
Trial97
6c5bb3817b Cleaned some code
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-01-31 18:07:28 +02:00
Trial97
5afe75e821 Fixed some codeql warnings
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-01-30 12:37:34 +02:00
seth
b0a473a5ce Merge pull request #2073 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2024-01-27 23:34:12 -05:00
github-actions[bot]
901cc4e4dd chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/e5d1c87f5813afde2dda384ac807c57a105721cc' (2024-01-19)
  → 'github:nixos/nixpkgs/4fddc9be4eaf195d631333908f2a454b03628ee5' (2024-01-25)
2024-01-28 00:19:08 +00:00
Trial97
7317105e4d Code spaghetti and more chaos
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-01-27 22:47:28 +02:00
Trial97
b54410b48c Added gameVersion for curseforge mod packs
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-01-26 19:10:39 +02:00
Trial97
ad98f600d5 corecly display core mods tab
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-01-26 18:36:31 +02:00
Alexandru Ionut Tripon
cff2f4b6ff Merge pull request #2070 from PrismLauncher/renovate/hendrikmuhs-ccache-action-1.x
chore(deps): update hendrikmuhs/ccache-action action to v1.2.12
2024-01-26 09:57:49 +02:00
renovate[bot]
ab4974629c chore(deps): update hendrikmuhs/ccache-action action to v1.2.12 2024-01-26 07:12:13 +00:00
TheKodeToad
82d0f204e2 De-OOP ProviderCapabilities
There was no reason for it to be a class, and imo it created quite a code-smell needing to initialise it everywhere.

Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-01-26 03:06:05 +00:00
TheKodeToad
97ee0a19b5 Refactor updating mechanisms to work with all resources
Summary:
- It compiles
- I need to go to bed

Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-01-26 02:53:57 +00:00
Trial97
4cd236ed80 missing header
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-01-26 00:31:43 +02:00
Trial97
81282bf7e0 Autodetect Java?
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-01-26 00:22:05 +02:00
Trial97
f36be3f0e3 Cleanup downloaders
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-01-25 22:58:12 +02:00
Trial97
e897032383 Added java metadata
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-01-25 22:22:21 +02:00
TheKodeToad
2c18d0f1a5 Store current version in packwiz metadata (temporarily using x-prismlauncher-version-number)
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-01-25 15:41:34 +00:00
Trial97
25bca28707 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into feature/java-downloader 2024-01-24 18:26:48 +02:00
Trial97
a0e7729aa6 Started workin on stuff
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-01-24 18:26:43 +02:00
Alexandru Ionut Tripon
1c3d63981b Merge pull request #2063 from DioEgizio/no-alpha-mr
fix: remove alpha notice on modrinth packs
2024-01-24 18:13:15 +02:00
DioEgizio
8de1060bfb fix: remove alpha notice on modrinth packs
with the modrinth app being released for quite a while now it's weird to still have this (tbh they've never been truly alpha)

Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2024-01-24 16:43:38 +01:00
seth
1075a94034 Merge pull request #2040 from getchoo/nix/filesets
[Linux/MacOS] Replace nix-filter with lib.fileset
2024-01-24 03:05:30 -05:00
TheKodeToad
35b5c8097c Merge branch 'develop' into resource-meta
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-01-23 23:20:40 +00:00
seth
8312713dc2 refactor(nix): nix-filter -> lib.fileset
with our own use of `map`, this is basically a drop-in replacement for
nix-filter, but already in nixpkgs!

Signed-off-by: seth <getchoo@tuta.io>
2024-01-23 16:10:41 -05:00
Sefa Eyeoglu
7bce88e83e Merge pull request #2060 from PrismLauncher/renovate/korthout-backport-action-2.x 2024-01-23 20:45:36 +01:00
renovate[bot]
72e6218df9 chore(deps): update korthout/backport-action action to v2.4.1 2024-01-23 19:21:30 +00:00
Sefa Eyeoglu
e60235cb88 Merge pull request #2053 from Trial97/fix_open_path_take_two 2024-01-23 09:29:57 +01:00
Sefa Eyeoglu
913f6d8563 Merge pull request #2052 from PrismLauncher/renovate/korthout-backport-action-2.x 2024-01-22 22:32:38 +01:00
Trial97
6b637a8797 Display minecraft version if not mentioned for modrinth packs
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-01-22 22:32:42 +02:00
Trial97
9bbeb5ef3a Made updater interval configurable
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-01-22 21:26:46 +02:00
Trial97
12bf913764 Fixed open path a second time
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-01-22 20:36:57 +02:00
renovate[bot]
0dc4a10f48 chore(deps): update korthout/backport-action action to v2.4.0 2024-01-22 17:26:37 +00:00
Trial97
f77749e448 Resized Refresh theme button
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-01-21 21:24:47 +02:00
Sefa Eyeoglu
78482d0d3e Merge pull request #2049 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2024-01-21 08:28:49 +01:00
Alexandru Ionut Tripon
e4306d5cb6 Update launcher/ui/themes/CatPack.cpp
Co-authored-by: TheKodeToad <TheKodeToad@proton.me>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2024-01-21 08:52:49 +02:00
TheKodeToad
f54ac25614 Use minecraft instead of .minecraft for better accessibility
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-01-21 02:28:55 +00:00
github-actions[bot]
c7cd8b7877 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nix-filter':
    'github:numtide/nix-filter/c843418ecfd0344ecb85844b082ff5675e02c443' (2023-12-04)
  → 'github:numtide/nix-filter/3449dc925982ad46246cfc36469baf66e1b64f17' (2024-01-15)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/eabe8d3eface69f5bb16c18f8662a702f50c20d5' (2024-01-09)
  → 'github:nixos/nixpkgs/e5d1c87f5813afde2dda384ac807c57a105721cc' (2024-01-19)
• Updated input 'pre-commit-hooks':
    'github:cachix/pre-commit-hooks.nix/274ae3979a0eacae422e1bbcf63b8b7a335e1114' (2024-01-12)
  → 'github:cachix/pre-commit-hooks.nix/f56597d53fd174f796b5a7d3ee0b494f9e2285cc' (2024-01-20)
• Updated input 'pre-commit-hooks/flake-utils':
    'github:numtide/flake-utils/a1720a10a6cfe8234c0e93907ffe81be440f4cef' (2023-05-31)
  → 'github:numtide/flake-utils/4022d587cbbfd70fe950c1e2083a02621806a725' (2023-12-04)
• Updated input 'pre-commit-hooks/gitignore':
    'github:hercules-ci/gitignore.nix/a20de23b925fd8264fd7fad6454652e142fd7f73' (2022-08-14)
  → 'github:hercules-ci/gitignore.nix/43e1aa1308018f37118e34d3a9cb4f5e75dc11d5' (2023-12-29)
2024-01-21 00:20:26 +00:00
erik.lundstedt
30913fdb2b fix a minor spelling misstake in Mod.cpp
closes https://github.com/PrismLauncher/PrismLauncher/issues/2047

Signed-off-by: erik.lundstedt <erik@lundstedt.it>
2024-01-21 00:31:00 +01:00
Trial97
0303b1cc7f Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into refresh_cats 2024-01-20 00:27:30 +02:00
Alexandru Ionut Tripon
4cda04271f Merge pull request #1913 from Trial97/dialog
Fixed askIfShouldUpdate dialog on mac
2024-01-18 22:02:04 +02:00
Sefa Eyeoglu
bc75bcdcca Merge pull request #1768 from Trial97/toggle_deps2 2024-01-18 18:18:31 +01:00
Sefa Eyeoglu
a62eaba702 Merge pull request #1825 from Trial97/ftb_import 2024-01-18 18:18:17 +01:00
Sefa Eyeoglu
2c0274159f Merge pull request #2034 from Scrumplex/feat/macos-signing 2024-01-18 16:56:39 +01:00
Sefa Eyeoglu
b2c2bf1460 Merge pull request #2039 from PrismLauncher/renovate/actions-cache-4.x
chore(deps): update actions/cache action to v4
2024-01-17 23:48:16 +01:00
renovate[bot]
bfd1262c14 chore(deps): update actions/cache action to v4 2024-01-17 20:29:50 +00:00
Sefa Eyeoglu
0b3e91ac62 Merge pull request #1954 from Scrumplex/fix/open-paths-immediately 2024-01-17 15:18:46 +01:00
Sefa Eyeoglu
de9232783e chore: remove cachix auth token secret
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2024-01-17 13:12:38 +01:00
Sefa Eyeoglu
27c52eff8b feat: add macOS notarization
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2024-01-17 13:12:36 +01:00
Sefa Eyeoglu
baebef982e feat: add macOS code signing
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2024-01-17 13:10:14 +01:00
Sefa Eyeoglu
67d088dc53 fix: simplify openPath calls
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2024-01-14 11:36:17 +01:00
Sefa Eyeoglu
5a0240e709 Merge pull request #2030 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2024-01-14 09:50:59 +01:00
github-actions[bot]
96c714de6e chore(nix): update lockfile
Flake lock file updates:

• Updated input 'flake-parts':
    'github:hercules-ci/flake-parts/88a2cd8166694ba0b6cb374700799cec53aef527' (2024-01-01)
  → 'github:hercules-ci/flake-parts/07f6395285469419cf9d078f59b5b49993198c00' (2024-01-11)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/63143ac2c9186be6d9da6035fa22620018c85932' (2024-01-02)
  → 'github:nixos/nixpkgs/eabe8d3eface69f5bb16c18f8662a702f50c20d5' (2024-01-09)
• Updated input 'pre-commit-hooks':
    'github:cachix/pre-commit-hooks.nix/9d3d7e18c6bc4473d7520200d4ddab12f8402d38' (2023-12-30)
  → 'github:cachix/pre-commit-hooks.nix/274ae3979a0eacae422e1bbcf63b8b7a335e1114' (2024-01-12)
2024-01-14 00:20:26 +00:00
Sefa Eyeoglu
f931890e95 Merge pull request #2029 from PrismLauncher/renovate/cachix-install-nix-action-25.x 2024-01-12 19:14:02 +01:00
renovate[bot]
9c610b616a chore(deps): update cachix/install-nix-action action to v25 2024-01-12 18:02:43 +00:00
Sefa Eyeoglu
c38f584fe9 Merge pull request #2026 from PrismLauncher/renovate/actions-cache-3.x
chore(deps): update actions/cache action to v3.3.3
2024-01-11 23:22:42 +01:00
renovate[bot]
b0f65476d9 chore(deps): update actions/cache action to v3.3.3 2024-01-11 18:59:17 +00:00
Sefa Eyeoglu
7549bf7da6 Merge pull request #2024 from getchoo/flake-fixups 2024-01-11 09:43:58 +01:00
seth
839adfc90b nix: add garnix cache to nixConfig
Signed-off-by: seth <getchoo@tuta.io>
2024-01-11 03:20:20 -05:00
seth
26474d1374 nix: deduplicate nixpkgs input
Signed-off-by: seth <getchoo@tuta.io>
2024-01-11 03:06:37 -05:00
Alexandru Ionut Tripon
dbdec15ddb Merge pull request #1771 from Trial97/account
Try refreshing account on launch if needed
2024-01-10 16:07:09 +02:00
Trial97
a7d293b3f2 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into deps_improve
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-01-10 09:17:52 +02:00
Trial97
a0ebd0714d Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into refresh_cats 2024-01-10 09:09:19 +02:00
Trial97
57913f1943 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into demo 2024-01-07 22:31:25 +02:00
Trial97
d94e641900 Load versions on first edit
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-01-07 22:00:31 +02:00
Sefa Eyeoglu
43dd929214 Merge pull request #2016 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2024-01-07 09:43:56 +01:00
github-actions[bot]
2cb07d3e38 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'flake-parts':
    'github:hercules-ci/flake-parts/34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5' (2023-12-01)
  → 'github:hercules-ci/flake-parts/88a2cd8166694ba0b6cb374700799cec53aef527' (2024-01-01)
• Updated input 'flake-parts/nixpkgs-lib':
    'github:NixOS/nixpkgs/e92039b55bcd58469325ded85d4f58dd5a4eaf58?dir=lib' (2023-11-29)
  → 'github:NixOS/nixpkgs/b0d36bd0a420ecee3bc916c91886caca87c894e9?dir=lib' (2023-12-30)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/e1fa12d4f6c6fe19ccb59cac54b5b3f25e160870' (2023-12-25)
  → 'github:nixos/nixpkgs/63143ac2c9186be6d9da6035fa22620018c85932' (2024-01-02)
2024-01-07 00:20:13 +00:00
Tayou
35ad4448d9 Merge pull request #2012 from Trial97/openal_settings
Fixed openAL placeholder
2024-01-07 00:21:21 +01:00
TheKodeToad
f285c3fe13 Merge pull request #1972 from lumiscosity/feature/cat_opacity
Add a cat opacity option
2024-01-06 19:42:17 +00:00
Trial97
219e2862f9 Fixed openAL placeholder
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-01-05 23:02:42 +02:00
TheKodeToad
d56d21f928 Merge pull request #1983 from tildejustin/develop
remove legacy processArguments code
2024-01-05 12:26:58 +00:00
seth
7783ef9285 Merge pull request #2005 from Trial97/develop
Format java code
2024-01-04 15:18:40 -05:00
Alexandru Ionut Tripon
b76c413936 Merge pull request #1 from theMackabu/refresh_cats
add: refresh on load
2024-01-03 22:56:43 +02:00
Trial97
048d34dc9d Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into refresh_cats 2024-01-03 22:53:36 +02:00
Trial97
786e03571b Format java code
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-01-03 22:50:55 +02:00
Alexandru Ionut Tripon
57a589367f Merge pull request #1979 from lumiscosity/feature/mod_page_improvements
Mod downloader page improvements
2024-01-03 22:43:18 +02:00
Sefa Eyeoglu
9523a2d77b Merge pull request #1999 from TheKodeToad/more-legacy-fixes 2024-01-03 18:16:41 +01:00
Sefa Eyeoglu
e5b608447a chore: improve param name
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2024-01-03 18:15:03 +01:00
Sefa Eyeoglu
f454333cc5 Merge pull request #1998 from TheKodeToad/happy-new-year 2024-01-03 18:13:14 +01:00
TheKodeToad
345cdf5c9d Pass proxy
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-01-02 19:10:41 +00:00
TheKodeToad
05e4533096 Add online mode fix for legacy versions; minor refactors in legacy
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-01-02 18:11:54 +00:00
TheKodeToad
1130fe8510 Happy new year :D
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2024-01-02 18:04:42 +00:00
Alexandru Ionut Tripon
0cf9b6537b Merge pull request #1996 from PrismLauncher/renovate/hendrikmuhs-ccache-action-1.x
chore(deps): update hendrikmuhs/ccache-action action to v1.2.11
2024-01-02 13:28:27 +02:00
renovate[bot]
73f956c897 chore(deps): update hendrikmuhs/ccache-action action to v1.2.11 2024-01-02 07:30:12 +00:00
Sefa Eyeoglu
b280a6d36d Merge pull request #1991 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2023-12-31 12:28:20 +01:00
github-actions[bot]
ad01102bad chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/d6863cbcbbb80e71cecfc03356db1cda38919523' (2023-12-21)
  → 'github:nixos/nixpkgs/e1fa12d4f6c6fe19ccb59cac54b5b3f25e160870' (2023-12-25)
• Updated input 'pre-commit-hooks':
    'github:cachix/pre-commit-hooks.nix/007a45d064c1c32d04e1b8a0de5ef00984c419bc' (2023-12-13)
  → 'github:cachix/pre-commit-hooks.nix/9d3d7e18c6bc4473d7520200d4ddab12f8402d38' (2023-12-30)
2023-12-31 00:20:06 +00:00
timoreo
0ce0769842 Merge pull request #1978 from Trial97/double_links 2023-12-28 19:48:34 +01:00
tildejustin
eca5d88576 remove legacy processArguments code
Signed-off-by: tildejustin <spacepepper3.14@gmail.com>
2023-12-24 22:20:06 -05:00
Sajjaad Farzad
b0a4af7412 Merge branch 'PrismLauncher:develop' into refresh_cats 2023-12-24 16:03:13 -08:00
Sefa Eyeoglu
dbbbf5aa93 Merge pull request #1980 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2023-12-24 11:22:58 +01:00
github-actions[bot]
ea38f8168a chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/aa9d4729cbc99dabacb50e3994dcefb3ea0f7447' (2023-12-14)
  → 'github:nixos/nixpkgs/d6863cbcbbb80e71cecfc03356db1cda38919523' (2023-12-21)
2023-12-24 00:19:31 +00:00
lumiscosity
c29af83dc3 fix styling
Signed-off-by: lumiscosity <averyrudelphe@gmail.com>
2023-12-23 14:16:29 +01:00
lumiscosity
1e48bf838d move simplify call to drawing
Signed-off-by: lumiscosity <averyrudelphe@gmail.com>
2023-12-23 12:05:07 +01:00
lumiscosity
1bf386603d Strip newlines in mod descriptions
Mirrors Modrinth page behaviour.

Signed-off-by: lumiscosity <averyrudelphe@gmail.com>
2023-12-23 11:27:19 +01:00
Trial97
9a33bdcf50 Fixed openURL cast for resource
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-12-23 01:02:04 +02:00
Trial97
526e580fbb Force clear the resource selection
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-12-23 00:33:38 +02:00
Trial97
13d29ac6f4 Updated the size sort code
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-12-22 23:35:48 +02:00
lumiscosity
358cf5b348 add archived project warning
Signed-off-by: lumiscosity <averyrudelphe@gmail.com>
2023-12-22 22:04:33 +01:00
lumiscosity
43306350e0 Add cat opacity
Signed-off-by: lumiscosity <averyrudelphe@gmail.com>
2023-12-22 15:02:41 +01:00
TheKodeToad
e39a03421a Merge pull request #1964 from Scrumplex/fix/dont-log-katabasis
Don't log Microsoft refresh tokens
2023-12-19 11:24:45 +00:00
Sefa Eyeoglu
a1e3901b3f fix: don't log katabasis by default
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-12-17 12:39:17 +01:00
Sefa Eyeoglu
2993306226 Merge pull request #1963 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2023-12-17 10:19:15 +01:00
github-actions[bot]
74e2e49134 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/09dc04054ba2ff1f861357d0e7e76d021b273cd7' (2023-12-08)
  → 'github:nixos/nixpkgs/aa9d4729cbc99dabacb50e3994dcefb3ea0f7447' (2023-12-14)
• Updated input 'pre-commit-hooks':
    'github:cachix/pre-commit-hooks.nix/e5ee5c5f3844550c01d2131096c7271cec5e9b78' (2023-11-25)
  → 'github:cachix/pre-commit-hooks.nix/007a45d064c1c32d04e1b8a0de5ef00984c419bc' (2023-12-13)
2023-12-17 00:20:10 +00:00
Sefa Eyeoglu
e227826a90 Merge pull request #1955 from PrismLauncher/renovate/actions-download-artifact-4.x
chore(deps): update actions/download-artifact action to v4
2023-12-16 17:27:02 +01:00
Sefa Eyeoglu
211e62cedb Merge pull request #1956 from PrismLauncher/renovate/actions-upload-artifact-4.x
chore(deps): update actions/upload-artifact action to v4
2023-12-16 17:26:28 +01:00
Sefa Eyeoglu
7382d33430 Merge pull request #1961 from PrismLauncher/renovate/korthout-backport-action-2.x
chore(deps): update korthout/backport-action action to v2.3.0
2023-12-16 17:25:53 +01:00
Tayou
1fcf405c88 Merge pull request #1960 from lumiscosity/fix/minor_spelling
Minor spelling fixes
2023-12-16 16:34:21 +01:00
renovate[bot]
8f29cdf195 chore(deps): update korthout/backport-action action to v2.3.0 2023-12-16 15:27:48 +00:00
Sefa Eyeoglu
a8220cd296 chore: remove unused methods
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-12-16 13:12:12 +01:00
Sefa Eyeoglu
213963257c chore: remove maybe_unused
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-12-16 13:11:24 +01:00
lumiscosity
eb8e150fa8 one more
Signed-off-by: lumiscosity <averyrudelphe@gmail.com>
2023-12-16 13:00:22 +01:00
lumiscosity
56397446db Update ModFolderPage.cpp
Signed-off-by: lumiscosity <averyrudelphe@gmail.com>
2023-12-16 12:53:59 +01:00
lumiscosity
8cbdecc454 Update GetModDependenciesTask.cpp
Signed-off-by: lumiscosity <averyrudelphe@gmail.com>
2023-12-16 12:52:59 +01:00
renovate[bot]
317d52b44a chore(deps): update actions/upload-artifact action to v4 2023-12-14 20:23:30 +00:00
renovate[bot]
d0fe700b53 chore(deps): update actions/download-artifact action to v4 2023-12-14 20:23:26 +00:00
Sefa Eyeoglu
0ccdcd23e3 fix: open paths directly
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-12-14 13:02:29 +01:00
Trial97
f33110ee0c Renamed function
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-12-14 00:19:22 +02:00
Trial97
9580f16c33 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into netjob_retry
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-12-14 00:16:29 +02:00
Trial97
400b518bc2 Removed auto reauthenticate
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-12-14 00:02:15 +02:00
Sefa Eyeoglu
32a9c37ecd Merge pull request #1951 from guihkx/sync-flatpak 2023-12-13 19:32:56 +01:00
guihkx
3d50bef10c chore: sync nightly flatpak manifest with flathub's
Signed-off-by: guihkx <626206+guihkx@users.noreply.github.com>
2023-12-13 15:17:19 -03:00
Sefa Eyeoglu
608a09d211 Merge pull request #1950 from PrismLauncher/renovate/github-codeql-action-3.x 2023-12-13 18:25:59 +01:00
renovate[bot]
469aaf6051 chore(deps): update github/codeql-action action to v3 2023-12-13 16:16:06 +00:00
Trial97
6a61900328 Fixed curseforge version filter
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-12-13 17:48:11 +02:00
Trial97
763eab6b96 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into filters 2023-12-13 14:48:31 +02:00
Trial97
4498d32cc0 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into move_export2 2023-12-13 14:37:02 +02:00
Trial97
d10b075677 Sort mods before export
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-12-13 14:36:58 +02:00
timoreo
a382754b1e Merge pull request #1947 from theMackabu/patch-minimized 2023-12-13 11:10:39 +01:00
TheKodeToad
2391ad200f Revert change to .gitignore
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2023-12-12 23:21:34 +00:00
theMackabu
648aa18e6f add: refresh on load
Signed-off-by: theMackabu <theMackabu@gmail.com>
2023-12-12 14:26:45 -08:00
theMackabu
7c33a8e448 remove: maidfile.toml (local build tool)
Signed-off-by: theMackabu <theMackabu@gmail.com>
2023-12-12 13:37:24 -08:00
theMackabu
201c9783d5 clang-format: fix formatting
Signed-off-by: theMackabu <theMackabu@gmail.com>
2023-12-12 13:31:18 -08:00
theMackabu
836f74cd46 #1945 resolve issue on windows
Signed-off-by: theMackabu <theMackabu@gmail.com>
2023-12-12 13:26:44 -08:00
theMackabu
3567369d44 #1945 resolve minimized windows pull from dock
Signed-off-by: theMackabu <theMackabu@gmail.com>
2023-12-12 13:26:44 -08:00
timoreo
4612607803 Merge pull request #1712 from Trial97/current_time 2023-12-11 15:40:06 +01:00
Sefa Eyeoglu
a39e2a1145 Merge pull request #1916 from PrismLauncher/renovate/korthout-backport-action-2.x 2023-12-11 11:10:04 +01:00
Sefa Eyeoglu
79218cf13b Merge pull request #1738 from Trial97/some_removals 2023-12-11 11:08:26 +01:00
Sefa Eyeoglu
f8a6a099c7 Merge pull request #1732 from Trial97/update_file2 2023-12-11 11:08:07 +01:00
Sefa Eyeoglu
9467b11897 Merge pull request #1694 from Trial97/concurrent 2023-12-11 11:07:03 +01:00
Sefa Eyeoglu
bcaeab1ddc Merge pull request #1857 from Trial97/copy_time 2023-12-11 10:58:21 +01:00
Sefa Eyeoglu
f8db991727 Merge pull request #1908 from DioEgizio/update-qt661 2023-12-11 10:57:56 +01:00
Sefa Eyeoglu
ad6ca1c6ea Merge pull request #1931 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2023-12-10 10:16:00 +01:00
github-actions[bot]
d7cb139235 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nix-filter':
    'github:numtide/nix-filter/41fd48e00c22b4ced525af521ead8792402de0ea' (2023-09-16)
  → 'github:numtide/nix-filter/c843418ecfd0344ecb85844b082ff5675e02c443' (2023-12-04)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/f5c27c6136db4d76c30e533c20517df6864c46ee' (2023-11-30)
  → 'github:nixos/nixpkgs/09dc04054ba2ff1f861357d0e7e76d021b273cd7' (2023-12-08)
2023-12-10 00:20:06 +00:00
TheKodeToad
4db00897c6 Merge pull request #1922 from IceCryptonym/togglable-status-bar
Add togglable status bar
2023-12-07 20:37:36 +00:00
Sefa Eyeoglu
e408a047ed Merge pull request #1923 from TayouVR/more-instance-group-seperator 2023-12-07 21:34:41 +01:00
Tayou
877eb4172a add line back to group separator
Signed-off-by: Tayou <git@tayou.org>
2023-12-07 17:26:47 +01:00
Archy
faedd0fd65 Add togglable status bar
Signed-off-by: Archy <59789660+IceCryptonym@users.noreply.github.com>
2023-12-06 23:40:22 +10:00
renovate[bot]
132344df1c chore(deps): update korthout/backport-action action to v2.2.0 2023-12-04 12:06:39 +00:00
Trial97
657416fe30 Removed header
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-12-03 21:29:02 +02:00
Trial97
577c737d68 Fixed askIfShouldUpdate dialog on mac
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-12-03 20:00:50 +02:00
Sefa Eyeoglu
c721fa795d Merge pull request #1912 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2023-12-03 10:51:26 +01:00
github-actions[bot]
8b4b0f2f01 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'flake-parts':
    'github:hercules-ci/flake-parts/8c9fa2545007b49a5db5f650ae91f227672c3877' (2023-11-01)
  → 'github:hercules-ci/flake-parts/34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5' (2023-12-01)
• Updated input 'flake-parts/nixpkgs-lib':
    'github:NixOS/nixpkgs/0cbe9f69c234a7700596e943bfae7ef27a31b735?dir=lib' (2023-10-29)
  → 'github:NixOS/nixpkgs/e92039b55bcd58469325ded85d4f58dd5a4eaf58?dir=lib' (2023-11-29)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/0bd59c54ef06bc34eca01e37d689f5e46b3fe2f1' (2023-11-24)
  → 'github:nixos/nixpkgs/f5c27c6136db4d76c30e533c20517df6864c46ee' (2023-11-30)
2023-12-03 00:19:28 +00:00
DioEgizio
eb011e6729 chore: update qt to qt 6.6.1
Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2023-12-02 17:42:24 +01:00
Sefa Eyeoglu
4c59a1ba1b Merge pull request #1882 from bit69tream/notify-user-if-tmp-is-noexec 2023-11-28 21:57:23 +01:00
Sefa Eyeoglu
5291268565 Merge pull request #1900 from PrismLauncher/renovate/cachix-install-nix-action-24.x 2023-11-28 21:53:57 +01:00
renovate[bot]
a74c3d57b4 chore(deps): update cachix/install-nix-action action to v24 2023-11-28 20:27:48 +00:00
TheKodeToad
284e536e81 Data pack management
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2023-11-28 14:08:08 +00:00
Trial97
463ff4c6ae Removed assert permanantly
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-27 11:30:07 +02:00
Trial97
6f6b6312a5 Moved the button up
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-27 09:39:31 +02:00
seth
6fa8e07d62 Merge pull request #1897 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2023-11-27 03:44:43 +00:00
Trial97
2d91bd09d4 Fixed crash on abort function not initialized
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-26 23:49:56 +02:00
github-actions[bot]
67b51b7a18 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/7414e9ee0b3e9903c24d3379f577a417f0aae5f1' (2023-11-16)
  → 'github:nixos/nixpkgs/0bd59c54ef06bc34eca01e37d689f5e46b3fe2f1' (2023-11-24)
• Updated input 'pre-commit-hooks':
    'github:cachix/pre-commit-hooks.nix/e558068cba67b23b4fbc5537173dbb43748a17e8' (2023-11-15)
  → 'github:cachix/pre-commit-hooks.nix/e5ee5c5f3844550c01d2131096c7271cec5e9b78' (2023-11-25)
2023-11-26 00:19:22 +00:00
Trial97
f4e098f7f5 Formated file
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-25 09:36:55 +02:00
Trial97
1a0fd5f993 Added mod reinstall dialog
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-25 00:18:10 +02:00
Trial97
20e0cb43b9 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into concurrent 2023-11-23 23:58:47 +02:00
Trial97
2db5677281 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into filters 2023-11-23 23:57:44 +02:00
Trial97
ff5a968de0 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into update_file2 2023-11-23 23:57:20 +02:00
Trial97
1650237c8f Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into some_removals 2023-11-23 23:37:13 +02:00
Trial97
e0d776e551 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into fix_duplicate_mod 2023-11-23 23:29:10 +02:00
Trial97
403a7f5d46 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into toggle_deps2 2023-11-23 23:21:11 +02:00
Trial97
af628be648 Merge branch 'error_codes' of github.com:Trial97/PrismLauncher into error_codes 2023-11-23 23:20:27 +02:00
Trial97
3c75d761a2 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into error_codes 2023-11-23 23:11:11 +02:00
Trial97
b47ec7f2dc Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into resource_size 2023-11-23 17:14:50 +02:00
Trial97
3234bb5a8c Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into deps_improve 2023-11-23 17:05:37 +02:00
Trial97
bb9df1684b Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into new_cats 2023-11-23 16:58:42 +02:00
Trial97
0d44c0df1d Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into refresh_cats 2023-11-23 16:50:53 +02:00
Trial97
c5cdebb42f Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into ftb_import 2023-11-23 16:43:33 +02:00
Trial97
2318a83881 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into shader 2023-11-23 16:33:57 +02:00
Trial97
be67067fa2 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into demo 2023-11-23 16:23:56 +02:00
Alexandru Ionut Tripon
7f6027498e Merge pull request #1871 from Trial97/cat_day
changed prism aniversary
2023-11-23 14:14:04 +00:00
Trial97
9c13504b06 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into import_ok 2023-11-23 16:13:09 +02:00
deadmeu
ac223a29ef refactor: shorten desktop entry comment field
Signed-off-by: deadmeu <dmu@duck.com>
2023-11-24 00:03:33 +10:00
Trial97
afcdb7595c Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into move_export2 2023-11-23 16:01:54 +02:00
Trial97
f71e622f71 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into copy_time 2023-11-23 15:51:54 +02:00
Trial97
4f49a56e4d Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into supported_files 2023-11-23 15:40:31 +02:00
Trial97
85e875fe08 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into cat_day 2023-11-23 15:32:48 +02:00
Trial97
944ed48a61 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into time4 2023-11-23 14:58:05 +02:00
Trial97
e503d44c54 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into current_time 2023-11-23 14:47:47 +02:00
Trial97
908072710a Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into skin_selector
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-23 14:34:56 +02:00
bit6tream
d414599974 (#1693) Use a better approach to detect a noexec mount option
Signed-off-by: bit6tream <megapixel483@gmail.com>
2023-11-23 15:23:03 +03:00
Trial97
e43a557a0b Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into instance_copy_progress 2023-11-23 14:08:49 +02:00
Trial97
7d4778ffd6 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into portabledatadir 2023-11-23 13:54:36 +02:00
Trial97
80383d237a Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into disablemods 2023-11-23 13:38:11 +02:00
Trial97
1095d0698a Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into waitprofiler 2023-11-23 13:25:12 +02:00
Trial97
c2fc2d330b Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into import_zip 2023-11-23 12:57:31 +02:00
Trial97
f16f0ed93e Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into netjob_retry 2023-11-23 12:47:52 +02:00
Trial97
9345416361 Fixed localization stuff
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-23 12:36:40 +02:00
Trial97
2268e46b91 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into account 2023-11-23 12:22:41 +02:00
Trial97
ceb88a170e Extracted reauthenticateCurrentAccount as a separate function
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-23 12:22:31 +02:00
Sefa Eyeoglu
a2aa303770 Merge pull request #1843 from Trial97/fix_not_found_dep 2023-11-23 11:02:16 +01:00
Sefa Eyeoglu
a966289944 Merge pull request #1852 from Trial97/war_ning 2023-11-23 11:01:53 +01:00
Sefa Eyeoglu
7c9c3d2c5f Merge pull request #1815 from Trial97/fix_mangohub 2023-11-23 11:00:57 +01:00
Trial97
d8c5ed55c2 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into update_file2 2023-11-23 12:00:18 +02:00
Trial97
6169af70db Added back the FIXME comment
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-23 11:59:35 +02:00
Sefa Eyeoglu
2b17a61d38 Merge pull request #1589 from Trial97/instance_reload
Fully reload the instance list once the folder is changed
2023-11-23 10:48:01 +01:00
Sefa Eyeoglu
d60d089cbc Merge pull request #1751 from LocalSpook/account_type 2023-11-23 10:27:06 +01:00
Alexandru Ionut Tripon
5d6334ef95 Merge pull request #1762 from LocalSpook/const-in-declarations
Remove top-level `const` qualifiers in function declarations
2023-11-23 08:53:01 +00:00
Trial97
6b3b54f061 format
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-23 10:48:11 +02:00
Trial97
e11b7e3770 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into filters 2023-11-23 10:46:27 +02:00
Trial97
670a0c1442 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into resource_size 2023-11-23 10:46:03 +02:00
Trial97
d5d8b7be8d Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into move_export2 2023-11-23 10:45:35 +02:00
Trial97
673f82e884 Merge branch 'war_ning' of github.com:Trial97/PrismLauncher into war_ning 2023-11-23 10:45:06 +02:00
Trial97
f18f7147b5 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into war_ning 2023-11-23 10:44:49 +02:00
Trial97
721a08462c Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into copy_time 2023-11-23 10:44:26 +02:00
Trial97
f0cff15d56 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into supported_files 2023-11-23 10:43:43 +02:00
Trial97
a1ac3ef7ae Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into cat_day 2023-11-23 10:43:15 +02:00
Trial97
a7be21733f Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into skin_selector 2023-11-23 10:41:55 +02:00
Trial97
66decbb180 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into current_time 2023-11-23 10:41:06 +02:00
Trial97
4ef626dab3 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into time4 2023-11-23 10:40:30 +02:00
Sefa Eyeoglu
48e9753fb5 Merge pull request #1880 from Trial97/link 2023-11-23 09:07:34 +01:00
Sefa Eyeoglu
b42434bcb6 Merge remote-tracking branch 'upstream/develop' into const-in-declarations 2023-11-23 09:06:23 +01:00
Sefa Eyeoglu
364fb9808e Merge pull request #1347 from HyperSoop/reduce-min-memory 2023-11-23 08:58:58 +01:00
Sefa Eyeoglu
389d75594a Merge pull request #1887 from PrismLauncher/getchoo-patch-2 2023-11-23 08:58:00 +01:00
seth
d1c33392e7 chore: disable x86_64-darwin in garnix
this is currently broken on garnix's end, but hopefully we will be able to enable this again in the future

Signed-off-by: seth <getchoo@tuta.io>
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-11-23 08:51:30 +01:00
Trial97
e3af4f9a78 Fixed playtime recording
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-22 20:34:12 +02:00
Trial97
85b4e1f24f Made column hidden by default
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-22 19:23:24 +02:00
Trial97
140a55810d Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into filters 2023-11-22 14:20:30 +02:00
bit6tream
681e76c551 (#1693) Notify user if /tmp directory has noexec mount option
Minecraft versions starting from 1.19 would not start at all if /tmp is mounted as `noexec`.

Signed-off-by: bit6tream <megapixel483@gmail.com>
2023-11-22 01:48:31 +03:00
Trial97
196d24330a Fixed open link on settings page
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-21 17:47:59 +02:00
Trial97
54c308e5b5 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into skin_selector
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-19 21:15:12 +02:00
Sefa Eyeoglu
e499aa4783 Merge pull request #1873 from guihkx/sync-flatpak-manifest 2023-11-19 19:57:47 +01:00
guihkx
e3b7aed76b chore: sync local flatpak manifest with flathub's
Signed-off-by: guihkx <626206+guihkx@users.noreply.github.com>
2023-11-19 11:08:52 -03:00
Tayou
24f2102596 Merge pull request #1869 from Trial97/icons_folder
Added more open folder actions
2023-11-19 15:06:30 +01:00
Trial97
26931475ae made folder size reflect the number of elements
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-19 15:58:30 +02:00
Trial97
80c85aef99 fixed const stuff
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-19 15:37:18 +02:00
Alexandru Ionut Tripon
76216335b1 Update launcher/ui/pages/modplatform/ImportPage.cpp
Co-authored-by: TheKodeToad <TheKodeToad@proton.me>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2023-11-19 15:26:47 +02:00
Sefa Eyeoglu
71ee0e750c Merge pull request #1868 from PrismLauncher/update_flake_lock_action 2023-11-19 10:38:56 +01:00
Trial97
a8aa214c0e changed prism aniversary
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-19 09:01:59 +02:00
Trial97
e99926ea94 Added more open folder actions
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-19 02:40:25 +02:00
github-actions[bot]
69a49e85d0 chore(nix): update lockfile
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/ec750fd01963ab6b20ee1f0cb488754e8036d89d' (2023-11-07)
  → 'github:nixos/nixpkgs/7414e9ee0b3e9903c24d3379f577a417f0aae5f1' (2023-11-16)
• Updated input 'pre-commit-hooks':
    'github:cachix/pre-commit-hooks.nix/ea758da1a6dcde6dc36db348ed690d09b9864128' (2023-11-06)
  → 'github:cachix/pre-commit-hooks.nix/e558068cba67b23b4fbc5537173dbb43748a17e8' (2023-11-15)
2023-11-19 00:19:30 +00:00
Trial97
f7e478c755 Added all supported files filter
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-19 02:02:02 +02:00
TheKodeToad
40cfa145ee Merge pull request #1860 from Trial97/env_vars2
Add custom env vars to pre/post launch commands
2023-11-18 11:15:49 +00:00
Trial97
1a06a1424b Added custom env vars to pre/post launch commands
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-18 10:53:38 +02:00
Trial97
9f39e45b28 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into current_time 2023-11-18 10:45:24 +02:00
Trial97
4e3132e8b2 reseted the setting
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-17 22:40:36 +02:00
Trial97
6b777653a5 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into resource_size
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-17 22:38:17 +02:00
Trial97
2bfb5fc138 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into filters
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-17 22:26:17 +02:00
Trial97
53c6493b9a Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into move_export2 2023-11-17 21:56:23 +02:00
TheKodeToad
7ef2bda269 Improve description
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2023-11-17 19:49:48 +00:00
Alexandru Ionut Tripon
1150249cec Merge pull request #1746 from Trial97/toggle_deps
separated dependecy check from mod update
2023-11-17 19:42:22 +00:00
Tayou
b5f8054d8c Merge pull request #1849 from Trial97/column_size
Made resource columns resizable
2023-11-17 20:19:02 +01:00
Trial97
a531f32b69 fixed settings saving
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-16 13:26:29 +02:00
Trial97
215465e833 added subdirectories to iteration
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-15 14:11:34 +02:00
Trial97
4d93f4adb1 Fixed folder size
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-15 12:10:47 +02:00
Trial97
890965746f Added warning on mods update while running
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-15 11:07:46 +02:00
Trial97
361329d5d1 Made resource columns resizable
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-14 23:21:53 +02:00
Trial97
bedb4da869 Added filename to the modlist export
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-14 19:37:23 +02:00
Trial97
6804e2ba59 moved export to list to the mods page
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-14 18:40:45 +02:00
Trial97
99fbcbee4c Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into move_export2 2023-11-14 18:12:48 +02:00
Trial97
c05c001ab2 Remove the dep if it fails for any reason
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-13 23:49:49 +02:00
Alexandru Ionut Tripon
a3445cbbdd Merge pull request #1704 from Leafeling/develop
Add game category to generated Linux shortcuts
2023-11-13 07:32:33 +00:00
Trial97
0e57eeca69 Added missing variable from lambda capture
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-13 09:28:59 +02:00
Alexandru Ionut Tripon
32a8d9b9c6 Update launcher/ui/pages/instance/ModFolderPage.cpp
Co-authored-by: TheKodeToad <TheKodeToad@proton.me>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2023-11-13 09:23:56 +02:00
TheKodeToad
f4940e26c6 Merge remote-tracking branch 'upstream/develop' into resource-meta
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2023-11-12 19:02:14 +00:00
Trial97
17916dbd24 Fixed inconsistent Ok in instance import
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-12 20:27:55 +02:00
Tayou
a991d48c76 Merge pull request #1798 from Trial97/java
[Windows] Autodetect Java from the Microsoft Store version of the official launcher
2023-11-12 15:39:17 +01:00
Alexandru Ionut Tripon
94d67b827e Merge pull request #1832 from PrismLauncher/update_flake_lock_action
chore(nix): update lockfile
2023-11-12 06:28:26 +00:00
github-actions[bot]
cb648c180c chore(nix): update lockfile
Flake lock file updates:

• Updated input 'libnbtplusplus':
    'github:PrismLauncher/libnbtplusplus/a5e8fd52b8bf4ab5d5bcc042b2a247867589985f' (2023-07-22)
  → 'github:PrismLauncher/libnbtplusplus/23b955121b8217c1c348a9ed2483167a6f3ff4ad' (2023-11-06)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/9d5d25bbfe8c0297ebe85324addcb5020ed1a454' (2023-11-04)
  → 'github:nixos/nixpkgs/ec750fd01963ab6b20ee1f0cb488754e8036d89d' (2023-11-07)
• Updated input 'pre-commit-hooks':
    'github:cachix/pre-commit-hooks.nix/dec10399e5b56aa95fcd530e0338be72ad6462a0' (2023-11-01)
  → 'github:cachix/pre-commit-hooks.nix/ea758da1a6dcde6dc36db348ed690d09b9864128' (2023-11-06)
2023-11-12 00:18:56 +00:00
Tayou
e7b2dbdd00 Merge pull request #1828 from Trial97/swap
Fixed modrinth sort swap
2023-11-11 18:34:53 +01:00
Trial97
50a4d61ded Fixed demo mode
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-10 23:26:41 +02:00
Trial97
926942a973 Fixed modrinth sort swap
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-10 20:00:35 +02:00
Trial97
463608b289 fixed shader packs detection
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-10 19:37:11 +02:00
Trial97
5e2eb7bbbb Added button to select the FTBApp instances directory
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-09 23:30:30 +02:00
Trial97
b4bfc03e8b Added button to refresh themes and catpacks
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-09 21:48:46 +02:00
Trial97
7532a41043 Improvements to catpack
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-09 21:38:38 +02:00
Tayou
913d81e371 Merge pull request #1821 from TheKodeToad/group-click-fix
Only open/close groups on left button
2023-11-09 19:18:12 +01:00
TheKodeToad
0f68a2dd61 Only open/close groups on left button
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2023-11-09 16:40:23 +00:00
TheKodeToad
a30292009a Merge pull request #1819 from Desoroxxx/patch-1
Improve name and tooltip of mod dependency management option
2023-11-08 20:47:56 +00:00
Desoroxxx
6093399f5c Update LauncherPage.ui
Signed-off-by: Desoroxxx <desoroxxx@gmail.com>
2023-11-08 17:32:30 +01:00
Trial97
ae62e48c7c Moved some buttons around
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-08 12:25:56 +02:00
Trial97
a7bfe385ea Renamed Remove Metadata button
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-08 12:10:39 +02:00
Trial97
e4fecd1f97 Made sure mangoHub libs are present
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-08 11:55:38 +02:00
Sefa Eyeoglu
403c4bad86 Merge pull request #1799 from Trial97/improve_login 2023-11-08 08:51:13 +01:00
seth
1d56bb8513 Merge pull request #1805 from PrismLauncher/renovate/korthout-backport-action-2.x
chore(deps): update korthout/backport-action action to v2.1.1
2023-11-08 07:25:45 +00:00
Alexandru Ionut Tripon
7313630615 Update launcher/java/JavaUtils.cpp
Co-authored-by: seth <getchoo@tuta.io>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2023-11-08 09:01:31 +02:00
Alexandru Ionut Tripon
9d653f172a Update launcher/ui/dialogs/MSALoginDialog.cpp
Co-authored-by: seth <getchoo@tuta.io>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2023-11-08 08:56:48 +02:00
renovate[bot]
d4b479a186 chore(deps): update korthout/backport-action action to v2.1.1 2023-11-07 23:55:40 +00:00
Trial97
4dc9e65875 Formated the suggestion
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-07 20:41:45 +02:00
Alexandru Ionut Tripon
54187a505f Update launcher/ui/dialogs/MSALoginDialog.cpp
Co-authored-by: Tayou <git@tayou.org>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2023-11-07 20:39:12 +02:00
Hazel Hofmann
1dea83580e DCO Remediation Commit for Hazel Hofmann <hazel@theopensource.company>
I, Hazel Hofmann <hazel@theopensource.company>, hereby add my Signed-off-by to this commit: 9ada8d906d

Signed-off-by: Hazel Hofmann <hazel@theopensource.company>
2023-11-07 15:05:56 +01:00
Hazel Hofmann
9ada8d906d Use same categories as main desktop entry 2023-11-07 14:54:04 +01:00
Trial97
8897f16d1d simplify microsoft login
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-07 10:52:52 +02:00
Trial97
c78d35d699 added additional minecraft java path for windows
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-07 10:20:53 +02:00
Trial97
5d5adbd7da add update menu conditionaly
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-07 09:48:07 +02:00
Trial97
6506e93e4a Removed some buttons
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-07 09:44:27 +02:00
Trial97
011e87b421 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into toggle_deps
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-06 23:38:14 +02:00
Trial97
7a0b2a316a Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into skin_selector
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-06 23:19:58 +02:00
Trial97
1d67fc6646 added special case for windows
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-05 17:35:49 +02:00
Trial97
5afe6600ee use fs::move instead of qt rename
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-04 16:49:35 +02:00
Trial97
f828ea8929 updated the texture pack tooltips
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-04 11:49:05 +02:00
Trial97
79e299123c Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into import_zip 2023-11-04 00:15:09 +02:00
Trial97
a4978946d5 disabled lax deps
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-04 00:07:51 +02:00
Trial97
2b6d8b8a2d updated tooltip messages
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-03 23:02:17 +02:00
Trial97
cbb453a0ed minimize the permisions for extracted files
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-03 22:55:10 +02:00
Trial97
1b2654bfa6 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into import_zip 2023-11-03 12:53:23 +02:00
Trial97
4081c51573 made dependency check more lax
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-02 23:52:12 +02:00
Trial97
3cbc63bb9f added size column
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-02 12:18:24 +02:00
Trial97
2863a691ef moved refresh out of the loop
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-31 08:45:08 +02:00
Alexandru Ionut Tripon
60fd7f0ae6 Update launcher/minecraft/auth/steps/XboxAuthorizationStep.cpp
Co-authored-by: Tayou <git@tayou.org>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2023-10-31 08:43:26 +02:00
Trial97
7166d68736 fixed account refresh after sleep
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-31 00:45:18 +02:00
Trial97
e42a2404a9 added more microsoft error codes
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-30 22:55:23 +02:00
Trial97
1490193402 added button to disable dependencies on the mod review
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-30 22:14:26 +02:00
LocalSpook
0de4d8902e Remove top-level const qualifiers in function declarations
Signed-off-by: LocalSpook <56512186+LocalSpook@users.noreply.github.com>
2023-10-28 22:12:09 -07:00
Trial97
33cf7066b4 formated the code
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-27 21:51:35 +03:00
Trial97
2256850cb6 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into feature/java-downloader
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-27 00:12:50 +03:00
LocalSpook
9d972ccc63 Localize account type in account list
Signed-off-by: LocalSpook <56512186+LocalSpook@users.noreply.github.com>
2023-10-26 13:32:33 -07:00
Trial97
60a7628dbb delete duplicate mods
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-26 20:43:26 +03:00
Trial97
3d84635b24 Remove file on mod duplication
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-26 20:09:12 +03:00
Trial97
321bbf1fa8 fixed asan stuff
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-26 19:06:38 +03:00
Trial97
dba54332fb fixed some asan stuf
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-26 18:31:52 +03:00
Trial97
04acd27dab Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into concurrent 2023-10-26 13:45:47 +03:00
Trial97
8b8ea2d270 ensured that the variant is allways uppercase
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-26 13:37:25 +03:00
Trial97
44cdf3f697 Fixed skin variant
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-26 13:33:00 +03:00
Trial97
263dc5af67 Fixed remane and delete of selected skin
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-25 19:56:26 +03:00
Trial97
a5938a7de9 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into skin_selector
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-25 19:26:05 +03:00
Trial97
d4d345ee7d Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into toggle_deps 2023-10-24 23:40:36 +03:00
Trial97
6a19f2dae8 fixed icon import
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-24 11:19:19 +03:00
Trial97
694840937b Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into import_zip 2023-10-24 10:32:09 +03:00
Trial97
f7c9972db0 separated dependecy check from mod update
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-23 19:46:30 +03:00
Trial97
2aeb829176 removed the concurent task destructor behaivior
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-22 19:58:10 +03:00
Trial97
0ca3873f1c small fix
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-22 17:48:19 +03:00
Trial97
a748f49362 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into concurrent 2023-10-22 11:34:55 +03:00
Trial97
932cd9e262 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into skin_selector
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-22 11:32:05 +03:00
Trial97
10ae808da9 fixed codeql
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-22 00:06:08 +03:00
Trial97
d151e97e3a Fixed some headers
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-21 22:40:37 +03:00
Trial97
41c9ca4f8a Added categories filter
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-21 22:15:07 +03:00
Trial97
35d62cc5f2 Updated dependencies
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-21 19:05:31 +03:00
Trial97
9aac8e389f made release type visible
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-21 18:48:55 +03:00
Trial97
9e85297f7a Connected filters
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-21 18:28:33 +03:00
Trial97
4850434c67 added releaseType?
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-21 12:16:02 +03:00
Trial97
a9d7af9096 removed some unused stuff
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-20 16:44:37 +03:00
TheKodeToad
db4a7ce239 Fix code style
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2023-10-20 13:11:17 +01:00
Trial97
35a8ab2393 Removed processEvents
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-20 10:32:45 +03:00
Trial97
6883c19579 Fixed the version combobox
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-20 00:44:36 +03:00
Trial97
55946c8923 first attempt at a combobox
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-19 23:53:26 +03:00
Trial97
1ac9757a86 Added back the processEvents
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-19 21:51:51 +03:00
Trial97
03a27d5b5a Updated Managed Packs
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-19 19:47:48 +03:00
Trial97
8d4f508cc6 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into concurrent 2023-10-18 18:08:48 +03:00
Trial97
30f73a0696 Merge branch 'fail_concurrent_task' of github.com:Trial97/PrismLauncher into concurrent
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-18 18:08:31 +03:00
Trial97
fea4c4eba8 Updated filters
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-18 09:00:45 +03:00
Trial97
b54376062e Added mcVersion column
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-17 19:25:01 +03:00
Trial97
9001d9eb75 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into filters 2023-10-17 18:32:18 +03:00
Trial97
cc66350286 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into concurrent
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-16 23:42:19 +03:00
Trial97
9400879242 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into import_zip
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-16 23:32:24 +03:00
Trial97
b6f48f6fe0 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into netjob_retry
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-16 23:13:53 +03:00
Trial97
869f654a10 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into skin_selector
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-16 22:46:11 +03:00
Trial97
0ff98c5876 allways enable dependencies
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-15 21:22:59 +03:00
Trial97
fe14e48d72 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into disablemods 2023-10-15 21:06:40 +03:00
Trial97
52c94eb568 reset the setting if is under 0
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-15 16:47:23 +03:00
Trial97
b075711be0 ensured totalTimePlayed is allways greater than 0
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-15 16:03:14 +03:00
Trial97
749975e8ef made side and loaders visible to user
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-15 12:46:23 +03:00
Trial97
ab725eeb18 corected side and added loaders
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-15 11:52:28 +03:00
Hazel
e66c3b9419 Add game category to generated Linux shortcuts
Signed-off-by: Hazel <hazel@theopensource.company>
2023-10-11 23:19:14 +02:00
Trial97
5d56ac7cf2 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into import_zip 2023-10-10 21:15:31 +03:00
Trial97
5f7513d61c Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into disablemods
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-10 19:49:40 +03:00
Trial97
0b6373e4df Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into skin_selector
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-10 19:46:27 +03:00
Trial97
8dd640819d removed processEvents from ConcurrentTask
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-09 01:50:14 +03:00
Trial97
47dbb09115 Improvements to concurrent task
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-07 00:21:40 +03:00
cullvox
87f34f07d7 Merge branch 'develop' into components-resource-pack-fix
Signed-off-by: cullvox <68567525+cadenmiller@users.noreply.github.com>
2023-10-01 11:58:44 -04:00
Trial97
2e4fcd6aa3 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into skin_selector
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-09-28 23:26:15 +03:00
Trial97
09a10a916b Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into netjob_retry
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-09-28 23:23:42 +03:00
Trial97
0e41ceffc4 removed missed header
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-09-16 19:18:58 +03:00
Trial97
01e98a6ce8 simplify the raw json parsing
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>

Fixed Tests

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-09-16 19:12:09 +03:00
cullvox
4053229544 DCO Remediation Commit for cullvox <cullvox@outlook.com>
I, cullvox <cullvox@outlook.com>, hereby add my Signed-off-by to this commit: c81689d393

Signed-off-by: cullvox <cullvox@outlook.com>
2023-09-15 20:55:34 -04:00
cullvox
07645984b5 Merge branch 'components-resource-pack-fix' of https://github.com/cadenmiller/PrismLauncher into components-resource-pack-fix 2023-09-15 20:41:27 -04:00
cullvox
c81689d393 fixes html elide issue with InfoFrame 2023-09-15 20:41:21 -04:00
cullvox
e96d0b6caf DCO Remediation Commit for cullvox <cullvox@outlook.com>
I, cullvox <cullvox@outlook.com>, hereby add my Signed-off-by to this commit: ee7016fa54

Signed-off-by: cullvox <cullvox@outlook.com>
2023-09-13 14:31:04 -04:00
cullvox
ee7016fa54 use clang-format
Signed-off-by: cullvox <cullvox@outlook.com
2023-09-13 14:28:56 -04:00
cullvox
e1dda6c005 DCO Remediation Commit for cullvox <cullvox@outlook.com>
I, cullvox <cullvox@outlook.com>, hereby add my Signed-off-by to this commit: ddf0c28b1b

Signed-off-by: cullvox <cullvox@outlook.com>
2023-09-12 21:50:33 -04:00
cullvox
ddf0c28b1b clang-format fixes 2023-09-12 21:45:29 -04:00
cullvox
a4e6530513 added tests, fixed issues with overriding/format
In the documentation it states that child values can override the parent
values. Originally this code did not support that but now it does. Also
added in testing inspired by the previous tests.

Signed-off-by: cullvox <cullvox@outlook.com>
2023-09-12 21:34:42 -04:00
cullvox
df88ccd419 clean up and add review suggestions, links open
Signed-off-by: cullvox <cullvox@outlook.com>
2023-09-11 15:49:01 -04:00
cullvox
b16085f66c attempt to fix clang-format and ubuntu build.
Signed-off-by: cullvox <cullvox@outlook.com>
2023-09-11 02:05:05 -04:00
cullvox
fbe4043651 fix formatting and add more proper errors.
Signed-off-by: cullvox <cullvox@outlook.com>
2023-09-11 01:34:53 -04:00
cullvox
58bd6d929f added formatting with colors.
This is somewhat dirty implementation and I will clean it up soon.
Using the HTML rich text features of Qt, made it much easier to
understand what was needed.

Signed-off-by: cullvox <cullvox@outlook.com>
2023-09-10 23:37:26 -04:00
cullvox
7a7c3015f4 fix not properly reading json text.
The text now displays properly in the GUI of Prism.

Signed-off-by: cullvox <cullvox@outlook.com>
2023-09-09 20:25:49 -04:00
cullvox
1261908ef7 remove space for clang-format
Signed-off-by: cullvox <cullvox@outlook.com>
2023-09-09 19:55:55 -04:00
cullvox
ef1dc2afac DCO Remediation Commit for cullvox <cullvox@outlook.com>
I, cullvox <cullvox@outlook.com>, hereby add my Signed-off-by to this commit: 05f4214cc5

Signed-off-by: cullvox <cullvox@outlook.com>
2023-09-09 19:50:59 -04:00
cullvox
05f4214cc5 fix clang-format failing 2023-09-09 19:50:13 -04:00
cullvox
04aa0155bf DCO Remediation Commit for cullvox <cullvox@outlook.com>
I, cullvox <cullvox@outlook.com>, hereby add my Signed-off-by to this commit: d2e662ddbb

Signed-off-by: cullvox <cullvox@outlook.com>
2023-09-09 19:45:30 -04:00
cullvox
093d09efe3 fix style, and use qWarning instead of throw.
Signed-off-by: cullvox <cullvox@outlook.com>
2023-09-09 19:03:33 -04:00
cullvox
d2e662ddbb added support for components in resource pack descriptions.
Signed-off-by: Caden Miller <me@cadenmiller.dev>
2023-09-09 12:35:34 -04:00
Trial97
6ec1cf6e49 made skin upload more generic
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-09-08 19:50:46 +03:00
Trial97
8c8e4329d7 fix codeql
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-09-05 23:45:32 +03:00
Trial97
8bad255a91 added more import options
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-09-05 20:13:16 +03:00
Trial97
ab648e58ce Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into skin_selector 2023-09-05 00:18:45 +03:00
Trial97
c86b8b0f70 added skin manage dialog
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-09-05 00:18:36 +03:00
TheKodeToad
179abfa03e Resource provider column
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2023-09-01 22:05:44 +01:00
Trial97
9ad029e028 added skins directory
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-09-01 23:10:33 +03:00
Trial97
abbac5c26c Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into fail_concurrent_task
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-09-01 22:28:59 +03:00
Trial97
609eaa67ab refactored skin apis
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-09-01 21:23:51 +03:00
TheKodeToad
ad16d61208 Resource metadata writing
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2023-09-01 17:42:05 +01:00
TheKodeToad
6aecbfc38f Fix crashes
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2023-09-01 12:50:20 +01:00
TheKodeToad
ee48766996 More generalistaion for ResourceFolderModels
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2023-09-01 00:27:05 +01:00
Trial97
c2b03d0f71 Fully reload the instance list once the folder is changed
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-08-31 20:35:56 +03:00
TheKodeToad
93876e27f8 Generalise resource metadata
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2023-08-31 17:54:22 +01:00
Trial97
bf810053b7 updated instance copy
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-08-21 17:54:16 +03:00
Trial97
907c2fd19c added missing header
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-08-18 09:16:17 +03:00
Trial97
42b06674bb Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into import_zip
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-08-17 15:29:11 +03:00
Trial97
71fd02e50e Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into netjob_retry 2023-08-17 15:22:45 +03:00
Trial97
8fbc665acb Added UserData as another posible path for portable builds
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-08-16 18:28:46 +03:00
TheKodeToad
f3baa420b2 Fix broken tab order
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2023-08-16 13:45:22 +01:00
TheKodeToad
8778313170 Merge remote-tracking branch 'upstream/develop' into feature/java-downloader
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2023-08-16 13:39:14 +01:00
Trial97
c41c39b5d8 cleanup the mod name checking
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-08-15 23:55:09 +03:00
Trial97
fa164aa081 rename to GenericProfiler
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-08-15 22:18:28 +03:00
Trial97
f7f7bc6865 Removed update disabled warning
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-08-15 20:52:17 +03:00
Trial97
c28d9161cf added unused
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-08-15 18:54:22 +03:00
Trial97
748a644e2c added wait profiler
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-08-15 18:50:32 +03:00
Trial97
38d92bbcf1 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into import_zip
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-08-15 12:59:25 +03:00
Trial97
42a6c670c7 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into fail_concurrent_task
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-08-15 12:52:59 +03:00
TheKodeToad
983c943eef Merge branch 'develop' into quick-play
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2023-08-12 21:48:41 +01:00
Trial97
57692d6ce6 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into import_zip
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-08-05 19:13:08 +03:00
Trial97
24b47e4ec6 Merge branch 'fail_concurrent_task' of github.com:Trial97/PrismLauncher into fail_concurrent_task 2023-08-05 19:06:26 +03:00
Trial97
5981e7815a Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into fail_concurrent_task 2023-08-05 19:06:01 +03:00
TheKodeToad
5538c1d0af Fix compilation (actually this time!), incorporating new changes
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2023-07-28 15:11:24 +01:00
TheKodeToad
d4ea9c2717 Merge branch 'develop' into feature/java-downloader
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2023-07-28 14:50:59 +01:00
TheKodeToad
ce6a36c8b5 Deduplicate fix
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2023-07-28 14:31:58 +01:00
Trial97
6768501db1 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into import_zip
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-07-27 00:09:18 +03:00
Trial97
43cc04433d feat: refactored Instance ImportTask
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-07-19 11:58:27 +03:00
TheKodeToad
5f37e339fb Merge branch 'develop' into feature/java-downloader
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2023-07-16 12:32:31 +01:00
Alexandru Ionut Tripon
f42514a1a3 Update launcher/tasks/ConcurrentTask.cpp
Co-authored-by: seth <getchoo@tuta.io>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
2023-07-16 00:38:39 +03:00
Trial97
6cf7c0a647 Connected last fail signals
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-07-15 20:17:16 +03:00
Trial97
a7e0c9db96 connected failed event for some tasks
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-07-15 12:01:07 +03:00
Trial97
0880d4d37b made sure abort signal is catched in cocurent task
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-07-15 09:16:37 +03:00
Trial97
b54e093313 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into fail_concurrent_task 2023-07-15 09:04:22 +03:00
Trial97
68b5fdf748 Ask user to retry if netjob fails
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-07-15 00:03:11 +03:00
Trial97
d3dc00dcab made concurent task fail
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-07-14 21:07:53 +03:00
Trial97
7f4665e3cc format
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-07-14 21:07:34 +03:00
HyperSoop
bca120e798 Reduce mininmum memory amounts
Signed-off-by: HyperSoop <pasha.mirus@gmail.com>
2023-07-11 21:25:26 +03:00
TheKodeToad
aaab95ba55 Basic Quick Play support
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2023-06-12 12:08:57 +01:00
timoreo
6a5db12c6a Apply some more suggestions from @flowln
Co-authored-by: flow <flowlnlnln@gmail.com>
Signed-off-by: timoreo <contact@timoreo.fr>
2022-10-24 15:00:33 +02:00
timoreo
dcbd6cc1af More Json:: everywhere !
Signed-off-by: timoreo <contact@timoreo.fr>
2022-10-24 08:02:28 +02:00
timoreo
a65f20a789 Fix a tiny formatting issue
Co-authored-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
Signed-off-by: timoreo <contact@timoreo.fr>
2022-10-24 08:02:28 +02:00
timoreo
86e3518430 Apply most of the suggestions from @flowln
Signed-off-by: timoreo <contact@timoreo.fr>
2022-10-24 08:02:28 +02:00
timoreo
89f1b60538 Delete out non-needed functions from SysInfo
Delete LaunchContext

Signed-off-by: timoreo <contact@timoreo.fr>
2022-10-24 08:02:28 +02:00
timoreo
dc84a61999 Added failed and aborted handlers
Signed-off-by: timoreo <contact@timoreo.fr>
2022-10-24 08:02:28 +02:00
timoreo
a902f29ccf Changed to a temporary file
Signed-off-by: timoreo <contact@timoreo.fr>
2022-10-24 08:02:28 +02:00
timoreo
24dc154856 Add download button to more pages + UI fixes
Signed-off-by: timoreo <contact@timoreo.fr>
2022-10-24 08:02:27 +02:00
timoreo
68446c2a54 Obligatory formatting fix commit
Signed-off-by: timoreo <contact@timoreo.fr>
2022-10-24 08:02:27 +02:00
timoreo
f946964490 Regrab a few changes on SysInfo
Signed-off-by: timoreo <contact@timoreo.fr>
2022-10-24 08:02:27 +02:00
timoreo
53ddba8077 Made JavaDownloader a task and added some quick UI
Signed-off-by: timoreo <contact@timoreo.fr>
2022-10-24 08:02:27 +02:00
timoreo
54ad91c3b7 Anti-scrumped
Signed-off-by: timoreo <contact@timoreo.fr>
2022-10-24 08:02:27 +02:00
timoreo
89ce80b279 Fix Java downloader bugs + Add a test button in JavaPage
Signed-off-by: timoreo <contact@timoreo.fr>
2022-10-24 08:02:27 +02:00
timoreo
98a82cd484 Fix MMCZip bugs
Signed-off-by: timoreo <contact@timoreo.fr>
2022-10-24 08:02:27 +02:00
timoreo
a97387b692 Cherry-pick SysInfo from #680
Signed-off-by: timoreo <contact@timoreo.fr>
2022-10-24 08:02:26 +02:00
timoreo
9a4a92de4f Clang format
Signed-off-by: timoreo <contact@timoreo.fr>
2022-10-24 08:02:26 +02:00
timoreo
3433c102b7 Remove old comment and change to piston-meta
Signed-off-by: timoreo <contact@timoreo.fr>
2022-10-24 08:02:26 +02:00
timoreo
f95856d062 Add the base of java downloading
Signed-off-by: timoreo <contact@timoreo.fr>
2022-10-24 08:02:18 +02:00
1231 changed files with 50702 additions and 27831 deletions

View File

@@ -5,6 +5,7 @@ AllowShortIfStatementsOnASingleLine: false
ColumnLimit: 140
---
Language: Cpp
AccessModifierOffset: -1
AlignConsecutiveMacros: None
AlignConsecutiveAssignments: None
BraceWrapping:

View File

@@ -1,4 +1,23 @@
Checks:
- modernize-use-using
- readability-avoid-const-params-in-decls
- misc-unused-parameters,
- readability-identifier-naming
SystemHeaders: false
# ^ Without unused-parameters the readability-identifier-naming check doesn't cause any warnings.
CheckOptions:
- { key: readability-identifier-naming.ClassCase, value: PascalCase }
- { key: readability-identifier-naming.EnumCase, value: PascalCase }
- { key: readability-identifier-naming.FunctionCase, value: camelCase }
- { key: readability-identifier-naming.GlobalVariableCase, value: camelCase }
- { key: readability-identifier-naming.GlobalFunctionCase, value: camelCase }
- { key: readability-identifier-naming.GlobalConstantCase, value: SCREAMING_SNAKE_CASE }
- { key: readability-identifier-naming.MacroDefinitionCase, value: SCREAMING_SNAKE_CASE }
- { key: readability-identifier-naming.ClassMemberCase, value: camelCase }
- { key: readability-identifier-naming.PrivateMemberPrefix, value: m_ }
- { key: readability-identifier-naming.ProtectedMemberPrefix, value: m_ }
- { key: readability-identifier-naming.PrivateStaticMemberPrefix, value: s_ }
- { key: readability-identifier-naming.ProtectedStaticMemberPrefix, value: s_ }
- { key: readability-identifier-naming.PublicStaticConstantCase, value: SCREAMING_SNAKE_CASE }
- { key: readability-identifier-naming.EnumConstantCase, value: PascalCase }

View File

@@ -1,8 +1,22 @@
# EditorConfig specs and documentation: https://EditorConfig.org
# top-most EditorConfig file
root = true
# C++ Code Style settings
[*.{c++,cc,cpp,cppm,cxx,h,h++,hh,hpp,hxx,inl,ipp,ixx,tlh,tli}]
cpp_generate_documentation_comments = doxygen_slash_star
# EditorConfig specs and documentation: https://EditorConfig.org
# top-most EditorConfig file
root = true
[*]
indent_style = space
indent_size = 4
end_of_line = lf
charset = utf-8
insert_final_newline = true
trim_trailing_whitespace = true
[*.{yml,nix}]
indent_size = 2
# C++ Code Style settings
[*.{c++,cc,cpp,cppm,cxx,h,h++,hh,hpp,hxx,inl,ipp,ixx,tlh,tli}]
cpp_generate_documentation_comments = doxygen_slash_star
[CMakeLists.txt]
ij_continuation_indent_size = 4

2
.envrc
View File

@@ -1,2 +1,2 @@
use flake
use nix
watch_file nix/*.nix

View File

@@ -2,3 +2,12 @@
# tabs -> spaces
bbb3b3e6f6e3c0f95873f22e6d0a4aaf350f49d9
# (nix) alejandra -> nixfmt
4c81d8c53d09196426568c4a31a4e752ed05397a
# reformat codebase
1d468ac35ad88d8c77cc83f25e3704d9bd7df01b
# format a part of codebase
5c8481a118c8fefbfe901001d7828eaf6866eac4

View File

@@ -44,8 +44,8 @@ body:
attributes:
label: Unresolved Questions
description: |
Are there any portions of your proposal which need to be discussed with the community before the RFC can proceed?
Be careful here -- an RFC with a lot of remaining questions is likely to be stalled.
Are there any portions of your proposal which need to be discussed with the community before the RFC can proceed?
Be careful here -- an RFC with a lot of remaining questions is likely to be stalled.
If your RFC is mostly unresolved questions and not too much substance, it may not be ready.
placeholder: Do a lot of users care about the cat?
validations:

139
.github/actions/package/linux/action.yml vendored Normal file
View File

@@ -0,0 +1,139 @@
name: Package for Linux
description: Create Linux packages for Prism Launcher
inputs:
version:
description: Launcher version
required: true
build-type:
description: Type for the build
required: true
default: Debug
artifact-name:
description: Name of the uploaded artifact
required: true
default: Linux
qt-version:
description: Version of Qt to use
required: true
gpg-private-key:
description: Private key for AppImage signing
required: false
gpg-private-key-id:
description: ID for the gpg-private-key, to select the signing key
required: false
runs:
using: composite
steps:
- name: Setup build variables
shell: bash
run: |
# Fixup architecture naming for AppImages
dpkg_arch="$(dpkg-architecture -q DEB_HOST_ARCH_CPU)"
case "$dpkg_arch" in
"amd64")
APPIMAGE_ARCH="x86_64"
;;
"arm64")
APPIMAGE_ARCH="aarch64"
;;
*)
echo "# 🚨 The Debian architecture \"$deb_arch\" is not recognized!" >> "$GITHUB_STEP_SUMMARY"
exit 1
;;
esac
echo "APPIMAGE_ARCH=$APPIMAGE_ARCH" >> "$GITHUB_ENV"
# Used for the file paths of libraries
echo "DEB_HOST_MULTIARCH=$(dpkg-architecture -q DEB_HOST_MULTIARCH)" >> "$GITHUB_ENV"
- name: Package AppImage
shell: bash
env:
VERSION: ${{ github.ref_type == 'tag' && github.ref_name || inputs.version }}
BUILD_DIR: build
INSTALL_APPIMAGE_DIR: install-appdir
GPG_PRIVATE_KEY: ${{ inputs.gpg-private-key }}
run: |
cmake --install ${{ env.BUILD_DIR }} --config ${{ inputs.build-type }} --prefix ${{ env.INSTALL_APPIMAGE_DIR }}
if [ '${{ inputs.gpg-private-key-id }}' != '' ]; then
echo "$GPG_PRIVATE_KEY" > privkey.asc
gpg --import privkey.asc
gpg --export --armor 9C7A2C9B62603299 > pubkey.asc
else
echo ":warning: Skipped code signing for Linux AppImage, as gpg key was not present." >> $GITHUB_STEP_SUMMARY
fi
sharun lib4bin \
--hard-links \
--with-hooks \
--dst-dir "$INSTALL_APPIMAGE_DIR" \
"$INSTALL_APPIMAGE_DIR"/bin/* "$QT_PLUGIN_PATH"/*/*.so
cp ~/bin/AppImageUpdate.AppImage "$INSTALL_APPIMAGE_DIR"/bin/
# FIXME(@getchoo): gamemode doesn't seem to be very portable with DBus. Find a way to make it work!
find "$INSTALL_APPIMAGE_DIR" -name '*gamemode*' -exec rm {} +
#makes the launcher use portals for file picking
echo "QT_QPA_PLATFORMTHEME=xdgdesktopportal" > "$INSTALL_APPIMAGE_DIR"/.env
ln -s org.prismlauncher.PrismLauncher.metainfo.xml "$INSTALL_APPIMAGE_DIR"/share/metainfo/org.prismlauncher.PrismLauncher.appdata.xml
ln -s share/applications/org.prismlauncher.PrismLauncher.desktop "$INSTALL_APPIMAGE_DIR"
ln -s share/icons/hicolor/256x256/apps/org.prismlauncher.PrismLauncher.png "$INSTALL_APPIMAGE_DIR"
mv "$INSTALL_APPIMAGE_DIR"/{sharun,AppRun}
ls -la "$INSTALL_APPIMAGE_DIR"
if [[ "${{ github.ref_type }}" == "tag" ]]; then
APPIMAGE_DEST="PrismLauncher-Linux-$APPIMAGE_ARCH.AppImage"
else
APPIMAGE_DEST="PrismLauncher-Linux-$VERSION-${{ inputs.build-type }}-$APPIMAGE_ARCH.AppImage"
fi
mkappimage \
--updateinformation "gh-releases-zsync|${{ github.repository_owner }}|${{ github.event.repository.name }}|latest|PrismLauncher-Linux-$APPIMAGE_ARCH.AppImage.zsync" \
"$INSTALL_APPIMAGE_DIR" \
"$APPIMAGE_DEST"
- name: Package portable tarball
shell: bash
env:
BUILD_DIR: build
INSTALL_PORTABLE_DIR: install-portable
run: |
cmake --install ${{ env.BUILD_DIR }} --config ${{ inputs.build-type }} --prefix ${{ env.INSTALL_PORTABLE_DIR }}
cmake --install ${{ env.BUILD_DIR }} --config ${{ inputs.build-type }} --prefix ${{ env.INSTALL_PORTABLE_DIR }} --component portable
sharun lib4bin \
--with-hooks \
--hard-links \
--dst-dir "$INSTALL_PORTABLE_DIR" \
"$INSTALL_PORTABLE_DIR"/bin/* "$QT_PLUGIN_PATH"/*/*.so
# FIXME(@getchoo): gamemode doesn't seem to be very portable with DBus. Find a way to make it work!
find "$INSTALL_PORTABLE_DIR" -name '*gamemode*' -exec rm {} +
for l in $(find ${{ env.INSTALL_PORTABLE_DIR }} -type f -o -type l); do l=${l#$(pwd)/}; l=${l#${{ env.INSTALL_PORTABLE_DIR }}/}; l=${l#./}; echo $l; done > ${{ env.INSTALL_PORTABLE_DIR }}/manifest.txt
cd ${{ env.INSTALL_PORTABLE_DIR }}
tar -czf ../PrismLauncher-portable.tar.gz *
- name: Upload binary tarball
uses: actions/upload-artifact@v6
with:
name: PrismLauncher-${{ inputs.artifact-name }}-Qt6-Portable-${{ inputs.version }}-${{ inputs.build-type }}
path: PrismLauncher-portable.tar.gz
- name: Upload AppImage
uses: actions/upload-artifact@v6
with:
name: PrismLauncher-${{ runner.os }}-${{ inputs.version }}-${{ inputs.build-type }}-${{ env.APPIMAGE_ARCH }}.AppImage
path: PrismLauncher-${{ runner.os }}-*${{ env.APPIMAGE_ARCH }}.AppImage
- name: Upload AppImage Zsync
uses: actions/upload-artifact@v6
with:
name: PrismLauncher-${{ runner.os }}-${{ inputs.version }}-${{ inputs.build-type }}-${{ env.APPIMAGE_ARCH }}.AppImage.zsync
path: PrismLauncher-${{ runner.os }}-*${{ env.APPIMAGE_ARCH }}.AppImage.zsync

121
.github/actions/package/macos/action.yml vendored Normal file
View File

@@ -0,0 +1,121 @@
name: Package for macOS
description: Create a macOS package for Prism Launcher
inputs:
version:
description: Launcher version
required: true
build-type:
description: Type for the build
required: true
default: Debug
artifact-name:
description: Name of the uploaded artifact
required: true
default: macOS
apple-codesign-cert:
description: Certificate for signing macOS builds
required: false
apple-codesign-password:
description: Password for signing macOS builds
required: false
apple-codesign-id:
description: Certificate ID for signing macOS builds
required: false
apple-notarize-apple-id:
description: Apple ID used for notarizing macOS builds
required: false
apple-notarize-team-id:
description: Team ID used for notarizing macOS builds
required: false
apple-notarize-password:
description: Password used for notarizing macOS builds
required: false
sparkle-ed25519-key:
description: Private key for signing Sparkle updates
required: false
runs:
using: composite
steps:
- name: Fetch codesign certificate
shell: bash
run: |
echo '${{ inputs.apple-codesign-cert }}' | base64 --decode > codesign.p12
if [ -n '${{ inputs.apple-codesign-id }}' ]; then
security create-keychain -p '${{ inputs.apple-codesign-password }}' build.keychain
security default-keychain -s build.keychain
security unlock-keychain -p '${{ inputs.apple-codesign-password }}' build.keychain
security import codesign.p12 -k build.keychain -P '${{ inputs.apple-codesign-password }}' -T /usr/bin/codesign
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k '${{ inputs.apple-codesign-password }}' build.keychain
else
echo ":warning: Using ad-hoc code signing for macOS, as certificate was not present." >> $GITHUB_STEP_SUMMARY
fi
- name: Package
shell: bash
env:
BUILD_DIR: build
INSTALL_DIR: install
run: |
cmake --install ${{ env.BUILD_DIR }} --config ${{ inputs.build-type }}
cd ${{ env.INSTALL_DIR }}
chmod +x "PrismLauncher.app/Contents/MacOS/prismlauncher"
if [ -n '${{ inputs.apple-codesign-id }}' ]; then
APPLE_CODESIGN_ID='${{ inputs.apple-codesign-id }}'
ENTITLEMENTS_FILE='../program_info/App.entitlements'
else
APPLE_CODESIGN_ID='-'
ENTITLEMENTS_FILE='../program_info/AdhocSignedApp.entitlements'
fi
sudo codesign --sign "$APPLE_CODESIGN_ID" --deep --force --entitlements "$ENTITLEMENTS_FILE" --options runtime "PrismLauncher.app/Contents/MacOS/prismlauncher"
mv "PrismLauncher.app" "Prism Launcher.app"
- name: Notarize
shell: bash
env:
INSTALL_DIR: install
run: |
cd ${{ env.INSTALL_DIR }}
if [ -n '${{ inputs.apple-notarize-password }}' ]; then
ditto -c -k --sequesterRsrc --keepParent "Prism Launcher.app" ../PrismLauncher.zip
xcrun notarytool submit ../PrismLauncher.zip \
--wait --progress \
--apple-id '${{ inputs.apple-notarize-apple-id }}' \
--team-id '${{ inputs.apple-notarize-team-id }}' \
--password '${{ inputs.apple-notarize-password }}'
xcrun stapler staple "Prism Launcher.app"
else
echo ":warning: Skipping notarization as credentials are not present." >> $GITHUB_STEP_SUMMARY
fi
ditto -c -k --sequesterRsrc --keepParent "Prism Launcher.app" ../PrismLauncher.zip
- name: Make Sparkle signature
shell: bash
run: |
if [ '${{ inputs.sparkle-ed25519-key }}' != '' ]; then
echo '${{ inputs.sparkle-ed25519-key }}' > ed25519-priv.pem
signature=$(/opt/homebrew/opt/openssl@3/bin/openssl pkeyutl -sign -rawin -in ${{ github.workspace }}/PrismLauncher.zip -inkey ed25519-priv.pem | openssl base64 | tr -d \\n)
rm ed25519-priv.pem
cat >> $GITHUB_STEP_SUMMARY << EOF
### Artifact Information :information_source:
- :memo: Sparkle Signature (ed25519): \`$signature\`
EOF
else
cat >> $GITHUB_STEP_SUMMARY << EOF
### Artifact Information :information_source:
- :warning: Sparkle Signature (ed25519): No private key available (likely a pull request or fork)
EOF
fi
- name: Upload binary tarball
uses: actions/upload-artifact@v6
with:
name: PrismLauncher-${{ inputs.artifact-name }}-${{ inputs.version }}-${{ inputs.build-type }}
path: PrismLauncher.zip

View File

@@ -0,0 +1,182 @@
name: Package for Windows
description: Create a Windows package for Prism Launcher
inputs:
version:
description: Launcher version
required: true
build-type:
description: Type for the build
required: true
default: Debug
artifact-name:
description: Name of the uploaded artifact
required: true
msystem:
description: MSYS2 subsystem to use
required: false
azure-client-id:
description: Client ID for the Azure Signer Application
required: true
azure-tenant-id:
description: Tenant ID for the Azure Signer Application
required: true
azure-subscription-id:
description: Subscription ID for the Azure Signer Application
required: true
runs:
using: composite
steps:
- name: Package (MinGW)
if: ${{ inputs.msystem != '' }}
shell: msys2 {0}
env:
BUILD_DIR: build
INSTALL_DIR: install
run: |
cmake --install ${{ env.BUILD_DIR }} --config ${{ inputs.build-type }}
touch ${{ env.INSTALL_DIR }}/manifest.txt
for l in $(find ${{ env.INSTALL_DIR }} -type f); do l=$(cygpath -u $l); l=${l#$(pwd)/}; l=${l#${{ env.INSTALL_DIR }}/}; l=${l#./}; echo $l; done >> ${{ env.INSTALL_DIR }}/manifest.txt
- name: Package (MSVC)
if: ${{ inputs.msystem == '' }}
shell: pwsh
env:
BUILD_DIR: build
INSTALL_DIR: install
run: |
cmake --install ${{ env.BUILD_DIR }} --config ${{ inputs.build-type }}
cd ${{ github.workspace }}
Get-ChildItem ${{ env.INSTALL_DIR }} -Recurse | ForEach FullName | Resolve-Path -Relative | %{ $_.TrimStart('.\') } | %{ $_.TrimStart('${{ env.INSTALL_DIR }}') } | %{ $_.TrimStart('\') } | Out-File -FilePath ${{ env.INSTALL_DIR }}/manifest.txt
- name: Emit warning for unsigned builds
if: ${{ env.CI_HAS_ACCESS_TO_AZURE == '' || inputs.azure-client-id == '' }}
shell: pwsh
run: |
":warning: Skipped code signing for Windows, as certificate was not present." >> $env:GITHUB_STEP_SUMMARY
- name: Login to Azure
if: ${{ env.CI_HAS_ACCESS_TO_AZURE != '' && inputs.azure-client-id != '' }}
uses: azure/login@v2
with:
client-id: ${{ inputs.azure-client-id }}
tenant-id: ${{ inputs.azure-tenant-id }}
subscription-id: ${{ inputs.azure-subscription-id }}
- name: Sign executables
if: ${{ env.CI_HAS_ACCESS_TO_AZURE != '' && inputs.azure-client-id != '' }}
uses: azure/trusted-signing-action@v1
with:
endpoint: https://eus.codesigning.azure.net/
trusted-signing-account-name: PrismLauncher
certificate-profile-name: PrismLauncher
files: |
${{ github.workspace }}\install\prismlauncher.exe
${{ github.workspace }}\install\prismlauncher_filelink.exe
${{ github.workspace }}\install\prismlauncher_updater.exe
# TODO(@getchoo): Is this all really needed???
# https://github.com/Azure/trusted-signing-action/blob/fc390cf8ed0f14e248a542af1d838388a47c7a7c/docs/OIDC.md
exclude-environment-credential: true
exclude-workload-identity-credential: true
exclude-managed-identity-credential: true
exclude-shared-token-cache-credential: true
exclude-visual-studio-credential: true
exclude-visual-studio-code-credential: true
exclude-azure-cli-credential: false
exclude-azure-powershell-credential: true
exclude-azure-developer-cli-credential: true
exclude-interactive-browser-credential: true
- name: Package (MinGW, portable)
if: ${{ inputs.msystem != '' }}
shell: msys2 {0}
env:
BUILD_DIR: build
INSTALL_DIR: install
INSTALL_PORTABLE_DIR: install-portable
run: |
cp -r ${{ env.INSTALL_DIR }} ${{ env.INSTALL_PORTABLE_DIR }} # cmake install on Windows is slow, let's just copy instead
cmake --install ${{ env.BUILD_DIR }} --config ${{ inputs.build-type }} --prefix ${{ env.INSTALL_PORTABLE_DIR }} --component portable
for l in $(find ${{ env.INSTALL_PORTABLE_DIR }} -type f); do l=$(cygpath -u $l); l=${l#$(pwd)/}; l=${l#${{ env.INSTALL_PORTABLE_DIR }}/}; l=${l#./}; echo $l; done >> ${{ env.INSTALL_PORTABLE_DIR }}/manifest.txt
- name: Package (MSVC, portable)
if: ${{ inputs.msystem == '' }}
shell: pwsh
env:
BUILD_DIR: build
INSTALL_DIR: install
INSTALL_PORTABLE_DIR: install-portable
run: |
cp -r ${{ env.INSTALL_DIR }} ${{ env.INSTALL_PORTABLE_DIR }} # cmake install on Windows is slow, let's just copy instead
cmake --install ${{ env.BUILD_DIR }} --config ${{ inputs.build-type }} --prefix ${{ env.INSTALL_PORTABLE_DIR }} --component portable
Get-ChildItem ${{ env.INSTALL_PORTABLE_DIR }} -Recurse | ForEach FullName | Resolve-Path -Relative | %{ $_.TrimStart('.\') } | %{ $_.TrimStart('${{ env.INSTALL_PORTABLE_DIR }}') } | %{ $_.TrimStart('\') } | Out-File -FilePath ${{ env.INSTALL_DIR }}/manifest.txt
- name: Package (installer)
shell: pwsh
env:
BUILD_DIR: build
INSTALL_DIR: install
NSCURL_VERSION: "v24.9.26.122"
NSCURL_SHA256: "AEE6C4BE3CB6455858E9C1EE4B3AFE0DB9960FA03FE99CCDEDC28390D57CCBB0"
run: |
New-Item -Name NSISPlugins -ItemType Directory
Invoke-Webrequest https://github.com/negrutiu/nsis-nscurl/releases/download/"${{ env.NSCURL_VERSION }}"/NScurl.zip -OutFile NSISPlugins\NScurl.zip
$nscurl_hash = Get-FileHash NSISPlugins\NScurl.zip -Algorithm Sha256 | Select-Object -ExpandProperty Hash
if ( $nscurl_hash -ne "${{ env.nscurl_sha256 }}") {
echo "::error:: NSCurl.zip sha256 mismatch"
exit 1
}
Expand-Archive -Path NSISPlugins\NScurl.zip -DestinationPath NSISPlugins\NScurl
cd ${{ env.INSTALL_DIR }}
makensis -NOCD "${{ github.workspace }}/${{ env.BUILD_DIR }}/program_info/win_install.nsi"
- name: Sign installer
if: ${{ env.CI_HAS_ACCESS_TO_AZURE != '' && inputs.azure-client-id != '' }}
uses: azure/trusted-signing-action@v1
with:
endpoint: https://eus.codesigning.azure.net/
trusted-signing-account-name: PrismLauncher
certificate-profile-name: PrismLauncher
files: |
${{ github.workspace }}\PrismLauncher-Setup.exe
# TODO(@getchoo): Is this all really needed???
# https://github.com/Azure/trusted-signing-action/blob/fc390cf8ed0f14e248a542af1d838388a47c7a7c/docs/OIDC.md
exclude-environment-credential: true
exclude-workload-identity-credential: true
exclude-managed-identity-credential: true
exclude-shared-token-cache-credential: true
exclude-visual-studio-credential: true
exclude-visual-studio-code-credential: true
exclude-azure-cli-credential: false
exclude-azure-powershell-credential: true
exclude-azure-developer-cli-credential: true
exclude-interactive-browser-credential: true
- name: Upload binary zip
uses: actions/upload-artifact@v6
with:
name: PrismLauncher-${{ inputs.artifact-name }}-${{ inputs.version }}-${{ inputs.build-type }}
path: install/**
- name: Upload portable zip
uses: actions/upload-artifact@v6
with:
name: PrismLauncher-${{ inputs.artifact-name }}-Portable-${{ inputs.version }}-${{ inputs.build-type }}
path: install-portable/**
- name: Upload installer
uses: actions/upload-artifact@v6
with:
name: PrismLauncher-${{ inputs.artifact-name }}-Setup-${{ inputs.version }}-${{ inputs.build-type }}
path: PrismLauncher-Setup.exe

View File

@@ -0,0 +1,81 @@
name: Setup Dependencies
description: Install and setup dependencies for building Prism Launcher
inputs:
build-type:
description: Type for the build
required: true
default: Debug
artifact-name:
description: Name of the uploaded artifact
required: true
msystem:
description: MSYS2 subsystem to use
required: false
vcvars-arch:
description: Visual Studio architecture to use
required: false
qt-architecture:
description: Qt architecture
required: false
qt-version:
description: Version of Qt to use
required: true
outputs:
build-type:
description: Type of build used
value: ${{ inputs.build-type }}
qt-version:
description: Version of Qt used
value: ${{ inputs.qt-version }}
runs:
using: composite
steps:
- name: Setup Linux dependencies
if: ${{ runner.os == 'Linux' }}
uses: ./.github/actions/setup-dependencies/linux
- name: Setup macOS dependencies
if: ${{ runner.os == 'macOS' }}
uses: ./.github/actions/setup-dependencies/macos
with:
build-type: ${{ inputs.build-type }}
- name: Setup Windows dependencies
if: ${{ runner.os == 'Windows' }}
uses: ./.github/actions/setup-dependencies/windows
with:
build-type: ${{ inputs.build-type }}
msystem: ${{ inputs.msystem }}
vcvars-arch: ${{ inputs.vcvars-arch }}
# TODO(@getchoo): Get this working on MSYS2!
- name: Setup ccache
if: ${{ (runner.os != 'Windows' || inputs.msystem == '') && inputs.build-type == 'Debug' }}
uses: hendrikmuhs/ccache-action@v1.2.20
with:
variant: sccache
create-symlink: ${{ runner.os != 'Windows' }}
key: ${{ runner.os }}-${{ runner.arch }}-${{ inputs.artifact-name }}-sccache
- name: Use ccache on debug builds
if: ${{ inputs.build-type == 'Debug' }}
shell: bash
env:
# Only use ccache on MSYS2
CCACHE_VARIANT: ${{ (runner.os == 'Windows' && inputs.msystem != '') && 'ccache' || 'sccache' }}
run: |
echo "CMAKE_C_COMPILER_LAUNCHER=$CCACHE_VARIANT" >> "$GITHUB_ENV"
echo "CMAKE_CXX_COMPILER_LAUNCHER=$CCACHE_VARIANT" >> "$GITHUB_ENV"
- name: Install Qt
if: ${{ inputs.msystem == '' }}
uses: jurplel/install-qt-action@v4
with:
aqtversion: "==3.1.*"
version: ${{ inputs.qt-version }}
modules: qtimageformats qtnetworkauth
cache: ${{ inputs.build-type == 'Debug' }}

View File

@@ -0,0 +1,53 @@
name: Setup Linux dependencies
runs:
using: composite
steps:
- name: Install host dependencies
shell: bash
run: |
sudo apt-get -y update
sudo apt-get -y install \
dpkg-dev \
ninja-build extra-cmake-modules pkg-config scdoc \
cmark gamemode-dev libarchive-dev libcmark-dev libqrencode-dev zlib1g-dev \
libxcb-cursor-dev libtomlplusplus-dev
- name: Setup AppImage tooling
shell: bash
env:
GH_TOKEN: ${{ github.token }}
run: |
# Determinate AppImage architecture to use
dpkg_arch="$(dpkg-architecture -q DEB_HOST_ARCH_CPU)"
case "$dpkg_arch" in
"amd64")
APPIMAGE_ARCH="x86_64"
;;
"arm64")
APPIMAGE_ARCH="aarch64"
;;
*)
echo "# 🚨 The Debian architecture \"$deb_arch\" is not recognized!" >> "$GITHUB_STEP_SUMMARY"
exit 1
;;
esac
gh release download \
--repo VHSgunzo/sharun \
--pattern "sharun-$APPIMAGE_ARCH-aio" \
--output ~/bin/sharun
# FIXME!: revert this to probonopd/go-appimage once https://github.com/probonopd/go-appimage/pull/377 is merged!
gh release download continuous \
--repo DioEgizio/go-appimage \
--pattern "mkappimage-*-$APPIMAGE_ARCH.AppImage" \
--output ~/bin/mkappimage
gh release download \
--repo AppImageCommunity/AppImageUpdate \
--pattern "AppImageUpdate-$APPIMAGE_ARCH.AppImage" \
--output ~/bin/AppImageUpdate.AppImage
chmod +x ~/bin/*
echo "$HOME/bin" >> "$GITHUB_PATH"

View File

@@ -0,0 +1,47 @@
name: Setup macOS dependencies
inputs:
build-type:
description: Type for the build
required: true
default: Debug
runs:
using: composite
steps:
- name: Install dependencies
shell: bash
run: |
brew update
brew install ninja extra-cmake-modules temurin@17 mono
- name: Set JAVA_HOME
shell: bash
run: |
echo "JAVA_HOME=$(/usr/libexec/java_home -v 17)" >> "$GITHUB_ENV"
- name: Setup vcpkg cache
if: ${{ inputs.build-type == 'Debug' }}
shell: bash
env:
USERNAME: ${{ github.repository_owner }}
GITHUB_TOKEN: ${{ github.token }}
FEED_URL: https://nuget.pkg.github.com/${{ github.repository_owner }}/index.json
run: |
mono `vcpkg fetch nuget | tail -n 1` \
sources add \
-Source "$FEED_URL" \
-StorePasswordInClearText \
-Name GitHubPackages \
-UserName "$USERNAME" \
-Password "$GITHUB_TOKEN"
mono `vcpkg fetch nuget | tail -n 1` \
setapikey "$GITHUB_TOKEN" \
-Source "$FEED_URL"
echo "VCPKG_BINARY_SOURCES=clear;nuget,$FEED_URL,readwrite" >> "$GITHUB_ENV"
- name: Setup vcpkg environment
shell: bash
run: |
echo "VCPKG_ROOT=$VCPKG_INSTALLATION_ROOT" >> "$GITHUB_ENV"

View File

@@ -0,0 +1,107 @@
name: Setup Windows Dependencies
inputs:
build-type:
description: Type for the build
required: true
default: Debug
msystem:
description: MSYS2 subsystem to use
required: false
vcvars-arch:
description: Visual Studio architecture to use
required: true
default: amd64
runs:
using: composite
steps:
# NOTE: Installed on MinGW as well for SignTool
- name: Enter VS Developer shell
if: ${{ runner.os == 'Windows' }}
uses: ilammy/msvc-dev-cmd@v1
with:
arch: ${{ inputs.vcvars-arch }}
vsversion: 2022
- name: Setup Java (MSVC)
uses: actions/setup-java@v5
with:
# NOTE(@getchoo): We should probably stay on Zulu.
# Temurin doesn't have Java 17 builds for WoA
distribution: zulu
java-version: 17
- name: Setup vcpkg cache (MSVC)
if: ${{ inputs.msystem == '' && inputs.build-type == 'Debug' }}
shell: pwsh
env:
USERNAME: ${{ github.repository_owner }}
GITHUB_TOKEN: ${{ github.token }}
FEED_URL: https://nuget.pkg.github.com/${{ github.repository_owner }}/index.json
run: |
.$(vcpkg fetch nuget) `
sources add `
-Source "$env:FEED_URL" `
-StorePasswordInClearText `
-Name GitHubPackages `
-UserName "$env:USERNAME" `
-Password "$env:GITHUB_TOKEN"
.$(vcpkg fetch nuget) `
setapikey "$env:GITHUB_TOKEN" `
-Source "$env:FEED_URL"
"VCPKG_BINARY_SOURCES=clear;nuget,$env:FEED_URL,readwrite" | Out-File -Append $env:GITHUB_ENV
- name: Setup vcpkg environment (MSVC)
if: ${{ inputs.msystem == '' }}
shell: bash
run: |
echo "VCPKG_ROOT=$VCPKG_INSTALLATION_ROOT" >> "$GITHUB_ENV"
- name: Setup MSYS2 (MinGW)
if: ${{ inputs.msystem != '' }}
uses: msys2/setup-msys2@v2
with:
msystem: ${{ inputs.msystem }}
update: true
install: >-
git
pacboy: >-
toolchain:p
ccache:p
cmake:p
extra-cmake-modules:p
ninja:p
qt6-base:p
qt6-svg:p
qt6-imageformats:p
qt6-networkauth:p
cmark:p
qrencode:p
tomlplusplus:p
libarchive:p
- name: List pacman packages (MinGW)
if: ${{ inputs.msystem != '' }}
shell: msys2 {0}
run: |
pacman -Qe
- name: Retrieve ccache cache (MinGW)
if: ${{ inputs.msystem != '' && inputs.build-type == 'Debug' }}
uses: actions/cache@v5.0.2
with:
path: '${{ github.workspace }}\.ccache'
key: ${{ runner.os }}-mingw-w64-ccache-${{ github.run_id }}
restore-keys: |
${{ runner.os }}-mingw-w64-ccache
- name: Setup ccache (MinGW)
if: ${{ inputs.msystem != '' && inputs.build-type == 'Debug' }}
shell: msys2 {0}
run: |
ccache --set-config=cache_dir='${{ github.workspace }}\.ccache'
ccache --set-config=max_size='500M'
ccache --set-config=compression=true
ccache -p # Show config

View File

@@ -1,41 +0,0 @@
#!/usr/bin/env bash
URL_JDK8="https://api.adoptium.net/v3/binary/version/jdk8u312-b07/linux/x64/jre/hotspot/normal/eclipse"
URL_JDK17="https://api.adoptium.net/v3/binary/latest/17/ga/linux/x64/jre/hotspot/normal/eclipse"
mkdir -p JREs
pushd JREs
wget --content-disposition "$URL_JDK8"
wget --content-disposition "$URL_JDK17"
for file in *;
do
mkdir temp
re='(OpenJDK([[:digit:]]+)U-jre_x64_linux_hotspot_([[:digit:]]+)(.*).tar.gz)'
if [[ $file =~ $re ]];
then
version_major=${BASH_REMATCH[2]}
version_trailing=${BASH_REMATCH[4]}
if [ $version_major = 17 ];
then
hyphen='-'
else
hyphen=''
fi
version_edit=$(echo $version_trailing | sed -e 's/_/+/g' | sed -e 's/b/-b/g')
dir_name=jdk$hyphen$version_major$version_edit-jre
mkdir jre$version_major
tar -xzf $file -C temp
pushd temp/$dir_name
cp -r . ../../jre$version_major
popd
fi
rm -rf temp
done
popd

View File

@@ -16,15 +16,16 @@ jobs:
permissions:
contents: write # for korthout/backport-action to create branch
pull-requests: write # for korthout/backport-action to create PR to backport
actions: write # for korthout/backport-action to create PR with workflow changes
name: Backport Pull Request
if: github.repository_owner == 'PrismLauncher' && github.event.pull_request.merged == true && (github.event_name != 'labeled' || startsWith('backport', github.event.label.name))
runs-on: ubuntu-latest
runs-on: ubuntu-slim
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Create backport PRs
uses: korthout/backport-action@v2.1.0
uses: korthout/backport-action@v4.0.1
with:
# Config README: https://github.com/korthout/backport-action#backport-action
pull_description: |-

255
.github/workflows/blocked-prs.yml vendored Normal file
View File

@@ -0,0 +1,255 @@
name: Blocked/Stacked Pull Requests Automation
on:
pull_request_target:
types:
- opened
- reopened
- edited
- synchronize
workflow_dispatch:
inputs:
pr_id:
description: Local Pull Request number to work on
required: true
type: number
jobs:
blocked_status:
name: Check Blocked Status
runs-on: ubuntu-slim
steps:
- name: Generate token
id: generate-token
uses: actions/create-github-app-token@v2
with:
app-id: ${{ vars.PULL_REQUEST_APP_ID }}
private-key: ${{ secrets.PULL_REQUEST_APP_PRIVATE_KEY }}
- name: Setup From Dispatch Event
if: github.event_name == 'workflow_dispatch'
id: dispatch_event_setup
env:
GH_TOKEN: ${{ steps.generate-token.outputs.token }}
PR_NUMBER: ${{ inputs.pr_id }}
run: |
# setup env for the rest of the workflow
OWNER=$(dirname "${{ github.repository }}")
REPO=$(basename "${{ github.repository }}")
PR_JSON=$(
gh api \
-H "Accept: application/vnd.github.raw+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"/repos/$OWNER/$REPO/pulls/$PR_NUMBER"
)
echo "PR_JSON=$PR_JSON" >> "$GITHUB_ENV"
- name: Setup Environment
id: env_setup
env:
EVENT_PR_JSON: ${{ toJSON(github.event.pull_request) }}
run: |
# setup env for the rest of the workflow
PR_JSON=${PR_JSON:-"$EVENT_PR_JSON"}
{
echo "REPO=$(jq -r '.base.repo.name' <<< "$PR_JSON")"
echo "OWNER=$(jq -r '.base.repo.owner.login' <<< "$PR_JSON")"
echo "PR_NUMBER=$(jq -r '.number' <<< "$PR_JSON")"
echo "JOB_DATA=$(jq -c '
{
"repo": .base.repo.name,
"owner": .base.repo.owner.login,
"repoUrl": .base.repo.html_url,
"prNumber": .number,
"prHeadSha": .head.sha,
"prHeadLabel": .head.label,
"prBody": (.body // ""),
"prLabels": (reduce .labels[].name as $l ([]; . + [$l]))
}
' <<< "$PR_JSON")"
} >> "$GITHUB_ENV"
- name: Find Blocked/Stacked PRs in body
id: pr_ids
run: |
prs=$(
jq -c '
.prBody as $body
| (
$body |
reduce (
. | scan("[Bb]locked (?:[Bb]y|[Oo]n):? #([0-9]+)")
| map({
"type": "Blocked on",
"number": ( . | tonumber )
})
) as $i ([]; . + [$i[]])
) as $bprs
| (
$body |
reduce (
. | scan("[Ss]tacked [Oo]n:? #([0-9]+)")
| map({
"type": "Stacked on",
"number": ( . | tonumber )
})
) as $i ([]; . + [$i[]])
) as $sprs
| ($bprs + $sprs) as $prs
| {
"blocking": $prs,
"numBlocking": ( $prs | length),
}
' <<< "$JOB_DATA"
)
echo "prs=$prs" >> "$GITHUB_OUTPUT"
- name: Collect Blocked PR Data
id: blocking_data
if: fromJSON(steps.pr_ids.outputs.prs).numBlocking > 0
env:
GH_TOKEN: ${{ steps.generate-token.outputs.token }}
BLOCKING_PRS: ${{ steps.pr_ids.outputs.prs }}
run: |
blocked_pr_data=$(
while read -r pr_data ; do
gh api \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"/repos/$OWNER/$REPO/pulls/$(jq -r '.number' <<< "$pr_data")" \
| jq -c --arg type "$(jq -r '.type' <<< "$pr_data")" \
'
. | {
"type": $type,
"number": .number,
"merged": .merged,
"state": (if .state == "open" then "Open" elif .merged then "Merged" else "Closed" end),
"labels": (reduce .labels[].name as $l ([]; . + [$l])),
"basePrUrl": .html_url,
"baseRepoName": .head.repo.name,
"baseRepoOwner": .head.repo.owner.login,
"baseRepoUrl": .head.repo.html_url,
"baseSha": .head.sha,
"baseRefName": .head.ref,
}
'
done < <(jq -c '.blocking[]' <<< "$BLOCKING_PRS") | jq -c -s
)
{
echo "data=$blocked_pr_data";
echo "all_merged=$(jq -r 'all(.[] | (.type == "Stacked on" and .merged) or (.type == "Blocked on" and (.state != "Open")); .)' <<< "$blocked_pr_data")";
echo "current_blocking=$(jq -c 'map(
select(
(.type == "Stacked on" and (.merged | not)) or
(.type == "Blocked on" and (.state == "Open"))
) | .number
)' <<< "$blocked_pr_data" )";
} >> "$GITHUB_OUTPUT"
- name: Add 'blocked' Label if Missing
id: label_blocked
if: (fromJSON(steps.pr_ids.outputs.prs).numBlocking > 0) && !contains(fromJSON(env.JOB_DATA).prLabels, 'blocked') && !fromJSON(steps.blocking_data.outputs.all_merged)
continue-on-error: true
env:
GH_TOKEN: ${{ steps.generate-token.outputs.token }}
run: |
gh -R ${{ github.repository }} issue edit --add-label 'blocked' "$PR_NUMBER"
- name: Remove 'blocked' Label if All Dependencies Are Merged
id: unlabel_blocked
if: fromJSON(steps.pr_ids.outputs.prs).numBlocking > 0 && fromJSON(steps.blocking_data.outputs.all_merged)
continue-on-error: true
env:
GH_TOKEN: ${{ steps.generate-token.outputs.token }}
run: |
gh -R ${{ github.repository }} issue edit --remove-label 'blocked' "$PR_NUMBER"
- name: Apply 'blocking' Label to Unmerged Dependencies
id: label_blocking
if: fromJSON(steps.pr_ids.outputs.prs).numBlocking > 0
continue-on-error: true
env:
GH_TOKEN: ${{ steps.generate-token.outputs.token }}
BLOCKING_ISSUES: ${{ steps.blocking_data.outputs.current_blocking }}
run: |
while read -r pr ; do
gh -R ${{ github.repository }} issue edit --add-label 'blocking' "$pr" || true
done < <(jq -c '.[]' <<< "$BLOCKING_ISSUES")
- name: Apply Blocking PR Status Check
id: blocked_check
if: fromJSON(steps.pr_ids.outputs.prs).numBlocking > 0
continue-on-error: true
env:
GH_TOKEN: ${{ steps.generate-token.outputs.token }}
BLOCKING_DATA: ${{ steps.blocking_data.outputs.data }}
run: |
pr_head_sha=$(jq -r '.prHeadSha' <<< "$JOB_DATA")
# create commit Status, overwrites previous identical context
while read -r pr_data ; do
DESC=$(
jq -r 'if .type == "Stacked on" then
"Stacked PR #" + (.number | tostring) + " is " + (if .merged then "" else "not yet " end) + "merged"
else
"Blocking PR #" + (.number | tostring) + " is " + (if .state == "Open" then "" else "not yet " end) + "merged or closed"
end ' <<< "$pr_data"
)
gh api \
--method POST \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"/repos/${OWNER}/${REPO}/statuses/${pr_head_sha}" \
-f "state=$(jq -r 'if (.type == "Stacked on" and .merged) or (.type == "Blocked on" and (.state != "Open")) then "success" else "failure" end' <<< "$pr_data")" \
-f "target_url=$(jq -r '.basePrUrl' <<< "$pr_data" )" \
-f "description=$DESC" \
-f "context=ci/blocking-pr-check:$(jq '.number' <<< "$pr_data")"
done < <(jq -c '.[]' <<< "$BLOCKING_DATA")
- name: Context Comment
id: generate-comment
if: fromJSON(steps.pr_ids.outputs.prs).numBlocking > 0
continue-on-error: true
env:
BLOCKING_DATA: ${{ steps.blocking_data.outputs.data }}
run: |
COMMENT_PATH="$(pwd)/temp_comment_file.txt"
echo '<h3>PR Dependencies :pushpin:</h3>' > "$COMMENT_PATH"
echo >> "$COMMENT_PATH"
pr_head_label=$(jq -r '.prHeadLabel' <<< "$JOB_DATA")
while read -r pr_data ; do
base_pr=$(jq -r '.number' <<< "$pr_data")
base_ref_name=$(jq -r '.baseRefName' <<< "$pr_data")
base_repo_owner=$(jq -r '.baseRepoOwner' <<< "$pr_data")
base_repo_name=$(jq -r '.baseRepoName' <<< "$pr_data")
compare_url="https://github.com/$base_repo_owner/$base_repo_name/compare/$base_ref_name...$pr_head_label"
status=$(jq -r '
if .type == "Stacked on" then
if .merged then ":heavy_check_mark: Merged" else ":x: Not Merged (" + .state + ")" end
else
if .state != "Open" then ":white_check_mark: " + .state else ":x: Open" end
end
' <<< "$pr_data")
type=$(jq -r '.type' <<< "$pr_data")
echo " - $type #$base_pr $status [(compare)]($compare_url)" >> "$COMMENT_PATH"
done < <(jq -c '.[]' <<< "$BLOCKING_DATA")
{
echo 'body<<EOF';
cat "${COMMENT_PATH}";
echo 'EOF';
} >> "$GITHUB_OUTPUT"
- name: 💬 PR Comment
if: fromJSON(steps.pr_ids.outputs.prs).numBlocking > 0
continue-on-error: true
env:
GH_TOKEN: ${{ steps.generate-token.outputs.token }}
COMMENT_BODY: ${{ steps.generate-comment.outputs.body }}
run: |
gh -R ${{ github.repository }} issue comment "$PR_NUMBER" \
--body "$COMMENT_BODY" \
--create-if-none \
--edit-last

View File

@@ -1,610 +1,233 @@
name: Build
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
push:
branches:
- "develop"
- "release-*"
paths:
# File types
- "**.cpp"
- "**.h"
- "**.java"
- "**.ui"
# Directories
- "buildconfig/**"
- "cmake/**"
- "launcher/**"
- "libraries/**"
- "program_info/**"
- "tests/**"
# Files
- "CMakeLists.txt"
- "COPYING.md"
# Workflows
- ".github/workflows/build.yml"
- ".github/actions/package/**"
- ".github/actions/setup-dependencies/**"
pull_request:
paths:
# File types
- "**.cpp"
- "**.h"
- "**.java"
- "**.ui"
# Directories
- "buildconfig/**"
- "cmake/**"
- "launcher/**"
- "libraries/**"
- "program_info/**"
- "tests/**"
# Files
- "CMakeLists.txt"
- "COPYING.md"
# Workflows
- ".github/workflows/build.yml"
- ".github/actions/package/**"
- ".github/actions/setup-dependencies/**"
workflow_call:
inputs:
build_type:
description: Type of build (Debug, Release, RelWithDebInfo, MinSizeRel)
build-type:
description: Type of build (Debug or Release)
type: string
default: Debug
is_qt_cached:
description: Enable Qt caching or not
environment:
description: Deployment environment to run under
type: string
default: true
secrets:
SPARKLE_ED25519_KEY:
description: Private key for signing Sparkle updates
required: false
WINDOWS_CODESIGN_CERT:
description: Certificate for signing Windows builds
required: false
WINDOWS_CODESIGN_PASSWORD:
description: Password for signing Windows builds
required: false
CACHIX_AUTH_TOKEN:
description: Private token for authenticating against Cachix cache
required: false
GPG_PRIVATE_KEY:
description: Private key for AppImage signing
required: false
GPG_PRIVATE_KEY_ID:
description: ID for the GPG_PRIVATE_KEY, to select the signing key
required: false
workflow_dispatch:
inputs:
build-type:
description: Type of build (Debug or Release)
type: string
default: Debug
jobs:
build:
name: Build (${{ matrix.artifact-name }})
environment: ${{ inputs.environment || '' }}
permissions:
# Required for Azure Trusted Signing
id-token: write
# Required for vcpkg binary cache
packages: write
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-20.04
qt_ver: 5
- os: ubuntu-24.04
artifact-name: Linux
cmake-preset: linux
qt-version: 6.10.1
- os: ubuntu-20.04
qt_ver: 6
qt_host: linux
qt_arch: ""
qt_version: "6.2.4"
qt_modules: "qt5compat qtimageformats"
qt_tools: ""
- os: ubuntu-24.04-arm
artifact-name: Linux-aarch64
cmake-preset: linux
qt-version: 6.10.1
- os: windows-2022
name: "Windows-MinGW-w64"
msystem: clang64
vcvars_arch: "amd64_x86"
artifact-name: Windows-MinGW-w64
cmake-preset: windows_mingw
msystem: CLANG64
vcvars-arch: amd64_x86
- os: windows-11-arm
artifact-name: Windows-MinGW-arm64
cmake-preset: windows_mingw
msystem: CLANGARM64
vcvars-arch: arm64
- os: windows-2022
name: "Windows-MSVC"
msystem: ""
architecture: "x64"
vcvars_arch: "amd64"
qt_ver: 6
qt_host: windows
qt_arch: ''
qt_version: '6.6.0'
qt_modules: 'qt5compat qtimageformats'
qt_tools: ''
artifact-name: Windows-MSVC
cmake-preset: windows_msvc
# TODO(@getchoo): This is the default in setup-dependencies/windows. Why isn't it working?!?!
vcvars-arch: amd64
qt-version: 6.10.1
- os: windows-2022
name: "Windows-MSVC-arm64"
msystem: ""
architecture: "arm64"
vcvars_arch: "amd64_arm64"
qt_ver: 6
qt_host: windows
qt_arch: 'win64_msvc2019_arm64'
qt_version: '6.6.0'
qt_modules: 'qt5compat qtimageformats'
qt_tools: ''
- os: windows-11-arm
artifact-name: Windows-MSVC-arm64
cmake-preset: windows_msvc
vcvars-arch: arm64
qt-version: 6.10.1
- os: macos-12
name: macOS
macosx_deployment_target: 11.0
qt_ver: 6
qt_host: mac
qt_arch: ''
qt_version: '6.6.0'
qt_modules: 'qt5compat qtimageformats'
qt_tools: ''
- os: macos-12
name: macOS-Legacy
macosx_deployment_target: 10.13
qt_ver: 5
qt_host: mac
qt_version: "5.15.2"
qt_modules: ""
qt_tools: ""
- os: macos-26
artifact-name: macOS
cmake-preset: macos_universal
macosx-deployment-target: 12.0
qt-version: 6.9.3
runs-on: ${{ matrix.os }}
defaults:
run:
shell: ${{ matrix.msystem != '' && 'msys2 {0}' || 'bash' }}
env:
MACOSX_DEPLOYMENT_TARGET: ${{ matrix.macosx_deployment_target }}
INSTALL_DIR: "install"
INSTALL_PORTABLE_DIR: "install-portable"
INSTALL_APPIMAGE_DIR: "install-appdir"
BUILD_DIR: "build"
CCACHE_VAR: ""
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: 1
ARTIFACT_NAME: ${{ matrix.artifact-name }}-Qt6
BUILD_PLATFORM: official
BUILD_TYPE: ${{ inputs.build-type || 'Debug' }}
CMAKE_PRESET: ${{ matrix.cmake-preset }}
MACOSX_DEPLOYMENT_TARGET: ${{ matrix.macosx-deployment-target }}
steps:
##
# PREPARE
# SETUP
##
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
submodules: "true"
submodules: true
- name: "Setup MSYS2"
if: runner.os == 'Windows' && matrix.msystem != ''
uses: msys2/setup-msys2@v2
- name: Setup dependencies
id: setup-dependencies
uses: ./.github/actions/setup-dependencies
with:
build-type: ${{ env.BUILD_TYPE }}
artifact-name: ${{ matrix.artifact-name }}
msystem: ${{ matrix.msystem }}
update: true
install: >-
git
mingw-w64-x86_64-binutils
pacboy: >-
toolchain:p
cmake:p
extra-cmake-modules:p
ninja:p
qt6-base:p
qt6-svg:p
qt6-imageformats:p
quazip-qt6:p
ccache:p
qt6-5compat:p
cmark:p
- name: Force newer ccache
if: runner.os == 'Windows' && matrix.msystem == '' && inputs.build_type == 'Debug'
run: |
choco install ccache --version 4.7.1
- name: Setup ccache
if: (runner.os != 'Windows' || matrix.msystem == '') && inputs.build_type == 'Debug'
uses: hendrikmuhs/ccache-action@v1.2.10
with:
key: ${{ matrix.os }}-qt${{ matrix.qt_ver }}-${{ matrix.architecture }}
- name: Retrieve ccache cache (Windows MinGW-w64)
if: runner.os == 'Windows' && matrix.msystem != '' && inputs.build_type == 'Debug'
uses: actions/cache@v3.3.2
with:
path: '${{ github.workspace }}\.ccache'
key: ${{ matrix.os }}-mingw-w64-ccache-${{ github.run_id }}
restore-keys: |
${{ matrix.os }}-mingw-w64-ccache
- name: Setup ccache (Windows MinGW-w64)
if: runner.os == 'Windows' && matrix.msystem != '' && inputs.build_type == 'Debug'
shell: msys2 {0}
run: |
ccache --set-config=cache_dir='${{ github.workspace }}\.ccache'
ccache --set-config=max_size='500M'
ccache --set-config=compression=true
ccache -p # Show config
ccache -z # Zero stats
- name: Use ccache on Debug builds only
if: inputs.build_type == 'Debug'
shell: bash
run: |
echo "CCACHE_VAR=ccache" >> $GITHUB_ENV
- name: Set short version
shell: bash
run: |
ver_short=`git rev-parse --short HEAD`
echo "VERSION=$ver_short" >> $GITHUB_ENV
- name: Install Dependencies (Linux)
if: runner.os == 'Linux'
run: |
sudo apt-get -y update
sudo apt-get -y install ninja-build extra-cmake-modules scdoc appstream
- name: Install Dependencies (macOS)
if: runner.os == 'macOS'
run: |
brew update
brew install ninja extra-cmake-modules
- name: Install Qt (Linux)
if: runner.os == 'Linux' && matrix.qt_ver != 6
run: |
sudo apt-get -y install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools libqt5core5a libqt5network5 libqt5gui5
- name: Install host Qt (Windows MSVC arm64)
if: runner.os == 'Windows' && matrix.architecture == 'arm64'
uses: jurplel/install-qt-action@v3
with:
aqtversion: "==3.1.*"
py7zrversion: ">=0.20.2"
version: ${{ matrix.qt_version }}
host: "windows"
target: "desktop"
arch: ""
modules: ${{ matrix.qt_modules }}
tools: ${{ matrix.qt_tools }}
cache: ${{ inputs.is_qt_cached }}
cache-key-prefix: host-qt-arm64-windows
dir: ${{ github.workspace }}\HostQt
set-env: false
- name: Install Qt (macOS, Linux, Qt 6 & Windows MSVC)
if: runner.os == 'Linux' && matrix.qt_ver == 6 || runner.os == 'macOS' || (runner.os == 'Windows' && matrix.msystem == '')
uses: jurplel/install-qt-action@v3
with:
aqtversion: "==3.1.*"
py7zrversion: ">=0.20.2"
version: ${{ matrix.qt_version }}
host: ${{ matrix.qt_host }}
target: "desktop"
arch: ${{ matrix.qt_arch }}
modules: ${{ matrix.qt_modules }}
tools: ${{ matrix.qt_tools }}
cache: ${{ inputs.is_qt_cached }}
- name: Install MSVC (Windows MSVC)
if: runner.os == 'Windows' # We want this for MinGW builds as well, as we need SignTool
uses: ilammy/msvc-dev-cmd@v1
with:
vsversion: 2022
arch: ${{ matrix.vcvars_arch }}
- name: Prepare AppImage (Linux)
if: runner.os == 'Linux' && matrix.qt_ver != 5
run: |
wget "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage"
wget "https://github.com/linuxdeploy/linuxdeploy-plugin-appimage/releases/download/continuous/linuxdeploy-plugin-appimage-x86_64.AppImage"
wget "https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage"
wget "https://github.com/AppImageCommunity/AppImageUpdate/releases/download/continuous/AppImageUpdate-x86_64.AppImage"
${{ github.workspace }}/.github/scripts/prepare_JREs.sh
sudo apt install libopengl0
- name: Add QT_HOST_PATH var (Windows MSVC arm64)
if: runner.os == 'Windows' && matrix.architecture == 'arm64'
run: |
echo "QT_HOST_PATH=${{ github.workspace }}\HostQt\Qt\${{ matrix.qt_version }}\msvc2019_64" >> $env:GITHUB_ENV
##
# CONFIGURE
##
- name: Configure CMake (macOS)
if: runner.os == 'macOS' && matrix.qt_ver == 6
run: |
cmake -S . -B ${{ env.BUILD_DIR }} -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -DCMAKE_BUILD_TYPE=${{ inputs.build_type }} -DENABLE_LTO=ON -DLauncher_BUILD_PLATFORM=official -DCMAKE_C_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DLauncher_QT_VERSION_MAJOR=${{ matrix.qt_ver }} -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -G Ninja
- name: Configure CMake (macOS-Legacy)
if: runner.os == 'macOS' && matrix.qt_ver == 5
run: |
cmake -S . -B ${{ env.BUILD_DIR }} -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -DCMAKE_BUILD_TYPE=${{ inputs.build_type }} -DENABLE_LTO=ON -DLauncher_BUILD_PLATFORM=official -DCMAKE_C_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DLauncher_QT_VERSION_MAJOR=${{ matrix.qt_ver }} -DMACOSX_SPARKLE_UPDATE_PUBLIC_KEY="" -DMACOSX_SPARKLE_UPDATE_FEED_URL="" -G Ninja
- name: Configure CMake (Windows MinGW-w64)
if: runner.os == 'Windows' && matrix.msystem != ''
shell: msys2 {0}
run: |
cmake -S . -B ${{ env.BUILD_DIR }} -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -DCMAKE_BUILD_TYPE=${{ inputs.build_type }} -DENABLE_LTO=ON -DLauncher_BUILD_PLATFORM=official -DCMAKE_C_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DLauncher_QT_VERSION_MAJOR=6 -DCMAKE_OBJDUMP=/mingw64/bin/objdump.exe -DLauncher_BUILD_ARTIFACT=${{ matrix.name }}-Qt${{ matrix.qt_ver }} -G Ninja
- name: Configure CMake (Windows MSVC)
if: runner.os == 'Windows' && matrix.msystem == ''
run: |
cmake -S . -B ${{ env.BUILD_DIR }} -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -DCMAKE_BUILD_TYPE=${{ inputs.build_type }} -DENABLE_LTO=ON -DLauncher_BUILD_PLATFORM=official -DLauncher_QT_VERSION_MAJOR=${{ matrix.qt_ver }} -DCMAKE_MSVC_RUNTIME_LIBRARY="MultiThreadedDLL" -A${{ matrix.architecture}} -DLauncher_FORCE_BUNDLED_LIBS=ON -DLauncher_BUILD_ARTIFACT=${{ matrix.name }}-Qt${{ matrix.qt_ver }}
# https://github.com/ccache/ccache/wiki/MS-Visual-Studio (I coudn't figure out the compiler prefix)
if ("${{ env.CCACHE_VAR }}")
{
Copy-Item C:/ProgramData/chocolatey/lib/ccache/tools/ccache-4.7.1-windows-x86_64/ccache.exe -Destination C:/ProgramData/chocolatey/lib/ccache/tools/ccache-4.7.1-windows-x86_64/cl.exe
echo "CLToolExe=cl.exe" >> $env:GITHUB_ENV
echo "CLToolPath=C:/ProgramData/chocolatey/lib/ccache/tools/ccache-4.7.1-windows-x86_64/" >> $env:GITHUB_ENV
echo "TrackFileAccess=false" >> $env:GITHUB_ENV
}
# Needed for ccache, but also speeds up compile
echo "UseMultiToolTask=true" >> $env:GITHUB_ENV
- name: Configure CMake (Linux)
if: runner.os == 'Linux'
run: |
cmake -S . -B ${{ env.BUILD_DIR }} -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=${{ inputs.build_type }} -DENABLE_LTO=ON -DLauncher_BUILD_PLATFORM=official -DCMAKE_C_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DLauncher_QT_VERSION_MAJOR=${{ matrix.qt_ver }} -DLauncher_BUILD_ARTIFACT=Linux-Qt${{ matrix.qt_ver }} -G Ninja
vcvars-arch: ${{ matrix.vcvars-arch }}
qt-version: ${{ matrix.qt-version }}
##
# BUILD
##
- name: Build
if: runner.os != 'Windows'
- name: Configure project
run: |
cmake --build ${{ env.BUILD_DIR }}
cmake --preset "$CMAKE_PRESET"
- name: Build (Windows MinGW-w64)
if: runner.os == 'Windows' && matrix.msystem != ''
shell: msys2 {0}
- name: Run build
run: |
cmake --build ${{ env.BUILD_DIR }}
cmake --build --preset "$CMAKE_PRESET" --config "$BUILD_TYPE"
- name: Build (Windows MSVC)
if: runner.os == 'Windows' && matrix.msystem == ''
- name: Run tests
run: |
cmake --build ${{ env.BUILD_DIR }} --config ${{ inputs.build_type }}
ctest --preset "$CMAKE_PRESET" --build-config "$BUILD_TYPE"
##
# TEST
# PACKAGE
##
- name: Test
if: runner.os != 'Windows'
- name: Get short version
id: short-version
shell: bash
run: |
ctest -E "^example64|example$" --test-dir build --output-on-failure
- name: Test (Windows MinGW-w64)
if: runner.os == 'Windows' && matrix.msystem != ''
shell: msys2 {0}
run: |
ctest -E "^example64|example$" --test-dir build --output-on-failure
- name: Test (Windows MSVC)
if: runner.os == 'Windows' && matrix.msystem == '' && matrix.architecture != 'arm64'
run: |
ctest -E "^example64|example$" --test-dir build --output-on-failure -C ${{ inputs.build_type }}
##
# PACKAGE BUILDS
##
- name: Package (macOS)
if: runner.os == 'macOS'
run: |
cmake --install ${{ env.BUILD_DIR }}
cd ${{ env.INSTALL_DIR }}
chmod +x "PrismLauncher.app/Contents/MacOS/prismlauncher"
sudo codesign --sign - --deep --force --entitlements "../program_info/App.entitlements" --options runtime "PrismLauncher.app/Contents/MacOS/prismlauncher"
mv "PrismLauncher.app" "Prism Launcher.app"
tar -czf ../PrismLauncher.tar.gz *
- name: Make Sparkle signature (macOS)
if: matrix.name == 'macOS'
run: |
if [ '${{ secrets.SPARKLE_ED25519_KEY }}' != '' ]; then
brew install openssl@3
echo '${{ secrets.SPARKLE_ED25519_KEY }}' > ed25519-priv.pem
signature=$(/usr/local/opt/openssl@3/bin/openssl pkeyutl -sign -rawin -in ${{ github.workspace }}/PrismLauncher.tar.gz -inkey ed25519-priv.pem | openssl base64 | tr -d \\n)
rm ed25519-priv.pem
cat >> $GITHUB_STEP_SUMMARY << EOF
### Artifact Information :information_source:
- :memo: Sparkle Signature (ed25519): \`$signature\`
EOF
else
cat >> $GITHUB_STEP_SUMMARY << EOF
### Artifact Information :information_source:
- :warning: Sparkle Signature (ed25519): No private key available (likely a pull request or fork)
EOF
fi
- name: Package (Windows MinGW-w64)
if: runner.os == 'Windows' && matrix.msystem != ''
shell: msys2 {0}
run: |
cmake --install ${{ env.BUILD_DIR }}
touch ${{ env.INSTALL_DIR }}/manifest.txt
for l in $(find ${{ env.INSTALL_DIR }} -type f); do l=$(cygpath -u $l); l=${l#$(pwd)/}; l=${l#${{ env.INSTALL_DIR }}/}; l=${l#./}; echo $l; done >> ${{ env.INSTALL_DIR }}/manifest.txt
- name: Package (Windows MSVC)
if: runner.os == 'Windows' && matrix.msystem == ''
run: |
cmake --install ${{ env.BUILD_DIR }} --config ${{ inputs.build_type }}
cd ${{ env.INSTALL_DIR }}
if ("${{ matrix.qt_ver }}" -eq "5")
{
Copy-Item ${{ runner.workspace }}/Qt/Tools/OpenSSL/Win_x86/bin/libcrypto-1_1.dll -Destination libcrypto-1_1.dll
Copy-Item ${{ runner.workspace }}/Qt/Tools/OpenSSL/Win_x86/bin/libssl-1_1.dll -Destination libssl-1_1.dll
}
cd ${{ github.workspace }}
Get-ChildItem ${{ env.INSTALL_DIR }} -Recurse | ForEach FullName | Resolve-Path -Relative | %{ $_.TrimStart('.\') } | %{ $_.TrimStart('${{ env.INSTALL_DIR }}') } | %{ $_.TrimStart('\') } | Out-File -FilePath ${{ env.INSTALL_DIR }}/manifest.txt
- name: Fetch codesign certificate (Windows)
if: runner.os == 'Windows'
shell: bash # yes, we are not using MSYS2 or PowerShell here
run: |
echo '${{ secrets.WINDOWS_CODESIGN_CERT }}' | base64 --decode > codesign.pfx
- name: Sign executable (Windows)
if: runner.os == 'Windows'
run: |
if (Get-Content ./codesign.pfx){
cd ${{ env.INSTALL_DIR }}
# We ship the exact same executable for portable and non-portable editions, so signing just once is fine
SignTool sign /fd sha256 /td sha256 /f ../codesign.pfx /p '${{ secrets.WINDOWS_CODESIGN_PASSWORD }}' /tr http://timestamp.digicert.com prismlauncher.exe prismlauncher_updater.exe prismlauncher_filelink.exe
} else {
":warning: Skipped code signing for Windows, as certificate was not present." >> $env:GITHUB_STEP_SUMMARY
}
- name: Package (Windows MinGW-w64, portable)
if: runner.os == 'Windows' && matrix.msystem != ''
shell: msys2 {0}
run: |
cp -r ${{ env.INSTALL_DIR }} ${{ env.INSTALL_PORTABLE_DIR }} # cmake install on Windows is slow, let's just copy instead
cmake --install ${{ env.BUILD_DIR }} --prefix ${{ env.INSTALL_PORTABLE_DIR }} --component portable
for l in $(find ${{ env.INSTALL_PORTABLE_DIR }} -type f); do l=$(cygpath -u $l); l=${l#$(pwd)/}; l=${l#${{ env.INSTALL_PORTABLE_DIR }}/}; l=${l#./}; echo $l; done >> ${{ env.INSTALL_PORTABLE_DIR }}/manifest.txt
- name: Package (Windows MSVC, portable)
if: runner.os == 'Windows' && matrix.msystem == ''
run: |
cp -r ${{ env.INSTALL_DIR }} ${{ env.INSTALL_PORTABLE_DIR }} # cmake install on Windows is slow, let's just copy instead
cmake --install ${{ env.BUILD_DIR }} --prefix ${{ env.INSTALL_PORTABLE_DIR }} --component portable
Get-ChildItem ${{ env.INSTALL_PORTABLE_DIR }} -Recurse | ForEach FullName | Resolve-Path -Relative | %{ $_.TrimStart('.\') } | %{ $_.TrimStart('${{ env.INSTALL_PORTABLE_DIR }}') } | %{ $_.TrimStart('\') } | Out-File -FilePath ${{ env.INSTALL_DIR }}/manifest.txt
- name: Package (Windows, installer)
if: runner.os == 'Windows'
run: |
cd ${{ env.INSTALL_DIR }}
makensis -NOCD "${{ github.workspace }}/${{ env.BUILD_DIR }}/program_info/win_install.nsi"
- name: Sign installer (Windows)
if: runner.os == 'Windows'
run: |
if (Get-Content ./codesign.pfx){
SignTool sign /fd sha256 /td sha256 /f codesign.pfx /p '${{ secrets.WINDOWS_CODESIGN_PASSWORD }}' /tr http://timestamp.digicert.com PrismLauncher-Setup.exe
} else {
":warning: Skipped code signing for Windows, as certificate was not present." >> $env:GITHUB_STEP_SUMMARY
}
echo "version=$(git rev-parse --short HEAD)" >> "$GITHUB_OUTPUT"
- name: Package (Linux)
if: runner.os == 'Linux'
run: |
cmake --install ${{ env.BUILD_DIR }} --prefix ${{ env.INSTALL_DIR }}
for l in $(find ${{ env.INSTALL_DIR }} -type f); do l=${l#$(pwd)/}; l=${l#${{ env.INSTALL_DIR }}/}; l=${l#./}; echo $l; done > ${{ env.INSTALL_DIR }}/manifest.txt
if: ${{ runner.os == 'Linux' }}
uses: ./.github/actions/package/linux
with:
version: ${{ steps.short-version.outputs.version }}
build-type: ${{ steps.setup-dependencies.outputs.build-type }}
artifact-name: ${{ matrix.artifact-name }}
qt-version: ${{ steps.setup-dependencies.outputs.qt-version }}
cd ${{ env.INSTALL_DIR }}
tar --owner root --group root -czf ../PrismLauncher.tar.gz *
gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
gpg-private-key-id: ${{ secrets.GPG_PRIVATE_KEY_ID }}
- name: Package (Linux, portable)
if: runner.os == 'Linux'
run: |
cmake --install ${{ env.BUILD_DIR }} --prefix ${{ env.INSTALL_PORTABLE_DIR }}
cmake --install ${{ env.BUILD_DIR }} --prefix ${{ env.INSTALL_PORTABLE_DIR }} --component portable
for l in $(find ${{ env.INSTALL_PORTABLE_DIR }} -type f); do l=${l#$(pwd)/}; l=${l#${{ env.INSTALL_PORTABLE_DIR }}/}; l=${l#./}; echo $l; done > ${{ env.INSTALL_PORTABLE_DIR }}/manifest.txt
- name: Package (macOS)
if: ${{ runner.os == 'macOS' }}
uses: ./.github/actions/package/macos
with:
version: ${{ steps.short-version.outputs.version }}
build-type: ${{ steps.setup-dependencies.outputs.build-type }}
artifact-name: ${{ matrix.artifact-name }}
apple-codesign-cert: ${{ secrets.APPLE_CODESIGN_CERT }}
apple-codesign-password: ${{ secrets.APPLE_CODESIGN_PASSWORD }}
apple-codesign-id: ${{ secrets.APPLE_CODESIGN_ID }}
apple-notarize-apple-id: ${{ secrets.APPLE_NOTARIZE_APPLE_ID }}
apple-notarize-team-id: ${{ secrets.APPLE_NOTARIZE_TEAM_ID }}
apple-notarize-password: ${{ secrets.APPLE_NOTARIZE_PASSWORD }}
sparkle-ed25519-key: ${{ secrets.SPARKLE_ED25519_KEY }}
cd ${{ env.INSTALL_PORTABLE_DIR }}
tar -czf ../PrismLauncher-portable.tar.gz *
- name: Package AppImage (Linux)
if: runner.os == 'Linux' && matrix.qt_ver != 5
shell: bash
- name: Package (Windows)
if: ${{ runner.os == 'Windows' }}
uses: ./.github/actions/package/windows
env:
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
run: |
cmake --install ${{ env.BUILD_DIR }} --prefix ${{ env.INSTALL_APPIMAGE_DIR }}/usr
mv ${{ env.INSTALL_APPIMAGE_DIR }}/usr/share/metainfo/org.prismlauncher.PrismLauncher.metainfo.xml ${{ env.INSTALL_APPIMAGE_DIR }}/usr/share/metainfo/org.prismlauncher.PrismLauncher.appdata.xml
export "NO_APPSTREAM=1" # we have to skip appstream checking because appstream on ubuntu 20.04 is outdated
export OUTPUT="PrismLauncher-Linux-x86_64.AppImage"
chmod +x linuxdeploy-*.AppImage
mkdir -p ${{ env.INSTALL_APPIMAGE_DIR }}/usr/lib/jvm/java-{8,17}-openjdk
mkdir -p ${{ env.INSTALL_APPIMAGE_DIR }}/usr/plugins/iconengines
cp -r ${{ github.workspace }}/JREs/jre8/* ${{ env.INSTALL_APPIMAGE_DIR }}/usr/lib/jvm/java-8-openjdk
cp -r ${{ github.workspace }}/JREs/jre17/* ${{ env.INSTALL_APPIMAGE_DIR }}/usr/lib/jvm/java-17-openjdk
cp -r ${{ runner.workspace }}/Qt/${{ matrix.qt_version }}/gcc_64/plugins/iconengines/* ${{ env.INSTALL_APPIMAGE_DIR }}/usr/plugins/iconengines
cp /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 ${{ env.INSTALL_APPIMAGE_DIR }}/usr/lib/
cp /usr/lib/x86_64-linux-gnu/libssl.so.1.1 ${{ env.INSTALL_APPIMAGE_DIR }}/usr/lib/
cp /usr/lib/x86_64-linux-gnu/libOpenGL.so.0* ${{ env.INSTALL_APPIMAGE_DIR }}/usr/lib/
LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${{ env.INSTALL_APPIMAGE_DIR }}/usr/lib"
LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${{ env.INSTALL_APPIMAGE_DIR }}/usr/lib/jvm/java-8-openjdk/lib/amd64/server"
LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${{ env.INSTALL_APPIMAGE_DIR }}/usr/lib/jvm/java-8-openjdk/lib/amd64"
LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${{ env.INSTALL_APPIMAGE_DIR }}/usr/lib/jvm/java-17-openjdk/lib/server"
LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${{ env.INSTALL_APPIMAGE_DIR }}/usr/lib/jvm/java-17-openjdk/lib"
export LD_LIBRARY_PATH
chmod +x AppImageUpdate-x86_64.AppImage
cp AppImageUpdate-x86_64.AppImage ${{ env.INSTALL_APPIMAGE_DIR }}/usr/bin
export UPDATE_INFORMATION="gh-releases-zsync|${{ github.repository_owner }}|${{ github.event.repository.name }}|latest|PrismLauncher-Linux-x86_64.AppImage.zsync"
if [ '${{ secrets.GPG_PRIVATE_KEY_ID }}' != '' ]; then
export SIGN=1
export SIGN_KEY=${{ secrets.GPG_PRIVATE_KEY_ID }}
mkdir -p ~/.gnupg/
echo "$GPG_PRIVATE_KEY" > ~/.gnupg/private.key
gpg --import ~/.gnupg/private.key
else
echo ":warning: Skipped code signing for Linux AppImage, as gpg key was not present." >> $GITHUB_STEP_SUMMARY
fi
./linuxdeploy-x86_64.AppImage --appdir ${{ env.INSTALL_APPIMAGE_DIR }} --output appimage --plugin qt -i ${{ env.INSTALL_APPIMAGE_DIR }}/usr/share/icons/hicolor/scalable/apps/org.prismlauncher.PrismLauncher.svg
mv "PrismLauncher-Linux-x86_64.AppImage" "PrismLauncher-Linux-${{ env.VERSION }}-${{ inputs.build_type }}-x86_64.AppImage"
##
# UPLOAD BUILDS
##
- name: Upload binary tarball (macOS)
if: runner.os == 'macOS'
uses: actions/upload-artifact@v3
CI_HAS_ACCESS_TO_AZURE: ${{ vars.CI_HAS_ACCESS_TO_AZURE || '' }}
with:
name: PrismLauncher-${{ matrix.name }}-${{ env.VERSION }}-${{ inputs.build_type }}
path: PrismLauncher.tar.gz
version: ${{ steps.short-version.outputs.version }}
build-type: ${{ steps.setup-dependencies.outputs.build-type }}
artifact-name: ${{ matrix.artifact-name }}
msystem: ${{ matrix.msystem }}
- name: Upload binary zip (Windows)
if: runner.os == 'Windows'
uses: actions/upload-artifact@v3
with:
name: PrismLauncher-${{ matrix.name }}-${{ env.VERSION }}-${{ inputs.build_type }}
path: ${{ env.INSTALL_DIR }}/**
- name: Upload binary zip (Windows, portable)
if: runner.os == 'Windows'
uses: actions/upload-artifact@v3
with:
name: PrismLauncher-${{ matrix.name }}-Portable-${{ env.VERSION }}-${{ inputs.build_type }}
path: ${{ env.INSTALL_PORTABLE_DIR }}/**
- name: Upload installer (Windows)
if: runner.os == 'Windows'
uses: actions/upload-artifact@v3
with:
name: PrismLauncher-${{ matrix.name }}-Setup-${{ env.VERSION }}-${{ inputs.build_type }}
path: PrismLauncher-Setup.exe
- name: Upload binary tarball (Linux, Qt 5)
if: runner.os == 'Linux' && matrix.qt_ver != 6
uses: actions/upload-artifact@v3
with:
name: PrismLauncher-${{ runner.os }}-Qt5-${{ env.VERSION }}-${{ inputs.build_type }}
path: PrismLauncher.tar.gz
- name: Upload binary tarball (Linux, portable, Qt 5)
if: runner.os == 'Linux' && matrix.qt_ver != 6
uses: actions/upload-artifact@v3
with:
name: PrismLauncher-${{ runner.os }}-Qt5-Portable-${{ env.VERSION }}-${{ inputs.build_type }}
path: PrismLauncher-portable.tar.gz
- name: Upload binary tarball (Linux, Qt 6)
if: runner.os == 'Linux' && matrix.qt_ver !=5
uses: actions/upload-artifact@v3
with:
name: PrismLauncher-${{ runner.os }}-Qt6-${{ env.VERSION }}-${{ inputs.build_type }}
path: PrismLauncher.tar.gz
- name: Upload binary tarball (Linux, portable, Qt 6)
if: runner.os == 'Linux' && matrix.qt_ver != 5
uses: actions/upload-artifact@v3
with:
name: PrismLauncher-${{ runner.os }}-Qt6-Portable-${{ env.VERSION }}-${{ inputs.build_type }}
path: PrismLauncher-portable.tar.gz
- name: Upload AppImage (Linux)
if: runner.os == 'Linux' && matrix.qt_ver != 5
uses: actions/upload-artifact@v3
with:
name: PrismLauncher-${{ runner.os }}-${{ env.VERSION }}-${{ inputs.build_type }}-x86_64.AppImage
path: PrismLauncher-${{ runner.os }}-${{ env.VERSION }}-${{ inputs.build_type }}-x86_64.AppImage
- name: Upload AppImage Zsync (Linux)
if: runner.os == 'Linux' && matrix.qt_ver != 5
uses: actions/upload-artifact@v3
with:
name: PrismLauncher-${{ runner.os }}-${{ env.VERSION }}-${{ inputs.build_type }}-x86_64.AppImage.zsync
path: PrismLauncher-Linux-x86_64.AppImage.zsync
- name: ccache stats (Windows MinGW-w64)
if: runner.os == 'Windows' && matrix.msystem != ''
shell: msys2 {0}
run: |
ccache -s
flatpak:
runs-on: ubuntu-latest
container:
image: bilelmoussaoui/flatpak-github-actions:kde-5.15-22.08
options: --privileged
steps:
- name: Checkout
uses: actions/checkout@v4
if: inputs.build_type == 'Debug'
with:
submodules: "true"
- name: Build Flatpak (Linux)
if: inputs.build_type == 'Debug'
uses: flatpak/flatpak-github-actions/flatpak-builder@v6
with:
bundle: "Prism Launcher.flatpak"
manifest-path: flatpak/org.prismlauncher.PrismLauncher.yml
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
azure-subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}

View File

@@ -1,35 +1,90 @@
name: "CodeQL Code Scanning"
on: [ push, pull_request, workflow_dispatch ]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
push:
branches:
- "develop"
- "release-*"
paths:
# File types
- "**.cpp"
- "**.h"
- "**.java"
- "**.ui"
# Directories
- "buildconfig/**"
- "cmake/**"
- "launcher/**"
- "libraries/**"
- "program_info/**"
- "tests/**"
# Files
- "CMakeLists.txt"
- "COPYING.md"
# Workflows
- ".github/codeql/**"
- ".github/workflows/codeql.yml"
- ".github/actions/setup-dependencies/**"
pull_request:
paths:
# File types
- "**.cpp"
- "**.h"
- "**.java"
- "**.ui"
# Directories
- "buildconfig/**"
- "cmake/**"
- "launcher/**"
- "libraries/**"
- "program_info/**"
- "tests/**"
# Files
- "CMakeLists.txt"
- "COPYING.md"
# Workflows
- ".github/codeql/**"
- ".github/workflows/codeql.yml"
- ".github/actions/setup-dependencies/**"
workflow_dispatch:
jobs:
CodeQL:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
submodules: 'true'
submodules: "true"
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
uses: github/codeql-action/init@v4
with:
config-file: ./.github/codeql/codeql-config.yml
queries: security-and-quality
languages: cpp, java
- name: Install Dependencies
run:
sudo apt-get -y update
sudo apt-get -y install ninja-build extra-cmake-modules scdoc qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools libqt5core5a libqt5network5 libqt5gui5
- name: Setup dependencies
uses: ./.github/actions/setup-dependencies
with:
build-type: Debug
qt-version: 6.10.1
- name: Configure and Build
run: |
cmake -S . -B build -DCMAKE_INSTALL_PREFIX=/usr -DLauncher_QT_VERSION_MAJOR=5 -G Ninja
cmake --build build
cmake --preset linux
cmake --build --preset linux --config Debug
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@v4

62
.github/workflows/merge-blocking-pr.yml vendored Normal file
View File

@@ -0,0 +1,62 @@
name: Merged Blocking Pull Request Automation
on:
pull_request_target:
types:
- closed
workflow_dispatch:
inputs:
pr_id:
description: Local Pull Request number to work on
required: true
type: number
jobs:
update-blocked-status:
name: Update Blocked Status
runs-on: ubuntu-slim
# a pr that was a `blocking:<id>` label was merged.
# find the open pr's it was blocked by and trigger a refresh of their state
if: ${{ github.event_name == 'workflow_dispatch' || github.event.pull_request.merged == true && contains(github.event.pull_request.labels.*.name, 'blocking') }}
steps:
- name: Generate token
id: generate-token
uses: actions/create-github-app-token@v2
with:
app-id: ${{ vars.PULL_REQUEST_APP_ID }}
private-key: ${{ secrets.PULL_REQUEST_APP_PRIVATE_KEY }}
- name: Gather Dependent PRs
id: gather_deps
env:
GH_TOKEN: ${{ steps.generate-token.outputs.token }}
PR_NUMBER: ${{ inputs.pr_id || github.event.pull_request.number }}
run: |
blocked_prs=$(
gh -R ${{ github.repository }} pr list --label 'blocked' --json 'number,body' \
| jq -c --argjson pr "$PR_NUMBER" '
reduce ( .[] | select(
.body |
scan("(?:blocked (?:by|on)|stacked on):? #([0-9]+)") |
map(tonumber) |
any(.[]; . == $pr)
)) as $i ([]; . + [$i])
'
)
{
echo "deps=$blocked_prs"
echo "numdeps=$(jq -r '. | length' <<< "$blocked_prs")"
} >> "$GITHUB_OUTPUT"
- name: Trigger Blocked PR Workflows for Dependants
if: fromJSON(steps.gather_deps.outputs.numdeps) > 0
env:
GH_TOKEN: ${{ steps.generate-token.outputs.token }}
DEPS: ${{ steps.gather_deps.outputs.deps }}
run: |
while read -r pr ; do
gh -R ${{ github.repository }} workflow run 'blocked-prs.yml' -r "${{ github.ref_name }}" -f pr_id="$pr"
done < <(jq -c '.[].number' <<< "$DEPS")

136
.github/workflows/nix.yml vendored Normal file
View File

@@ -0,0 +1,136 @@
name: Nix
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
push:
branches:
- "develop"
- "release-*"
tags:
- "*"
paths:
# File types
- "**.cpp"
- "**.h"
- "**.java"
- "**.ui"
# Build files
- "**.nix"
- "nix/**"
- "flake.lock"
# Directories
- "buildconfig/**"
- "cmake/**"
- "launcher/**"
- "libraries/**"
- "program_info/**"
- "tests/**"
# Files
- "CMakeLists.txt"
- "COPYING.md"
# Workflows
- ".github/workflows/nix.yml"
pull_request:
paths:
# File types
- "**.cpp"
- "**.h"
- "**.java"
- "**.ui"
# Build files
- "**.nix"
- "nix/**"
- "flake.lock"
# Directories
- "buildconfig/**"
- "cmake/**"
- "launcher/**"
- "libraries/**"
- "program_info/**"
- "tests/**"
# Files
- "CMakeLists.txt"
- "COPYING.md"
# Workflows
- ".github/workflows/nix.yml"
workflow_dispatch:
permissions:
contents: read
env:
DEBUG: ${{ github.ref_type != 'tag' }}
jobs:
build:
name: Build (${{ matrix.system }})
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-22.04
system: x86_64-linux
- os: ubuntu-22.04-arm
system: aarch64-linux
- os: macos-14
system: aarch64-darwin
runs-on: ${{ matrix.os }}
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Install Nix
uses: cachix/install-nix-action@v31
# For PRs
- name: Setup Nix Magic Cache
if: ${{ github.event_name == 'pull_request' }}
uses: DeterminateSystems/magic-nix-cache-action@v13
with:
diagnostic-endpoint: ""
use-flakehub: false
# For in-tree builds
- name: Setup Cachix
if: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' }}
uses: cachix/cachix-action@v16
with:
name: prismlauncher
authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
- name: Run Flake checks
run: |
nix flake check --print-build-logs --show-trace
- name: Build debug package
if: ${{ env.DEBUG == 'true' }}
run: |
nix build \
--no-link --print-build-logs --print-out-paths \
.#prismlauncher-debug >> "$GITHUB_STEP_SUMMARY"
- name: Build release package
if: ${{ env.DEBUG == 'false' }}
env:
TAG: ${{ github.ref_name }}
SYSTEM: ${{ matrix.system }}
run: |
nix build --no-link --print-out-paths .#prismlauncher \
| tee -a "$GITHUB_STEP_SUMMARY" \
| xargs cachix pin prismlauncher "$TAG"-"$SYSTEM"

View File

@@ -1,13 +1,21 @@
name: Publish to WinGet
name: Publish
on:
release:
types: [released]
types: [ released ]
permissions:
contents: read
jobs:
publish:
runs-on: windows-latest
winget:
name: Winget
runs-on: ubuntu-slim
steps:
- uses: vedantmgoyal2009/winget-releaser@v2
- name: Publish on Winget
uses: vedantmgoyal2009/winget-releaser@v2
with:
identifier: PrismLauncher.PrismLauncher
version: ${{ github.event.release.tag_name }}

View File

@@ -10,29 +10,23 @@ jobs:
name: Build Release
uses: ./.github/workflows/build.yml
with:
build_type: Release
is_qt_cached: false
secrets:
SPARKLE_ED25519_KEY: ${{ secrets.SPARKLE_ED25519_KEY }}
WINDOWS_CODESIGN_CERT: ${{ secrets.WINDOWS_CODESIGN_CERT }}
WINDOWS_CODESIGN_PASSWORD: ${{ secrets.WINDOWS_CODESIGN_PASSWORD }}
CACHIX_AUTH_TOKEN: ${{ secrets.CACHIX_AUTH_TOKEN }}
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
GPG_PRIVATE_KEY_ID: ${{ secrets.GPG_PRIVATE_KEY_ID }}
build-type: Release
environment: Release
secrets: inherit
create_release:
needs: build_release
runs-on: ubuntu-latest
runs-on: ubuntu-slim
outputs:
upload_url: ${{ steps.create_release.outputs.upload_url }}
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
submodules: "true"
path: "PrismLauncher-source"
- name: Download artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v7
- name: Grab and store version
run: |
tag_name=$(echo ${{ github.ref }} | grep -oE "[^/]+$")
@@ -41,13 +35,12 @@ jobs:
run: |
mv ${{ github.workspace }}/PrismLauncher-source PrismLauncher-${{ env.VERSION }}
mv PrismLauncher-Linux-Qt6-Portable*/PrismLauncher-portable.tar.gz PrismLauncher-Linux-Qt6-Portable-${{ env.VERSION }}.tar.gz
mv PrismLauncher-Linux-Qt6*/PrismLauncher.tar.gz PrismLauncher-Linux-Qt6-${{ env.VERSION }}.tar.gz
mv PrismLauncher-Linux-Qt5-Portable*/PrismLauncher-portable.tar.gz PrismLauncher-Linux-Qt5-Portable-${{ env.VERSION }}.tar.gz
mv PrismLauncher-Linux-Qt5*/PrismLauncher.tar.gz PrismLauncher-Linux-Qt5-${{ env.VERSION }}.tar.gz
mv PrismLauncher-*.AppImage/PrismLauncher-*.AppImage PrismLauncher-Linux-x86_64.AppImage
mv PrismLauncher-*.AppImage.zsync/PrismLauncher-*.AppImage.zsync PrismLauncher-Linux-x86_64.AppImage.zsync
mv PrismLauncher-macOS-Legacy*/PrismLauncher.tar.gz PrismLauncher-macOS-Legacy-${{ env.VERSION }}.tar.gz
mv PrismLauncher-macOS*/PrismLauncher.tar.gz PrismLauncher-macOS-${{ env.VERSION }}.tar.gz
mv PrismLauncher-Linux-aarch64-Qt6-Portable*/PrismLauncher-portable.tar.gz PrismLauncher-Linux-aarch64-Qt6-Portable-${{ env.VERSION }}.tar.gz
mv PrismLauncher-*.AppImage/PrismLauncher-*-x86_64.AppImage PrismLauncher-Linux-x86_64.AppImage
mv PrismLauncher-*.AppImage.zsync/PrismLauncher-*-x86_64.AppImage.zsync PrismLauncher-Linux-x86_64.AppImage.zsync
mv PrismLauncher-*.AppImage/PrismLauncher-*-aarch64.AppImage PrismLauncher-Linux-aarch64.AppImage
mv PrismLauncher-*.AppImage.zsync/PrismLauncher-*-aarch64.AppImage.zsync PrismLauncher-Linux-aarch64.AppImage.zsync
mv PrismLauncher-macOS*/PrismLauncher.zip PrismLauncher-macOS-${{ env.VERSION }}.zip
tar --exclude='.git' -czf PrismLauncher-${{ env.VERSION }}.tar.gz PrismLauncher-${{ env.VERSION }}
@@ -77,31 +70,45 @@ jobs:
cd ..
done
for d in PrismLauncher-Windows-MinGW-arm64*; do
cd "${d}" || continue
INST="$(echo -n ${d} | grep -o Setup || true)"
PORT="$(echo -n ${d} | grep -o Portable || true)"
NAME="PrismLauncher-Windows-MinGW-arm64"
test -z "${PORT}" || NAME="${NAME}-Portable"
test -z "${INST}" || mv PrismLauncher-*.exe ../${NAME}-Setup-${{ env.VERSION }}.exe
test -n "${INST}" || zip -r -9 "../${NAME}-${{ env.VERSION }}.zip" *
cd ..
done
- name: Create release
id: create_release
uses: softprops/action-gh-release@v1
uses: softprops/action-gh-release@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag_name: ${{ github.ref }}
name: Prism Launcher ${{ env.VERSION }}
draft: true
prerelease: false
fail_on_unmatched_files: true
files: |
PrismLauncher-Linux-Qt5-${{ env.VERSION }}.tar.gz
PrismLauncher-Linux-Qt5-Portable-${{ env.VERSION }}.tar.gz
PrismLauncher-Linux-x86_64.AppImage
PrismLauncher-Linux-x86_64.AppImage.zsync
PrismLauncher-Linux-Qt6-${{ env.VERSION }}.tar.gz
PrismLauncher-Linux-aarch64.AppImage
PrismLauncher-Linux-aarch64.AppImage.zsync
PrismLauncher-Linux-Qt6-Portable-${{ env.VERSION }}.tar.gz
PrismLauncher-Linux-aarch64-Qt6-Portable-${{ env.VERSION }}.tar.gz
PrismLauncher-Windows-MinGW-w64-${{ env.VERSION }}.zip
PrismLauncher-Windows-MinGW-w64-Portable-${{ env.VERSION }}.zip
PrismLauncher-Windows-MinGW-w64-Setup-${{ env.VERSION }}.exe
PrismLauncher-Windows-MinGW-arm64-${{ env.VERSION }}.zip
PrismLauncher-Windows-MinGW-arm64-Portable-${{ env.VERSION }}.zip
PrismLauncher-Windows-MinGW-arm64-Setup-${{ env.VERSION }}.exe
PrismLauncher-Windows-MSVC-arm64-${{ env.VERSION }}.zip
PrismLauncher-Windows-MSVC-arm64-Portable-${{ env.VERSION }}.zip
PrismLauncher-Windows-MSVC-arm64-Setup-${{ env.VERSION }}.exe
PrismLauncher-Windows-MSVC-${{ env.VERSION }}.zip
PrismLauncher-Windows-MSVC-Portable-${{ env.VERSION }}.zip
PrismLauncher-Windows-MSVC-Setup-${{ env.VERSION }}.exe
PrismLauncher-macOS-${{ env.VERSION }}.tar.gz
PrismLauncher-macOS-Legacy-${{ env.VERSION }}.tar.gz
PrismLauncher-macOS-${{ env.VERSION }}.zip
PrismLauncher-${{ env.VERSION }}.tar.gz

29
.github/workflows/stale.yml vendored Normal file
View File

@@ -0,0 +1,29 @@
name: Stale
on:
schedule:
# run weekly on sunday
- cron: "0 0 * * 0"
workflow_dispatch:
jobs:
label:
name: Label issues and PRs
runs-on: ubuntu-slim
permissions:
issues: write
pull-requests: write
steps:
- uses: actions/stale@v10
with:
days-before-stale: 60
days-before-close: -1 # Don't close anything
exempt-issue-labels: rfc,nostale,help wanted
exempt-all-milestones: true
exempt-all-assignees: true
operations-per-run: 1000
stale-issue-label: inactive
stale-pr-label: inactive

View File

@@ -1,37 +0,0 @@
name: Build Application
on:
push:
branches-ignore:
- "renovate/**"
paths-ignore:
- "**.md"
- "**/LICENSE"
- "flake.lock"
- "packages/**"
- ".github/ISSUE_TEMPLATE/**"
- ".markdownlint**"
pull_request:
paths-ignore:
- "**.md"
- "**/LICENSE"
- "flake.lock"
- "packages/**"
- ".github/ISSUE_TEMPLATE/**"
- ".markdownlint**"
workflow_dispatch:
jobs:
build_debug:
name: Build Debug
uses: ./.github/workflows/build.yml
with:
build_type: Debug
is_qt_cached: true
secrets:
SPARKLE_ED25519_KEY: ${{ secrets.SPARKLE_ED25519_KEY }}
WINDOWS_CODESIGN_CERT: ${{ secrets.WINDOWS_CODESIGN_CERT }}
WINDOWS_CODESIGN_PASSWORD: ${{ secrets.WINDOWS_CODESIGN_PASSWORD }}
CACHIX_AUTH_TOKEN: ${{ secrets.CACHIX_AUTH_TOKEN }}
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
GPG_PRIVATE_KEY_ID: ${{ secrets.GPG_PRIVATE_KEY_ID }}

View File

@@ -13,13 +13,13 @@ permissions:
jobs:
update-flake:
if: github.repository == 'PrismLauncher/PrismLauncher'
runs-on: ubuntu-latest
runs-on: ubuntu-slim
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@6a9a9e84a173d90b3ffb42c5ddaf9ea033fad011 # v23
- uses: actions/checkout@v6
- uses: cachix/install-nix-action@4e002c8ec80594ecd40e759629461e26c8abed15 # v31
- uses: DeterminateSystems/update-flake-lock@v20
- uses: DeterminateSystems/update-flake-lock@v28
with:
commit-msg: "chore(nix): update lockfile"
pr-title: "chore(nix): update lockfile"

8
.gitignore vendored
View File

@@ -14,6 +14,7 @@ CMakeLists.txt.user.*
CMakeSettings.json
/CMakeFiles
CMakeCache.txt
CMakeUserPresets.json
/.project
/.settings
/.idea
@@ -21,6 +22,7 @@ CMakeCache.txt
/.vs
cmake-build-*/
Debug
compile_commands.json
# Build dirs
build
@@ -47,8 +49,12 @@ run/
# Nix/NixOS
.direnv/
.pre-commit-config.yaml
## Used when manually invoking stdenv phases
outputs/
## Regular artifacts
result
result-*
repl-result-*
# Flatpak
.flatpak-builder

21
.gitmodules vendored
View File

@@ -1,24 +1,3 @@
[submodule "libraries/quazip"]
path = libraries/quazip
url = https://github.com/stachenov/quazip.git
[submodule "libraries/tomlplusplus"]
path = libraries/tomlplusplus
url = https://github.com/marzer/tomlplusplus.git
[submodule "libraries/filesystem"]
path = libraries/filesystem
url = https://github.com/gulrak/filesystem
[submodule "libraries/libnbtplusplus"]
path = libraries/libnbtplusplus
url = https://github.com/PrismLauncher/libnbtplusplus.git
[submodule "libraries/zlib"]
path = libraries/zlib
url = https://github.com/madler/zlib.git
[submodule "libraries/extra-cmake-modules"]
path = libraries/extra-cmake-modules
url = https://github.com/KDE/extra-cmake-modules
[submodule "libraries/cmark"]
path = libraries/cmark
url = https://github.com/commonmark/cmark.git
[submodule "flatpak/shared-modules"]
path = flatpak/shared-modules
url = https://github.com/flathub/shared-modules.git

View File

@@ -1,2 +1 @@
libraries/nbtplusplus
libraries/quazip

View File

@@ -1,3 +0,0 @@
# Build Instructions
Full build instructions are available on [the website](https://prismlauncher.org/wiki/development/build-instructions/).

View File

@@ -1,6 +1,9 @@
cmake_minimum_required(VERSION 3.15) # minimum version required by QuaZip
cmake_minimum_required(VERSION 3.22) # minimum version required by Qt
project(Launcher)
project(Launcher LANGUAGES C CXX)
if(APPLE)
enable_language(OBJC OBJCXX)
endif()
string(COMPARE EQUAL "${CMAKE_SOURCE_DIR}" "${CMAKE_BUILD_DIR}" IS_IN_SOURCE_BUILD)
if(IS_IN_SOURCE_BUILD)
@@ -24,7 +27,7 @@ set(CMAKE_JAVA_TARGET_OUTPUT_DIR ${PROJECT_BINARY_DIR}/jars)
######## Set compiler flags ########
set(CMAKE_CXX_STANDARD_REQUIRED true)
set(CMAKE_C_STANDARD_REQUIRED true)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_C_STANDARD 11)
include(GenerateExportHeader)
if(MSVC)
@@ -78,47 +81,49 @@ else()
# ATL's pack list needs more than the default 1 Mib stack on windows
if(WIN32)
set(CMAKE_EXE_LINKER_FLAGS "-Wl,--stack,8388608 ${CMAKE_EXE_LINKER_FLAGS}")
# -ffunction-sections and -fdata-sections help reduce binary size
# -mguard=cf enables Control Flow Guard
# TODO: Look into -gc-sections to further reduce binary size
foreach(lang C CXX)
set("CMAKE_${lang}_FLAGS_RELEASE" "-ffunction-sections -fdata-sections -mguard=cf")
endforeach()
endif()
endif()
# Fix build with Qt 5.13
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DQT_NO_DEPRECATED_WARNINGS=Y")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DQT_DISABLE_DEPRECATED_BEFORE=0x050C00")
# Fix aarch64 build for toml++
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DTOML_ENABLE_FLOAT16=0")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DQT_WARN_DEPRECATED_UP_TO=0x060200")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DQT_DISABLE_DEPRECATED_UP_TO=0x060000")
# set CXXFLAGS for build targets
set(CMAKE_CXX_FLAGS_RELEASE "-O2 -D_FORTIFY_SOURCE=2 ${CMAKE_CXX_FLAGS_RELEASE}")
# Export compile commands for debug builds if we can (useful in LSPs like clangd)
# https://cmake.org/cmake/help/v3.31/variable/CMAKE_EXPORT_COMPILE_COMMANDS.html
if(CMAKE_GENERATOR STREQUAL "Unix Makefiles" OR CMAKE_GENERATOR MATCHES "^Ninja")
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
endif()
option(DEBUG_ADDRESS_SANITIZER "Enable Address Sanitizer in Debug builds" OFF)
# If this is a Debug build turn on address sanitiser
if ((CMAKE_BUILD_TYPE STREQUAL "Debug" OR CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo") AND DEBUG_ADDRESS_SANITIZER)
if (DEBUG_ADDRESS_SANITIZER)
message(STATUS "Address Sanitizer enabled for Debug builds, Turn it off with -DDEBUG_ADDRESS_SANITIZER=off")
if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
if (CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "MSVC")
# using clang with clang-cl front end
message(STATUS "Address Sanitizer available on Clang MSVC frontend")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /fsanitize=address /Oy-")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /fsanitize=address /Oy-")
else()
# AppleClang and Clang
message(STATUS "Address Sanitizer available on Clang")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -fno-omit-frame-pointer")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address -fno-omit-frame-pointer")
endif()
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
# GCC
message(STATUS "Address Sanitizer available on GCC")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -fno-omit-frame-pointer")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address -fno-omit-frame-pointer")
link_libraries("asan")
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
message(STATUS "Address Sanitizer available on MSVC")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /fsanitize=address /Oy-")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /fsanitize=address /Oy-")
set(USE_ASAN_COMPILE_OPTIONS $<AND:$<CONFIG:Debug,RelWithDebInfo>,$<COMPILE_LANGUAGE:C,CXX>>)
if (CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "MSVC")
message(STATUS "Using Address Sanitizer compile options for MSVC frontend")
add_compile_options(
$<${USE_ASAN_COMPILE_OPTIONS}:/fsanitize=address>
$<${USE_ASAN_COMPILE_OPTIONS}:/Oy->
)
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
message(STATUS "Using Address Sanitizer compile options for GCC/Clang")
add_compile_options(
$<${USE_ASAN_COMPILE_OPTIONS}:-fsanitize=address,undefined>
$<${USE_ASAN_COMPILE_OPTIONS}:-fno-omit-frame-pointer>
$<${USE_ASAN_COMPILE_OPTIONS}:-fno-sanitize-recover=null>
)
link_libraries("asan" "ubsan")
else()
message(STATUS "Address Sanitizer not available on compiler ${CMAKE_CXX_COMPILER_ID}")
endif()
@@ -150,20 +155,9 @@ endif()
option(BUILD_TESTING "Build the testing tree." ON)
find_package(ECM QUIET NO_MODULE)
if(NOT ECM_FOUND)
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/libraries/extra-cmake-modules/CMakeLists.txt")
message(STATUS "Using bundled ECM")
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/libraries/extra-cmake-modules/modules;${CMAKE_MODULE_PATH}")
else()
message(FATAL_ERROR
" Could not find ECM\n \n"
" Either install ECM using the system package manager or clone submodules\n"
" Submodules can be cloned with 'git submodule update --init --recursive'")
endif()
else()
set(CMAKE_MODULE_PATH "${ECM_MODULE_PATH};${CMAKE_MODULE_PATH}")
endif()
find_package(ECM NO_MODULE REQUIRED)
set(CMAKE_MODULE_PATH "${ECM_MODULE_PATH};${CMAKE_MODULE_PATH}")
include(CTest)
include(ECMAddTests)
if(BUILD_TESTING)
@@ -176,14 +170,17 @@ endif()
set(Launcher_NEWS_RSS_URL "https://prismlauncher.org/feed/feed.xml" CACHE STRING "URL to fetch Prism Launcher's news RSS feed from.")
set(Launcher_NEWS_OPEN_URL "https://prismlauncher.org/news" CACHE STRING "URL that gets opened when the user clicks 'More News'")
set(Launcher_HELP_URL "https://prismlauncher.org/wiki/help-pages/%1" CACHE STRING "URL (with arg %1 to be substituted with page-id) that gets opened when the user requests help")
set(Launcher_LOGIN_CALLBACK_URL "https://prismlauncher.org/successful-login" CACHE STRING "URL that gets opened when the user successfully logins.")
set(Launcher_LEGACY_FMLLIBS_BASE_URL "https://files.prismlauncher.org/fmllibs/" CACHE STRING "URL for legacy (<=1.5.2) FML Libraries.")
######## Set version numbers ########
set(Launcher_VERSION_MAJOR 8)
set(Launcher_VERSION_MAJOR 10)
set(Launcher_VERSION_MINOR 0)
set(Launcher_VERSION_PATCH 2)
set(Launcher_VERSION_NAME "${Launcher_VERSION_MAJOR}.${Launcher_VERSION_MINOR}")
set(Launcher_VERSION_NAME4 "${Launcher_VERSION_MAJOR}.${Launcher_VERSION_MINOR}.0.0")
set(Launcher_VERSION_NAME4_COMMA "${Launcher_VERSION_MAJOR},${Launcher_VERSION_MINOR},0,0")
set(Launcher_VERSION_NAME "${Launcher_VERSION_MAJOR}.${Launcher_VERSION_MINOR}.${Launcher_VERSION_PATCH}")
set(Launcher_VERSION_NAME4 "${Launcher_VERSION_MAJOR}.${Launcher_VERSION_MINOR}.${Launcher_VERSION_PATCH}.0")
set(Launcher_VERSION_NAME4_COMMA "${Launcher_VERSION_MAJOR},${Launcher_VERSION_MINOR},${Launcher_VERSION_PATCH},0")
# Build platform.
set(Launcher_BUILD_PLATFORM "unknown" CACHE STRING "A short string identifying the platform that this build was built for. Only used to display in the about dialog.")
@@ -205,6 +202,7 @@ set(Launcher_BUG_TRACKER_URL "https://github.com/PrismLauncher/PrismLauncher/iss
# Translations Platform URL
set(Launcher_TRANSLATIONS_URL "https://hosted.weblate.org/projects/prismlauncher/launcher/" CACHE STRING "URL for the translations platform.")
set(Launcher_TRANSLATION_FILES_URL "https://i18n.prismlauncher.org/" CACHE STRING "URL for the translations files.")
# Matrix Space
set(Launcher_MATRIX_URL "https://prismlauncher.org/matrix" CACHE STRING "URL to the Matrix Space")
@@ -216,9 +214,23 @@ set(Launcher_DISCORD_URL "https://prismlauncher.org/discord" CACHE STRING "URL f
set(Launcher_SUBREDDIT_URL "https://prismlauncher.org/reddit" CACHE STRING "URL for the subreddit.")
# Builds
set(Launcher_FORCE_BUNDLED_LIBS OFF CACHE BOOL "Prevent using system libraries, if they are available as submodules")
set(Launcher_QT_VERSION_MAJOR "6" CACHE STRING "Major Qt version to build against")
option(Launcher_USE_PCH "Use precompiled headers where possible" ON)
# Java downloader
set(Launcher_ENABLE_JAVA_DOWNLOADER_DEFAULT ON)
# Although we recommend enabling this, we cannot guarantee binary compatibility on
# differing Linux/BSD/etc distributions. Downstream packagers should be explicitly opt-ing into this
# feature if they know it will work with their distribution.
if(UNIX AND NOT APPLE)
set(Launcher_ENABLE_JAVA_DOWNLOADER_DEFAULT OFF)
endif()
# Java downloader
option(Launcher_ENABLE_JAVA_DOWNLOADER "Build the java downloader feature" ${Launcher_ENABLE_JAVA_DOWNLOADER_DEFAULT})
# Native libraries
if(UNIX AND APPLE)
set(Launcher_GLFW_LIBRARY_NAME "libglfw.dylib" CACHE STRING "Name of native glfw library")
@@ -268,75 +280,59 @@ set(Launcher_BUILD_TIMESTAMP "${TODAY}")
################################ 3rd Party Libs ################################
# Successive configurations of cmake without cleaning the build dir will cause zlib fallback to fail due to cached values
# Record when fallback triggered and skip this find_package
if(NOT Launcher_FORCE_BUNDLED_LIBS AND NOT FORCE_BUNDLED_ZLIB)
find_package(ZLIB QUIET)
endif()
if(NOT ZLIB_FOUND)
set(FORCE_BUNDLED_ZLIB TRUE CACHE BOOL "")
mark_as_advanced(FORCE_BUNDLED_ZLIB)
endif()
# Find the required Qt parts
include(QtVersionlessBackport)
if(Launcher_QT_VERSION_MAJOR EQUAL 5)
set(QT_VERSION_MAJOR 5)
find_package(Qt5 REQUIRED COMPONENTS Core Widgets Concurrent Network Test Xml)
if(NOT Launcher_FORCE_BUNDLED_LIBS)
find_package(QuaZip-Qt5 1.3 QUIET)
endif()
if (NOT QuaZip-Qt5_FOUND)
set(QUAZIP_QT_MAJOR_VERSION ${QT_VERSION_MAJOR} CACHE STRING "Qt version to use (4, 5 or 6), defaults to ${QT_VERSION_MAJOR}" FORCE)
set(FORCE_BUNDLED_QUAZIP 1)
endif()
# Qt 6 sets these by default. Notably causes Windows APIs to use UNICODE strings.
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUNICODE -D_UNICODE")
elseif(Launcher_QT_VERSION_MAJOR EQUAL 6)
if(Launcher_QT_VERSION_MAJOR EQUAL 6)
set(QT_VERSION_MAJOR 6)
find_package(Qt6 REQUIRED COMPONENTS Core CoreTools Widgets Concurrent Network Test Xml Core5Compat)
list(APPEND Launcher_QT_LIBS Qt6::Core5Compat)
if(NOT Launcher_FORCE_BUNDLED_LIBS)
find_package(QuaZip-Qt6 1.3 QUIET)
endif()
if (NOT QuaZip-Qt6_FOUND)
set(QUAZIP_QT_MAJOR_VERSION ${QT_VERSION_MAJOR} CACHE STRING "Qt version to use (4, 5 or 6), defaults to ${QT_VERSION_MAJOR}" FORCE)
set(FORCE_BUNDLED_QUAZIP 1)
endif()
find_package(Qt6 REQUIRED COMPONENTS Core CoreTools Widgets Concurrent Network Test Xml NetworkAuth OpenGL)
find_package(Qt6 COMPONENTS DBus)
list(APPEND Launcher_QT_DBUS Qt6::DBus)
else()
message(FATAL_ERROR "Qt version ${Launcher_QT_VERSION_MAJOR} is not supported")
endif()
if(Launcher_QT_VERSION_MAJOR EQUAL 5)
include(ECMQueryQt)
ecm_query_qt(QT_PLUGINS_DIR QT_INSTALL_PLUGINS)
ecm_query_qt(QT_LIBS_DIR QT_INSTALL_LIBS)
ecm_query_qt(QT_LIBEXECS_DIR QT_INSTALL_LIBEXECS)
else()
if(Launcher_QT_VERSION_MAJOR EQUAL 6)
set(QT_PLUGINS_DIR ${QT${QT_VERSION_MAJOR}_INSTALL_PREFIX}/${QT${QT_VERSION_MAJOR}_INSTALL_PLUGINS})
set(QT_LIBS_DIR ${QT${QT_VERSION_MAJOR}_INSTALL_PREFIX}/${QT${QT_VERSION_MAJOR}_INSTALL_LIBS})
set(QT_LIBEXECS_DIR ${QT${QT_VERSION_MAJOR}_INSTALL_PREFIX}/${QT${QT_VERSION_MAJOR}_INSTALL_LIBEXECS})
endif()
# NOTE: Qt 6 already sets this by default
if (Qt5_POSITION_INDEPENDENT_CODE)
SET(CMAKE_POSITION_INDEPENDENT_CODE ON)
find_package(cmark REQUIRED)
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
find_package(PkgConfig REQUIRED)
pkg_check_modules(gamemode REQUIRED IMPORTED_TARGET gamemode)
endif()
if(NOT Launcher_FORCE_BUNDLED_LIBS)
# Find toml++
find_package(tomlplusplus 3.2.0 QUIET)
# Find ghc_filesystem
find_package(ghc_filesystem QUIET)
# Find cmark
find_package(cmark QUIET)
# Find libqrencode
## NOTE(@getchoo): Never use pkg-config with MSVC since the vcpkg port makes our install bundle fail to find the dll
if(MSVC)
find_path(LIBQRENCODE_INCLUDE_DIR qrencode.h REQUIRED)
find_library(LIBQRENCODE_LIBRARY_RELEASE qrencode REQUIRED)
find_library(LIBQRENCODE_LIBRARY_DEBUG qrencoded)
set(LIBQRENCODE_LIBRARIES optimized ${LIBQRENCODE_LIBRARY_RELEASE} debug ${LIBQRENCODE_LIBRARY_DEBUG})
else()
find_package(PkgConfig REQUIRED)
pkg_check_modules(libqrencode REQUIRED IMPORTED_TARGET libqrencode)
endif()
# Find libarchive through CMake packages, mainly for vcpkg
find_package(LibArchive)
# CMake packages aren't available in most distributions of libarchive, so fallback to pkg-config
if(NOT LibArchive_FOUND)
find_package(PkgConfig REQUIRED)
pkg_check_modules(libarchive REQUIRED IMPORTED_TARGET libarchive)
endif()
find_package(tomlplusplus 3.2.0)
# fallback to pkgconfig, important especially as many distros package toml++ built with meson
if(NOT tomlplusplus_FOUND)
find_package(PkgConfig REQUIRED)
pkg_check_modules(tomlplusplus REQUIRED IMPORTED_TARGET tomlplusplus>=3.2.0)
endif()
find_package(ZLIB REQUIRED)
include(ECMQtDeclareLoggingCategory)
####################################### Program Info #######################################
@@ -350,7 +346,7 @@ set(Launcher_ENABLE_UPDATER NO)
set(Launcher_BUILD_UPDATER NO)
if (NOT APPLE AND (NOT Launcher_UPDATER_GITHUB_REPO STREQUAL "" AND NOT Launcher_BUILD_ARTIFACT STREQUAL ""))
set(Launcher_BUILD_UPDATER YES)
set(Launcher_BUILD_UPDATER YES)
endif()
if(NOT (UNIX AND APPLE))
@@ -366,38 +362,75 @@ if(UNIX AND APPLE)
set(RESOURCES_DEST_DIR "${Launcher_Name}.app/Contents/Resources")
set(JARS_DEST_DIR "${Launcher_Name}.app/Contents/MacOS/jars")
# Apps to bundle
set(APPS "\${CMAKE_INSTALL_PREFIX}/${Launcher_Name}.app")
# Mac bundle settings
set(MACOSX_BUNDLE_BUNDLE_NAME "${Launcher_DisplayName}")
set(MACOSX_BUNDLE_INFO_STRING "${Launcher_DisplayName}: A custom launcher for Minecraft that allows you to easily manage multiple installations of Minecraft at once.")
set(MACOSX_BUNDLE_GUI_IDENTIFIER "org.prismlauncher.${Launcher_Name}")
set(MACOSX_BUNDLE_GUI_IDENTIFIER "${Launcher_AppID}")
set(MACOSX_BUNDLE_BUNDLE_VERSION "${Launcher_VERSION_NAME}")
set(MACOSX_BUNDLE_SHORT_VERSION_STRING "${Launcher_VERSION_NAME}")
set(MACOSX_BUNDLE_LONG_VERSION_STRING "${Launcher_VERSION_NAME}")
set(MACOSX_BUNDLE_ICON_FILE ${Launcher_Name}.icns)
set(MACOSX_BUNDLE_COPYRIGHT "© 2022-2023 ${Launcher_Copyright_Mac}")
set(MACOSX_BUNDLE_COPYRIGHT "${Launcher_Copyright_Mac}")
set(MACOSX_SPARKLE_UPDATE_PUBLIC_KEY "v55ZWWD6QlPoXGV6VLzOTZxZUggWeE51X8cRQyQh6vA=" CACHE STRING "Public key for Sparkle update feed")
set(MACOSX_SPARKLE_UPDATE_FEED_URL "https://prismlauncher.org/feed/appcast.xml" CACHE STRING "URL for Sparkle update feed")
set(MACOSX_SPARKLE_DOWNLOAD_URL "https://github.com/sparkle-project/Sparkle/releases/download/2.1.0/Sparkle-2.1.0.tar.xz" CACHE STRING "URL to Sparkle release archive")
set(MACOSX_SPARKLE_SHA256 "bf6ac1caa9f8d321d5784859c88da874f28412f37fb327bc21b7b14c5d61ef94" CACHE STRING "SHA256 checksum for Sparkle release archive")
set(MACOSX_SPARKLE_DOWNLOAD_URL "https://github.com/sparkle-project/Sparkle/releases/download/2.8.0/Sparkle-2.8.0.tar.xz" CACHE STRING "URL to Sparkle release archive")
set(MACOSX_SPARKLE_SHA256 "fd5681ee92bf238aaac2d08214ceaf0cc8976e452d7f882d80bac1e61581f3b1" CACHE STRING "SHA256 checksum for Sparkle release archive")
set(MACOSX_SPARKLE_DIR "${CMAKE_BINARY_DIR}/frameworks/Sparkle")
# directories to look for dependencies
set(DIRS ${QT_LIBS_DIR} ${QT_LIBEXECS_DIR} ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} ${MACOSX_SPARKLE_DIR})
if(NOT MACOSX_SPARKLE_UPDATE_PUBLIC_KEY STREQUAL "" AND NOT MACOSX_SPARKLE_UPDATE_FEED_URL STREQUAL "")
set(Launcher_ENABLE_UPDATER YES)
endif()
# install as bundle
set(INSTALL_BUNDLE "full" CACHE STRING "Use fixup_bundle to bundle dependencies")
# Add the icon
install(FILES ${Launcher_Branding_ICNS} DESTINATION ${RESOURCES_DEST_DIR} RENAME ${Launcher_Name}.icns)
find_program(ACTOOL_EXE actool DOC "Path to the apple asset catalog compiler")
if(ACTOOL_EXE)
execute_process(
COMMAND xcodebuild -version
OUTPUT_VARIABLE XCODE_VERSION_OUTPUT
OUTPUT_STRIP_TRAILING_WHITESPACE
)
string(REGEX MATCH "Xcode ([0-9]+\.[0-9]+)" XCODE_VERSION_MATCH "${XCODE_VERSION_OUTPUT}")
if(XCODE_VERSION_MATCH)
set(XCODE_VERSION ${CMAKE_MATCH_1})
else()
set(XCODE_VERSION 0.0)
endif()
if(XCODE_VERSION VERSION_GREATER_EQUAL 26.0)
set(ASSETS_OUT_DIR "${CMAKE_BINARY_DIR}/program_info")
set(GENERATED_ASSETS_CAR "${ASSETS_OUT_DIR}/Assets.car")
set(ICON_SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/${Launcher_Branding_MAC_ICON}")
add_custom_command(
OUTPUT "${GENERATED_ASSETS_CAR}"
COMMAND ${ACTOOL_EXE} "${ICON_SOURCE}"
--compile "${ASSETS_OUT_DIR}"
--output-partial-info-plist /dev/null
--app-icon PrismLauncher
--enable-on-demand-resources NO
--target-device mac
--minimum-deployment-target ${CMAKE_OSX_DEPLOYMENT_TARGET}
--platform macosx
DEPENDS "${ICON_SOURCE}"
COMMENT "Compiling asset catalog (${ICON_SOURCE})"
VERBATIM
)
add_custom_target(compile_assets ALL DEPENDS "${GENERATED_ASSETS_CAR}")
install(FILES "${GENERATED_ASSETS_CAR}" DESTINATION "${RESOURCES_DEST_DIR}")
else()
message(WARNING "Xcode ${XCODE_VERSION} is too old. Minimum required version is 26.0. Not compiling liquid glass icons.")
endif()
else()
message(WARNING "actool not found. Cannot compile macOS app icons.\n"
"Install Xcode command line tools: 'xcode-select --install'")
endif()
elseif(UNIX)
include(KDEInstallDirs)
@@ -405,19 +438,21 @@ elseif(UNIX)
set(LIBRARY_DEST_DIR "lib${LIB_SUFFIX}")
set(JARS_DEST_DIR "share/${Launcher_Name}")
# install as bundle with no dependencies included
set(INSTALL_BUNDLE "nodeps" CACHE STRING "Use fixup_bundle to bundle dependencies")
# Set RPATH
SET(Launcher_BINARY_RPATH "$ORIGIN/")
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${Launcher_Desktop} DESTINATION ${KDE_INSTALL_APPDIR})
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${Launcher_MetaInfo} DESTINATION ${KDE_INSTALL_METAINFODIR})
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${Launcher_SVG} DESTINATION "${KDE_INSTALL_ICONDIR}/hicolor/scalable/apps")
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${Launcher_PNG_256} DESTINATION "${KDE_INSTALL_ICONDIR}/hicolor/256x256/apps" RENAME "${Launcher_AppID}.png")
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${Launcher_mrpack_MIMEInfo} DESTINATION ${KDE_INSTALL_MIMEDIR})
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/launcher/qtlogging.ini" DESTINATION "share/${Launcher_Name}")
set(PLUGIN_DEST_DIR "plugins")
set(BUNDLE_DEST_DIR ".")
set(RESOURCES_DEST_DIR ".")
if(Launcher_ManPage)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${Launcher_ManPage} DESTINATION "${KDE_INSTALL_MANDIR}/man6")
endif()
@@ -432,15 +467,6 @@ elseif(WIN32)
set(PLUGIN_DEST_DIR ".")
set(RESOURCES_DEST_DIR ".")
set(JARS_DEST_DIR "jars")
# Apps to bundle
set(APPS "\${CMAKE_INSTALL_PREFIX}/${Launcher_Name}.exe")
# directories to look for dependencies
set(DIRS ${QT_LIBS_DIR} ${QT_LIBEXECS_DIR} ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
# install as bundle
set(INSTALL_BUNDLE "full" CACHE STRING "Use fixup_bundle to bundle dependencies")
else()
message(FATAL_ERROR "Platform not supported")
endif()
@@ -460,67 +486,10 @@ add_subdirectory(libraries/libnbtplusplus)
add_subdirectory(libraries/systeminfo) # system information library
add_subdirectory(libraries/launcher) # java based launcher part for Minecraft
add_subdirectory(libraries/javacheck) # java compatibility checker
if(FORCE_BUNDLED_ZLIB)
message(STATUS "Using bundled zlib")
set(CMAKE_POLICY_DEFAULT_CMP0069 NEW) # Suppress cmake warnings and allow INTERPROCEDURAL_OPTIMIZATION for zlib
set(SKIP_INSTALL_ALL ON)
add_subdirectory(libraries/zlib EXCLUDE_FROM_ALL)
# On OS where unistd.h exists, zlib's generated header defines `Z_HAVE_UNISTD_H`, while the included header does not.
# We cannot safely undo the rename on those systems, and they generally have packages for zlib anyway.
check_include_file(unistd.h NEED_GENERATED_ZCONF)
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/libraries/zlib/zconf.h.included" AND NOT NEED_GENERATED_ZCONF)
# zlib's cmake script renames a file, dirtying the submodule, see https://github.com/madler/zlib/issues/162
message(STATUS "Undoing Rename")
message(STATUS " ${CMAKE_CURRENT_SOURCE_DIR}/libraries/zlib/zconf.h")
file(RENAME "${CMAKE_CURRENT_SOURCE_DIR}/libraries/zlib/zconf.h.included" "${CMAKE_CURRENT_SOURCE_DIR}/libraries/zlib/zconf.h")
endif()
set(ZLIB_INCLUDE_DIR "${CMAKE_CURRENT_BINARY_DIR}/libraries/zlib" "${CMAKE_CURRENT_SOURCE_DIR}/libraries/zlib" CACHE STRING "" FORCE)
set_target_properties(zlibstatic PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${ZLIB_INCLUDE_DIR}")
add_library(ZLIB::ZLIB ALIAS zlibstatic)
set(ZLIB_LIBRARY ZLIB::ZLIB CACHE STRING "zlib library name")
find_package(ZLIB REQUIRED)
else()
message(STATUS "Using system zlib")
endif()
if (FORCE_BUNDLED_QUAZIP)
message(STATUS "Using bundled QuaZip")
set(BUILD_SHARED_LIBS 0) # link statically to avoid conflicts.
set(QUAZIP_INSTALL 0)
add_subdirectory(libraries/quazip) # zip manipulation library
else()
message(STATUS "Using system QuaZip")
endif()
add_subdirectory(libraries/rainbow) # Qt extension for colors
add_subdirectory(libraries/LocalPeer) # fork of a library from Qt solutions
if(NOT tomlplusplus_FOUND)
message(STATUS "Using bundled tomlplusplus")
add_subdirectory(libraries/tomlplusplus) # toml parser
else()
message(STATUS "Using system tomlplusplus")
endif()
if(NOT cmark_FOUND)
message(STATUS "Using bundled cmark")
set(CMARK_STATIC ON CACHE BOOL "Build static libcmark library" FORCE)
set(CMARK_SHARED OFF CACHE BOOL "Build shared libcmark library" FORCE)
set(CMARK_TESTS OFF CACHE BOOL "Build cmark tests and enable testing" FORCE)
add_subdirectory(libraries/cmark EXCLUDE_FROM_ALL) # Markdown parser
add_library(cmark::cmark ALIAS cmark_static)
else()
message(STATUS "Using system cmark")
endif()
add_subdirectory(libraries/katabasis) # An OAuth2 library that tried to do too much
add_subdirectory(libraries/gamemode)
add_subdirectory(libraries/murmur2) # Hash for usage with the CurseForge API
if (NOT ghc_filesystem_FOUND)
message(STATUS "Using bundled ghc_filesystem")
add_subdirectory(libraries/filesystem) # Implementation of std::filesystem for old C++, for usage in old macOS
else()
message(STATUS "Using system ghc_filesystem")
endif()
add_subdirectory(libraries/qdcss) # css parser
############################### Built Artifacts ###############################

221
CMakePresets.json Normal file
View File

@@ -0,0 +1,221 @@
{
"$schema": "https://cmake.org/cmake/help/latest/_downloads/3e2d73bff478d88a7de0de736ba5e361/schema.json",
"version": 8,
"cmakeMinimumRequired": {
"major": 3,
"minor": 28
},
"configurePresets": [
{
"name": "base",
"hidden": true,
"binaryDir": "build",
"installDir": "install",
"generator": "Ninja Multi-Config",
"cacheVariables": {
"Launcher_BUILD_ARTIFACT": "$penv{ARTIFACT_NAME}",
"Launcher_BUILD_PLATFORM": "$penv{BUILD_PLATFORM}",
"Launcher_ENABLE_JAVA_DOWNLOADER": "ON",
"ENABLE_LTO": "ON"
}
},
{
"name": "linux",
"displayName": "Linux",
"inherits": [
"base"
],
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Linux"
}
},
{
"name": "macos",
"displayName": "macOS",
"inherits": [
"base"
],
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Darwin"
},
"cacheVariables": {
"CMAKE_TOOLCHAIN_FILE": "$penv{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake"
}
},
{
"name": "macos_universal",
"displayName": "macOS (Universal Binary)",
"inherits": [
"macos"
],
"cacheVariables": {
"CMAKE_TOOLCHAIN_FILE": "$penv{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake",
"CMAKE_OSX_ARCHITECTURES": "x86_64;arm64",
"VCPKG_TARGET_TRIPLET": "universal-osx"
}
},
{
"name": "windows_mingw",
"displayName": "Windows (MinGW)",
"inherits": [
"base"
],
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
}
},
{
"name": "windows_msvc",
"displayName": "Windows (MSVC)",
"inherits": [
"base"
],
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
},
"cacheVariables": {
"CMAKE_TOOLCHAIN_FILE": "$penv{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake"
}
}
],
"buildPresets": [
{
"name": "linux",
"displayName": "Linux",
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Linux"
},
"configurePreset": "linux"
},
{
"name": "macos",
"displayName": "macOS",
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Darwin"
},
"configurePreset": "macos"
},
{
"name": "macos_universal",
"displayName": "macOS (Universal Binary)",
"inherits": [
"macos"
],
"configurePreset": "macos_universal"
},
{
"name": "windows_mingw",
"displayName": "Windows (MinGW)",
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
},
"configurePreset": "windows_mingw"
},
{
"name": "windows_msvc",
"displayName": "Windows (MSVC)",
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
},
"configurePreset": "windows_msvc"
}
],
"testPresets": [
{
"name": "base",
"hidden": true,
"output": {
"outputOnFailure": true
},
"execution": {
"noTestsAction": "error"
},
"filter": {
"exclude": {
"name": "^example64|example$"
}
}
},
{
"name": "linux",
"displayName": "Linux",
"inherits": [
"base"
],
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Linux"
},
"configurePreset": "linux"
},
{
"name": "macos",
"displayName": "macOS",
"inherits": [
"base"
],
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Darwin"
},
"configurePreset": "macos"
},
{
"name": "macos_universal",
"displayName": "macOS (Universal Binary)",
"inherits": [
"base"
],
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Darwin"
},
"configurePreset": "macos_universal"
},
{
"name": "windows_mingw",
"displayName": "Windows (MinGW)",
"inherits": [
"base"
],
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
},
"configurePreset": "windows_mingw"
},
{
"name": "windows_msvc",
"displayName": "Windows (MSVC)",
"inherits": [
"base"
],
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
},
"configurePreset": "windows_msvc"
}
]
}

View File

@@ -1,17 +1,66 @@
# Contributions Guidelines
## Code formatting
## Code style
Try to follow the existing formatting.
If there is no existing formatting, you may use `clang-format` with our included `.clang-format` configuration.
All files are formatted with `clang-format` using the configuration in `.clang-format`. Ensure it is run on changed files before committing!
In general, in order of importance:
Please also follow the project's conventions for C++:
- Make sure your IDE is not messing up line endings or whitespace and avoid using linters.
- Prefer readability over dogma.
- Keep to the existing formatting.
- Indent with 4 space unless it's in a submodule.
- Keep lists (of arguments, parameters, initializers...) as lists, not paragraphs. It should either read from top to bottom, or left to right. Not both.
- Class and type names should be formatted as `PascalCase`: `MyClass`.
- Private or protected class data members should be formatted as `camelCase` prefixed with `m_`: `m_myCounter`.
- Private or protected `static` class data members should be formatted as `camelCase` prefixed with `s_`: `s_instance`.
- Public class data members should be formatted as `camelCase` without the prefix: `dateOfBirth`.
- Public, private or protected `static const` class data members should be formatted as `SCREAMING_SNAKE_CASE`: `MAX_VALUE`.
- Class function members should be formatted as `camelCase` without a prefix: `incrementCounter`.
- Global functions and non-`const` global variables should be formatted as `camelCase` without a prefix: `globalData`.
- `const` global variables and macros should be formatted as `SCREAMING_SNAKE_CASE`: `LIGHT_GRAY`.
- enum constants should be formatted as `PascalCase`: `CamelusBactrianus`
- Avoid inventing acronyms or abbreviations especially for a name of multiple words - like `tp` for `texturePack`.
- Avoid using `[[nodiscard]]` unless ignoring the return value is likely to cause a bug in cases such as:
- A function allocates memory or another resource and the caller needs to clean it up.
- A function has side effects and an error status is returned.
- A function is likely be mistaken for having side effects.
- A plain getter is unlikely to cause confusion and adding `[[nodiscard]]` can create clutter and inconsistency.
Most of these rules are included in the `.clang-tidy` file, so you can run `clang-tidy` to check for any violations.
Here is what these conventions with the formatting configuration look like:
```c++
#define AWESOMENESS 10
constexpr double PI = 3.14159;
enum class PizzaToppings { HamAndPineapple, OreoAndKetchup };
struct Person {
QString name;
QDateTime dateOfBirth;
long daysOld() const { return dateOfBirth.daysTo(QDateTime::currentDateTime()); }
};
class ImportantClass {
public:
void incrementCounter()
{
if (m_counter + 1 > MAX_COUNTER_VALUE)
throw std::runtime_error("Counter has reached limit!");
++m_counter;
}
int counter() const { return m_counter; }
private:
static constexpr int MAX_COUNTER_VALUE = 100;
int m_counter;
};
ImportantClass importantClassInstance;
```
If you see any names which do not follow these conventions, it is preferred that you leave them be - renames increase the number of changes therefore make reviewing harder and make your PR more prone to conflicts. However, if you're refactoring a whole class anyway, it's fine.
## Signing your work

View File

@@ -1,7 +1,7 @@
## Prism Launcher
Prism Launcher - Minecraft Launcher
Copyright (C) 2022-2023 Prism Launcher Contributors
Copyright (C) 2022-2026 Prism Launcher Contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -108,7 +108,7 @@
Information on third party licenses used in MinGW-w64 can be found in its COPYING.MinGW-w64-runtime.txt.
## Qt 5/6
## Qt 6
Copyright (C) 2022 The Qt Company Ltd and other contributors.
Contact: https://www.qt.io/licensing
@@ -212,30 +212,6 @@
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
## Quazip
Copyright (C) 2005-2021 Sergey A. Tachenov
The QuaZip library is licensed under the GNU Lesser General Public
License V2.1 plus a static linking exception.
The original ZIP/UNZIP package (MiniZip) is copyrighted by Gilles
Vollant and contributors, see quazip/(un)zip.h files for details.
Basically it's the zlib license.
STATIC LINKING EXCEPTION
The copyright holders give you permission to link this library with
independent modules to produce an executable, regardless of the license
terms of these independent modules, and to copy and distribute the
resulting executable under terms of your choice, provided that you also
meet, for each linked independent module, the terms and conditions of
the license of that module. An independent module is a module which is
not derived from or based on this library. If you modify this library,
you must extend this exception to your version of the library.
See COPYING file for the full LGPL text.
## launcher (`libraries/launcher`)
PolyMC - Minecraft Launcher
@@ -333,32 +309,6 @@
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
## O2 (Katabasis fork)
Copyright (c) 2012, Akos Polster
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
## Gamemode
Copyright (c) 2017-2022, Feral Interactive
@@ -388,28 +338,6 @@
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
## gulrak/filesystem
Copyright (c) 2018, Steffen Schümann <s.schuemann@pobox.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
## Breeze icons
Copyright (C) 2014 Uri Herrera <uri_herrera@nitrux.in> and others
@@ -436,7 +364,7 @@
Copyright (C) 2007 Johann Ollivier Lapeyre <johann@oxygen-icons.org>
Copyright (C) 2007 Kenneth Wimer <kwwii@bootsplash.org>
Copyright (C) 2007 Riccardo Iaconelli <riccardo@oxygen-icons.org>
and others
This library is free software; you can redistribute it and/or
@@ -451,3 +379,44 @@
You should have received a copy of the GNU Lesser General Public
License along with this library. If not, see <http://www.gnu.org/licenses/>.
## libqrencode (`fukuchi/libqrencode`)
Copyright (C) 2020 libqrencode Authors
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
## vcpkg (`cmake/vcpkg-ports`)
MIT License
Copyright (c) Microsoft Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy of this
software and associated documentation files (the "Software"), to deal in the Software
without restriction, including without limitation the rights to use, copy, modify,
merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice shall be included in all copies
or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@@ -26,8 +26,8 @@ Please understand that these builds are not intended for most users. There may b
There are development builds available through:
- [GitHub Actions](https://github.com/PrismLauncher/PrismLauncher/actions) (includes builds from pull requests opened by contribuitors)
- [nightly.link](https://nightly.link/PrismLauncher/PrismLauncher/workflows/trigger_builds/develop) (this will always point only to the latest version of develop)
- [GitHub Actions](https://github.com/PrismLauncher/PrismLauncher/actions) (includes builds from pull requests opened by contributors)
- [nightly.link](https://nightly.link/PrismLauncher/PrismLauncher/workflows/build/develop) (this will always point only to the latest version of develop)
These have debug information in the binaries, so their file sizes are relatively larger.
@@ -35,7 +35,7 @@ Prebuilt Development builds are provided for **Linux**, **Windows** and **macOS*
For **Arch**, **Debian**, **Fedora**, **OpenSUSE (Tumbleweed)** and **Gentoo**, respectively, you can use these packages for the latest development versions:
[![prismlauncher-git](https://img.shields.io/badge/aur-prismlauncher--git-1793D1?label=AUR&logo=archlinux&logoColor=white)](https://aur.archlinux.org/packages/prismlauncher-git) [![prismlauncher-git](https://img.shields.io/badge/aur-prismlauncher--qt5--git-1793D1?label=AUR&logo=archlinux&logoColor=white)](https://aur.archlinux.org/packages/prismlauncher-qt5-git) [![prismlauncher-git](https://img.shields.io/badge/mpr-prismlauncher--git-A80030?label=MPR&logo=debian&logoColor=white)](https://mpr.makedeb.org/packages/prismlauncher-git)<br />[![prismlauncher-nightly](https://img.shields.io/badge/copr-prismlauncher--nightly-51A2DA?label=COPR&logo=fedora&logoColor=white)](https://copr.fedorainfracloud.org/coprs/g3tchoo/prismlauncher/) [![prismlauncher-nightly](https://img.shields.io/badge/OBS-prismlauncher--nightly-3AB6A9?logo=opensuse&logoColor=white)](https://build.opensuse.org/project/show/home:getchoo) [![prismlauncher-9999](https://img.shields.io/badge/gentoo-prismlauncher--9999-4D4270?label=Gentoo&logo=gentoo&logoColor=white)](https://packages.gentoo.org/packages/games-action/prismlauncher)
[![prismlauncher-git](https://img.shields.io/badge/aur-prismlauncher--git-1793D1?label=AUR&logo=archlinux&logoColor=white)](https://aur.archlinux.org/packages/prismlauncher-git) [![prismlauncher-git](https://img.shields.io/badge/mpr-prismlauncher--git-A80030?label=MPR&logo=debian&logoColor=white)](https://mpr.makedeb.org/packages/prismlauncher-git)<br />[![prismlauncher-nightly](https://img.shields.io/badge/copr-prismlauncher--nightly-51A2DA?label=COPR&logo=fedora&logoColor=white)](https://copr.fedorainfracloud.org/coprs/g3tchoo/prismlauncher/) [![prismlauncher-nightly](https://img.shields.io/badge/OBS-prismlauncher--nightly-3AB6A9?logo=opensuse&logoColor=white)](https://build.opensuse.org/project/show/home:getchoo) [![prismlauncher-9999](https://img.shields.io/badge/gentoo-prismlauncher--9999-4D4270?label=Gentoo&logo=gentoo&logoColor=white)](https://packages.gentoo.org/packages/games-action/prismlauncher)
These packages are also available to all the distributions based on the ones mentioned above.
@@ -61,7 +61,7 @@ The translation effort for Prism Launcher is hosted on [Weblate](https://hosted.
## Building
If you want to build Prism Launcher yourself, check the [Build Instructions](https://prismlauncher.org/wiki/development/build-instructions/).
If you want to build Prism Launcher yourself, check the [build instructions](https://prismlauncher.org/wiki/development/build-instructions).
## Sponsors & Partners
@@ -71,7 +71,13 @@ We thank all the wonderful backers over at Open Collective! Support Prism Launch
Thanks to JetBrains for providing us a few licenses for all their products, as part of their [Open Source program](https://www.jetbrains.com/opensource/).
[![JetBrains](https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.svg)](https://www.jetbrains.com/opensource/)
<a href="https://jb.gg/OpenSource">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://www.jetbrains.com/company/brand/img/logo_jb_dos_4.svg">
<source media="(prefers-color-scheme: light)" srcset="https://resources.jetbrains.com/storage/products/company/brand/logos/jetbrains.svg">
<img alt="JetBrains logo" src="https://resources.jetbrains.com/storage/products/company/brand/logos/jetbrains.svg" width="40%">
</picture>
</a>
Thanks to Weblate for hosting our translation efforts.

View File

@@ -33,9 +33,8 @@
* limitations under the License.
*/
#include <qstringliteral.h>
#include "BuildConfig.h"
#include <QObject>
#include "BuildConfig.h"
const Config BuildConfig;
@@ -49,15 +48,15 @@ Config::Config()
LAUNCHER_DOMAIN = "@Launcher_Domain@";
LAUNCHER_CONFIGFILE = "@Launcher_ConfigFile@";
LAUNCHER_GIT = "@Launcher_Git@";
LAUNCHER_DESKTOPFILENAME = "@Launcher_DesktopFileName@";
LAUNCHER_APPID = "@Launcher_AppID@";
LAUNCHER_SVGFILENAME = "@Launcher_SVGFileName@";
USER_AGENT = "@Launcher_UserAgent@";
USER_AGENT_UNCACHED = USER_AGENT + " (Uncached)";
// Version information
VERSION_MAJOR = @Launcher_VERSION_MAJOR@;
VERSION_MINOR = @Launcher_VERSION_MINOR@;
VERSION_PATCH = @Launcher_VERSION_PATCH@;
BUILD_PLATFORM = "@Launcher_BUILD_PLATFORM@";
BUILD_ARTIFACT = "@Launcher_BUILD_ARTIFACT@";
@@ -74,55 +73,52 @@ Config::Config()
MAC_SPARKLE_PUB_KEY = "@MACOSX_SPARKLE_UPDATE_PUBLIC_KEY@";
MAC_SPARKLE_APPCAST_URL = "@MACOSX_SPARKLE_UPDATE_FEED_URL@";
if (!MAC_SPARKLE_PUB_KEY.isEmpty() && !MAC_SPARKLE_APPCAST_URL.isEmpty())
{
if (!MAC_SPARKLE_PUB_KEY.isEmpty() && !MAC_SPARKLE_APPCAST_URL.isEmpty()) {
UPDATER_ENABLED = true;
} else if(!UPDATER_GITHUB_REPO.isEmpty() && !BUILD_ARTIFACT.isEmpty()) {
} else if (!UPDATER_GITHUB_REPO.isEmpty() && !BUILD_ARTIFACT.isEmpty()) {
UPDATER_ENABLED = true;
}
#cmakedefine01 Launcher_ENABLE_JAVA_DOWNLOADER
JAVA_DOWNLOADER_ENABLED = Launcher_ENABLE_JAVA_DOWNLOADER;
GIT_COMMIT = "@Launcher_GIT_COMMIT@";
GIT_TAG = "@Launcher_GIT_TAG@";
GIT_REFSPEC = "@Launcher_GIT_REFSPEC@";
// Assume that builds outside of Git repos are "stable"
if (GIT_REFSPEC == QStringLiteral("GITDIR-NOTFOUND")
|| GIT_TAG == QStringLiteral("GITDIR-NOTFOUND")
|| GIT_REFSPEC == QStringLiteral("")
|| GIT_TAG == QStringLiteral("GIT-NOTFOUND"))
{
if (GIT_REFSPEC == QStringLiteral("GITDIR-NOTFOUND") || GIT_TAG == QStringLiteral("GITDIR-NOTFOUND") ||
GIT_REFSPEC == QStringLiteral("") || GIT_TAG == QStringLiteral("GIT-NOTFOUND")) {
GIT_REFSPEC = "refs/heads/stable";
GIT_TAG = versionString();
GIT_COMMIT = "";
}
if (GIT_REFSPEC.startsWith("refs/heads/"))
{
if (GIT_REFSPEC.startsWith("refs/heads/")) {
VERSION_CHANNEL = GIT_REFSPEC;
VERSION_CHANNEL.remove("refs/heads/");
}
else if (!GIT_COMMIT.isEmpty())
{
VERSION_CHANNEL.remove("refs/heads/");
} else if (!GIT_COMMIT.isEmpty()) {
VERSION_CHANNEL = GIT_COMMIT.mid(0, 8);
}
else
{
} else {
VERSION_CHANNEL = "unknown";
}
NEWS_RSS_URL = "@Launcher_NEWS_RSS_URL@";
NEWS_OPEN_URL = "@Launcher_NEWS_OPEN_URL@";
HELP_URL = "@Launcher_HELP_URL@";
LOGIN_CALLBACK_URL = "@Launcher_LOGIN_CALLBACK_URL@";
IMGUR_CLIENT_ID = "@Launcher_IMGUR_CLIENT_ID@";
MSA_CLIENT_ID = "@Launcher_MSA_CLIENT_ID@";
FLAME_API_KEY = "@Launcher_CURSEFORGE_API_KEY@";
META_URL = "@Launcher_META_URL@";
LEGACY_FMLLIBS_BASE_URL = "@Launcher_LEGACY_FMLLIBS_BASE_URL@";
GLFW_LIBRARY_NAME = "@Launcher_GLFW_LIBRARY_NAME@";
OPENAL_LIBRARY_NAME = "@Launcher_OPENAL_LIBRARY_NAME@";
BUG_TRACKER_URL = "@Launcher_BUG_TRACKER_URL@";
TRANSLATIONS_URL = "@Launcher_TRANSLATIONS_URL@";
TRANSLATION_FILES_URL = "@Launcher_TRANSLATION_FILES_URL@";
MATRIX_URL = "@Launcher_MATRIX_URL@";
DISCORD_URL = "@Launcher_DISCORD_URL@";
SUBREDDIT_URL = "@Launcher_SUBREDDIT_URL@";
@@ -130,7 +126,7 @@ Config::Config()
QString Config::versionString() const
{
return QString("%1.%2").arg(VERSION_MAJOR).arg(VERSION_MINOR);
return QString("%1.%2.%3").arg(VERSION_MAJOR).arg(VERSION_MINOR).arg(VERSION_PATCH);
}
QString Config::printableVersionString() const
@@ -138,8 +134,7 @@ QString Config::printableVersionString() const
QString vstr = versionString();
// If the build is not a main release, append the channel
if(VERSION_CHANNEL != "stable" && GIT_TAG != vstr)
{
if (VERSION_CHANNEL != "stable" && GIT_TAG != vstr) {
vstr += "-" + VERSION_CHANNEL;
}
return vstr;
@@ -156,4 +151,3 @@ QString Config::systemID() const
{
return QStringLiteral("%1 %2 %3").arg(COMPILER_TARGET_SYSTEM, COMPILER_TARGET_SYSTEM_VERSION, COMPILER_TARGET_SYSTEM_PROCESSOR);
}

View File

@@ -52,13 +52,15 @@ class Config {
QString LAUNCHER_DOMAIN;
QString LAUNCHER_CONFIGFILE;
QString LAUNCHER_GIT;
QString LAUNCHER_DESKTOPFILENAME;
QString LAUNCHER_APPID;
QString LAUNCHER_SVGFILENAME;
/// The major version number.
int VERSION_MAJOR;
/// The minor version number.
int VERSION_MINOR;
/// The patch version number.
int VERSION_PATCH;
/**
* The version channel
@@ -67,6 +69,7 @@ class Config {
QString VERSION_CHANNEL;
bool UPDATER_ENABLED = false;
bool JAVA_DOWNLOADER_ENABLED = false;
/// A short string identifying this build's platform or distribution.
QString BUILD_PLATFORM;
@@ -104,9 +107,6 @@ class Config {
/// User-Agent to use.
QString USER_AGENT;
/// User-Agent to use for uncached requests.
QString USER_AGENT_UNCACHED;
/// The git commit hash of this build
QString GIT_COMMIT;
@@ -132,6 +132,11 @@ class Config {
*/
QString HELP_URL;
/**
* URL that gets opened when the user succesfully logins.
*/
QString LOGIN_CALLBACK_URL;
/**
* Client ID you can get from Imgur when you register an application
*/
@@ -161,12 +166,11 @@ class Config {
QString DISCORD_URL;
QString SUBREDDIT_URL;
QString RESOURCE_BASE = "https://resources.download.minecraft.net/";
QString DEFAULT_RESOURCE_BASE = "https://resources.download.minecraft.net/";
QString LIBRARY_BASE = "https://libraries.minecraft.net/";
QString AUTH_BASE = "https://authserver.mojang.com/";
QString IMGUR_BASE_URL = "https://api.imgur.com/3/";
QString FMLLIBS_BASE_URL = "https://files.prismlauncher.org/fmllibs/"; // FIXME: move into CMakeLists
QString TRANSLATIONS_BASE_URL = "https://i18n.prismlauncher.org/"; // FIXME: move into CMakeLists
QString LEGACY_FMLLIBS_BASE_URL;
QString TRANSLATION_FILES_URL;
QString MODPACKSCH_API_BASE_URL = "https://api.modpacks.ch/";

View File

@@ -68,6 +68,8 @@ function(
/w14906 # string literal cast to 'LPWSTR'
/w14928 # illegal copy-initialization; more than one user-defined conversion has been implicitly applied
/permissive- # standards conformance mode for MSVC compiler.
/we4062 # forbid omitting a possible value of an enum in a switch statement
)
endif()
@@ -93,6 +95,8 @@ function(
# in a lot of noise. This warning is only notifying us that clang is emulating the GCC behaviour
# instead of the exact standard wording so we can safely ignore it
-Wno-gnu-zero-variadic-macro-arguments
-Werror=switch # forbid omitting a possible value of an enum in a switch statement
)
endif()
@@ -104,6 +108,8 @@ function(
-Wduplicated-branches # warn if if / else branches have duplicated code
-Wlogical-op # warn about logical operations being used where bitwise were probably wanted
-Wuseless-cast # warn if you perform a cast to the same type
-Werror=switch # forbid omitting a possible value of an enum in a switch statement
)
endif()
@@ -128,6 +134,8 @@ function(
-Woverloaded-virtual
-Wuseless-cast
-Wextra-semi
-Werror=switch # forbid omitting a possible value of an enum in a switch statement
)
target_compile_options(

View File

@@ -1,100 +0,0 @@
# SPDX-FileCopyrightText: 2014 Rohan Garg <rohan16garg@gmail.com>
# SPDX-FileCopyrightText: 2014 Alex Merry <alex.merry@kde.org>
# SPDX-FileCopyrightText: 2014-2016 Aleix Pol <aleixpol@kde.org>
# SPDX-FileCopyrightText: 2017 Friedrich W. H. Kossebau <kossebau@kde.org>
# SPDX-FileCopyrightText: 2022 Ahmad Samir <a.samir78@gmail.com>
#
# SPDX-License-Identifier: BSD-3-Clause
#[=======================================================================[.rst:
ECMQueryQt
---------------
This module can be used to query the installation paths used by Qt.
For Qt5 this uses ``qmake``, and for Qt6 this used ``qtpaths`` (the latter has built-in
support to query the paths of a target platform when cross-compiling).
This module defines the following function:
::
ecm_query_qt(<result_variable> <qt_variable> [TRY])
Passing ``TRY`` will result in the method not making the build fail if the executable
used for querying has not been found, but instead simply print a warning message and
return an empty string.
Example usage:
.. code-block:: cmake
include(ECMQueryQt)
ecm_query_qt(bin_dir QT_INSTALL_BINS)
If the call succeeds ``${bin_dir}`` will be set to ``<prefix>/path/to/bin/dir`` (e.g.
``/usr/lib64/qt/bin/``).
Since: 5.93
#]=======================================================================]
include(${CMAKE_CURRENT_LIST_DIR}/QtVersionOption.cmake)
include(CheckLanguage)
check_language(CXX)
if (CMAKE_CXX_COMPILER)
# Enable the CXX language to let CMake look for config files in library dirs.
# See: https://gitlab.kitware.com/cmake/cmake/-/issues/23266
enable_language(CXX)
endif()
if (QT_MAJOR_VERSION STREQUAL "5")
# QUIET to accommodate the TRY option
find_package(Qt${QT_MAJOR_VERSION}Core QUIET)
if(TARGET Qt5::qmake)
get_target_property(_qmake_executable_default Qt5::qmake LOCATION)
set(QUERY_EXECUTABLE ${_qmake_executable_default}
CACHE FILEPATH "Location of the Qt5 qmake executable")
set(_exec_name_text "Qt5 qmake")
set(_cli_option "-query")
endif()
elseif(QT_MAJOR_VERSION STREQUAL "6")
# QUIET to accommodate the TRY option
find_package(Qt6 COMPONENTS CoreTools QUIET CONFIG)
if (TARGET Qt6::qtpaths)
get_target_property(_qtpaths_executable Qt6::qtpaths LOCATION)
set(QUERY_EXECUTABLE ${_qtpaths_executable}
CACHE FILEPATH "Location of the Qt6 qtpaths executable")
set(_exec_name_text "Qt6 qtpaths")
set(_cli_option "--query")
endif()
endif()
function(ecm_query_qt result_variable qt_variable)
set(options TRY)
set(oneValueArgs)
set(multiValueArgs)
cmake_parse_arguments(ARGS "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
if(NOT QUERY_EXECUTABLE)
if(ARGS_TRY)
set(${result_variable} "" PARENT_SCOPE)
message(STATUS "No ${_exec_name_text} executable found. Can't check ${qt_variable}")
return()
else()
message(FATAL_ERROR "No ${_exec_name_text} executable found. Can't check ${qt_variable} as required")
endif()
endif()
execute_process(
COMMAND ${QUERY_EXECUTABLE} ${_cli_option} "${qt_variable}"
RESULT_VARIABLE return_code
OUTPUT_VARIABLE output
)
if(return_code EQUAL 0)
string(STRIP "${output}" output)
file(TO_CMAKE_PATH "${output}" output_path)
set(${result_variable} "${output_path}" PARENT_SCOPE)
else()
message(WARNING "Failed call: ${_command} \"${qt_variable}\"")
message(FATAL_ERROR "${_exec_name_text} call failed: ${return_code}")
endif()
endfunction()

View File

@@ -6,6 +6,10 @@
<string>A Minecraft mod wants to access your camera.</string>
<key>NSMicrophoneUsageDescription</key>
<string>A Minecraft mod wants to access your microphone.</string>
<key>NSDownloadsFolderUsageDescription</key>
<string>Prism uses access to your Downloads folder to help you more quickly add mods that can't be automatically downloaded to your instance. You can change where Prism scans for downloaded mods in Settings or the prompt that appears.</string>
<key>NSLocalNetworkUsageDescription</key>
<string>Minecraft uses the local network to find and connect to LAN servers.</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>NSHighResolutionCapable</key>
@@ -17,7 +21,9 @@
<key>CFBundleGetInfoString</key>
<string>${MACOSX_BUNDLE_INFO_STRING}</string>
<key>CFBundleIconFile</key>
<string>${MACOSX_BUNDLE_ICON_FILE}</string>
<string>${Launcher_Name}</string>
<key>CFBundleIconName</key>
<string>${Launcher_Name}</string>
<key>CFBundleIdentifier</key>
<string>${MACOSX_BUNDLE_GUI_IDENTIFIER}</string>
<key>CFBundleInfoDictionaryVersion</key>
@@ -38,6 +44,8 @@
<true/>
<key>LSRequiresCarbon</key>
<true/>
<key>LSApplicationCategoryType</key>
<string>public.app-category.games</string>
<key>NSHumanReadableCopyright</key>
<string>${MACOSX_BUNDLE_COPYRIGHT}</string>
<key>SUPublicEDKey</key>
@@ -77,6 +85,14 @@
<string>curseforge</string>
</array>
</dict>
<dict>
<key>CFBundleURLName</key>
<string>Prismlauncher</string>
<key>CFBundleURLSchemes</key>
<array>
<string>prismlauncher</string>
</array>
</dict>
</array>
</dict>
</plist>

View File

@@ -1,38 +0,0 @@
#.rst:
# QtVersionOption
# ---------------
#
# Adds a build option to select the major Qt version if necessary,
# that is, if the major Qt version has not yet been determined otherwise
# (e.g. by a corresponding find_package() call).
#
# This module is typically included by other modules requiring knowledge
# about the major Qt version.
#
# ``QT_MAJOR_VERSION`` is defined to either be "5" or "6".
#
#
# Since 5.82.0.
#=============================================================================
# SPDX-FileCopyrightText: 2021 Volker Krause <vkrause@kde.org>
#
# SPDX-License-Identifier: BSD-3-Clause
if (DEFINED QT_MAJOR_VERSION)
return()
endif()
if (TARGET Qt5::Core)
set(QT_MAJOR_VERSION 5)
elseif (TARGET Qt6::Core)
set(QT_MAJOR_VERSION 6)
else()
option(BUILD_WITH_QT6 "Build against Qt 6" OFF)
if (BUILD_WITH_QT6)
set(QT_MAJOR_VERSION 6)
else()
set(QT_MAJOR_VERSION 5)
endif()
endif()

View File

@@ -1,97 +0,0 @@
#=============================================================================
# Copyright 2005-2011 Kitware, Inc.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# * Neither the name of Kitware, Inc. nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
# From Qt5CoreMacros.cmake
function(qt_generate_moc)
if(QT_VERSION_MAJOR EQUAL 5)
qt5_generate_moc(${ARGV})
elseif(QT_VERSION_MAJOR EQUAL 6)
qt6_generate_moc(${ARGV})
endif()
endfunction()
function(qt_wrap_cpp outfiles)
if(QT_VERSION_MAJOR EQUAL 5)
qt5_wrap_cpp("${outfiles}" ${ARGN})
elseif(QT_VERSION_MAJOR EQUAL 6)
qt6_wrap_cpp("${outfiles}" ${ARGN})
endif()
set("${outfiles}" "${${outfiles}}" PARENT_SCOPE)
endfunction()
function(qt_add_binary_resources)
if(QT_VERSION_MAJOR EQUAL 5)
qt5_add_binary_resources(${ARGV})
elseif(QT_VERSION_MAJOR EQUAL 6)
qt6_add_binary_resources(${ARGV})
endif()
endfunction()
function(qt_add_resources outfiles)
if(QT_VERSION_MAJOR EQUAL 5)
qt5_add_resources("${outfiles}" ${ARGN})
elseif(QT_VERSION_MAJOR EQUAL 6)
qt6_add_resources("${outfiles}" ${ARGN})
endif()
set("${outfiles}" "${${outfiles}}" PARENT_SCOPE)
endfunction()
function(qt_add_big_resources outfiles)
if(QT_VERSION_MAJOR EQUAL 5)
qt5_add_big_resources(${outfiles} ${ARGN})
elseif(QT_VERSION_MAJOR EQUAL 6)
qt6_add_big_resources(${outfiles} ${ARGN})
endif()
set("${outfiles}" "${${outfiles}}" PARENT_SCOPE)
endfunction()
function(qt_import_plugins)
if(QT_VERSION_MAJOR EQUAL 5)
qt5_import_plugins(${ARGV})
elseif(QT_VERSION_MAJOR EQUAL 6)
qt6_import_plugins(${ARGV})
endif()
endfunction()
# From Qt5WidgetsMacros.cmake
function(qt_wrap_ui outfiles)
if(QT_VERSION_MAJOR EQUAL 5)
qt5_wrap_ui("${outfiles}" ${ARGN})
elseif(QT_VERSION_MAJOR EQUAL 6)
qt6_wrap_ui("${outfiles}" ${ARGN})
endif()
set("${outfiles}" "${${outfiles}}" PARENT_SCOPE)
endfunction()

View File

@@ -0,0 +1,3 @@
The only difference between this and the upstream vcpkg port is the addition of `universal-osx.patch`. It's very annoying we need to bundle this entire tree to do that.
-@getchoo

View File

@@ -0,0 +1,13 @@
diff --git a/mesonbuild/cmake/toolchain.py b/mesonbuild/cmake/toolchain.py
index 11a00be5d..89ae490ff 100644
--- a/mesonbuild/cmake/toolchain.py
+++ b/mesonbuild/cmake/toolchain.py
@@ -202,7 +202,7 @@ class CMakeToolchain:
@staticmethod
def is_cmdline_option(compiler: 'Compiler', arg: str) -> bool:
if compiler.get_argument_syntax() == 'msvc':
- return arg.startswith('/')
+ return arg.startswith(('/','-'))
else:
if os.path.basename(compiler.get_exe()) == 'zig' and arg in {'ar', 'cc', 'c++', 'dlltool', 'lib', 'ranlib', 'objcopy', 'rc'}:
return True

View File

@@ -0,0 +1,45 @@
diff --git a/mesonbuild/dependencies/python.py b/mesonbuild/dependencies/python.py
index 883a29a..d9a82af 100644
--- a/mesonbuild/dependencies/python.py
+++ b/mesonbuild/dependencies/python.py
@@ -232,8 +232,10 @@ class _PythonDependencyBase(_Base):
else:
if self.is_freethreaded:
libpath = Path('libs') / f'python{vernum}t.lib'
+ libpath = Path('libs') / f'..' / f'..' / f'..' / f'lib' / f'python{vernum}t.lib'
else:
libpath = Path('libs') / f'python{vernum}.lib'
+ libpath = Path('libs') / f'..' / f'..' / f'..' / f'lib' / f'python{vernum}.lib'
# For a debug build, pyconfig.h may force linking with
# pythonX_d.lib (see meson#10776). This cannot be avoided
# and won't work unless we also have a debug build of
@@ -250,6 +252,8 @@ class _PythonDependencyBase(_Base):
vscrt = self.env.coredata.optstore.get_value('b_vscrt')
if vscrt in {'mdd', 'mtd', 'from_buildtype', 'static_from_buildtype'}:
vscrt_debug = True
+ if is_debug_build:
+ libpath = Path('libs') / f'..' / f'..' / f'..' / f'debug/lib' / f'python{vernum}_d.lib'
if is_debug_build and vscrt_debug and not self.variables.get('Py_DEBUG'):
mlog.warning(textwrap.dedent('''\
Using a debug build type with MSVC or an MSVC-compatible compiler
@@ -350,9 +354,10 @@ class PythonSystemDependency(SystemDependency, _PythonDependencyBase):
self.is_found = True
# compile args
+ verdot = self.variables.get('py_version_short')
inc_paths = mesonlib.OrderedSet([
self.variables.get('INCLUDEPY'),
- self.paths.get('include'),
+ self.paths.get('include') + f'/../../../include/python${verdot}',
self.paths.get('platinclude')])
self.compile_args += ['-I' + path for path in inc_paths if path]
@@ -416,7 +421,7 @@ def python_factory(env: 'Environment', for_machine: 'MachineChoice',
candidates.append(functools.partial(wrap_in_pythons_pc_dir, pkg_name, env, kwargs, installation))
# We only need to check both, if a python install has a LIBPC. It might point to the wrong location,
# e.g. relocated / cross compilation, but the presence of LIBPC indicates we should definitely look for something.
- if pkg_libdir is not None:
+ if True or pkg_libdir is not None:
candidates.append(functools.partial(PythonPkgConfigDependency, pkg_name, env, kwargs, installation))
else:
candidates.append(functools.partial(PkgConfigDependency, 'python3', env, kwargs))

View File

@@ -0,0 +1,52 @@
From a16ec8b0fb6d7035b669a13edd4d97ff0c307a0b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20D=C3=B8rum?= <martid0311@gmail.com>
Date: Fri, 2 May 2025 10:56:28 +0200
Subject: [PATCH] cpp: fix _LIBCPP_ENABLE_ASSERTIONS warning
libc++ deprecated _LIBCPP_ENABLE_ASSERTIONS from version 18.
However, the libc++ shipped with Apple Clang backported that
deprecation in version 17 already,
which is the version which Apple currently ships for macOS.
This PR changes the _LIBCPP_ENABLE_ASSERTIONS deprecation check
to use version ">=17" on Apple Clang.
---
mesonbuild/compilers/cpp.py | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/mesonbuild/compilers/cpp.py b/mesonbuild/compilers/cpp.py
index 01b9bb9fa34f..f7dc150e8608 100644
--- a/mesonbuild/compilers/cpp.py
+++ b/mesonbuild/compilers/cpp.py
@@ -311,6 +311,9 @@ def get_option_link_args(self, target: 'BuildTarget', env: 'Environment', subpro
return libs
return []
+ def is_libcpp_enable_assertions_deprecated(self) -> bool:
+ return version_compare(self.version, ">=18")
+
def get_assert_args(self, disable: bool, env: 'Environment') -> T.List[str]:
if disable:
return ['-DNDEBUG']
@@ -323,7 +326,7 @@ def get_assert_args(self, disable: bool, env: 'Environment') -> T.List[str]:
if self.language_stdlib_provider(env) == 'stdc++':
return ['-D_GLIBCXX_ASSERTIONS=1']
else:
- if version_compare(self.version, '>=18'):
+ if self.is_libcpp_enable_assertions_deprecated():
return ['-D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_FAST']
elif version_compare(self.version, '>=15'):
return ['-D_LIBCPP_ENABLE_ASSERTIONS=1']
@@ -343,7 +346,12 @@ class ArmLtdClangCPPCompiler(ClangCPPCompiler):
class AppleClangCPPCompiler(AppleCompilerMixin, AppleCPPStdsMixin, ClangCPPCompiler):
- pass
+ def is_libcpp_enable_assertions_deprecated(self) -> bool:
+ # Upstream libc++ deprecated _LIBCPP_ENABLE_ASSERTIONS
+ # in favor of _LIBCPP_HARDENING_MODE from version 18 onwards,
+ # but Apple Clang 17's libc++ has back-ported that change.
+ # See: https://github.com/mesonbuild/meson/issues/14440
+ return version_compare(self.version, ">=17")
class EmscriptenCPPCompiler(EmscriptenMixin, ClangCPPCompiler):

View File

@@ -0,0 +1,5 @@
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/meson")
file(INSTALL "${SOURCE_PATH}/meson.py"
"${SOURCE_PATH}/mesonbuild"
DESTINATION "${CURRENT_PACKAGES_DIR}/tools/meson"
)

View File

@@ -0,0 +1,13 @@
diff --git a/mesonbuild/dependencies/misc.py b/mesonbuild/dependencies/misc.py
--- a/mesonbuild/dependencies/misc.py
+++ b/mesonbuild/dependencies/misc.py
@@ -593,7 +593,8 @@ iconv_factory = DependencyFactory(
packages['intl'] = intl_factory = DependencyFactory(
'intl',
+ [DependencyMethods.BUILTIN, DependencyMethods.SYSTEM, DependencyMethods.CMAKE],
+ cmake_name='Intl',
- [DependencyMethods.BUILTIN, DependencyMethods.SYSTEM],
builtin_class=IntlBuiltinDependency,
system_class=IntlSystemDependency,
)

View File

@@ -0,0 +1,43 @@
[binaries]
cmake = ['@CMAKE_COMMAND@']
ninja = ['@NINJA@']
pkg-config = ['@PKGCONFIG@']
@MESON_MT@
@MESON_AR@
@MESON_RC@
@MESON_C@
@MESON_C_LD@
@MESON_CXX@
@MESON_CXX_LD@
@MESON_OBJC@
@MESON_OBJC_LD@
@MESON_OBJCPP@
@MESON_OBJCPP_LD@
@MESON_FC@
@MESON_FC_LD@
@MESON_WINDRES@
@MESON_ADDITIONAL_BINARIES@
[properties]
cmake_toolchain_file = '@SCRIPTS@/buildsystems/vcpkg.cmake'
@MESON_ADDITIONAL_PROPERTIES@
[cmake]
CMAKE_BUILD_TYPE = '@MESON_CMAKE_BUILD_TYPE@'
VCPKG_TARGET_TRIPLET = '@TARGET_TRIPLET@'
VCPKG_HOST_TRIPLET = '@_HOST_TRIPLET@'
VCPKG_CHAINLOAD_TOOLCHAIN_FILE = '@VCPKG_CHAINLOAD_TOOLCHAIN_FILE@'
VCPKG_CRT_LINKAGE = '@VCPKG_CRT_LINKAGE@'
_VCPKG_INSTALLED_DIR = '@_VCPKG_INSTALLED_DIR@'
@MESON_HOST_MACHINE@
@MESON_BUILD_MACHINE@
[built-in options]
default_library = '@MESON_DEFAULT_LIBRARY@'
werror = false
@MESON_CFLAGS@
@MESON_CXXFLAGS@
@MESON_FCFLAGS@
@MESON_OBJCFLAGS@
@MESON_OBJCPPFLAGS@
# b_vscrt
@MESON_VSCRT_LINKAGE@
# c_winlibs/cpp_winlibs
@MESON_WINLIBS@

View File

@@ -0,0 +1,45 @@
# This port represents a dependency on the Meson build system.
# In the future, it is expected that this port acquires and installs Meson.
# Currently is used in ports that call vcpkg_find_acquire_program(MESON) in order to force rebuilds.
set(VCPKG_POLICY_CMAKE_HELPER_PORT enabled)
set(patches
meson-intl.patch
adjust-python-dep.patch
adjust-args.patch
remove-freebsd-pcfile-specialization.patch
fix-libcpp-enable-assertions.patch # https://github.com/mesonbuild/meson/pull/14548, Remove in 1.8.3
universal-osx.patch # NOTE(@getchoo): THIS IS THE ONLY CHANGE NEEDED FOR PRISM
)
set(scripts
vcpkg-port-config.cmake
vcpkg_configure_meson.cmake
vcpkg_install_meson.cmake
meson.template.in
)
set(to_hash
"${CMAKE_CURRENT_LIST_DIR}/vcpkg.json"
"${CMAKE_CURRENT_LIST_DIR}/portfile.cmake"
)
foreach(file IN LISTS patches scripts)
set(filepath "${CMAKE_CURRENT_LIST_DIR}/${file}")
list(APPEND to_hash "${filepath}")
file(COPY "${filepath}" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
endforeach()
set(meson_path_hash "")
foreach(filepath IN LISTS to_hash)
file(SHA1 "${filepath}" to_append)
string(APPEND meson_path_hash "${to_append}")
endforeach()
string(SHA512 meson_path_hash "${meson_path_hash}")
string(SUBSTRING "${meson_path_hash}" 0 6 MESON_SHORT_HASH)
list(TRANSFORM patches REPLACE [[^(..*)$]] [["${CMAKE_CURRENT_LIST_DIR}/\0"]])
list(JOIN patches "\n " PATCHES)
configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-port-config.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-port-config.cmake" @ONLY)
vcpkg_install_copyright(FILE_LIST "${VCPKG_ROOT_DIR}/LICENSE.txt")
include("${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-port-config.cmake")

View File

@@ -0,0 +1,23 @@
diff --git a/mesonbuild/modules/pkgconfig.py b/mesonbuild/modules/pkgconfig.py
index cc0450a52..13501466d 100644
--- a/mesonbuild/modules/pkgconfig.py
+++ b/mesonbuild/modules/pkgconfig.py
@@ -701,16 +701,8 @@ class PkgConfigModule(NewExtensionModule):
pcfile = filebase + '.pc'
pkgroot = pkgroot_name = kwargs['install_dir'] or default_install_dir
if pkgroot is None:
- m = state.environment.machines.host
- if m.is_freebsd():
- pkgroot = os.path.join(_as_str(state.environment.coredata.optstore.get_value_for(OptionKey('prefix'))), 'libdata', 'pkgconfig')
- pkgroot_name = os.path.join('{prefix}', 'libdata', 'pkgconfig')
- elif m.is_haiku():
- pkgroot = os.path.join(_as_str(state.environment.coredata.optstore.get_value_for(OptionKey('prefix'))), 'develop', 'lib', 'pkgconfig')
- pkgroot_name = os.path.join('{prefix}', 'develop', 'lib', 'pkgconfig')
- else:
- pkgroot = os.path.join(_as_str(state.environment.coredata.optstore.get_value_for(OptionKey('libdir'))), 'pkgconfig')
- pkgroot_name = os.path.join('{libdir}', 'pkgconfig')
+ pkgroot = os.path.join(_as_str(state.environment.coredata.optstore.get_value_for(OptionKey('libdir'))), 'pkgconfig')
+ pkgroot_name = os.path.join('{libdir}', 'pkgconfig')
relocatable = state.get_option('pkgconfig.relocatable')
self._generate_pkgconfig_file(state, deps, subdirs, name, description, url,
version, pcfile, conflicts, variables,

View File

@@ -0,0 +1,16 @@
diff --git a/mesonbuild/compilers/detect.py b/mesonbuild/compilers/detect.py
index f57957f0b..a72e72a0b 100644
--- a/mesonbuild/compilers/detect.py
+++ b/mesonbuild/compilers/detect.py
@@ -1472,6 +1472,11 @@ def _get_clang_compiler_defines(compiler: T.List[str], lang: str) -> T.Dict[str,
"""
from .mixins.clang import clang_lang_map
+ # Filter out `-arch` flags passed to the compiler for Universal Binaries
+ # https://github.com/mesonbuild/meson/issues/5290
+ # https://github.com/mesonbuild/meson/issues/8206
+ compiler = [arg for i, arg in enumerate(compiler) if not (i > 0 and compiler[i - 1] == "-arch") and not arg == "-arch"]
+
def _try_obtain_compiler_defines(args: T.List[str]) -> str:
mlog.debug(f'Running command: {join_args(args)}')
p, output, error = Popen_safe(compiler + args, write='', stdin=subprocess.PIPE)

View File

@@ -0,0 +1,62 @@
include("${CURRENT_HOST_INSTALLED_DIR}/share/vcpkg-cmake-get-vars/vcpkg-port-config.cmake")
# Overwrite builtin scripts
include("${CMAKE_CURRENT_LIST_DIR}/vcpkg_configure_meson.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/vcpkg_install_meson.cmake")
set(meson_short_hash @MESON_SHORT_HASH@)
# Setup meson:
set(program MESON)
set(program_version @VERSION@)
set(program_name meson)
set(search_names meson meson.py)
set(ref "${program_version}")
set(path_to_search "${DOWNLOADS}/tools/meson-${program_version}-${meson_short_hash}")
set(download_urls "https://github.com/mesonbuild/meson/archive/${ref}.tar.gz")
set(download_filename "meson-${ref}.tar.gz")
set(download_sha512 bd2e65f0863d9cb974e659ff502d773e937b8a60aaddfd7d81e34cd2c296c8e82bf214d790ac089ba441543059dfc2677ba95ed51f676df9da420859f404a907)
find_program(SCRIPT_MESON NAMES ${search_names} PATHS "${path_to_search}" NO_DEFAULT_PATH) # NO_DEFAULT_PATH due top patching
if(NOT SCRIPT_MESON)
vcpkg_download_distfile(archive_path
URLS ${download_urls}
SHA512 "${download_sha512}"
FILENAME "${download_filename}"
)
file(REMOVE_RECURSE "${path_to_search}")
file(REMOVE_RECURSE "${path_to_search}-tmp")
file(MAKE_DIRECTORY "${path_to_search}-tmp")
file(ARCHIVE_EXTRACT INPUT "${archive_path}"
DESTINATION "${path_to_search}-tmp"
#PATTERNS "**/mesonbuild/*" "**/*.py"
)
z_vcpkg_apply_patches(
SOURCE_PATH "${path_to_search}-tmp/meson-${ref}"
PATCHES
@PATCHES@
)
file(MAKE_DIRECTORY "${path_to_search}")
file(RENAME "${path_to_search}-tmp/meson-${ref}/meson.py" "${path_to_search}/meson.py")
file(RENAME "${path_to_search}-tmp/meson-${ref}/mesonbuild" "${path_to_search}/mesonbuild")
file(REMOVE_RECURSE "${path_to_search}-tmp")
set(SCRIPT_MESON "${path_to_search}/meson.py")
endif()
# Check required python version
vcpkg_find_acquire_program(PYTHON3)
vcpkg_execute_in_download_mode(
COMMAND "${PYTHON3}" --version
OUTPUT_VARIABLE version_contents
WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}"
)
string(REGEX MATCH [[[0-9]+\.[0-9]+\.[0-9]+]] python_ver "${version_contents}")
set(min_required 3.7)
if(python_ver VERSION_LESS "${min_required}")
message(FATAL_ERROR "Found Python version '${python_ver} at ${PYTHON3}' is insufficient for meson. meson requires at least version '${min_required}'")
else()
message(STATUS "Found Python version '${python_ver} at ${PYTHON3}'")
endif()
message(STATUS "Using meson: ${SCRIPT_MESON}")

View File

@@ -0,0 +1,11 @@
{
"name": "vcpkg-tool-meson",
"version": "1.8.2",
"description": "Meson build system",
"homepage": "https://github.com/mesonbuild/meson",
"license": "Apache-2.0",
"supports": "native",
"dependencies": [
"vcpkg-cmake-get-vars"
]
}

View File

@@ -0,0 +1,480 @@
function(z_vcpkg_meson_set_proglist_variables config_type)
if(VCPKG_TARGET_IS_WINDOWS)
set(proglist MT AR)
else()
set(proglist AR RANLIB STRIP NM OBJDUMP DLLTOOL MT)
endif()
foreach(prog IN LISTS proglist)
if(VCPKG_DETECTED_CMAKE_${prog})
if(meson_${prog})
string(TOUPPER "MESON_${meson_${prog}}" var_to_set)
set("${var_to_set}" "${meson_${prog}} = ['${VCPKG_DETECTED_CMAKE_${prog}}']" PARENT_SCOPE)
elseif(${prog} STREQUAL AR AND VCPKG_COMBINED_STATIC_LINKER_FLAGS_${config_type})
# Probably need to move AR somewhere else
string(TOLOWER "${prog}" proglower)
z_vcpkg_meson_convert_compiler_flags_to_list(ar_flags "${VCPKG_COMBINED_STATIC_LINKER_FLAGS_${config_type}}")
list(PREPEND ar_flags "${VCPKG_DETECTED_CMAKE_${prog}}")
z_vcpkg_meson_convert_list_to_python_array(ar_flags ${ar_flags})
set("MESON_AR" "${proglower} = ${ar_flags}" PARENT_SCOPE)
else()
string(TOUPPER "MESON_${prog}" var_to_set)
string(TOLOWER "${prog}" proglower)
set("${var_to_set}" "${proglower} = ['${VCPKG_DETECTED_CMAKE_${prog}}']" PARENT_SCOPE)
endif()
endif()
endforeach()
set(compilers "${arg_LANGUAGES}")
if(VCPKG_TARGET_IS_WINDOWS)
list(APPEND compilers RC)
endif()
set(meson_RC windres)
set(meson_Fortran fortran)
set(meson_CXX cpp)
foreach(prog IN LISTS compilers)
if(VCPKG_DETECTED_CMAKE_${prog}_COMPILER)
string(TOUPPER "MESON_${prog}" var_to_set)
if(meson_${prog})
if(VCPKG_COMBINED_${prog}_FLAGS_${config_type})
# Need compiler flags in prog vars for sanity check.
z_vcpkg_meson_convert_compiler_flags_to_list(${prog}flags "${VCPKG_COMBINED_${prog}_FLAGS_${config_type}}")
endif()
list(PREPEND ${prog}flags "${VCPKG_DETECTED_CMAKE_${prog}_COMPILER}")
list(FILTER ${prog}flags EXCLUDE REGEX "(-|/)nologo") # Breaks compiler detection otherwise
z_vcpkg_meson_convert_list_to_python_array(${prog}flags ${${prog}flags})
set("${var_to_set}" "${meson_${prog}} = ${${prog}flags}" PARENT_SCOPE)
if (DEFINED VCPKG_DETECTED_CMAKE_${prog}_COMPILER_ID
AND NOT VCPKG_DETECTED_CMAKE_${prog}_COMPILER_ID MATCHES "^(GNU|Intel)$"
AND VCPKG_DETECTED_CMAKE_LINKER)
string(TOUPPER "MESON_${prog}_LD" var_to_set)
set(${var_to_set} "${meson_${prog}}_ld = ['${VCPKG_DETECTED_CMAKE_LINKER}']" PARENT_SCOPE)
endif()
else()
if(VCPKG_COMBINED_${prog}_FLAGS_${config_type})
# Need compiler flags in prog vars for sanity check.
z_vcpkg_meson_convert_compiler_flags_to_list(${prog}flags "${VCPKG_COMBINED_${prog}_FLAGS_${config_type}}")
endif()
list(PREPEND ${prog}flags "${VCPKG_DETECTED_CMAKE_${prog}_COMPILER}")
list(FILTER ${prog}flags EXCLUDE REGEX "(-|/)nologo") # Breaks compiler detection otherwise
z_vcpkg_meson_convert_list_to_python_array(${prog}flags ${${prog}flags})
string(TOLOWER "${prog}" proglower)
set("${var_to_set}" "${proglower} = ${${prog}flags}" PARENT_SCOPE)
if (DEFINED VCPKG_DETECTED_CMAKE_${prog}_COMPILER_ID
AND NOT VCPKG_DETECTED_CMAKE_${prog}_COMPILER_ID MATCHES "^(GNU|Intel)$"
AND VCPKG_DETECTED_CMAKE_LINKER)
string(TOUPPER "MESON_${prog}_LD" var_to_set)
set(${var_to_set} "${proglower}_ld = ['${VCPKG_DETECTED_CMAKE_LINKER}']" PARENT_SCOPE)
endif()
endif()
endif()
endforeach()
endfunction()
function(z_vcpkg_meson_convert_compiler_flags_to_list out_var compiler_flags)
separate_arguments(cmake_list NATIVE_COMMAND "${compiler_flags}")
list(TRANSFORM cmake_list REPLACE ";" [[\\;]])
set("${out_var}" "${cmake_list}" PARENT_SCOPE)
endfunction()
function(z_vcpkg_meson_convert_list_to_python_array out_var)
z_vcpkg_function_arguments(flag_list 1)
vcpkg_list(REMOVE_ITEM flag_list "") # remove empty elements if any
vcpkg_list(JOIN flag_list "', '" flag_list)
set("${out_var}" "['${flag_list}']" PARENT_SCOPE)
endfunction()
# Generates the required compiler properties for meson
function(z_vcpkg_meson_set_flags_variables config_type)
if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
set(libpath_flag /LIBPATH:)
else()
set(libpath_flag -L)
endif()
if(config_type STREQUAL "DEBUG")
set(path_suffix "/debug")
else()
set(path_suffix "")
endif()
set(includepath "-I${CURRENT_INSTALLED_DIR}/include")
set(libpath "${libpath_flag}${CURRENT_INSTALLED_DIR}${path_suffix}/lib")
foreach(lang IN LISTS arg_LANGUAGES)
z_vcpkg_meson_convert_compiler_flags_to_list(${lang}flags "${VCPKG_COMBINED_${lang}_FLAGS_${config_type}}")
if(lang MATCHES "^(C|CXX)$")
vcpkg_list(APPEND ${lang}flags "${includepath}")
endif()
z_vcpkg_meson_convert_list_to_python_array(${lang}flags ${${lang}flags})
set(lang_mapping "${lang}")
if(lang STREQUAL "Fortran")
set(lang_mapping "FC")
endif()
string(TOLOWER "${lang_mapping}" langlower)
if(lang STREQUAL "CXX")
set(langlower cpp)
endif()
set(MESON_${lang_mapping}FLAGS "${langlower}_args = ${${lang}flags}\n")
set(linker_flags "${VCPKG_COMBINED_SHARED_LINKER_FLAGS_${config_type}}")
z_vcpkg_meson_convert_compiler_flags_to_list(linker_flags "${linker_flags}")
vcpkg_list(APPEND linker_flags "${libpath}")
z_vcpkg_meson_convert_list_to_python_array(linker_flags ${linker_flags})
string(APPEND MESON_${lang_mapping}FLAGS "${langlower}_link_args = ${linker_flags}\n")
set(MESON_${lang_mapping}FLAGS "${MESON_${lang_mapping}FLAGS}" PARENT_SCOPE)
endforeach()
endfunction()
function(z_vcpkg_get_build_and_host_system build_system host_system is_cross) #https://mesonbuild.com/Cross-compilation.html
set(build_unknown FALSE)
if(CMAKE_HOST_WIN32)
if(DEFINED ENV{PROCESSOR_ARCHITEW6432})
set(build_arch $ENV{PROCESSOR_ARCHITEW6432})
else()
set(build_arch $ENV{PROCESSOR_ARCHITECTURE})
endif()
if(build_arch MATCHES "(amd|AMD)64")
set(build_cpu_fam x86_64)
set(build_cpu x86_64)
elseif(build_arch MATCHES "(x|X)86")
set(build_cpu_fam x86)
set(build_cpu i686)
elseif(build_arch MATCHES "^(ARM|arm)64$")
set(build_cpu_fam aarch64)
set(build_cpu armv8)
elseif(build_arch MATCHES "^(ARM|arm)$")
set(build_cpu_fam arm)
set(build_cpu armv7hl)
else()
if(NOT DEFINED VCPKG_MESON_CROSS_FILE OR NOT DEFINED VCPKG_MESON_NATIVE_FILE)
message(WARNING "Unsupported build architecture ${build_arch}! Please set VCPKG_MESON_(CROSS|NATIVE)_FILE to a meson file containing the build_machine entry!")
endif()
set(build_unknown TRUE)
endif()
elseif(CMAKE_HOST_UNIX)
# at this stage, CMAKE_HOST_SYSTEM_PROCESSOR is not defined
execute_process(
COMMAND uname -m
OUTPUT_VARIABLE MACHINE
OUTPUT_STRIP_TRAILING_WHITESPACE
COMMAND_ERROR_IS_FATAL ANY)
# Show real machine architecture to visually understand whether we are in a native Apple Silicon terminal or running under Rosetta emulation
debug_message("Machine: ${MACHINE}")
if(MACHINE MATCHES "arm64|aarch64")
set(build_cpu_fam aarch64)
set(build_cpu armv8)
elseif(MACHINE MATCHES "armv7h?l")
set(build_cpu_fam arm)
set(build_cpu ${MACHINE})
elseif(MACHINE MATCHES "x86_64|amd64")
set(build_cpu_fam x86_64)
set(build_cpu x86_64)
elseif(MACHINE MATCHES "x86|i686")
set(build_cpu_fam x86)
set(build_cpu i686)
elseif(MACHINE MATCHES "i386")
set(build_cpu_fam x86)
set(build_cpu i386)
elseif(MACHINE MATCHES "loongarch64")
set(build_cpu_fam loongarch64)
set(build_cpu loongarch64)
else()
# https://github.com/mesonbuild/meson/blob/master/docs/markdown/Reference-tables.md#cpu-families
if(NOT DEFINED VCPKG_MESON_CROSS_FILE OR NOT DEFINED VCPKG_MESON_NATIVE_FILE)
message(WARNING "Unhandled machine: ${MACHINE}! Please set VCPKG_MESON_(CROSS|NATIVE)_FILE to a meson file containing the build_machine entry!")
endif()
set(build_unknown TRUE)
endif()
else()
if(NOT DEFINED VCPKG_MESON_CROSS_FILE OR NOT DEFINED VCPKG_MESON_NATIVE_FILE)
message(WARNING "Failed to detect the build architecture! Please set VCPKG_MESON_(CROSS|NATIVE)_FILE to a meson file containing the build_machine entry!")
endif()
set(build_unknown TRUE)
endif()
set(build "[build_machine]\n") # Machine the build is performed on
string(APPEND build "endian = 'little'\n")
if(CMAKE_HOST_WIN32)
string(APPEND build "system = 'windows'\n")
elseif(CMAKE_HOST_APPLE)
string(APPEND build "system = 'darwin'\n")
elseif(CYGWIN)
string(APPEND build "system = 'cygwin'\n")
elseif(CMAKE_HOST_UNIX)
string(APPEND build "system = 'linux'\n")
else()
set(build_unknown TRUE)
endif()
if(DEFINED build_cpu_fam)
string(APPEND build "cpu_family = '${build_cpu_fam}'\n")
endif()
if(DEFINED build_cpu)
string(APPEND build "cpu = '${build_cpu}'")
endif()
if(NOT build_unknown)
set(${build_system} "${build}" PARENT_SCOPE)
endif()
set(host_unkown FALSE)
if(VCPKG_TARGET_ARCHITECTURE MATCHES "(amd|AMD|x|X)64")
set(host_cpu_fam x86_64)
set(host_cpu x86_64)
elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "(x|X)86")
set(host_cpu_fam x86)
set(host_cpu i686)
elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "^(ARM|arm)64$")
set(host_cpu_fam aarch64)
set(host_cpu armv8)
elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "^(ARM|arm)$")
set(host_cpu_fam arm)
set(host_cpu armv7hl)
elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "loongarch64")
set(host_cpu_fam loongarch64)
set(host_cpu loongarch64)
elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "wasm32")
set(host_cpu_fam wasm32)
set(host_cpu wasm32)
else()
if(NOT DEFINED VCPKG_MESON_CROSS_FILE OR NOT DEFINED VCPKG_MESON_NATIVE_FILE)
message(WARNING "Unsupported target architecture ${VCPKG_TARGET_ARCHITECTURE}! Please set VCPKG_MESON_(CROSS|NATIVE)_FILE to a meson file containing the host_machine entry!" )
endif()
set(host_unkown TRUE)
endif()
set(host "[host_machine]\n") # host=target in vcpkg.
string(APPEND host "endian = 'little'\n")
if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_TARGET_IS_MINGW OR VCPKG_TARGET_IS_UWP)
set(meson_system_name "windows")
else()
string(TOLOWER "${VCPKG_CMAKE_SYSTEM_NAME}" meson_system_name)
endif()
string(APPEND host "system = '${meson_system_name}'\n")
string(APPEND host "cpu_family = '${host_cpu_fam}'\n")
string(APPEND host "cpu = '${host_cpu}'")
if(NOT host_unkown)
set(${host_system} "${host}" PARENT_SCOPE)
endif()
if(NOT build_cpu_fam MATCHES "${host_cpu_fam}"
OR VCPKG_TARGET_IS_ANDROID OR VCPKG_TARGET_IS_IOS OR VCPKG_TARGET_IS_UWP
OR (VCPKG_TARGET_IS_MINGW AND NOT CMAKE_HOST_WIN32))
set(${is_cross} TRUE PARENT_SCOPE)
endif()
endfunction()
function(z_vcpkg_meson_setup_extra_windows_variables config_type)
## b_vscrt
if(VCPKG_CRT_LINKAGE STREQUAL "static")
set(crt_type "mt")
else()
set(crt_type "md")
endif()
if(config_type STREQUAL "DEBUG")
set(crt_type "${crt_type}d")
endif()
set(MESON_VSCRT_LINKAGE "b_vscrt = '${crt_type}'" PARENT_SCOPE)
## winlibs
separate_arguments(c_winlibs NATIVE_COMMAND "${VCPKG_DETECTED_CMAKE_C_STANDARD_LIBRARIES}")
separate_arguments(cpp_winlibs NATIVE_COMMAND "${VCPKG_DETECTED_CMAKE_CXX_STANDARD_LIBRARIES}")
z_vcpkg_meson_convert_list_to_python_array(c_winlibs ${c_winlibs})
z_vcpkg_meson_convert_list_to_python_array(cpp_winlibs ${cpp_winlibs})
set(MESON_WINLIBS "c_winlibs = ${c_winlibs}\n")
string(APPEND MESON_WINLIBS "cpp_winlibs = ${cpp_winlibs}")
set(MESON_WINLIBS "${MESON_WINLIBS}" PARENT_SCOPE)
endfunction()
function(z_vcpkg_meson_setup_variables config_type)
set(meson_var_list VSCRT_LINKAGE WINLIBS MT AR RC C C_LD CXX CXX_LD OBJC OBJC_LD OBJCXX OBJCXX_LD FC FC_LD WINDRES CFLAGS CXXFLAGS OBJCFLAGS OBJCXXFLAGS FCFLAGS SHARED_LINKER_FLAGS)
foreach(var IN LISTS meson_var_list)
set(MESON_${var} "")
endforeach()
if(VCPKG_TARGET_IS_WINDOWS)
z_vcpkg_meson_setup_extra_windows_variables("${config_type}")
endif()
z_vcpkg_meson_set_proglist_variables("${config_type}")
z_vcpkg_meson_set_flags_variables("${config_type}")
foreach(var IN LISTS meson_var_list)
set(MESON_${var} "${MESON_${var}}" PARENT_SCOPE)
endforeach()
endfunction()
function(vcpkg_generate_meson_cmd_args)
cmake_parse_arguments(PARSE_ARGV 0 arg
""
"OUTPUT;CONFIG"
"OPTIONS;LANGUAGES;ADDITIONAL_BINARIES;ADDITIONAL_PROPERTIES"
)
if(NOT arg_LANGUAGES)
set(arg_LANGUAGES C CXX)
endif()
vcpkg_list(JOIN arg_ADDITIONAL_BINARIES "\n" MESON_ADDITIONAL_BINARIES)
vcpkg_list(JOIN arg_ADDITIONAL_PROPERTIES "\n" MESON_ADDITIONAL_PROPERTIES)
set(buildtype "${arg_CONFIG}")
if(NOT VCPKG_CHAINLOAD_TOOLCHAIN_FILE)
z_vcpkg_select_default_vcpkg_chainload_toolchain()
endif()
vcpkg_list(APPEND VCPKG_CMAKE_CONFIGURE_OPTIONS "-DVCPKG_LANGUAGES=${arg_LANGUAGES}")
vcpkg_cmake_get_vars(cmake_vars_file)
debug_message("Including cmake vars from: ${cmake_vars_file}")
include("${cmake_vars_file}")
vcpkg_list(APPEND arg_OPTIONS --backend ninja --wrap-mode nodownload -Doptimization=plain)
z_vcpkg_get_build_and_host_system(MESON_HOST_MACHINE MESON_BUILD_MACHINE IS_CROSS)
if(arg_CONFIG STREQUAL "DEBUG")
set(suffix "dbg")
else()
string(SUBSTRING "${arg_CONFIG}" 0 3 suffix)
string(TOLOWER "${suffix}" suffix)
endif()
set(meson_input_file_${buildtype} "${CURRENT_BUILDTREES_DIR}/meson-${TARGET_TRIPLET}-${suffix}.log")
if(IS_CROSS)
# VCPKG_CROSSCOMPILING is not used since it regresses a lot of ports in x64-windows-x triplets
# For consistency this should proably be changed in the future?
vcpkg_list(APPEND arg_OPTIONS --native "${SCRIPTS}/buildsystems/meson/none.txt")
vcpkg_list(APPEND arg_OPTIONS --cross "${meson_input_file_${buildtype}}")
else()
vcpkg_list(APPEND arg_OPTIONS --native "${meson_input_file_${buildtype}}")
endif()
# User provided cross/native files
if(VCPKG_MESON_NATIVE_FILE)
vcpkg_list(APPEND arg_OPTIONS --native "${VCPKG_MESON_NATIVE_FILE}")
endif()
if(VCPKG_MESON_NATIVE_FILE_${buildtype})
vcpkg_list(APPEND arg_OPTIONS --native "${VCPKG_MESON_NATIVE_FILE_${buildtype}}")
endif()
if(VCPKG_MESON_CROSS_FILE)
vcpkg_list(APPEND arg_OPTIONS --cross "${VCPKG_MESON_CROSS_FILE}")
endif()
if(VCPKG_MESON_CROSS_FILE_${buildtype})
vcpkg_list(APPEND arg_OPTIONS --cross "${VCPKG_MESON_CROSS_FILE_${buildtype}}")
endif()
vcpkg_list(APPEND arg_OPTIONS --libdir lib) # else meson install into an architecture describing folder
vcpkg_list(APPEND arg_OPTIONS --pkgconfig.relocatable)
if(arg_CONFIG STREQUAL "RELEASE")
vcpkg_list(APPEND arg_OPTIONS -Ddebug=false --prefix "${CURRENT_PACKAGES_DIR}")
vcpkg_list(APPEND arg_OPTIONS "--pkg-config-path;['${CURRENT_INSTALLED_DIR}/lib/pkgconfig','${CURRENT_INSTALLED_DIR}/share/pkgconfig']")
if(VCPKG_TARGET_IS_WINDOWS)
vcpkg_list(APPEND arg_OPTIONS "-Dcmake_prefix_path=['${CURRENT_INSTALLED_DIR}','${CURRENT_INSTALLED_DIR}/debug','${CURRENT_INSTALLED_DIR}/share']")
else()
vcpkg_list(APPEND arg_OPTIONS "-Dcmake_prefix_path=['${CURRENT_INSTALLED_DIR}','${CURRENT_INSTALLED_DIR}/debug']")
endif()
elseif(arg_CONFIG STREQUAL "DEBUG")
vcpkg_list(APPEND arg_OPTIONS -Ddebug=true --prefix "${CURRENT_PACKAGES_DIR}/debug" --includedir ../include)
vcpkg_list(APPEND arg_OPTIONS "--pkg-config-path;['${CURRENT_INSTALLED_DIR}/debug/lib/pkgconfig','${CURRENT_INSTALLED_DIR}/share/pkgconfig']")
if(VCPKG_TARGET_IS_WINDOWS)
vcpkg_list(APPEND arg_OPTIONS "-Dcmake_prefix_path=['${CURRENT_INSTALLED_DIR}/debug','${CURRENT_INSTALLED_DIR}','${CURRENT_INSTALLED_DIR}/share']")
else()
vcpkg_list(APPEND arg_OPTIONS "-Dcmake_prefix_path=['${CURRENT_INSTALLED_DIR}/debug','${CURRENT_INSTALLED_DIR}']")
endif()
else()
message(FATAL_ERROR "Unknown configuration. Only DEBUG and RELEASE are valid values.")
endif()
# Allow overrides / additional configuration variables from triplets
if(DEFINED VCPKG_MESON_CONFIGURE_OPTIONS)
vcpkg_list(APPEND arg_OPTIONS ${VCPKG_MESON_CONFIGURE_OPTIONS})
endif()
if(DEFINED VCPKG_MESON_CONFIGURE_OPTIONS_${buildtype})
vcpkg_list(APPEND arg_OPTIONS ${VCPKG_MESON_CONFIGURE_OPTIONS_${buildtype}})
endif()
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
set(MESON_DEFAULT_LIBRARY shared)
else()
set(MESON_DEFAULT_LIBRARY static)
endif()
set(MESON_CMAKE_BUILD_TYPE "${cmake_build_type_${buildtype}}")
z_vcpkg_meson_setup_variables(${buildtype})
configure_file("${CMAKE_CURRENT_FUNCTION_LIST_DIR}/meson.template.in" "${meson_input_file_${buildtype}}" @ONLY)
set("${arg_OUTPUT}" ${arg_OPTIONS} PARENT_SCOPE)
endfunction()
function(vcpkg_configure_meson)
# parse parameters such that semicolons in options arguments to COMMAND don't get erased
cmake_parse_arguments(PARSE_ARGV 0 arg
"NO_PKG_CONFIG"
"SOURCE_PATH"
"OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE;LANGUAGES;ADDITIONAL_BINARIES;ADDITIONAL_NATIVE_BINARIES;ADDITIONAL_CROSS_BINARIES;ADDITIONAL_PROPERTIES"
)
if(DEFINED arg_ADDITIONAL_NATIVE_BINARIES OR DEFINED arg_ADDITIONAL_CROSS_BINARIES)
message(WARNING "Options ADDITIONAL_(NATIVE|CROSS)_BINARIES have been deprecated. Only use ADDITIONAL_BINARIES!")
endif()
vcpkg_list(APPEND arg_ADDITIONAL_BINARIES ${arg_ADDITIONAL_NATIVE_BINARIES} ${arg_ADDITIONAL_CROSS_BINARIES})
vcpkg_list(REMOVE_DUPLICATES arg_ADDITIONAL_BINARIES)
file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel")
file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg")
vcpkg_find_acquire_program(MESON)
get_filename_component(CMAKE_PATH "${CMAKE_COMMAND}" DIRECTORY)
vcpkg_add_to_path("${CMAKE_PATH}") # Make CMake invokeable for Meson
vcpkg_find_acquire_program(NINJA)
if(NOT arg_NO_PKG_CONFIG)
vcpkg_find_acquire_program(PKGCONFIG)
set(ENV{PKG_CONFIG} "${PKGCONFIG}")
endif()
vcpkg_find_acquire_program(PYTHON3)
get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY)
vcpkg_add_to_path(PREPEND "${PYTHON3_DIR}")
set(buildtypes "")
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
set(buildname "DEBUG")
set(cmake_build_type_${buildname} "Debug")
vcpkg_list(APPEND buildtypes "${buildname}")
set(path_suffix_${buildname} "debug/")
set(suffix_${buildname} "dbg")
endif()
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
set(buildname "RELEASE")
set(cmake_build_type_${buildname} "Release")
vcpkg_list(APPEND buildtypes "${buildname}")
set(path_suffix_${buildname} "")
set(suffix_${buildname} "rel")
endif()
# configure build
foreach(buildtype IN LISTS buildtypes)
message(STATUS "Configuring ${TARGET_TRIPLET}-${suffix_${buildtype}}")
file(MAKE_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${suffix_${buildtype}}")
vcpkg_generate_meson_cmd_args(
OUTPUT cmd_args
CONFIG ${buildtype}
LANGUAGES ${arg_LANGUAGES}
OPTIONS ${arg_OPTIONS} ${arg_OPTIONS_${buildtype}}
ADDITIONAL_BINARIES ${arg_ADDITIONAL_BINARIES}
ADDITIONAL_PROPERTIES ${arg_ADDITIONAL_PROPERTIES}
)
vcpkg_execute_required_process(
COMMAND ${MESON} setup ${cmd_args} ${arg_SOURCE_PATH}
WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${suffix_${buildtype}}"
LOGNAME config-${TARGET_TRIPLET}-${suffix_${buildtype}}
SAVE_LOG_FILES
meson-logs/meson-log.txt
meson-info/intro-dependencies.json
meson-logs/install-log.txt
)
message(STATUS "Configuring ${TARGET_TRIPLET}-${suffix_${buildtype}} done")
endforeach()
endfunction()

View File

@@ -0,0 +1,71 @@
function(vcpkg_install_meson)
cmake_parse_arguments(PARSE_ARGV 0 arg "ADD_BIN_TO_PATH" "" "")
vcpkg_find_acquire_program(NINJA)
unset(ENV{DESTDIR}) # installation directory was already specified with '--prefix' option
if(VCPKG_TARGET_IS_OSX)
vcpkg_backup_env_variables(VARS SDKROOT MACOSX_DEPLOYMENT_TARGET)
set(ENV{SDKROOT} "${VCPKG_DETECTED_CMAKE_OSX_SYSROOT}")
set(ENV{MACOSX_DEPLOYMENT_TARGET} "${VCPKG_DETECTED_CMAKE_OSX_DEPLOYMENT_TARGET}")
endif()
foreach(buildtype IN ITEMS "debug" "release")
if(DEFINED VCPKG_BUILD_TYPE AND NOT VCPKG_BUILD_TYPE STREQUAL buildtype)
continue()
endif()
if(buildtype STREQUAL "debug")
set(short_buildtype "dbg")
else()
set(short_buildtype "rel")
endif()
message(STATUS "Package ${TARGET_TRIPLET}-${short_buildtype}")
if(arg_ADD_BIN_TO_PATH)
vcpkg_backup_env_variables(VARS PATH)
if(buildtype STREQUAL "debug")
vcpkg_add_to_path(PREPEND "${CURRENT_INSTALLED_DIR}/debug/bin")
else()
vcpkg_add_to_path(PREPEND "${CURRENT_INSTALLED_DIR}/bin")
endif()
endif()
vcpkg_execute_required_process(
COMMAND "${NINJA}" install -v
WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${short_buildtype}"
LOGNAME package-${TARGET_TRIPLET}-${short_buildtype}
)
if(arg_ADD_BIN_TO_PATH)
vcpkg_restore_env_variables(VARS PATH)
endif()
endforeach()
vcpkg_list(SET renamed_libs)
if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL static AND NOT VCPKG_TARGET_IS_MINGW)
# Meson names all static libraries lib<name>.a which basically breaks the world
file(GLOB_RECURSE gen_libraries "${CURRENT_PACKAGES_DIR}*/**/lib*.a")
foreach(gen_library IN LISTS gen_libraries)
get_filename_component(libdir "${gen_library}" DIRECTORY)
get_filename_component(libname "${gen_library}" NAME)
string(REGEX REPLACE ".a$" ".lib" fixed_librawname "${libname}")
string(REGEX REPLACE "^lib" "" fixed_librawname "${fixed_librawname}")
file(RENAME "${gen_library}" "${libdir}/${fixed_librawname}")
# For cmake fixes.
string(REGEX REPLACE ".a$" "" origin_librawname "${libname}")
string(REGEX REPLACE ".lib$" "" fixed_librawname "${fixed_librawname}")
vcpkg_list(APPEND renamed_libs ${fixed_librawname})
set(${librawname}_old ${origin_librawname})
set(${librawname}_new ${fixed_librawname})
endforeach()
file(GLOB_RECURSE cmake_files "${CURRENT_PACKAGES_DIR}*/*.cmake")
foreach(cmake_file IN LISTS cmake_files)
foreach(current_lib IN LISTS renamed_libs)
vcpkg_replace_string("${cmake_file}" "${${current_lib}_old}" "${${current_lib}_new}" IGNORE_UNCHANGED)
endforeach()
endforeach()
endif()
if(VCPKG_TARGET_IS_OSX)
vcpkg_restore_env_variables(VARS SDKROOT MACOSX_DEPLOYMENT_TARGET)
endif()
endfunction()

View File

@@ -0,0 +1,8 @@
# See https://github.com/microsoft/vcpkg/discussions/19454
# NOTE: Try to keep in sync with default arm64-osx definition
set(VCPKG_TARGET_ARCHITECTURE x64)
set(VCPKG_CRT_LINKAGE dynamic)
set(VCPKG_LIBRARY_LINKAGE static)
set(VCPKG_CMAKE_SYSTEM_NAME Darwin)
set(VCPKG_OSX_ARCHITECTURES "arm64;x86_64")

View File

@@ -1,14 +1,4 @@
(
import
(
let
lock = builtins.fromJSON (builtins.readFile ./flake.lock);
in
fetchTarball {
url = "https://github.com/edolstra/flake-compat/archive/${lock.nodes.flake-compat.locked.rev}.tar.gz";
sha256 = lock.nodes.flake-compat.locked.narHash;
}
)
{src = ./.;}
)
.defaultNix
(import (fetchTarball {
url = "https://github.com/edolstra/flake-compat/archive/ff81ac966bb2cae68946d5ed5fc4994f96d0ffec.tar.gz";
sha256 = "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=";
}) { src = ./.; }).defaultNix

178
flake.lock generated
View File

@@ -1,86 +1,13 @@
{
"nodes": {
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1698882062,
"narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "8c9fa2545007b49a5db5f650ae91f227672c3877",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1685518550,
"narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"pre-commit-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1660459072,
"narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "a20de23b925fd8264fd7fad6454652e142fd7f73",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"libnbtplusplus": {
"flake": false,
"locked": {
"lastModified": 1690036783,
"narHash": "sha256-A5kTgICnx+Qdq3Fir/bKTfdTt/T1NQP2SC+nhN1ENug=",
"lastModified": 1744811532,
"narHash": "sha256-qhmjaRkt+O7A+gu6HjUkl7QzOEb4r8y8vWZMG2R/C6o=",
"owner": "PrismLauncher",
"repo": "libnbtplusplus",
"rev": "a5e8fd52b8bf4ab5d5bcc042b2a247867589985f",
"rev": "531449ba1c930c98e0bcf5d332b237a8566f9d78",
"type": "github"
},
"original": {
@@ -89,106 +16,23 @@
"type": "github"
}
},
"nix-filter": {
"locked": {
"lastModified": 1694857738,
"narHash": "sha256-bxxNyLHjhu0N8T3REINXQ2ZkJco0ABFPn6PIe2QUfqo=",
"owner": "numtide",
"repo": "nix-filter",
"rev": "41fd48e00c22b4ced525af521ead8792402de0ea",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "nix-filter",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1699094435,
"narHash": "sha256-YLZ5/KKZ1PyLrm2MO8UxRe4H3M0/oaYqNhSlq6FDeeA=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "9d5d25bbfe8c0297ebe85324addcb5020ed1a454",
"type": "github"
"lastModified": 1769089682,
"narHash": "sha256-Xu+7iYcAuOvsI2wdkUcIEmkqEJbvvE6n7qR9QNjJyP4=",
"rev": "078d69f03934859a181e81ba987c2bb033eebfc5",
"type": "tarball",
"url": "https://releases.nixos.org/nixos/25.11/nixos-25.11.4506.078d69f03934/nixexprs.tar.xz"
},
"original": {
"owner": "nixos",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"dir": "lib",
"lastModified": 1698611440,
"narHash": "sha256-jPjHjrerhYDy3q9+s5EAsuhyhuknNfowY6yt6pjn9pc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "0cbe9f69c234a7700596e943bfae7ef27a31b735",
"type": "github"
},
"original": {
"dir": "lib",
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"pre-commit-hooks": {
"inputs": {
"flake-compat": [
"flake-compat"
],
"flake-utils": "flake-utils",
"gitignore": "gitignore",
"nixpkgs": [
"nixpkgs"
],
"nixpkgs-stable": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1698852633,
"narHash": "sha256-Hsc/cCHud8ZXLvmm8pxrXpuaPEeNaaUttaCvtdX/Wug=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "dec10399e5b56aa95fcd530e0338be72ad6462a0",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"type": "github"
"type": "tarball",
"url": "https://channels.nixos.org/nixos-25.11/nixexprs.tar.xz"
}
},
"root": {
"inputs": {
"flake-compat": "flake-compat",
"flake-parts": "flake-parts",
"libnbtplusplus": "libnbtplusplus",
"nix-filter": "nix-filter",
"nixpkgs": "nixpkgs",
"pre-commit-hooks": "pre-commit-hooks"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
"nixpkgs": "nixpkgs"
}
}
},

236
flake.nix
View File

@@ -1,44 +1,220 @@
{
description = "A custom launcher for Minecraft that allows you to easily manage multiple installations of Minecraft at once (Fork of MultiMC)";
nixConfig = {
extra-substituters = [ "https://prismlauncher.cachix.org" ];
extra-trusted-public-keys = [
"prismlauncher.cachix.org-1:9/n/FGyABA2jLUVfY+DEp4hKds/rwO+SCOtbOkDzd+c="
];
};
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
flake-parts.url = "github:hercules-ci/flake-parts";
nix-filter.url = "github:numtide/nix-filter";
pre-commit-hooks = {
url = "github:cachix/pre-commit-hooks.nix";
inputs.nixpkgs.follows = "nixpkgs";
inputs.nixpkgs-stable.follows = "nixpkgs";
inputs.flake-compat.follows = "flake-compat";
};
flake-compat = {
url = "github:edolstra/flake-compat";
flake = false;
};
nixpkgs.url = "https://channels.nixos.org/nixos-25.11/nixexprs.tar.xz";
libnbtplusplus = {
url = "github:PrismLauncher/libnbtplusplus";
flake = false;
};
};
outputs = {
flake-parts,
pre-commit-hooks,
...
} @ inputs:
flake-parts.lib.mkFlake {inherit inputs;} {
imports = [
pre-commit-hooks.flakeModule
outputs =
{
self,
nixpkgs,
libnbtplusplus,
}:
./nix/dev.nix
./nix/distribution.nix
];
let
inherit (nixpkgs) lib;
systems = [
"x86_64-linux"
"aarch64-linux"
"x86_64-darwin"
"aarch64-darwin"
];
# While we only officially support aarch and x86_64 on Linux and MacOS,
# we expose a reasonable amount of other systems for users who want to
# build for most exotic platforms
systems = lib.systems.flakeExposed;
forAllSystems = lib.genAttrs systems;
nixpkgsFor = forAllSystems (system: nixpkgs.legacyPackages.${system});
in
{
checks = forAllSystems (
system:
let
pkgs = nixpkgsFor.${system};
llvm = pkgs.llvmPackages_19;
in
{
formatting =
pkgs.runCommand "check-formatting"
{
nativeBuildInputs = with pkgs; [
deadnix
llvm.clang-tools
markdownlint-cli
nixfmt-rfc-style
statix
];
}
''
cd ${self}
echo "Running clang-format...."
clang-format --dry-run --style='file' --Werror */**.{c,cc,cpp,h,hh,hpp}
echo "Running deadnix..."
deadnix --fail
echo "Running markdownlint..."
markdownlint --dot .
echo "Running nixfmt..."
find -type f -name '*.nix' -exec nixfmt --check {} +
echo "Running statix"
statix check .
touch $out
'';
}
);
devShells = forAllSystems (
system:
let
pkgs = nixpkgsFor.${system};
llvm = pkgs.llvmPackages_19;
packages' = self.packages.${system};
welcomeMessage = ''
Welcome to the Prism Launcher repository! 🌈
We just set some things up for you. To get building, you can run:
```
$ cd "$cmakeBuildDir"
$ ninjaBuildPhase
$ ninjaInstallPhase
```
Feel free to ask any questions in our Discord server or Matrix space:
- https://prismlauncher.org/discord
- https://matrix.to/#/#prismlauncher:matrix.org
And thanks for helping out :)
'';
# Re-use our package wrapper to wrap our development environment
qt-wrapper-env = packages'.prismlauncher.overrideAttrs (old: {
name = "qt-wrapper-env";
# Required to use script-based makeWrapper below
strictDeps = true;
# We don't need/want the unwrapped Prism package
paths = [ ];
nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [
# Ensure the wrapper is script based so it can be sourced
pkgs.makeWrapper
];
# Inspired by https://discourse.nixos.org/t/python-qt-woes/11808/10
buildCommand = ''
makeQtWrapper ${lib.getExe pkgs.runtimeShellPackage} "$out"
sed -i '/^exec/d' "$out"
'';
});
in
{
default = pkgs.mkShell {
name = "prism-launcher";
inputsFrom = [ packages'.prismlauncher-unwrapped ];
packages = with pkgs; [
ccache
llvm.clang-tools
];
cmakeBuildType = "Debug";
cmakeFlags = [ "-GNinja" ] ++ packages'.prismlauncher.cmakeFlags;
dontFixCmake = true;
shellHook = ''
echo "Sourcing ${qt-wrapper-env}"
source ${qt-wrapper-env}
git submodule update --init --force
if [ ! -f compile_commands.json ]; then
cmakeConfigurePhase
cd ..
ln -s "$cmakeBuildDir"/compile_commands.json compile_commands.json
fi
echo ${lib.escapeShellArg welcomeMessage}
'';
};
}
);
formatter = forAllSystems (system: nixpkgsFor.${system}.nixfmt-rfc-style);
overlays.default = final: prev: {
prismlauncher-unwrapped = prev.callPackage ./nix/unwrapped.nix {
inherit
libnbtplusplus
self
;
};
prismlauncher = final.callPackage ./nix/wrapper.nix { };
};
packages = forAllSystems (
system:
let
pkgs = nixpkgsFor.${system};
# Build a scope from our overlay
prismPackages = lib.makeScope pkgs.newScope (final: self.overlays.default final pkgs);
# Grab our packages from it and set the default
packages = {
inherit (prismPackages) prismlauncher-unwrapped prismlauncher;
default = prismPackages.prismlauncher;
};
in
# Only output them if they're available on the current system
lib.filterAttrs (_: lib.meta.availableOn pkgs.stdenv.hostPlatform) packages
);
# We put these under legacyPackages as they are meant for CI, not end user consumption
legacyPackages = forAllSystems (
system:
let
packages' = self.packages.${system};
legacyPackages' = self.legacyPackages.${system};
in
{
prismlauncher-debug = packages'.prismlauncher.override {
prismlauncher-unwrapped = legacyPackages'.prismlauncher-unwrapped-debug;
};
prismlauncher-unwrapped-debug = packages'.prismlauncher-unwrapped.overrideAttrs {
cmakeBuildType = "Debug";
dontStrip = true;
};
}
);
};
}

View File

@@ -1,22 +0,0 @@
{
"name": "libdecor",
"buildsystem": "meson",
"config-opts": [
"-Ddemo=false"
],
"sources": [
{
"type": "git",
"url": "https://gitlab.freedesktop.org/libdecor/libdecor.git",
"commit": "73260393a97291c887e1074ab7f318e031be0ac6"
},
{
"type": "patch",
"path": "patches/weird_libdecor.patch"
}
],
"cleanup": [
"/include",
"/lib/pkgconfig"
]
}

View File

@@ -1,158 +0,0 @@
id: org.prismlauncher.PrismLauncher
runtime: org.kde.Platform
runtime-version: "5.15-22.08"
sdk: org.kde.Sdk
sdk-extensions:
- org.freedesktop.Sdk.Extension.openjdk17
- org.freedesktop.Sdk.Extension.openjdk8
command: prismlauncher
finish-args:
- --share=ipc
- --socket=x11
- --socket=wayland
- --device=all
- --share=network
- --socket=pulseaudio
# for Discord RPC mods
- --filesystem=xdg-run/app/com.discordapp.Discord:create
# Mod drag&drop
- --filesystem=xdg-download:ro
# FTBApp import
- --filesystem=~/.ftba:ro
cleanup:
- /lib/libGLU*
modules:
# Might be needed by some Controller mods (see https://github.com/isXander/Controlify/issues/31)
- shared-modules/libusb/libusb.json
# Needed for proper Wayland support
- libdecor.json
- name: prismlauncher
buildsystem: cmake-ninja
builddir: true
config-opts:
- -DLauncher_BUILD_PLATFORM=flatpak
- -DCMAKE_BUILD_TYPE=RelWithDebInfo
- -DLauncher_QT_VERSION_MAJOR=5
build-options:
env:
JAVA_HOME: /usr/lib/sdk/openjdk17/jvm/openjdk-17
JAVA_COMPILER: /usr/lib/sdk/openjdk17/jvm/openjdk-17/bin/javac
sources:
- type: dir
path: ../
- name: openjdk
buildsystem: simple
build-commands:
- mkdir -p /app/jdk/
- /usr/lib/sdk/openjdk17/install.sh
- mv /app/jre /app/jdk/17
- /usr/lib/sdk/openjdk8/install.sh
- mv /app/jre /app/jdk/8
cleanup:
- /jre
- name: glfw
buildsystem: cmake-ninja
config-opts:
- -DCMAKE_BUILD_TYPE=RelWithDebInfo
- -DBUILD_SHARED_LIBS:BOOL=ON
- -DGLFW_USE_WAYLAND=ON
sources:
- type: git
url: https://github.com/glfw/glfw.git
commit: 3fa2360720eeba1964df3c0ecf4b5df8648a8e52
- type: patch
path: patches/0003-Don-t-crash-on-calls-to-focus-or-icon.patch
- type: patch
path: patches/0005-Add-warning-about-being-an-unofficial-patch.patch
- type: patch
path: patches/0007-Platform-Prefer-Wayland-over-X11.patch
cleanup:
- /include
- /lib/cmake
- /lib/pkgconfig
- name: xrandr
buildsystem: autotools
sources:
- type: archive
url: https://xorg.freedesktop.org/archive/individual/app/xrandr-1.5.2.tar.xz
sha256: c8bee4790d9058bacc4b6246456c58021db58a87ddda1a9d0139bf5f18f1f240
x-checker-data:
type: anitya
project-id: 14957
stable-only: true
url-template: https://xorg.freedesktop.org/archive/individual/app/xrandr-$version.tar.xz
cleanup:
- /share/man
- /bin/xkeystone
- name: gamemode
buildsystem: meson
config-opts:
- -Dwith-sd-bus-provider=no-daemon
- -Dwith-examples=false
post-install:
# gamemoderun is installed for users who want to use wrapper commands
# post-install is running inside the build dir, we need it from the source though
- install -Dm755 ../data/gamemoderun -t /app/bin
sources:
- type: archive
archive-type: tar-gzip
url: https://api.github.com/repos/FeralInteractive/gamemode/tarball/1.7
sha256: 57ce73ba605d1cf12f8d13725006a895182308d93eba0f69f285648449641803
x-checker-data:
type: json
url: https://api.github.com/repos/FeralInteractive/gamemode/releases/latest
version-query: .tag_name
url-query: .tarball_url
timestamp-query: .published_at
cleanup:
- /include
- /lib/pkgconfig
- /lib/libgamemodeauto.a
- name: glxinfo
buildsystem: meson
config-opts:
- --bindir=/app/mesa-demos
- -Degl=disabled
- -Dglut=disabled
- -Dosmesa=disabled
- -Dvulkan=disabled
- -Dwayland=disabled
post-install:
- mv -v /app/mesa-demos/glxinfo /app/bin
sources:
- type: archive
url: https://archive.mesa3d.org/demos/mesa-demos-9.0.0.tar.xz
sha256: 3046a3d26a7b051af7ebdd257a5f23bfeb160cad6ed952329cdff1e9f1ed496b
x-checker-data:
type: anitya
project-id: 16781
stable-only: true
url-template: https://archive.mesa3d.org/demos/mesa-demos-$version.tar.xz
cleanup:
- /include
- /mesa-demos
- /share
modules:
- shared-modules/glu/glu-9.json
- name: enhance
buildsystem: simple
build-commands:
- install -Dm755 prime-run /app/bin/prime-run
- mv /app/bin/prismlauncher /app/bin/prismrun
- install -Dm755 prismlauncher /app/bin/prismlauncher
sources:
- type: file
path: prime-run
- type: file
path: prismlauncher

View File

@@ -1,24 +0,0 @@
diff --git a/src/wl_window.c b/src/wl_window.c
index 52d3b9eb..4ac4eb5d 100644
--- a/src/wl_window.c
+++ b/src/wl_window.c
@@ -2117,8 +2117,7 @@ void _glfwSetWindowTitleWayland(_GLFWwindow* window, const char* title)
void _glfwSetWindowIconWayland(_GLFWwindow* window,
int count, const GLFWimage* images)
{
- _glfwInputError(GLFW_FEATURE_UNAVAILABLE,
- "Wayland: The platform does not support setting the window icon");
+ fprintf(stderr, "!!! Ignoring Error: Wayland: The platform does not support setting the window icon\n");
}
void _glfwGetWindowPosWayland(_GLFWwindow* window, int* xpos, int* ypos)
@@ -2361,8 +2360,7 @@ void _glfwRequestWindowAttentionWayland(_GLFWwindow* window)
void _glfwFocusWindowWayland(_GLFWwindow* window)
{
- _glfwInputError(GLFW_FEATURE_UNAVAILABLE,
- "Wayland: The platform does not support setting the input focus");
+ fprintf(stderr, "!!! Ignoring Error: Wayland: The platform does not support setting the input focus\n");
}
void _glfwSetWindowMonitorWayland(_GLFWwindow* window,

View File

@@ -1,17 +0,0 @@
diff --git a/src/init.c b/src/init.c
index 06dbb3f2..a7c6da86 100644
--- a/src/init.c
+++ b/src/init.c
@@ -449,6 +449,12 @@ GLFWAPI int glfwInit(void)
_glfw.initialized = GLFW_TRUE;
glfwDefaultWindowHints();
+
+ fprintf(stderr, "!!! Patched GLFW from https://github.com/Admicos/minecraft-wayland\n"
+ "!!! If any issues with the window, or some issues with rendering, occur, "
+ "first try with the built-in GLFW, and if that solves the issue, report there first.\n"
+ "!!! Use outside Minecraft is untested, and things might break.\n");
+
return GLFW_TRUE;
}

View File

@@ -1,20 +0,0 @@
diff --git a/src/platform.c b/src/platform.c
index c5966ae7..3e7442f9 100644
--- a/src/platform.c
+++ b/src/platform.c
@@ -49,12 +49,12 @@ static const struct
#if defined(_GLFW_COCOA)
{ GLFW_PLATFORM_COCOA, _glfwConnectCocoa },
#endif
-#if defined(_GLFW_X11)
- { GLFW_PLATFORM_X11, _glfwConnectX11 },
-#endif
#if defined(_GLFW_WAYLAND)
{ GLFW_PLATFORM_WAYLAND, _glfwConnectWayland },
#endif
+#if defined(_GLFW_X11)
+ { GLFW_PLATFORM_X11, _glfwConnectX11 },
+#endif
};
GLFWbool _glfwSelectPlatform(int desiredID, _GLFWplatform* platform)

View File

@@ -1,40 +0,0 @@
diff --git a/src/libdecor.c b/src/libdecor.c
index a9c1106..1aa38b3 100644
--- a/src/libdecor.c
+++ b/src/libdecor.c
@@ -1391,22 +1391,32 @@ calculate_priority(const struct libdecor_plugin_description *plugin_description)
static bool
check_symbol_conflicts(const struct libdecor_plugin_description *plugin_description)
{
+ bool ret = true;
char * const *symbol;
+ void* main_prog = dlopen(NULL, RTLD_LAZY);
+ if (!main_prog) {
+ fprintf(stderr, "Plugin \"%s\" couldn't check conflicting symbols: \"%s\".\n",
+ plugin_description->description, dlerror());
+ return false;
+ }
+
symbol = plugin_description->conflicting_symbols;
while (*symbol) {
dlerror();
- dlsym (RTLD_DEFAULT, *symbol);
+ dlsym (main_prog, *symbol);
if (!dlerror()) {
fprintf(stderr, "Plugin \"%s\" uses conflicting symbol \"%s\".\n",
plugin_description->description, *symbol);
- return false;
+ ret = false;
+ break;
}
symbol++;
}
- return true;
+ dlclose(main_prog);
+ return ret;
}
static struct plugin_loader *

View File

@@ -1,4 +0,0 @@
#!/bin/sh
export __NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia
exec "$@"

View File

@@ -1,11 +0,0 @@
#!/bin/bash
# discord RPC
for i in {0..9}; do
test -S "$XDG_RUNTIME_DIR"/discord-ipc-"$i" || ln -sf {app/com.discordapp.Discord,"$XDG_RUNTIME_DIR"}/discord-ipc-"$i";
done
export PATH="${PATH}${PATH:+:}/usr/lib/extensions/vulkan/gamescope/bin:/usr/lib/extensions/vulkan/MangoHud/bin"
export VK_LAYER_PATH="/usr/lib/extensions/vulkan/share/vulkan/implicit_layer.d/"
exec /app/bin/prismrun "$@"

View File

@@ -1,6 +0,0 @@
builds:
exclude: []
include:
- "checks.x86_64-linux.*"
- "devShells.*.*"
- "packages.*.*"

File diff suppressed because it is too large Load Diff

View File

@@ -42,18 +42,20 @@
#include <QDebug>
#include <QFlag>
#include <QIcon>
#include <QMutex>
#include <QUrl>
#include <memory>
#include <BaseInstance.h>
#include "minecraft/launch/MinecraftServerTarget.h"
#include "ui/themes/CatPack.h"
#include "launch/LogModel.h"
#include "minecraft/launch/MinecraftTarget.h"
class LaunchController;
class LocalPeer;
class InstanceWindow;
class MainWindow;
class ViewLogWindow;
class SetupWizard;
class GenericPageProvider;
class QFile;
@@ -82,6 +84,12 @@ class Index;
#endif
#define APPLICATION (static_cast<Application*>(QCoreApplication::instance()))
// Used for checking if is a test
#if defined(APPLICATION_DYN)
#undef APPLICATION_DYN
#endif
#define APPLICATION_DYN (dynamic_cast<Application*>(QCoreApplication::instance()))
class Application : public QApplication {
// friends for the purpose of limiting access to deprecated stuff
Q_OBJECT
@@ -104,29 +112,29 @@ class Application : public QApplication {
bool event(QEvent* event) override;
std::shared_ptr<SettingsObject> settings() const { return m_settings; }
SettingsObject* settings() const { return m_settings.get(); }
qint64 timeSinceStart() const { return startTime.msecsTo(QDateTime::currentDateTime()); }
qint64 timeSinceStart() const { return m_startTime.msecsTo(QDateTime::currentDateTime()); }
QIcon getThemedIcon(const QString& name);
QIcon logo();
ThemeManager* themeManager() { return m_themeManager.get(); }
shared_qobject_ptr<ExternalUpdater> updater() { return m_updater; }
ExternalUpdater* updater() { return m_updater.get(); }
void triggerUpdateCheck();
std::shared_ptr<TranslationsModel> translations();
TranslationsModel* translations();
std::shared_ptr<JavaInstallList> javalist();
JavaInstallList* javalist();
std::shared_ptr<InstanceList> instances() const { return m_instances; }
InstanceList* instances() const { return m_instances.get(); }
std::shared_ptr<IconList> icons() const { return m_icons; }
IconList* icons() const { return m_icons.get(); }
MCEditTool* mcedit() const { return m_mcedit.get(); }
shared_qobject_ptr<AccountList> accounts() const { return m_accounts; }
AccountList* accounts() const { return m_accounts.get(); }
Status status() const { return m_status; }
@@ -134,11 +142,11 @@ class Application : public QApplication {
void updateProxySettings(QString proxyTypeStr, QString addr, int port, QString user, QString password);
shared_qobject_ptr<QNetworkAccessManager> network();
QNetworkAccessManager* network();
shared_qobject_ptr<HttpMetaCache> metacache();
HttpMetaCache* metacache();
shared_qobject_ptr<Meta::Index> metadataIndex();
Meta::Index* metadataIndex();
void updateCapabilities();
@@ -154,7 +162,6 @@ class Application : public QApplication {
QString getFlameAPIKey();
QString getModrinthAPIToken();
QString getUserAgent();
QString getUserAgentUncached();
/// this is the root of the 'installation'. Used for automatic updates
const QString& root() { return m_rootPath; }
@@ -162,6 +169,9 @@ class Application : public QApplication {
/// the data path the application is using
const QString& dataRoot() { return m_dataPath; }
/// the java installed path the application is using
const QString javaPath();
bool isPortable() { return m_portable; }
const Capabilities capabilities() { return m_capabilities; }
@@ -172,16 +182,15 @@ class Application : public QApplication {
*/
bool openJsonEditor(const QString& filename);
InstanceWindow* showInstanceWindow(InstancePtr instance, QString page = QString());
InstanceWindow* showInstanceWindow(BaseInstance* instance, QString page = QString());
MainWindow* showMainWindow(bool minimized = false);
ViewLogWindow* showLogWindow();
void updateIsRunning(bool running);
bool updatesAreAllowed();
void ShowGlobalSettings(class QWidget* parent, QString open_page = QString());
int suitableMaxMem();
bool updaterEnabled();
QString updaterBinaryName();
@@ -190,27 +199,29 @@ class Application : public QApplication {
signals:
void updateAllowedChanged(bool status);
void globalSettingsAboutToOpen();
void globalSettingsClosed();
void globalSettingsApplied();
int currentCatChanged(int index);
void oauthReplyRecieved(QVariantMap);
#ifdef Q_OS_MACOS
void clickedOnDock();
#endif
public slots:
bool launch(InstancePtr instance,
bool launch(BaseInstance* instance,
bool online = true,
bool demo = false,
MinecraftServerTargetPtr serverToJoin = nullptr,
MinecraftAccountPtr accountToUse = nullptr);
bool kill(InstancePtr instance);
MinecraftTarget::Ptr targetToJoin = nullptr,
MinecraftAccountPtr accountToUse = nullptr,
const QString& offlineName = QString());
bool kill(BaseInstance* instance);
void closeCurrentWindow();
private slots:
void on_windowClose();
void messageReceived(const QByteArray& message);
void controllerSucceeded();
void controllerFailed(const QString& error);
void controllerFinished();
void setupWizardFinished(int status);
private:
@@ -227,22 +238,26 @@ class Application : public QApplication {
bool shouldExitNow() const;
private:
QDateTime startTime;
QHash<QString, int> m_qsaveResources;
mutable QMutex m_qsaveResourcesMutex;
shared_qobject_ptr<QNetworkAccessManager> m_network;
private:
QDateTime m_startTime;
shared_qobject_ptr<ExternalUpdater> m_updater;
shared_qobject_ptr<AccountList> m_accounts;
std::unique_ptr<QNetworkAccessManager> m_network;
shared_qobject_ptr<HttpMetaCache> m_metacache;
shared_qobject_ptr<Meta::Index> m_metadataIndex;
std::unique_ptr<ExternalUpdater> m_updater;
std::unique_ptr<AccountList> m_accounts;
std::shared_ptr<SettingsObject> m_settings;
std::shared_ptr<InstanceList> m_instances;
std::shared_ptr<IconList> m_icons;
std::shared_ptr<JavaInstallList> m_javalist;
std::shared_ptr<TranslationsModel> m_translations;
std::shared_ptr<GenericPageProvider> m_globalSettingsProvider;
std::unique_ptr<HttpMetaCache> m_metacache;
std::unique_ptr<Meta::Index> m_metadataIndex;
std::unique_ptr<SettingsObject> m_settings;
std::unique_ptr<InstanceList> m_instances;
std::unique_ptr<IconList> m_icons;
std::unique_ptr<JavaInstallList> m_javalist;
std::unique_ptr<TranslationsModel> m_translations;
std::unique_ptr<GenericPageProvider> m_globalSettingsProvider;
std::unique_ptr<MCEditTool> m_mcedit;
QSet<QString> m_features;
std::unique_ptr<ThemeManager> m_themeManager;
@@ -267,9 +282,10 @@ class Application : public QApplication {
// FIXME: attach to instances instead.
struct InstanceXtras {
InstanceWindow* window = nullptr;
shared_qobject_ptr<LaunchController> controller;
std::unique_ptr<LaunchController> controller;
};
std::map<QString, InstanceXtras> m_instanceExtras;
mutable QMutex m_instanceExtrasMutex;
// main state variables
size_t m_openWindows = 0;
@@ -279,6 +295,9 @@ class Application : public QApplication {
// main window, if any
MainWindow* m_mainWindow = nullptr;
// log window, if any
ViewLogWindow* m_viewLogWindow = nullptr;
// peer launcher instance connector - used to implement single instance launcher and signalling
LocalPeer* m_peerInstance = nullptr;
@@ -289,9 +308,18 @@ class Application : public QApplication {
QString m_detectedOpenALPath;
QString m_instanceIdToLaunch;
QString m_serverToJoin;
QString m_worldToJoin;
QString m_profileToUse;
bool m_offline = false;
QString m_offlineName;
bool m_liveCheck = false;
QList<QUrl> m_urlsToImport;
QString m_instanceIdToShowWindowOf;
std::unique_ptr<QFile> logFile;
std::unique_ptr<LogModel> logModel;
public:
void addQSavePath(QString);
void removeQSavePath(QString);
bool checkQSavePath(QString);
};

25
launcher/AssertHelpers.h Normal file
View File

@@ -0,0 +1,25 @@
// SPDX-License-Identifier: GPL-3.0-only
/*
* Prism Launcher - Minecraft Launcher
* Copyright (C) 2025 Octol1ttle <l1ttleofficial@outlook.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
#pragma once
#if defined(ASSERT_NEVER)
#error ASSERT_NEVER already defined
#else
#define ASSERT_NEVER(cond) (Q_ASSERT((cond) == false), (cond))
#endif

View File

@@ -16,6 +16,7 @@
#include <QFile>
#include "BaseInstaller.h"
#include "FileSystem.h"
#include "minecraft/MinecraftInstance.h"
BaseInstaller::BaseInstaller() {}
@@ -42,7 +43,7 @@ bool BaseInstaller::add(MinecraftInstance* to)
bool BaseInstaller::remove(MinecraftInstance* from)
{
return QFile::remove(filename(from->instanceRoot()));
return FS::deletePath(filename(from->instanceRoot()));
}
QString BaseInstaller::filename(const QString& root) const

View File

@@ -29,7 +29,7 @@ class BaseVersion;
class BaseInstaller {
public:
BaseInstaller();
virtual ~BaseInstaller(){};
virtual ~BaseInstaller() {};
bool isApplied(MinecraftInstance* on);
virtual bool add(MinecraftInstance* to);

View File

@@ -42,8 +42,10 @@
#include <QFileInfo>
#include <QJsonDocument>
#include <QJsonObject>
#include <QRegularExpression>
#include "Application.h"
#include "Json.h"
#include "launch/LaunchTask.h"
#include "settings/INISettingsObject.h"
#include "settings/OverrideSetting.h"
#include "settings/Setting.h"
@@ -52,9 +54,26 @@
#include "Commandline.h"
#include "FileSystem.h"
BaseInstance::BaseInstance(SettingsObjectPtr globalSettings, SettingsObjectPtr settings, const QString& rootDir) : QObject()
int getConsoleMaxLines(SettingsObject* settings)
{
m_settings = settings;
auto lineSetting = settings->getSetting("ConsoleMaxLines");
bool conversionOk = false;
int maxLines = lineSetting->get().toInt(&conversionOk);
if (!conversionOk) {
maxLines = lineSetting->defValue().toInt();
qWarning() << "ConsoleMaxLines has nonsensical value, defaulting to" << maxLines;
}
return maxLines;
}
bool shouldStopOnConsoleOverflow(SettingsObject* settings)
{
return settings->get("ConsoleOverflowStop").toBool();
}
BaseInstance::BaseInstance(SettingsObject* globalSettings, std::unique_ptr<SettingsObject> settings, const QString& rootDir) : QObject()
{
m_settings = std::move(settings);
m_global_settings = globalSettings;
m_rootDir = rootDir;
@@ -64,9 +83,12 @@ BaseInstance::BaseInstance(SettingsObjectPtr globalSettings, SettingsObjectPtr s
m_settings->registerSetting("lastLaunchTime", 0);
m_settings->registerSetting("totalTimePlayed", 0);
if (m_settings->get("totalTimePlayed").toLongLong() < 0)
m_settings->reset("totalTimePlayed");
m_settings->registerSetting("lastTimePlayed", 0);
m_settings->registerSetting("linkedInstances", "[]");
m_settings->registerSetting("shortcuts", QString());
// Game time override
auto gameTimeOverride = m_settings->registerSetting("OverrideGameTime", false);
@@ -105,6 +127,8 @@ BaseInstance::BaseInstance(SettingsObjectPtr globalSettings, SettingsObjectPtr s
m_settings->registerSetting("Profiler", "");
}
BaseInstance::~BaseInstance() {}
QString BaseInstance::getPreLaunchCommand()
{
return settings()->get("PreLaunchCommand").toString();
@@ -172,46 +196,35 @@ void BaseInstance::copyManagedPack(BaseInstance& other)
m_settings->set("ManagedPackName", other.getManagedPackName());
m_settings->set("ManagedPackVersionID", other.getManagedPackVersionID());
m_settings->set("ManagedPackVersionName", other.getManagedPackVersionName());
}
int BaseInstance::getConsoleMaxLines() const
{
auto lineSetting = m_settings->getSetting("ConsoleMaxLines");
bool conversionOk = false;
int maxLines = lineSetting->get().toInt(&conversionOk);
if (!conversionOk) {
maxLines = lineSetting->defValue().toInt();
qWarning() << "ConsoleMaxLines has nonsensical value, defaulting to" << maxLines;
if (APPLICATION->settings()->get("AutomaticJavaSwitch").toBool() && m_settings->get("AutomaticJava").toBool() &&
m_settings->get("OverrideJavaLocation").toBool()) {
m_settings->set("OverrideJavaLocation", false);
m_settings->set("JavaPath", "");
}
return maxLines;
}
bool BaseInstance::shouldStopOnConsoleOverflow() const
{
return m_settings->get("ConsoleOverflowStop").toBool();
}
QStringList BaseInstance::getLinkedInstances() const
{
return m_settings->get("linkedInstances").toStringList();
auto setting = m_settings->get("linkedInstances").toString();
return Json::toStringList(setting);
}
void BaseInstance::setLinkedInstances(const QStringList& list)
{
auto linkedInstances = m_settings->get("linkedInstances").toStringList();
m_settings->set("linkedInstances", list);
m_settings->set("linkedInstances", Json::fromStringList(list));
}
void BaseInstance::addLinkedInstanceId(const QString& id)
{
auto linkedInstances = m_settings->get("linkedInstances").toStringList();
auto linkedInstances = getLinkedInstances();
linkedInstances.append(id);
setLinkedInstances(linkedInstances);
}
bool BaseInstance::removeLinkedInstanceId(const QString& id)
{
auto linkedInstances = m_settings->get("linkedInstances").toStringList();
auto linkedInstances = getLinkedInstances();
int numRemoved = linkedInstances.removeAll(id);
setLinkedInstances(linkedInstances);
return numRemoved > 0;
@@ -219,7 +232,7 @@ bool BaseInstance::removeLinkedInstanceId(const QString& id)
bool BaseInstance::isLinkedToInstanceId(const QString& id) const
{
auto linkedInstances = m_settings->get("linkedInstances").toStringList();
auto linkedInstances = getLinkedInstances();
return linkedInstances.contains(id);
}
@@ -267,13 +280,18 @@ void BaseInstance::setRunning(bool running)
m_isRunning = running;
if (!m_settings->get("RecordGameTime").toBool()) {
emit runningStatusChanged(running);
emit runningStatusChanged(running);
}
void BaseInstance::setMinecraftRunning(bool running)
{
if (!settings()->get("RecordGameTime").toBool()) {
return;
}
if (running) {
m_timeStarted = QDateTime::currentDateTime();
setLastLaunch(m_timeStarted.toMSecsSinceEpoch());
} else {
QDateTime timeEnded = QDateTime::currentDateTime();
@@ -283,8 +301,6 @@ void BaseInstance::setRunning(bool running)
emit propertiesChanged(this);
}
emit runningStatusChanged(running);
}
int64_t BaseInstance::totalTimePlayed() const
@@ -322,11 +338,11 @@ QString BaseInstance::instanceRoot() const
return m_rootDir;
}
SettingsObjectPtr BaseInstance::settings()
SettingsObject* BaseInstance::settings()
{
loadSpecificSettings();
return m_settings;
return m_settings.get();
}
bool BaseInstance::canLaunch() const
@@ -381,6 +397,63 @@ void BaseInstance::setName(QString val)
emit propertiesChanged(this);
}
bool BaseInstance::syncInstanceDirName(const QString& newRoot) const
{
auto oldRoot = instanceRoot();
return oldRoot == newRoot || QFile::rename(oldRoot, newRoot);
}
void BaseInstance::registerShortcut(const ShortcutData& data)
{
auto currentShortcuts = shortcuts();
currentShortcuts.append(data);
qDebug() << "Registering shortcut for instance" << id() << "with name" << data.name << "and path" << data.filePath;
setShortcuts(currentShortcuts);
}
void BaseInstance::setShortcuts(const QList<ShortcutData>& shortcuts)
{
// FIXME: if no change, do not set. setting involves saving a file.
QJsonArray array;
for (const auto& elem : shortcuts) {
array.append(QJsonObject{ { "name", elem.name }, { "filePath", elem.filePath }, { "target", static_cast<int>(elem.target) } });
}
QJsonDocument document;
document.setArray(array);
m_settings->set("shortcuts", QString::fromUtf8(document.toJson(QJsonDocument::Compact)));
}
QList<ShortcutData> BaseInstance::shortcuts() const
{
auto data = m_settings->get("shortcuts").toString().toUtf8();
QJsonParseError parseError;
auto document = QJsonDocument::fromJson(data, &parseError);
if (parseError.error != QJsonParseError::NoError || !document.isArray())
return {};
QList<ShortcutData> results;
for (const auto& elem : document.array()) {
if (!elem.isObject())
continue;
auto dict = elem.toObject();
if (!dict.contains("name") || !dict.contains("filePath") || !dict.contains("target"))
continue;
int value = dict["target"].toInt(-1);
if (!dict["name"].isString() || !dict["filePath"].isString() || value < 0 || value >= 3)
continue;
QString shortcutName = dict["name"].toString();
QString filePath = dict["filePath"].toString();
if (!QDir(filePath).exists()) {
qWarning() << "Shortcut" << shortcutName << "for instance" << name() << "have non-existent path" << filePath;
continue;
}
results.append({ shortcutName, filePath, static_cast<ShortcutTarget>(value) });
}
return results;
}
QString BaseInstance::name() const
{
return m_settings->get("name").toString();
@@ -397,12 +470,17 @@ QStringList BaseInstance::extraArguments()
return Commandline::splitArgs(settings()->get("JvmArgs").toString());
}
shared_qobject_ptr<LaunchTask> BaseInstance::getLaunchTask()
LaunchTask* BaseInstance::getLaunchTask()
{
return m_launchProcess;
return m_launchProcess.get();
}
void BaseInstance::updateRuntimeContext()
{
// NOOP
}
bool BaseInstance::isLegacy()
{
return traits().contains("legacyLaunch") || traits().contains("alphaLaunch");
}

View File

@@ -38,7 +38,9 @@
#pragma once
#include <cassert>
#include <QDataStream>
#include <QDateTime>
#include <QList>
#include <QMenu>
#include <QObject>
#include <QProcess>
@@ -50,21 +52,31 @@
#include "BaseVersionList.h"
#include "MessageLevel.h"
#include "minecraft/auth/MinecraftAccount.h"
#include "pathmatcher/IPathMatcher.h"
#include "settings/INIFile.h"
#include "net/Mode.h"
#include "RuntimeContext.h"
#include "minecraft/launch/MinecraftServerTarget.h"
#include "minecraft/launch/MinecraftTarget.h"
class QDir;
class Task;
class LaunchTask;
class BaseInstance;
// pointer for lazy people
using InstancePtr = std::shared_ptr<BaseInstance>;
/// Shortcut saving target representations
enum class ShortcutTarget { Desktop, Applications, Other };
/// Shortcut data representation
struct ShortcutData {
QString name;
QString filePath;
ShortcutTarget target = ShortcutTarget::Other;
};
/// Console settings
int getConsoleMaxLines(SettingsObject* settings);
bool shouldStopOnConsoleOverflow(SettingsObject* settings);
/*!
* \brief Base class for instances.
@@ -74,11 +86,11 @@ using InstancePtr = std::shared_ptr<BaseInstance>;
* To create a new instance type, create a new class inheriting from this class
* and implement the pure virtual functions.
*/
class BaseInstance : public QObject, public std::enable_shared_from_this<BaseInstance> {
class BaseInstance : public QObject {
Q_OBJECT
protected:
/// no-touchy!
BaseInstance(SettingsObjectPtr globalSettings, SettingsObjectPtr settings, const QString& rootDir);
BaseInstance(SettingsObject* globalSettings, std::unique_ptr<SettingsObject> settings, const QString& rootDir);
public: /* types */
enum class Status {
@@ -88,7 +100,7 @@ class BaseInstance : public QObject, public std::enable_shared_from_this<BaseIns
public:
/// virtual destructor to make sure the destruction is COMPLETE
virtual ~BaseInstance() {}
virtual ~BaseInstance();
virtual void saveNow() = 0;
@@ -104,6 +116,7 @@ class BaseInstance : public QObject, public std::enable_shared_from_this<BaseIns
/// be unique.
virtual QString id() const;
void setMinecraftRunning(bool running);
void setRunning(bool running);
bool isRunning() const;
int64_t totalTimePlayed() const;
@@ -125,6 +138,14 @@ class BaseInstance : public QObject, public std::enable_shared_from_this<BaseIns
QString name() const;
void setName(QString val);
/// Sync name and rename instance dir accordingly; returns true if successful
bool syncInstanceDirName(const QString& newRoot) const;
/// Register a created shortcut
void registerShortcut(const ShortcutData& data);
QList<ShortcutData> shortcuts() const;
void setShortcuts(const QList<ShortcutData>& shortcuts);
/// Value used for instance window titles
QString windowTitle() const;
@@ -147,9 +168,6 @@ class BaseInstance : public QObject, public std::enable_shared_from_this<BaseIns
void setManagedPack(const QString& type, const QString& id, const QString& name, const QString& versionId, const QString& version);
void copyManagedPack(BaseInstance& other);
/// guess log level from a line of game log
virtual MessageLevel::Enum guessLevel([[maybe_unused]] const QString& line, MessageLevel::Enum level) { return level; }
virtual QStringList extraArguments();
/// Traits. Normally inside the version, depends on instance implementation.
@@ -172,7 +190,7 @@ class BaseInstance : public QObject, public std::enable_shared_from_this<BaseIns
*
* \return A pointer to this instance's settings object.
*/
virtual SettingsObjectPtr settings();
virtual SettingsObject* settings();
/*!
* \brief Loads settings specific to an instance type if they're not already loaded.
@@ -180,13 +198,13 @@ class BaseInstance : public QObject, public std::enable_shared_from_this<BaseIns
virtual void loadSpecificSettings() = 0;
/// returns a valid update task
virtual Task::Ptr createUpdateTask(Net::Mode mode) = 0;
virtual QList<Task::Ptr> createUpdateTask() = 0;
/// returns a valid launcher (task container)
virtual shared_qobject_ptr<LaunchTask> createLaunchTask(AuthSessionPtr account, MinecraftServerTargetPtr serverToJoin) = 0;
virtual LaunchTask* createLaunchTask(AuthSessionPtr account, MinecraftTarget::Ptr targetToJoin) = 0;
/// returns the current launch task (if any)
shared_qobject_ptr<LaunchTask> getLaunchTask();
LaunchTask* getLaunchTask();
/*!
* Create envrironment variables for running the instance
@@ -194,15 +212,10 @@ class BaseInstance : public QObject, public std::enable_shared_from_this<BaseIns
virtual QProcessEnvironment createEnvironment() = 0;
virtual QProcessEnvironment createLaunchEnvironment() = 0;
/*!
* Returns a matcher that can maps relative paths within the instance to whether they are 'log files'
*/
virtual IPathMatcher::Ptr getLogFileMatcher() = 0;
/*!
* Returns the root folder to use for looking up log files
*/
virtual QString getLogFileRoot() = 0;
virtual QStringList getLogFileSearchPaths() = 0;
virtual QString getStatusbarDescription() = 0;
@@ -214,7 +227,7 @@ class BaseInstance : public QObject, public std::enable_shared_from_this<BaseIns
virtual QString typeName() const = 0;
void updateRuntimeContext();
virtual void updateRuntimeContext();
RuntimeContext runtimeContext() const { return m_runtimeContext; }
bool hasVersionBroken() const { return m_hasBrokenVersion; }
@@ -255,23 +268,22 @@ class BaseInstance : public QObject, public std::enable_shared_from_this<BaseIns
/**
* 'print' a verbose description of the instance into a QStringList
*/
virtual QStringList verboseDescription(AuthSessionPtr session, MinecraftServerTargetPtr serverToJoin) = 0;
virtual QStringList verboseDescription(AuthSessionPtr session, MinecraftTarget::Ptr targetToJoin) = 0;
Status currentStatus() const;
int getConsoleMaxLines() const;
bool shouldStopOnConsoleOverflow() const;
QStringList getLinkedInstances() const;
void setLinkedInstances(const QStringList& list);
void addLinkedInstanceId(const QString& id);
bool removeLinkedInstanceId(const QString& id);
bool isLinkedToInstanceId(const QString& id) const;
bool isLegacy();
protected:
void changeStatus(Status newStatus);
SettingsObjectPtr globalSettings() const { return m_global_settings.lock(); }
SettingsObject* globalSettings() const { return m_global_settings; }
bool isSpecificSettingsLoaded() const { return m_specific_settings_loaded; }
void setSpecificSettingsLoaded(bool loaded) { m_specific_settings_loaded = loaded; }
@@ -282,7 +294,7 @@ class BaseInstance : public QObject, public std::enable_shared_from_this<BaseIns
*/
void propertiesChanged(BaseInstance* inst);
void launchTaskChanged(shared_qobject_ptr<LaunchTask>);
void launchTaskChanged(LaunchTask*);
void runningStatusChanged(bool running);
@@ -295,10 +307,10 @@ class BaseInstance : public QObject, public std::enable_shared_from_this<BaseIns
protected: /* data */
QString m_rootDir;
SettingsObjectPtr m_settings;
std::unique_ptr<SettingsObject> m_settings;
// InstanceFlags m_flags;
bool m_isRunning = false;
shared_qobject_ptr<LaunchTask> m_launchProcess;
std::unique_ptr<LaunchTask> m_launchProcess;
QDateTime m_timeStarted;
RuntimeContext m_runtimeContext;
@@ -308,7 +320,7 @@ class BaseInstance : public QObject, public std::enable_shared_from_this<BaseIns
bool m_hasUpdate = false;
bool m_hasBrokenVersion = false;
SettingsObjectWeakPtr m_global_settings;
SettingsObject* m_global_settings;
bool m_specific_settings_loaded = false;
};

View File

@@ -24,27 +24,28 @@
*/
class BaseVersion {
public:
// TODO: delete
using Ptr = std::shared_ptr<BaseVersion>;
virtual ~BaseVersion() {}
/*!
* A string used to identify this version in config files.
* This should be unique within the version list or shenanigans will occur.
*/
virtual QString descriptor() = 0;
virtual QString descriptor() const = 0;
/*!
* The name of this version as it is displayed to the user.
* For example: "1.5.1"
*/
virtual QString name() = 0;
virtual QString name() const = 0;
/*!
* This should return a string that describes
* the kind of version this is (Stable, Beta, Snapshot, whatever)
*/
virtual QString typeString() const = 0;
virtual bool operator<(BaseVersion& a) { return name() < a.name(); }
virtual bool operator>(BaseVersion& a) { return name() > a.name(); }
virtual bool operator<(BaseVersion& a) const { return name() < a.name(); }
virtual bool operator>(BaseVersion& a) const { return name() > a.name(); }
};
Q_DECLARE_METATYPE(BaseVersion::Ptr)

View File

@@ -78,6 +78,14 @@ QVariant BaseVersionList::data(const QModelIndex& index, int role) const
case TypeRole:
return version->typeString();
case JavaMajorRole: {
auto major = version->name();
if (major.startsWith("java")) {
major = "Java " + major.mid(4);
}
return major;
}
default:
return QVariant();
}
@@ -110,6 +118,8 @@ QHash<int, QByteArray> BaseVersionList::roleNames() const
roles.insert(TypeRole, "type");
roles.insert(BranchRole, "branch");
roles.insert(PathRole, "path");
roles.insert(ArchitectureRole, "architecture");
roles.insert(JavaNameRole, "javaName");
roles.insert(CPUArchitectureRole, "architecture");
roles.insert(JavaMajorRole, "javaMajor");
return roles;
}

View File

@@ -48,7 +48,9 @@ class BaseVersionList : public QAbstractListModel {
TypeRole,
BranchRole,
PathRole,
ArchitectureRole,
JavaNameRole,
JavaMajorRole,
CPUArchitectureRole,
SortRole
};
using RoleList = QList<int>;

File diff suppressed because it is too large Load Diff

View File

@@ -12,13 +12,10 @@
#include <QtConcurrent>
DataMigrationTask::DataMigrationTask(QObject* parent,
const QString& sourcePath,
const QString& targetPath,
const IPathMatcher::Ptr pathMatcher)
: Task(parent), m_sourcePath(sourcePath), m_targetPath(targetPath), m_pathMatcher(pathMatcher), m_copy(sourcePath, targetPath)
DataMigrationTask::DataMigrationTask(const QString& sourcePath, const QString& targetPath, Filter pathMatcher)
: Task(), m_sourcePath(sourcePath), m_targetPath(targetPath), m_pathMatcher(pathMatcher), m_copy(sourcePath, targetPath)
{
m_copy.matcher(m_pathMatcher.get()).whitelist(true);
m_copy.matcher(m_pathMatcher).whitelist(true);
}
void DataMigrationTask::executeTask()
@@ -27,7 +24,7 @@ void DataMigrationTask::executeTask()
// 1. Scan
// Check how many files we gotta copy
m_copyFuture = QtConcurrent::run(QThreadPool::globalInstance(), [&] {
m_copyFuture = QtConcurrent::run(QThreadPool::globalInstance(), [this] {
return m_copy(true); // dry run to collect amount of files
});
connect(&m_copyFutureWatcher, &QFutureWatcher<bool>::finished, this, &DataMigrationTask::dryRunFinished);
@@ -40,11 +37,7 @@ void DataMigrationTask::dryRunFinished()
disconnect(&m_copyFutureWatcher, &QFutureWatcher<bool>::finished, this, &DataMigrationTask::dryRunFinished);
disconnect(&m_copyFutureWatcher, &QFutureWatcher<bool>::canceled, this, &DataMigrationTask::dryRunAborted);
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
if (!m_copyFuture.isValid() || !m_copyFuture.result()) {
#else
if (!m_copyFuture.result()) {
#endif
emitFailed(tr("Failed to scan source path."));
return;
}
@@ -60,7 +53,7 @@ void DataMigrationTask::dryRunFinished()
setProgress(m_copy.totalCopied(), m_toCopy);
setStatus(tr("Copying %1…").arg(shortenedName));
});
m_copyFuture = QtConcurrent::run(QThreadPool::globalInstance(), [&] {
m_copyFuture = QtConcurrent::run(QThreadPool::globalInstance(), [this] {
return m_copy(false); // actually copy now
});
connect(&m_copyFutureWatcher, &QFutureWatcher<bool>::finished, this, &DataMigrationTask::copyFinished);
@@ -78,11 +71,7 @@ void DataMigrationTask::copyFinished()
disconnect(&m_copyFutureWatcher, &QFutureWatcher<bool>::finished, this, &DataMigrationTask::copyFinished);
disconnect(&m_copyFutureWatcher, &QFutureWatcher<bool>::canceled, this, &DataMigrationTask::copyAborted);
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
if (!m_copyFuture.isValid() || !m_copyFuture.result()) {
#else
if (!m_copyFuture.result()) {
#endif
emitFailed(tr("Some paths could not be copied!"));
return;
}

View File

@@ -5,7 +5,7 @@
#pragma once
#include "FileSystem.h"
#include "pathmatcher/IPathMatcher.h"
#include "Filter.h"
#include "tasks/Task.h"
#include <QFuture>
@@ -18,7 +18,7 @@
class DataMigrationTask : public Task {
Q_OBJECT
public:
explicit DataMigrationTask(QObject* parent, const QString& sourcePath, const QString& targetPath, const IPathMatcher::Ptr pathmatcher);
explicit DataMigrationTask(const QString& sourcePath, const QString& targetPath, Filter pathmatcher);
~DataMigrationTask() override = default;
protected:
@@ -33,7 +33,7 @@ class DataMigrationTask : public Task {
private:
const QString& m_sourcePath;
const QString& m_targetPath;
const IPathMatcher::Ptr m_pathMatcher;
const Filter m_pathMatcher;
FS::copy m_copy;
int m_toCopy = 0;

View File

@@ -37,143 +37,33 @@
#include <QDesktopServices>
#include <QDir>
#include <QProcess>
/**
* This shouldn't exist, but until QTBUG-9328 and other unreported bugs are fixed, it needs to be a thing.
*/
#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD)
#include <errno.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
template <typename T>
bool IndirectOpen(T callable, qint64* pid_forked = nullptr)
{
auto pid = fork();
if (pid_forked) {
if (pid > 0)
*pid_forked = pid;
else
*pid_forked = 0;
}
if (pid == -1) {
qWarning() << "IndirectOpen failed to fork: " << errno;
return false;
}
// child - do the stuff
if (pid == 0) {
// unset all this garbage so it doesn't get passed to the child process
qunsetenv("LD_PRELOAD");
qunsetenv("LD_LIBRARY_PATH");
qunsetenv("LD_DEBUG");
qunsetenv("QT_PLUGIN_PATH");
qunsetenv("QT_FONTPATH");
// open the URL
auto status = callable();
// detach from the parent process group.
setsid();
// die. now. do not clean up anything, it would just hang forever.
_exit(status ? 0 : 1);
} else {
// parent - assume it worked.
int status;
while (waitpid(pid, &status, 0)) {
if (WIFEXITED(status)) {
return WEXITSTATUS(status) == 0;
}
if (WIFSIGNALED(status)) {
return false;
}
}
return true;
}
}
#endif
#include "FileSystem.h"
namespace DesktopServices {
bool openDirectory(const QString& path, [[maybe_unused]] bool ensureExists)
bool openPath(const QFileInfo& path, bool ensureFolderPathExists)
{
qDebug() << "Opening directory" << path;
QDir parentPath;
QDir dir(path);
if (ensureExists && !dir.exists()) {
parentPath.mkpath(dir.absolutePath());
qDebug() << "Opening path" << path;
if (ensureFolderPathExists) {
FS::ensureFolderPathExists(path);
}
auto f = [&]() { return QDesktopServices::openUrl(QUrl::fromLocalFile(dir.absolutePath())); };
#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD)
if (!isSandbox()) {
return IndirectOpen(f);
} else {
return f();
}
#else
return f();
#endif
return openUrl(QUrl::fromLocalFile(QFileInfo(path).absoluteFilePath()));
}
bool openFile(const QString& path)
bool openPath(const QString& path, bool ensureFolderPathExists)
{
qDebug() << "Opening file" << path;
auto f = [&]() { return QDesktopServices::openUrl(QUrl::fromLocalFile(path)); };
#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD)
if (!isSandbox()) {
return IndirectOpen(f);
} else {
return f();
}
#else
return f();
#endif
}
bool openFile(const QString& application, const QString& path, const QString& workingDirectory, qint64* pid)
{
qDebug() << "Opening file" << path << "using" << application;
#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD)
// FIXME: the pid here is fake. So if something depends on it, it will likely misbehave
if (!isSandbox()) {
return IndirectOpen([&]() { return QProcess::startDetached(application, QStringList() << path, workingDirectory); }, pid);
} else {
return QProcess::startDetached(application, QStringList() << path, workingDirectory, pid);
}
#else
return QProcess::startDetached(application, QStringList() << path, workingDirectory, pid);
#endif
return openPath(QFileInfo(path), ensureFolderPathExists);
}
bool run(const QString& application, const QStringList& args, const QString& workingDirectory, qint64* pid)
{
qDebug() << "Running" << application << "with args" << args.join(' ');
#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD)
if (!isSandbox()) {
// FIXME: the pid here is fake. So if something depends on it, it will likely misbehave
return IndirectOpen([&]() { return QProcess::startDetached(application, args, workingDirectory); }, pid);
} else {
return QProcess::startDetached(application, args, workingDirectory, pid);
}
#else
return QProcess::startDetached(application, args, workingDirectory, pid);
#endif
}
bool openUrl(const QUrl& url)
{
qDebug() << "Opening URL" << url.toString();
auto f = [&]() { return QDesktopServices::openUrl(url); };
#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD)
if (!isSandbox()) {
return IndirectOpen(f);
} else {
return f();
}
#else
return f();
#endif
return QDesktopServices::openUrl(url);
}
bool isFlatpak()
@@ -194,9 +84,4 @@ bool isSnap()
#endif
}
bool isSandbox()
{
return isSnap() || isFlatpak();
}
} // namespace DesktopServices

View File

@@ -3,31 +3,30 @@
#include <QString>
#include <QUrl>
class QFileInfo;
/**
* This wraps around QDesktopServices and adds workarounds where needed
* Use this instead of QDesktopServices!
*/
namespace DesktopServices {
/**
* Open a file in whatever application is applicable
* Open a path in whatever application is applicable.
* @param ensureFolderPathExists Make sure the path exists
*/
bool openFile(const QString& path);
bool openPath(const QFileInfo& path, bool ensureFolderPathExists = false);
/**
* Open a file in the specified application
* Open a path in whatever application is applicable.
* @param ensureFolderPathExists Make sure the path exists
*/
bool openFile(const QString& application, const QString& path, const QString& workingDirectory = QString(), qint64* pid = 0);
bool openPath(const QString& path, bool ensureFolderPathExists = false);
/**
* Run an application
*/
bool run(const QString& application, const QStringList& args, const QString& workingDirectory = QString(), qint64* pid = 0);
/**
* Open a directory
*/
bool openDirectory(const QString& path, bool ensureExists = false);
/**
* Open the URL, most likely in a browser. Maybe.
*/
@@ -42,9 +41,4 @@ bool isFlatpak();
* Determine whether the launcher is running in a Snap environment
*/
bool isSnap();
/**
* Determine whether the launcher is running in a sandboxed (Flatpak or Snap) environment
*/
bool isSandbox();
} // namespace DesktopServices

View File

@@ -1,4 +1,37 @@
// Licensed under the Apache-2.0 license. See README.md for details.
// SPDX-License-Identifier: GPL-3.0-only AND Apache-2.0
/*
* Prism Launcher - Minecraft Launcher
* Copyright (c) 2024 TheKodeToad <TheKodeToad@proton.me>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* This file incorporates work covered by the following copyright and
* permission notice:
*
* Copyright 2013-2021 MultiMC Contributors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once
@@ -8,12 +41,12 @@
class Exception : public std::exception {
public:
Exception(const QString& message) : std::exception(), m_message(message) { qCritical() << "Exception:" << message; }
Exception(const Exception& other) : std::exception(), m_message(other.cause()) {}
Exception(const QString& message) : std::exception(), m_message(message.toUtf8()) { qCritical() << "Exception:" << message; }
Exception(const Exception& other) : std::exception(), m_message(other.m_message) {}
virtual ~Exception() noexcept {}
const char* what() const noexcept { return m_message.toLatin1().constData(); }
QString cause() const { return m_message; }
const char* what() const noexcept { return m_message.constData(); }
QString cause() const { return QString::fromUtf8(m_message); }
private:
QString m_message;
QByteArray m_message;
};

View File

@@ -44,4 +44,4 @@ QIcon FastFileIconProvider::icon(const QFileInfo& info) const
}
return QApplication::style()->standardIcon(icon);
}
}

View File

@@ -23,4 +23,4 @@
class FastFileIconProvider : public QFileIconProvider {
public:
QIcon icon(const QFileInfo& info) const override;
};
};

View File

@@ -40,12 +40,11 @@
#include <QFileSystemModel>
#include <QSortFilterProxyModel>
#include <QStack>
#include <algorithm>
#include "FileSystem.h"
#include "SeparatorPrefixTree.h"
#include "StringUtils.h"
FileIgnoreProxy::FileIgnoreProxy(QString root, QObject* parent) : QSortFilterProxyModel(parent), root(root) {}
FileIgnoreProxy::FileIgnoreProxy(QString root, QObject* parent) : QSortFilterProxyModel(parent), m_root(root) {}
// NOTE: Sadly, we have to do sorting ourselves.
bool FileIgnoreProxy::lessThan(const QModelIndex& left, const QModelIndex& right) const
{
@@ -104,10 +103,10 @@ QVariant FileIgnoreProxy::data(const QModelIndex& index, int role) const
if (index.column() == 0 && role == Qt::CheckStateRole) {
QFileSystemModel* fsm = qobject_cast<QFileSystemModel*>(sourceModel());
auto blockedPath = relPath(fsm->filePath(sourceIndex));
auto cover = blocked.cover(blockedPath);
auto cover = m_blocked.cover(blockedPath);
if (!cover.isNull()) {
return QVariant(Qt::Unchecked);
} else if (blocked.exists(blockedPath)) {
} else if (m_blocked.exists(blockedPath)) {
return QVariant(Qt::PartiallyChecked);
} else {
return QVariant(Qt::Checked);
@@ -130,7 +129,7 @@ bool FileIgnoreProxy::setData(const QModelIndex& index, const QVariant& value, i
QString FileIgnoreProxy::relPath(const QString& path) const
{
return QDir(root).relativeFilePath(path);
return QDir(m_root).relativeFilePath(path);
}
bool FileIgnoreProxy::setFilterState(QModelIndex index, Qt::CheckState state)
@@ -146,18 +145,18 @@ bool FileIgnoreProxy::setFilterState(QModelIndex index, Qt::CheckState state)
bool changed = false;
if (state == Qt::Unchecked) {
// blocking a path
auto& node = blocked.insert(blockedPath);
auto& node = m_blocked.insert(blockedPath);
// get rid of all blocked nodes below
node.clear();
changed = true;
} else if (state == Qt::Checked || state == Qt::PartiallyChecked) {
if (!blocked.remove(blockedPath)) {
auto cover = blocked.cover(blockedPath);
if (!m_blocked.remove(blockedPath)) {
auto cover = m_blocked.cover(blockedPath);
qDebug() << "Blocked by cover" << cover;
// uncover
blocked.remove(cover);
m_blocked.remove(cover);
// block all contents, except for any cover
QModelIndex rootIndex = fsm->index(FS::PathCombine(root, cover));
QModelIndex rootIndex = fsm->index(FS::PathCombine(m_root, cover));
QModelIndex doing = rootIndex;
int row = 0;
QStack<QModelIndex> todo;
@@ -179,7 +178,7 @@ bool FileIgnoreProxy::setFilterState(QModelIndex index, Qt::CheckState state)
todo.push(node);
} else {
// or just block this one.
blocked.insert(relpath);
m_blocked.insert(relpath);
}
row++;
}
@@ -229,7 +228,7 @@ bool FileIgnoreProxy::shouldExpand(QModelIndex index)
return false;
}
auto blockedPath = relPath(fsm->filePath(sourceIndex));
auto found = blocked.find(blockedPath);
auto found = m_blocked.find(blockedPath);
if (found) {
return !found->leaf();
}
@@ -239,8 +238,8 @@ bool FileIgnoreProxy::shouldExpand(QModelIndex index)
void FileIgnoreProxy::setBlockedPaths(QStringList paths)
{
beginResetModel();
blocked.clear();
blocked.insert(paths);
m_blocked.clear();
m_blocked.insert(paths);
endResetModel();
}
@@ -267,10 +266,45 @@ bool FileIgnoreProxy::filterAcceptsRow(int sourceRow, const QModelIndex& sourceP
bool FileIgnoreProxy::ignoreFile(QFileInfo fileInfo) const
{
return m_ignoreFiles.contains(fileInfo.fileName()) || m_ignoreFilePaths.covers(relPath(fileInfo.absoluteFilePath()));
if (m_ignoreFiles.contains(fileInfo.fileName())) {
return true;
}
for (const auto& suffix : m_ignoreFilesSuffixes) {
if (fileInfo.fileName().endsWith(suffix)) {
return true;
}
}
if (m_ignoreFilePaths.covers(relPath(fileInfo.absoluteFilePath()))) {
return true;
}
return false;
}
bool FileIgnoreProxy::filterFile(const QString& fileName) const
bool FileIgnoreProxy::filterFile(const QFileInfo& file) const
{
return blocked.covers(fileName) || ignoreFile(QFileInfo(QDir(root), fileName));
return m_blocked.covers(relPath(file.absoluteFilePath())) || ignoreFile(file);
}
void FileIgnoreProxy::loadBlockedPathsFromFile(const QString& fileName)
{
QFile ignoreFile(fileName);
if (!ignoreFile.open(QIODevice::ReadOnly)) {
return;
}
auto ignoreData = ignoreFile.readAll();
auto string = QString::fromUtf8(ignoreData);
setBlockedPaths(string.split('\n', Qt::SkipEmptyParts));
}
void FileIgnoreProxy::saveBlockedPathsToFile(const QString& fileName)
{
auto ignoreData = blockedPaths().toStringList().join('\n').toUtf8();
try {
FS::write(fileName, ignoreData);
} catch (const Exception& e) {
qWarning() << e.cause();
}
}

View File

@@ -61,15 +61,20 @@ class FileIgnoreProxy : public QSortFilterProxyModel {
void setBlockedPaths(QStringList paths);
inline const SeparatorPrefixTree<'/'>& blockedPaths() const { return blocked; }
inline SeparatorPrefixTree<'/'>& blockedPaths() { return blocked; }
inline const SeparatorPrefixTree<'/'>& blockedPaths() const { return m_blocked; }
inline SeparatorPrefixTree<'/'>& blockedPaths() { return m_blocked; }
// list of file names that need to be removed completely from model
inline QStringList& ignoreFilesWithName() { return m_ignoreFiles; }
inline QStringList& ignoreFilesWithSuffix() { return m_ignoreFilesSuffixes; }
// list of relative paths that need to be removed completely from model
inline SeparatorPrefixTree<'/'>& ignoreFilesWithPath() { return m_ignoreFilePaths; }
bool filterFile(const QString& fileName) const;
bool filterFile(const QFileInfo& fileName) const;
void loadBlockedPathsFromFile(const QString& fileName);
void saveBlockedPathsToFile(const QString& fileName);
protected:
bool filterAcceptsColumn(int source_column, const QModelIndex& source_parent) const;
@@ -78,8 +83,9 @@ class FileIgnoreProxy : public QSortFilterProxyModel {
bool ignoreFile(QFileInfo file) const;
private:
const QString root;
SeparatorPrefixTree<'/'> blocked;
const QString m_root;
SeparatorPrefixTree<'/'> m_blocked;
QStringList m_ignoreFiles;
QStringList m_ignoreFilesSuffixes;
SeparatorPrefixTree<'/'> m_ignoreFilePaths;
};

View File

@@ -45,7 +45,6 @@
#include <QDirIterator>
#include <QFile>
#include <QFileInfo>
#include <QSaveFile>
#include <QStandardPaths>
#include <QStorageInfo>
#include <QTextStream>
@@ -54,15 +53,14 @@
#include <system_error>
#include "DesktopServices.h"
#include "PSaveFile.h"
#include "StringUtils.h"
#if defined Q_OS_WIN32
#define NOMINMAX
#define WIN32_LEAN_AND_MEAN
#include <objbase.h>
#include <objidl.h>
#include <shlguid.h>
#include <shlobj.h>
#include <shobjidl.h>
#include <sys/utime.h>
#include <versionhelpers.h>
@@ -77,24 +75,8 @@
#include <utime.h>
#endif
// Snippet from https://github.com/gulrak/filesystem#using-it-as-single-file-header
#ifdef __APPLE__
#include <Availability.h> // for deployment target to support pre-catalina targets without std::fs
#endif // __APPLE__
#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || (defined(__cplusplus) && __cplusplus >= 201703L)) && defined(__has_include)
#if __has_include(<filesystem>) && (!defined(__MAC_OS_X_VERSION_MIN_REQUIRED) || __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500)
#define GHC_USE_STD_FS
#include <filesystem>
namespace fs = std::filesystem;
#endif // MacOS min version check
#endif // Other OSes version check
#ifndef GHC_USE_STD_FS
#include <ghc/filesystem.hpp>
namespace fs = ghc::filesystem;
#endif
// clone
#if defined(Q_OS_LINUX)
@@ -123,6 +105,10 @@ namespace fs = ghc::filesystem;
#if defined(__MINGW32__)
// Avoid re-defining structs retroactively added to MinGW
// https://github.com/mingw-w64/mingw-w64/issues/90#issuecomment-2829284729
#if __MINGW64_VERSION_MAJOR < 13
struct _DUPLICATE_EXTENTS_DATA {
HANDLE FileHandle;
LARGE_INTEGER SourceFileOffset;
@@ -132,6 +118,7 @@ struct _DUPLICATE_EXTENTS_DATA {
using DUPLICATE_EXTENTS_DATA = _DUPLICATE_EXTENTS_DATA;
using PDUPLICATE_EXTENTS_DATA = _DUPLICATE_EXTENTS_DATA*;
#endif
struct _FSCTL_GET_INTEGRITY_INFORMATION_BUFFER {
WORD ChecksumAlgorithm; // Checksum algorithm. e.g. CHECKSUM_TYPE_UNCHANGED, CHECKSUM_TYPE_NONE, CHECKSUM_TYPE_CRC32
@@ -191,8 +178,8 @@ void ensureExists(const QDir& dir)
void write(const QString& filename, const QByteArray& data)
{
ensureExists(QFileInfo(filename).dir());
QSaveFile file(filename);
if (!file.open(QSaveFile::WriteOnly)) {
PSaveFile file(filename);
if (!file.open(PSaveFile::WriteOnly)) {
throw FileSystemException("Couldn't open " + filename + " for writing: " + file.errorString());
}
if (data.size() != file.write(data)) {
@@ -213,8 +200,8 @@ void appendSafe(const QString& filename, const QByteArray& data)
buffer = QByteArray();
}
buffer.append(data);
QSaveFile file(filename);
if (!file.open(QSaveFile::WriteOnly)) {
PSaveFile file(filename);
if (!file.open(PSaveFile::WriteOnly)) {
throw FileSystemException("Couldn't open " + filename + " for writing: " + file.errorString());
}
if (buffer.size() != file.write(buffer)) {
@@ -272,15 +259,22 @@ bool ensureFilePathExists(QString filenamepath)
return success;
}
bool ensureFolderPathExists(QString foldernamepath)
bool ensureFolderPathExists(const QFileInfo folderPath)
{
QFileInfo a(foldernamepath);
QDir dir;
QString ensuredPath = a.filePath();
QString ensuredPath = folderPath.filePath();
if (folderPath.exists())
return true;
bool success = dir.mkpath(ensuredPath);
return success;
}
bool ensureFolderPathExists(const QString folderPathName)
{
return ensureFolderPathExists(QFileInfo(folderPathName));
}
bool copyFileAttributes(QString src, QString dst)
{
#ifdef Q_OS_WIN32
@@ -334,8 +328,8 @@ bool copy::operator()(const QString& offset, bool dryRun)
opt |= copy_opts::overwrite_existing;
// Function that'll do the actual copying
auto copy_file = [&](QString src_path, QString relative_dst_path) {
if (m_matcher && (m_matcher->matches(relative_dst_path) != m_whitelist))
auto copy_file = [this, dryRun, src, dst, opt, &err](QString src_path, QString relative_dst_path) {
if (m_matcher && (m_matcher(relative_dst_path) != m_whitelist))
return;
auto dst_path = PathCombine(dst, relative_dst_path);
@@ -421,8 +415,8 @@ void create_link::make_link_list(const QString& offset)
m_recursive = true;
// Function that'll do the actual linking
auto link_file = [&](QString src_path, QString relative_dst_path) {
if (m_matcher && (m_matcher->matches(relative_dst_path) != m_whitelist)) {
auto link_file = [this, dst](QString src_path, QString relative_dst_path) {
if (m_matcher && (m_matcher(relative_dst_path) != m_whitelist)) {
qDebug() << "path" << relative_dst_path << "in black list or not in whitelist";
return;
}
@@ -516,7 +510,7 @@ void create_link::runPrivileged(const QString& offset)
QString serverName = BuildConfig.LAUNCHER_APP_BINARY_NAME + "_filelink_server" + StringUtils::getRandomAlphaNumeric();
connect(&m_linkServer, &QLocalServer::newConnection, this, [&]() {
connect(&m_linkServer, &QLocalServer::newConnection, this, [this, &gotResults]() {
qDebug() << "Client connected, sending out pairs";
// construct block of data to send
QByteArray block;
@@ -598,7 +592,7 @@ void create_link::runPrivileged(const QString& offset)
}
ExternalLinkFileProcess* linkFileProcess = new ExternalLinkFileProcess(serverName, m_useHardLinks, this);
connect(linkFileProcess, &ExternalLinkFileProcess::processExited, this, [&]() { emit finishedPrivileged(gotResults); });
connect(linkFileProcess, &ExternalLinkFileProcess::processExited, this, [this, gotResults]() { emit finishedPrivileged(gotResults); });
connect(linkFileProcess, &ExternalLinkFileProcess::finished, linkFileProcess, &QObject::deleteLater);
linkFileProcess->start();
@@ -643,6 +637,19 @@ void ExternalLinkFileProcess::runLinkFile()
qDebug() << "Process exited";
}
bool moveByCopy(const QString& source, const QString& dest)
{
if (!copy(source, dest)()) { // copy
qDebug() << "Copy of" << source << "to" << dest << "failed!";
return false;
}
if (!deletePath(source)) { // remove original
qDebug() << "Deletion of" << source << "failed!";
return false;
};
return true;
}
bool move(const QString& source, const QString& dest)
{
std::error_code err;
@@ -650,13 +657,14 @@ bool move(const QString& source, const QString& dest)
ensureFilePathExists(dest);
fs::rename(StringUtils::toStdString(source), StringUtils::toStdString(dest), err);
if (err) {
qWarning() << "Failed to move file:" << QString::fromStdString(err.message());
qDebug() << "Source file:" << source;
qDebug() << "Destination file:" << dest;
if (err.value() != 0) {
if (moveByCopy(source, dest))
return true;
qDebug() << "Move of" << source << "to" << dest << "failed!";
qWarning() << "Failed to move file:" << QString::fromStdString(err.message()) << QString::number(err.value());
return false;
}
return err.value() == 0;
return true;
}
bool deletePath(QString path)
@@ -674,9 +682,6 @@ bool deletePath(QString path)
bool trash(QString path, QString* pathInTrash)
{
#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0)
return false;
#else
// FIXME: Figure out trash in Flatpak. Qt seemingly doesn't use the Trash portal
if (DesktopServices::isFlatpak())
return false;
@@ -685,7 +690,6 @@ bool trash(QString path, QString* pathInTrash)
return false;
#endif
return QFile::moveToTrash(path, pathInTrash);
#endif
}
QString PathCombine(const QString& path1, const QString& path2)
@@ -719,11 +723,7 @@ int pathDepth(const QString& path)
QFileInfo info(path);
#if QT_VERSION < QT_VERSION_CHECK(5, 14, 0)
auto parts = QDir::toNativeSeparators(info.path()).split(QDir::separator(), QString::SkipEmptyParts);
#else
auto parts = QDir::toNativeSeparators(info.path()).split(QDir::separator(), Qt::SkipEmptyParts);
#endif
int numParts = parts.length();
numParts -= parts.count(".");
@@ -743,11 +743,7 @@ QString pathTruncate(const QString& path, int depth)
return pathTruncate(trunc, depth);
}
#if QT_VERSION < QT_VERSION_CHECK(5, 14, 0)
auto parts = QDir::toNativeSeparators(trunc).split(QDir::separator(), QString::SkipEmptyParts);
#else
auto parts = QDir::toNativeSeparators(trunc).split(QDir::separator(), Qt::SkipEmptyParts);
#endif
if (parts.startsWith(".") && !path.startsWith(".")) {
parts.removeFirst();
@@ -797,16 +793,68 @@ QString NormalizePath(QString path)
}
}
QString badFilenameChars = "\"\\/?<>:;*|!+\r\n";
static const QString BAD_WIN_CHARS = "<>:\"|?*\r\n";
static const QString BAD_NTFS_CHARS = "<>:\"|?*";
static const QString BAD_HFS_CHARS = ":";
static const QString BAD_FILENAME_CHARS = BAD_WIN_CHARS + "\\/";
QString RemoveInvalidFilenameChars(QString string, QChar replaceWith)
{
for (int i = 0; i < string.length(); i++) {
if (badFilenameChars.contains(string[i])) {
for (int i = 0; i < string.length(); i++)
if (string.at(i) < ' ' || BAD_FILENAME_CHARS.contains(string.at(i)))
string[i] = replaceWith;
return string;
}
QString RemoveInvalidPathChars(QString path, QChar replaceWith)
{
QString invalidChars;
#ifdef Q_OS_WIN
invalidChars = BAD_WIN_CHARS;
#endif
// the null character is ignored in this check as it was not a problem until now
switch (statFS(path).fsType) {
case FilesystemType::FAT: // similar to NTFS
/* fallthrough */
case FilesystemType::NTFS:
/* fallthrough */
case FilesystemType::REFS: // similar to NTFS(should be available only on windows)
invalidChars += BAD_NTFS_CHARS;
break;
// case FilesystemType::EXT:
// case FilesystemType::EXT_2_OLD:
// case FilesystemType::EXT_2_3_4:
// case FilesystemType::XFS:
// case FilesystemType::BTRFS:
// case FilesystemType::NFS:
// case FilesystemType::ZFS:
case FilesystemType::APFS:
/* fallthrough */
case FilesystemType::HFS:
/* fallthrough */
case FilesystemType::HFSPLUS:
/* fallthrough */
case FilesystemType::HFSX:
invalidChars += BAD_HFS_CHARS;
break;
// case FilesystemType::FUSEBLK:
// case FilesystemType::F2FS:
// case FilesystemType::UNKNOWN:
default:
break;
}
if (invalidChars.size() != 0) {
for (int i = 0; i < path.length(); i++) {
if (path.at(i) < ' ' || invalidChars.contains(path.at(i))) {
path[i] = replaceWith;
}
}
}
return string;
return path;
}
QString DirNameFromString(QString string, QString inDir)
@@ -842,42 +890,65 @@ QString getDesktopDir()
return QStandardPaths::writableLocation(QStandardPaths::DesktopLocation);
}
QString getApplicationsDir()
{
return QStandardPaths::writableLocation(QStandardPaths::ApplicationsLocation);
}
QString quoteArgs(const QStringList& args, const QString& wrap, const QString& escapeChar, bool wrapOnlyIfNeeded = false)
{
QString result;
auto size = args.size();
for (int i = 0; i < size; ++i) {
QString arg = args[i];
arg.replace(wrap, escapeChar);
bool needsWrapping = !wrapOnlyIfNeeded || arg.contains(' ') || arg.contains('\t') || arg.contains(wrap);
if (needsWrapping)
result += wrap + arg + wrap;
else
result += arg;
if (i < size - 1)
result += ' ';
}
return result;
}
// Cross-platform Shortcut creation
bool createShortcut(QString destination, QString target, QStringList args, QString name, QString icon)
QString createShortcut(QString destination, QString target, QStringList args, QString name, QString icon)
{
if (destination.isEmpty()) {
destination = PathCombine(getDesktopDir(), RemoveInvalidFilenameChars(name));
}
#if defined(Q_OS_MACOS)
// Create the Application
QDir applicationDirectory =
QStandardPaths::writableLocation(QStandardPaths::ApplicationsLocation) + "/" + BuildConfig.LAUNCHER_NAME + " Instances/";
if (!applicationDirectory.mkpath(".")) {
qWarning() << "Couldn't create application directory";
return false;
if (!ensureFilePathExists(destination)) {
qWarning() << "Destination path can't be created!";
return QString();
}
QDir application = applicationDirectory.path() + "/" + name + ".app/";
#if defined(Q_OS_MACOS)
QDir application = destination + ".app/";
if (application.exists()) {
qWarning() << "Application already exists!";
return false;
return QString();
}
if (!application.mkpath(".")) {
qWarning() << "Couldn't create application";
return false;
return QString();
}
QDir content = application.path() + "/Contents/";
QDir resources = content.path() + "/Resources/";
QDir binaryDir = content.path() + "/MacOS/";
QFile info = content.path() + "/Info.plist";
QFile info(content.path() + "/Info.plist");
if (!(content.mkpath(".") && resources.mkpath(".") && binaryDir.mkpath("."))) {
qWarning() << "Couldn't create directories within application";
return false;
return QString();
}
info.open(QIODevice::WriteOnly | QIODevice::Text);
@@ -890,12 +961,9 @@ bool createShortcut(QString destination, QString target, QStringList args, QStri
f.open(QIODevice::WriteOnly | QIODevice::Text);
QTextStream stream(&f);
QString argstring;
if (!args.empty())
argstring = " \"" + args.join("\" \"") + "\"";
auto argstring = quoteArgs(args, "\"", "\\\"");
stream << "#!/bin/bash"
<< "\n";
stream << "#!/bin/bash" << "\n";
stream << "\"" << target << "\" " << argstring << "\n";
stream.flush();
@@ -927,23 +995,23 @@ bool createShortcut(QString destination, QString target, QStringList args, QStri
"</dict>\n"
"</plist>";
return true;
return application.path();
#elif defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) || defined(Q_OS_OPENBSD)
if (!destination.endsWith(".desktop")) // in case of isFlatpak destination is already populated
destination += ".desktop";
QFile f(destination);
f.open(QIODevice::WriteOnly | QIODevice::Text);
if (!f.open(QIODevice::WriteOnly | QIODevice::Text)) {
qWarning() << "Failed to open file '" << f.fileName() << "' for writing!";
return QString();
}
QTextStream stream(&f);
QString argstring;
if (!args.empty())
argstring = " '" + args.join("' '") + "'";
auto argstring = quoteArgs(args, "'", "'\\''");
stream << "[Desktop Entry]"
<< "\n";
stream << "Type=Application"
<< "\n";
stream << "Exec=\"" << target.toLocal8Bit() << "\"" << argstring.toLocal8Bit() << "\n";
stream << "[Desktop Entry]" << "\n";
stream << "Type=Application" << "\n";
stream << "Categories=Game;ActionGame;AdventureGame;Simulation" << "\n";
stream << "Exec=\"" << target.toLocal8Bit() << "\" " << argstring.toLocal8Bit() << "\n";
stream << "Name=" << name.toLocal8Bit() << "\n";
if (!icon.isEmpty()) {
stream << "Icon=" << icon.toLocal8Bit() << "\n";
@@ -954,51 +1022,38 @@ bool createShortcut(QString destination, QString target, QStringList args, QStri
f.setPermissions(f.permissions() | QFileDevice::ExeOwner | QFileDevice::ExeGroup | QFileDevice::ExeOther);
return true;
return destination;
#elif defined(Q_OS_WIN)
QFileInfo targetInfo(target);
if (!targetInfo.exists()) {
qWarning() << "Target file does not exist!";
return false;
return QString();
}
target = targetInfo.absoluteFilePath();
if (target.length() >= MAX_PATH) {
qWarning() << "Target file path is too long!";
return false;
return QString();
}
if (!icon.isEmpty() && icon.length() >= MAX_PATH) {
qWarning() << "Icon path is too long!";
return false;
return QString();
}
destination += ".lnk";
if (destination.length() >= MAX_PATH) {
qWarning() << "Destination path is too long!";
return false;
}
QString argStr;
int argCount = args.count();
for (int i = 0; i < argCount; i++) {
if (args[i].contains(' ')) {
argStr.append('"').append(args[i]).append('"');
} else {
argStr.append(args[i]);
}
if (i < argCount - 1) {
argStr.append(" ");
}
return QString();
}
auto argStr = quoteArgs(args, "\"", "\\\"", true);
if (argStr.length() >= MAX_PATH) {
qWarning() << "Arguments string is too long!";
return false;
return QString();
}
HRESULT hres;
@@ -1007,7 +1062,7 @@ bool createShortcut(QString destination, QString target, QStringList args, QStri
hres = CoInitialize(nullptr);
if (FAILED(hres)) {
qWarning() << "Failed to initialize COM!";
return false;
return QString();
}
WCHAR wsz[MAX_PATH];
@@ -1061,10 +1116,12 @@ bool createShortcut(QString destination, QString target, QStringList args, QStri
// go away COM, nobody likes you
CoUninitialize();
return SUCCEEDED(hres);
if (SUCCEEDED(hres))
return destination;
return QString();
#else
qWarning("Desktop Shortcuts not supported on your platform!");
return false;
return QString();
#endif
}
@@ -1220,8 +1277,8 @@ bool clone::operator()(const QString& offset, bool dryRun)
std::error_code err;
// Function that'll do the actual cloneing
auto cloneFile = [&](QString src_path, QString relative_dst_path) {
if (m_matcher && (m_matcher->matches(relative_dst_path) != m_whitelist))
auto cloneFile = [this, dryRun, dst, &err](QString src_path, QString relative_dst_path) {
if (m_matcher && (m_matcher(relative_dst_path) != m_whitelist))
return;
auto dst_path = PathCombine(dst, relative_dst_path);
@@ -1579,4 +1636,80 @@ uintmax_t hardLinkCount(const QString& path)
return count;
}
#ifdef Q_OS_WIN
// returns 8.3 file format from long path
QString shortPathName(const QString& file)
{
auto input = file.toStdWString();
std::wstring output;
long length = GetShortPathNameW(input.c_str(), NULL, 0);
if (length == 0)
return {};
// NOTE: this resizing might seem weird...
// when GetShortPathNameW fails, it returns length including null character
// when it succeeds, it returns length excluding null character
// See: https://msdn.microsoft.com/en-us/library/windows/desktop/aa364989(v=vs.85).aspx
output.resize(length);
if (GetShortPathNameW(input.c_str(), (LPWSTR)output.c_str(), length) == 0)
return {};
output.resize(length - 1);
QString ret = QString::fromStdWString(output);
return ret;
}
// if the string survives roundtrip through local 8bit encoding...
bool fitsInLocal8bit(const QString& string)
{
return string == QString::fromLocal8Bit(string.toLocal8Bit());
}
QString getPathNameInLocal8bit(const QString& file)
{
if (!fitsInLocal8bit(file)) {
auto path = shortPathName(file);
if (!path.isEmpty()) {
return path;
}
// in case shortPathName fails just return the path as is
}
return file;
}
#endif
QString getUniqueResourceName(const QString& filePath)
{
auto newFileName = filePath;
if (!newFileName.endsWith(".disabled")) {
return newFileName; // prioritize enabled mods
}
newFileName.chop(9);
if (!QFile::exists(newFileName)) {
return filePath;
}
QFileInfo fileInfo(filePath);
auto baseName = fileInfo.completeBaseName();
auto path = fileInfo.absolutePath();
int counter = 1;
do {
if (counter == 1) {
newFileName = FS::PathCombine(path, baseName + ".duplicate");
} else {
newFileName = FS::PathCombine(path, baseName + ".duplicate" + QString::number(counter));
}
counter++;
} while (QFile::exists(newFileName));
return newFileName;
}
bool removeFiles(QStringList listFile)
{
bool ret = true;
// For each file
for (int i = 0; i < listFile.count(); i++) {
// Remove
ret = ret && QFile::remove(listFile.at(i));
}
return ret;
}
} // namespace FS

View File

@@ -38,7 +38,7 @@
#pragma once
#include "Exception.h"
#include "pathmatcher/IPathMatcher.h"
#include "Filter.h"
#include <system_error>
@@ -72,7 +72,7 @@ void appendSafe(const QString& filename, const QByteArray& data);
void append(const QString& filename, const QByteArray& data);
/**
* read data from a file safely\
* read data from a file safely
*/
QByteArray read(const QString& filename);
@@ -91,7 +91,13 @@ bool ensureFilePathExists(QString filenamepath);
* Creates all the folders in a path for the specified path
* last segment of the path is treated as a folder name and is created!
*/
bool ensureFolderPathExists(QString filenamepath);
bool ensureFolderPathExists(const QFileInfo folderPath);
/**
* Creates all the folders in a path for the specified path
* last segment of the path is treated as a folder name and is created!
*/
bool ensureFolderPathExists(const QString folderPathName);
/**
* @brief Copies a directory and it's contents from src to dest
@@ -109,9 +115,9 @@ class copy : public QObject {
m_followSymlinks = follow;
return *this;
}
copy& matcher(const IPathMatcher* filter)
copy& matcher(Filter filter)
{
m_matcher = filter;
m_matcher = std::move(filter);
return *this;
}
copy& whitelist(bool whitelist)
@@ -141,7 +147,7 @@ class copy : public QObject {
private:
bool m_followSymlinks = true;
const IPathMatcher* m_matcher = nullptr;
Filter m_matcher = nullptr;
bool m_whitelist = false;
bool m_overwrite = false;
QDir m_src;
@@ -203,9 +209,9 @@ class create_link : public QObject {
m_useHardLinks = useHard;
return *this;
}
create_link& matcher(const IPathMatcher* filter)
create_link& matcher(Filter filter)
{
m_matcher = filter;
m_matcher = std::move(filter);
return *this;
}
create_link& whitelist(bool whitelist)
@@ -234,6 +240,7 @@ class create_link : public QObject {
bool operator()(bool dryRun = false) { return operator()(QString(), dryRun); }
int totalLinked() { return m_linked; }
int totalToLink() { return static_cast<int>(m_links_to_make.size()); }
void runPrivileged() { runPrivileged(QString()); }
void runPrivileged(const QString& offset);
@@ -253,7 +260,7 @@ class create_link : public QObject {
private:
bool m_useHardLinks = false;
const IPathMatcher* m_matcher = nullptr;
Filter m_matcher = nullptr;
bool m_whitelist = false;
bool m_recursive = true;
@@ -284,6 +291,8 @@ bool move(const QString& source, const QString& dest);
*/
bool deletePath(QString path);
bool removeFiles(QStringList listFile);
/**
* Trash a folder / file
*/
@@ -336,6 +345,8 @@ QString NormalizePath(QString path);
QString RemoveInvalidFilenameChars(QString string, QChar replaceWith = '-');
QString RemoveInvalidPathChars(QString string, QChar replaceWith = '-');
QString DirNameFromString(QString string, QString inDir = ".");
/// Checks if the a given Path contains "!"
@@ -344,14 +355,18 @@ bool checkProblemticPathJava(QDir folder);
// Get the Directory representing the User's Desktop
QString getDesktopDir();
// Get the Directory representing the User's Applications directory
QString getApplicationsDir();
// Overrides one folder with the contents of another, preserving items exclusive to the first folder
// Equivalent to doing QDir::rename, but allowing for overrides
bool overrideFolder(QString overwritten_path, QString override_path);
/**
* Creates a shortcut to the specified target file at the specified destination path.
* Returns null QString if creation failed; otherwise returns the path to the created shortcut.
*/
bool createShortcut(QString destination, QString target, QStringList args, QString name, QString icon);
QString createShortcut(QString destination, QString target, QStringList args, QString name, QString icon);
enum class FilesystemType {
FAT,
@@ -370,6 +385,7 @@ enum class FilesystemType {
HFSX,
FUSEBLK,
F2FS,
BCACHEFS,
UNKNOWN
};
@@ -398,6 +414,7 @@ static const QMap<FilesystemType, QStringList> s_filesystem_type_names = { { Fil
{ FilesystemType::HFSX, { "HFSX" } },
{ FilesystemType::FUSEBLK, { "FUSEBLK" } },
{ FilesystemType::F2FS, { "F2FS" } },
{ FilesystemType::BCACHEFS, { "BCACHEFS" } },
{ FilesystemType::UNKNOWN, { "UNKNOWN" } } };
/**
@@ -450,7 +467,7 @@ QString nearestExistentAncestor(const QString& path);
FilesystemInfo statFS(const QString& path);
static const QList<FilesystemType> s_clone_filesystems = { FilesystemType::BTRFS, FilesystemType::APFS, FilesystemType::ZFS,
FilesystemType::XFS, FilesystemType::REFS };
FilesystemType::XFS, FilesystemType::REFS, FilesystemType::BCACHEFS };
/**
* @brief if the Filesystem is reflink/clone capable
@@ -477,9 +494,9 @@ class clone : public QObject {
m_src.setPath(src);
m_dst.setPath(dst);
}
clone& matcher(const IPathMatcher* filter)
clone& matcher(Filter filter)
{
m_matcher = filter;
m_matcher = std::move(filter);
return *this;
}
clone& whitelist(bool whitelist)
@@ -503,7 +520,7 @@ class clone : public QObject {
bool operator()(const QString& offset, bool dryRun = false);
private:
const IPathMatcher* m_matcher = nullptr;
Filter m_matcher = nullptr;
bool m_whitelist = false;
QDir m_src;
QDir m_dst;
@@ -545,4 +562,10 @@ bool canLink(const QString& src, const QString& dst);
uintmax_t hardLinkCount(const QString& path);
#ifdef Q_OS_WIN
QString getPathNameInLocal8bit(const QString& file);
#endif
QString getUniqueResourceName(const QString& filePath);
} // namespace FS

View File

@@ -1,36 +0,0 @@
#include "Filter.h"
Filter::~Filter() {}
ContainsFilter::ContainsFilter(const QString& pattern) : pattern(pattern) {}
ContainsFilter::~ContainsFilter() {}
bool ContainsFilter::accepts(const QString& value)
{
return value.contains(pattern);
}
ExactFilter::ExactFilter(const QString& pattern) : pattern(pattern) {}
ExactFilter::~ExactFilter() {}
bool ExactFilter::accepts(const QString& value)
{
return value == pattern;
}
ExactIfPresentFilter::ExactIfPresentFilter(const QString& pattern) : pattern(pattern) {}
bool ExactIfPresentFilter::accepts(const QString& value)
{
return value.isEmpty() || value == pattern;
}
RegexpFilter::RegexpFilter(const QString& regexp, bool invert) : invert(invert)
{
pattern.setPattern(regexp);
pattern.optimize();
}
RegexpFilter::~RegexpFilter() {}
bool RegexpFilter::accepts(const QString& value)
{
auto match = pattern.match(value);
bool matched = match.hasMatch();
return invert ? (!matched) : (matched);
}

View File

@@ -3,49 +3,52 @@
#include <QRegularExpression>
#include <QString>
class Filter {
public:
virtual ~Filter();
virtual bool accepts(const QString& value) = 0;
};
using Filter = std::function<bool(const QString&)>;
class ContainsFilter : public Filter {
public:
ContainsFilter(const QString& pattern);
virtual ~ContainsFilter();
bool accepts(const QString& value) override;
namespace Filters {
inline Filter inverse(Filter filter)
{
return [filter = std::move(filter)](const QString& src) { return !filter(src); };
}
private:
QString pattern;
};
inline Filter any(QList<Filter> filters)
{
return [filters = std::move(filters)](const QString& src) {
for (auto& filter : filters)
if (filter(src))
return true;
class ExactFilter : public Filter {
public:
ExactFilter(const QString& pattern);
virtual ~ExactFilter();
bool accepts(const QString& value) override;
return false;
};
}
private:
QString pattern;
};
inline Filter equals(QString pattern)
{
return [pattern = std::move(pattern)](const QString& src) { return src == pattern; };
}
class ExactIfPresentFilter : public Filter {
public:
ExactIfPresentFilter(const QString& pattern);
~ExactIfPresentFilter() override = default;
bool accepts(const QString& value) override;
inline Filter equalsAny(QStringList patterns = {})
{
return [patterns = std::move(patterns)](const QString& src) { return patterns.isEmpty() || patterns.contains(src); };
}
private:
QString pattern;
};
inline Filter equalsOrEmpty(QString pattern)
{
return [pattern = std::move(pattern)](const QString& src) { return src.isEmpty() || src == pattern; };
}
class RegexpFilter : public Filter {
public:
RegexpFilter(const QString& regexp, bool invert);
virtual ~RegexpFilter();
bool accepts(const QString& value) override;
inline Filter contains(QString pattern)
{
return [pattern = std::move(pattern)](const QString& src) { return src.contains(pattern); };
}
private:
QRegularExpression pattern;
bool invert = false;
};
inline Filter startsWith(QString pattern)
{
return [pattern = std::move(pattern)](const QString& src) { return src.startsWith(pattern); };
}
inline Filter regexp(QRegularExpression pattern)
{
return [pattern = std::move(pattern)](const QString& src) { return pattern.match(src).hasMatch(); };
}
} // namespace Filters

View File

@@ -36,6 +36,8 @@
#include "GZip.h"
#include <zlib.h>
#include <QByteArray>
#include <QDebug>
#include <QFile>
bool GZip::unzip(const QByteArray& compressedBytes, QByteArray& uncompressedBytes)
{
@@ -136,3 +138,81 @@ bool GZip::zip(const QByteArray& uncompressedBytes, QByteArray& compressedBytes)
}
return true;
}
int inf(QFile* source, std::function<bool(const QByteArray&)> handleBlock)
{
constexpr auto CHUNK = 16384;
int ret;
unsigned have;
z_stream strm;
memset(&strm, 0, sizeof(strm));
char in[CHUNK];
unsigned char out[CHUNK];
ret = inflateInit2(&strm, (16 + MAX_WBITS));
if (ret != Z_OK)
return ret;
/* decompress until deflate stream ends or end of file */
do {
strm.avail_in = source->read(in, CHUNK);
if (source->error()) {
(void)inflateEnd(&strm);
return Z_ERRNO;
}
if (strm.avail_in == 0)
break;
strm.next_in = reinterpret_cast<Bytef*>(in);
/* run inflate() on input until output buffer not full */
do {
strm.avail_out = CHUNK;
strm.next_out = out;
ret = inflate(&strm, Z_NO_FLUSH);
assert(ret != Z_STREAM_ERROR); /* state not clobbered */
switch (ret) {
case Z_NEED_DICT:
ret = Z_DATA_ERROR; /* and fall through */
case Z_DATA_ERROR:
case Z_MEM_ERROR:
(void)inflateEnd(&strm);
return ret;
}
have = CHUNK - strm.avail_out;
if (!handleBlock(QByteArray(reinterpret_cast<const char*>(out), have))) {
(void)inflateEnd(&strm);
return Z_OK;
}
} while (strm.avail_out == 0);
/* done when inflate() says it's done */
} while (ret != Z_STREAM_END);
/* clean up and return */
(void)inflateEnd(&strm);
return ret == Z_STREAM_END ? Z_OK : Z_DATA_ERROR;
}
QString zerr(int ret)
{
switch (ret) {
case Z_ERRNO:
return QObject::tr("error handling file");
case Z_STREAM_ERROR:
return QObject::tr("invalid compression level");
case Z_DATA_ERROR:
return QObject::tr("invalid or incomplete deflate data");
case Z_MEM_ERROR:
return QObject::tr("out of memory");
case Z_VERSION_ERROR:
return QObject::tr("zlib version mismatch!");
}
return {};
}
QString GZip::readGzFileByBlocks(QFile* source, std::function<bool(const QByteArray&)> handleBlock)
{
auto ret = inf(source, handleBlock);
return zerr(ret);
}

View File

@@ -1,8 +1,11 @@
#pragma once
#include <QByteArray>
#include <QFile>
class GZip {
public:
static bool unzip(const QByteArray& compressedBytes, QByteArray& uncompressedBytes);
static bool zip(const QByteArray& uncompressedBytes, QByteArray& compressedBytes);
};
namespace GZip {
bool unzip(const QByteArray& compressedBytes, QByteArray& uncompressedBytes);
bool zip(const QByteArray& uncompressedBytes, QByteArray& compressedBytes);
QString readGzFileByBlocks(QFile* source, std::function<bool(const QByteArray&)> handleBlock);
} // namespace GZip

View File

@@ -189,4 +189,4 @@ void InstanceCopyPrefs::enableDontLinkSaves(bool b)
void InstanceCopyPrefs::enableUseClone(bool b)
{
useClone = b;
}
}

View File

@@ -8,23 +8,23 @@
struct InstanceCopyPrefs {
public:
[[nodiscard]] bool allTrue() const;
[[nodiscard]] QString getSelectedFiltersAsRegex() const;
[[nodiscard]] QString getSelectedFiltersAsRegex(const QStringList& additionalFilters) const;
bool allTrue() const;
QString getSelectedFiltersAsRegex() const;
QString getSelectedFiltersAsRegex(const QStringList& additionalFilters) const;
// Getters
[[nodiscard]] bool isCopySavesEnabled() const;
[[nodiscard]] bool isKeepPlaytimeEnabled() const;
[[nodiscard]] bool isCopyGameOptionsEnabled() const;
[[nodiscard]] bool isCopyResourcePacksEnabled() const;
[[nodiscard]] bool isCopyShaderPacksEnabled() const;
[[nodiscard]] bool isCopyServersEnabled() const;
[[nodiscard]] bool isCopyModsEnabled() const;
[[nodiscard]] bool isCopyScreenshotsEnabled() const;
[[nodiscard]] bool isUseSymLinksEnabled() const;
[[nodiscard]] bool isLinkRecursivelyEnabled() const;
[[nodiscard]] bool isUseHardLinksEnabled() const;
[[nodiscard]] bool isDontLinkSavesEnabled() const;
[[nodiscard]] bool isUseCloneEnabled() const;
bool isCopySavesEnabled() const;
bool isKeepPlaytimeEnabled() const;
bool isCopyGameOptionsEnabled() const;
bool isCopyResourcePacksEnabled() const;
bool isCopyShaderPacksEnabled() const;
bool isCopyServersEnabled() const;
bool isCopyModsEnabled() const;
bool isCopyScreenshotsEnabled() const;
bool isUseSymLinksEnabled() const;
bool isLinkRecursivelyEnabled() const;
bool isUseHardLinksEnabled() const;
bool isDontLinkSavesEnabled() const;
bool isUseCloneEnabled() const;
// Setters
void enableCopySaves(bool b);
void enableKeepPlaytime(bool b);

View File

@@ -1,12 +1,14 @@
#include "InstanceCopyTask.h"
#include <QDebug>
#include <QtConcurrentRun>
#include <memory>
#include "FileSystem.h"
#include "Filter.h"
#include "NullInstance.h"
#include "pathmatcher/RegexpMatcher.h"
#include "settings/INISettingsObject.h"
#include "tasks/Task.h"
InstanceCopyTask::InstanceCopyTask(InstancePtr origInstance, const InstanceCopyPrefs& prefs)
InstanceCopyTask::InstanceCopyTask(BaseInstance* origInstance, const InstanceCopyPrefs& prefs)
{
m_origInstance = origInstance;
m_keepPlaytime = prefs.isKeepPlaytimeEnabled();
@@ -28,9 +30,8 @@ InstanceCopyTask::InstanceCopyTask(InstancePtr origInstance, const InstanceCopyP
if (!filters.isEmpty()) {
// Set regex filter:
// FIXME: get this from the original instance type...
auto matcherReal = new RegexpMatcher(filters);
matcherReal->caseSensitive(false);
m_matcher.reset(matcherReal);
QRegularExpression regexp(filters, QRegularExpression::CaseInsensitiveOption);
m_matcher = Filters::regexp(regexp);
}
}
@@ -38,38 +39,50 @@ void InstanceCopyTask::executeTask()
{
setStatus(tr("Copying instance %1").arg(m_origInstance->name()));
auto copySaves = [&]() {
QFileInfo mcDir(FS::PathCombine(m_stagingPath, "minecraft"));
QFileInfo dotMCDir(FS::PathCombine(m_stagingPath, ".minecraft"));
QString staging_mc_dir;
if (mcDir.exists() && !dotMCDir.exists())
staging_mc_dir = mcDir.filePath();
else
staging_mc_dir = dotMCDir.filePath();
FS::copy savesCopy(FS::PathCombine(m_origInstance->gameRoot(), "saves"), FS::PathCombine(staging_mc_dir, "saves"));
savesCopy.followSymlinks(true);
return savesCopy();
};
m_copyFuture = QtConcurrent::run(QThreadPool::globalInstance(), [this, copySaves] {
m_copyFuture = QtConcurrent::run(QThreadPool::globalInstance(), [this] {
if (m_useClone) {
FS::clone folderClone(m_origInstance->instanceRoot(), m_stagingPath);
folderClone.matcher(m_matcher.get());
folderClone.matcher(m_matcher);
folderClone(true);
setProgress(0, folderClone.totalCloned());
connect(&folderClone, &FS::clone::fileCloned,
[this](QString src, QString dst) { setProgress(m_progress + 1, m_progressTotal); });
return folderClone();
} else if (m_useLinks || m_useHardLinks) {
}
if (m_useLinks || m_useHardLinks) {
std::unique_ptr<FS::copy> savesCopy;
if (m_copySaves) {
QFileInfo mcDir(FS::PathCombine(m_stagingPath, "minecraft"));
QFileInfo dotMCDir(FS::PathCombine(m_stagingPath, ".minecraft"));
QString staging_mc_dir;
if (dotMCDir.exists() && !mcDir.exists())
staging_mc_dir = dotMCDir.filePath();
else
staging_mc_dir = mcDir.filePath();
savesCopy = std::make_unique<FS::copy>(FS::PathCombine(m_origInstance->gameRoot(), "saves"),
FS::PathCombine(staging_mc_dir, "saves"));
savesCopy->followSymlinks(true);
(*savesCopy)(true);
setProgress(0, savesCopy->totalCopied());
connect(savesCopy.get(), &FS::copy::fileCopied, [this](QString src) { setProgress(m_progress + 1, m_progressTotal); });
}
FS::create_link folderLink(m_origInstance->instanceRoot(), m_stagingPath);
int depth = m_linkRecursively ? -1 : 0; // we need to at least link the top level instead of the instance folder
folderLink.linkRecursively(true).setMaxDepth(depth).useHardLinks(m_useHardLinks).matcher(m_matcher.get());
folderLink.linkRecursively(true).setMaxDepth(depth).useHardLinks(m_useHardLinks).matcher(m_matcher);
folderLink(true);
setProgress(0, m_progressTotal + folderLink.totalToLink());
connect(&folderLink, &FS::create_link::fileLinked,
[this](QString src, QString dst) { setProgress(m_progress + 1, m_progressTotal); });
bool there_were_errors = false;
if (!folderLink()) {
#if defined Q_OS_WIN32
if (!m_useHardLinks) {
setProgress(0, m_progressTotal);
qDebug() << "EXPECTED: Link failure, Windows requires permissions for symlinks";
qDebug() << "attempting to run with privelage";
@@ -77,7 +90,7 @@ void InstanceCopyTask::executeTask()
QEventLoop loop;
bool got_priv_results = false;
connect(&folderLink, &FS::create_link::finishedPrivileged, this, [&](bool gotResults) {
connect(&folderLink, &FS::create_link::finishedPrivileged, this, [&got_priv_results, &loop](bool gotResults) {
if (!gotResults) {
qDebug() << "Privileged run exited without results!";
}
@@ -94,13 +107,11 @@ void InstanceCopyTask::executeTask()
}
}
if (m_copySaves) {
there_were_errors |= !copySaves();
if (savesCopy) {
there_were_errors |= !(*savesCopy)();
}
return got_priv_results && !there_were_errors;
} else {
qDebug() << "Link Failed!" << folderLink.getOSError().value() << folderLink.getOSError().message().c_str();
}
#else
qDebug() << "Link Failed!" << folderLink.getOSError().value() << folderLink.getOSError().message().c_str();
@@ -108,17 +119,19 @@ void InstanceCopyTask::executeTask()
return false;
}
if (m_copySaves) {
there_were_errors |= !copySaves();
if (savesCopy) {
there_were_errors |= !(*savesCopy)();
}
return !there_were_errors;
} else {
FS::copy folderCopy(m_origInstance->instanceRoot(), m_stagingPath);
folderCopy.followSymlinks(false).matcher(m_matcher.get());
return folderCopy();
}
FS::copy folderCopy(m_origInstance->instanceRoot(), m_stagingPath);
folderCopy.followSymlinks(false).matcher(m_matcher);
folderCopy(true);
setProgress(0, folderCopy.totalCopied());
connect(&folderCopy, &FS::copy::fileCopied, [this](QString src) { setProgress(m_progress + 1, m_progressTotal); });
return folderCopy();
});
connect(&m_copyFutureWatcher, &QFutureWatcher<bool>::finished, this, &InstanceCopyTask::copyFinished);
connect(&m_copyFutureWatcher, &QFutureWatcher<bool>::canceled, this, &InstanceCopyTask::copyAborted);
@@ -134,17 +147,16 @@ void InstanceCopyTask::copyFinished()
}
// FIXME: shouldn't this be able to report errors?
auto instanceSettings = std::make_shared<INISettingsObject>(FS::PathCombine(m_stagingPath, "instance.cfg"));
auto instanceSettings = std::make_unique<INISettingsObject>(FS::PathCombine(m_stagingPath, "instance.cfg"));
InstancePtr inst(new NullInstance(m_globalSettings, instanceSettings, m_stagingPath));
BaseInstance* inst(new NullInstance(m_globalSettings, std::move(instanceSettings), m_stagingPath));
inst->setName(name());
inst->setIconKey(m_instIcon);
if (!m_keepPlaytime) {
inst->resetTimePlayed();
}
if (m_useLinks)
inst->addLinkedInstanceId(m_origInstance->id());
if (m_useLinks) {
inst->addLinkedInstanceId(m_origInstance->id());
auto allowed_symlinks_file = QFileInfo(FS::PathCombine(inst->gameRoot(), "allowed_symlinks.txt"));
QByteArray allowed_symlinks;
@@ -160,7 +172,11 @@ void InstanceCopyTask::copyFinished()
allowed_symlinks_file
.filePath()); // we dont want to modify the original. also make sure the resulting file is not itself a link.
FS::write(allowed_symlinks_file.filePath(), allowed_symlinks);
try {
FS::write(allowed_symlinks_file.filePath(), allowed_symlinks);
} catch (const FS::FileSystemException& e) {
qCritical() << "Failed to write symlink :" << e.cause();
}
}
emitSucceeded();
@@ -171,3 +187,14 @@ void InstanceCopyTask::copyAborted()
emitFailed(tr("Instance folder copy has been aborted."));
return;
}
bool InstanceCopyTask::abort()
{
if (m_copyFutureWatcher.isRunning()) {
m_copyFutureWatcher.cancel();
// NOTE: Here we don't do `emitAborted()` because it will be done when `m_copyFutureWatcher` actually cancels, which may not occur
// immediately.
return true;
}
return false;
}

View File

@@ -5,6 +5,7 @@
#include <QUrl>
#include "BaseInstance.h"
#include "BaseVersion.h"
#include "Filter.h"
#include "InstanceCopyPrefs.h"
#include "InstanceTask.h"
#include "net/NetJob.h"
@@ -14,20 +15,21 @@
class InstanceCopyTask : public InstanceTask {
Q_OBJECT
public:
explicit InstanceCopyTask(InstancePtr origInstance, const InstanceCopyPrefs& prefs);
explicit InstanceCopyTask(BaseInstance* origInstance, const InstanceCopyPrefs& prefs);
protected:
//! Entry point for tasks.
virtual void executeTask() override;
bool abort() override;
void copyFinished();
void copyAborted();
private:
/* data */
InstancePtr m_origInstance;
BaseInstance* m_origInstance;
QFuture<bool> m_copyFuture;
QFutureWatcher<bool> m_copyFutureWatcher;
std::unique_ptr<IPathMatcher> m_matcher;
Filter m_matcher;
bool m_keepPlaytime;
bool m_useLinks = false;
bool m_useHardLinks = false;

View File

@@ -2,8 +2,7 @@
#include <QDebug>
#include <QFile>
InstanceCreationTask::InstanceCreationTask() = default;
#include "FileSystem.h"
void InstanceCreationTask::executeTask()
{
@@ -39,22 +38,29 @@ void InstanceCreationTask::executeTask()
// files scheduled to, and we'd better not let the user abort in the middle of it, since it'd
// put the instance in an invalid state.
if (shouldOverride()) {
bool deleteFailed = false;
setAbortable(false);
setStatus(tr("Removing old conflicting files..."));
qDebug() << "Removing old files";
for (auto path : m_files_to_remove) {
for (const QString& path : m_files_to_remove) {
if (!QFile::exists(path))
continue;
qDebug() << "Removing" << path;
if (!QFile::remove(path)) {
qCritical() << "Couldn't remove the old conflicting files.";
emitFailed(tr("Failed to remove old conflicting files."));
return;
qCritical() << "Could not remove" << path;
deleteFailed = true;
}
}
}
emitSucceeded();
return;
if (deleteFailed) {
emitFailed(tr("Failed to remove old conflicting files."));
return;
}
}
if (!m_abort)
emitSucceeded();
}

Some files were not shown because too many files have changed in this diff Show More