Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3142 commits
Select commit Hold shift + click to select a range
6e09f01
Fix issues
Dan4oby Feb 9, 2026
92e9264
Danhoby <37343749+Dan4oby@users.noreply.github.com>
Dan4oby Feb 9, 2026
a6c5a85
Actually check for updates on launch (#5076)
Trial97 Feb 22, 2026
eb26dcd
fix: parse world_gen_settings.dat for seed (#5071)
Trial97 Feb 22, 2026
4ed77a9
URL protocol modpack import for any encoded URL (#4990)
Trial97 Feb 22, 2026
8855e16
tests: remove testsdata symlinks
Ryex Feb 23, 2026
69bf4d5
build: add dev container
getchoo Feb 23, 2026
a3eba81
fix backface culling reenabling with elytra preview
Octol1ttle Feb 24, 2026
c36fade
Fix backface culling re-enabling with elytra preview on (#5093)
Trial97 Feb 24, 2026
e8d0163
Update .clang-tidy configuration file
Octol1ttle Feb 25, 2026
1486e40
.clang-format: explicitly specify qualifier alignment
Octol1ttle Feb 25, 2026
dde1d21
run clang-format to apply new qualifier alignment
Octol1ttle Feb 25, 2026
6b7f7a2
Update clang-tidy config (#5098)
getchoo Feb 25, 2026
83e0b93
Remove testsdata symlinks (#5090)
DioEgizio Feb 25, 2026
eae13f7
Add CLI option to open main window when launching instance
MatthewCash Feb 26, 2026
94da130
Refactor warning enabling, enable warnings-as-errors
Octol1ttle Feb 25, 2026
ec4b36b
Fix compiler warnings
Octol1ttle Feb 25, 2026
110d1a8
Update libnbtplusplus
Octol1ttle Feb 25, 2026
eda4592
Fix implicit fallthrough
Octol1ttle Feb 25, 2026
f26a4f8
fix ignoring return value of function declared with 'nodiscard' attri…
Octol1ttle Feb 25, 2026
9cf9ec5
fix(InstanceList): count() should be int as all usages expect int
Octol1ttle Feb 25, 2026
0dfb6c9
fix(ModrinthCheckUpdate): guard list access
Octol1ttle Feb 25, 2026
f61acde
chore(nix): update lockfile
github-actions[bot] Mar 1, 2026
8da890a
Add a development container (#5091)
Trial97 Mar 2, 2026
52e6e35
chore(nix): update lockfile (#4984)
Trial97 Mar 2, 2026
b114d04
Use an owning QByteArray in ByteArraySink (#5050)
Trial97 Mar 2, 2026
f7941b6
fix(LaunchController): emit failed with correct reason
Octol1ttle Mar 4, 2026
314a7fc
fix(LaunchController): use separate message for account errors
Octol1ttle Mar 4, 2026
979973b
fix: open correct wiki URL when opened from the `Help` *menu*
Octol1ttle Mar 4, 2026
e3ea57c
chore(deps): update github artifact actions
renovate[bot] Mar 5, 2026
07ddbb7
actions(macos): build .dmg disk images
mctaylors Mar 5, 2026
068bbba
change: use BUILDSYSTEM_TARGETS to apply warnings
Octol1ttle Mar 5, 2026
e71d0b0
change(cmake): dehardcode launcher names in info.plist
mctaylors Mar 5, 2026
3768d38
change(cmake): certified vim skill issue
mctaylors Mar 5, 2026
cd9efa2
chore(deps): update korthout/backport-action action to v4.2.0
renovate[bot] Mar 5, 2026
0aa2cef
actions(macos): keep .zip and upload .dmg on release
mctaylors Mar 5, 2026
352b98d
Enable warnings as errors (#5101)
getchoo Mar 6, 2026
a4ea783
actions(macos): add .dmg because GHA didn't liked it
mctaylors Mar 6, 2026
7472a2b
change(cmake): i'm not sure but
mctaylors Mar 6, 2026
7eb2c2a
chore(nix): update lockfile
github-actions[bot] Mar 8, 2026
b518259
chore(nix): update lockfile (#5140)
Trial97 Mar 8, 2026
7c5d54f
change(CMakeLists.txt): dehardcode launcher name
mctaylors Mar 8, 2026
0a39535
change(CMakeLists.txt): dehardcode launcher name (#5142)
Trial97 Mar 9, 2026
ac8a512
change(cmake): dehardcode launcher names in info.plist (#5136)
Trial97 Mar 9, 2026
6d5a327
Open correct wiki URL when opened from main window (#5130)
Trial97 Mar 9, 2026
3ab187a
chore(deps): update cachix/install-nix-action digest to 2126ae7
renovate[bot] Mar 9, 2026
9dcb5b7
fix %INST_JAVA% incorrect path format on windows (#5072)
Trial97 Mar 9, 2026
4bba4aa
fix(actions): this is a certified bash classic
mctaylors Mar 9, 2026
c24c4ad
actions(macos): build .dmg disk images (#5135)
Trial97 Mar 9, 2026
0068eef
chore(deps): update cachix/install-nix-action digest to 2126ae7 (#5126)
Trial97 Mar 9, 2026
1bc5f18
chore(deps): update github artifact actions (major) (#5109)
Trial97 Mar 9, 2026
6763a7f
ci: push devcontainer to ghcr
getchoo Mar 4, 2026
f47df1e
build(nix): use LLVM-based stdenv
getchoo Mar 9, 2026
4372421
Push development container to GHCR (#5132)
getchoo Mar 10, 2026
a46fb0d
chore(deps): update docker/metadata-action action to v6
renovate[bot] Mar 10, 2026
7348cb9
chore(deps): update github artifact actions
renovate[bot] Mar 10, 2026
367de94
ci(container): try to fix manifest creation
getchoo Mar 10, 2026
d958a91
fix crash when updating datapacks
Trial97 Mar 10, 2026
5767479
handle mod formatting codes
Trial97 Dec 21, 2025
eb15897
reset scroll on resource change
Trial97 Jan 3, 2026
0b26d24
ask user if he wants to delete saves on modpack update
Trial97 Jan 4, 2026
56936cf
fix zip path traversal
Trial97 Feb 15, 2026
464a04a
ensure that save lock isunlocked on success
Trial97 Feb 18, 2026
48eade7
Apply suggestions from code review
Trial97 Feb 3, 2026
6d868f6
fix no name instances (#5055)
Trial97 Mar 10, 2026
d299126
fix zip path traversal (#5034)
Trial97 Mar 10, 2026
7bef408
Ask before deleting saves as part of a Modpack update (#4622)
Trial97 Mar 10, 2026
1888993
chore(deps): update docker/metadata-action action to v6 (#5156)
Trial97 Mar 10, 2026
0845218
chore(deps): update github artifact actions (major) (#5154)
Trial97 Mar 10, 2026
8b33c6e
chore(deps): update korthout/backport-action action to v4.2.0 (#5039)
Trial97 Mar 10, 2026
faf23c0
fix crash when updating datapacks (#5158)
DioEgizio Mar 10, 2026
bf65a73
chore(deps): update cachix/install-nix-action digest to 1ca7d21
renovate[bot] Mar 10, 2026
d65b140
change(Actions): remove stale workflow
Octol1ttle Mar 12, 2026
8cb9262
ci(container): try to fix manifest creation (#5157)
getchoo Mar 12, 2026
9e3893f
Sort modpack entries by version, rather than publishing date
TheCourierNV Mar 12, 2026
31eb4c6
improve error message
Octol1ttle Mar 13, 2026
a1e3a28
LaunchController: minor fixes (#5129)
Trial97 Mar 13, 2026
14da23b
Use LLVM-based stdenv for Nix build/shell (#5155)
Trial97 Mar 13, 2026
ec874f7
chore(deps): update actions/create-github-app-token action to v3
renovate[bot] Mar 14, 2026
76bbd0f
change: reshuffle launch log
Octol1ttle Mar 14, 2026
d510ad0
chore(nix): update lockfile
github-actions[bot] Mar 15, 2026
fac0ad7
feat: mark accounts with errors
Octol1ttle Mar 15, 2026
14ca5f1
Mark accounts with errors in dropdown (#5181)
DioEgizio Mar 15, 2026
7646007
fix(InstanceList): include lowercase windows.h
Octol1ttle Mar 15, 2026
13d9e0b
InstanceList: clean up includes
Octol1ttle Mar 15, 2026
3cdb464
InstanceList: include lowercase "windows.h" (#5185)
DioEgizio Mar 15, 2026
cf024e2
fix utf8 archive that doesn't mark the file as utf8
Trial97 Mar 15, 2026
3f97d65
codeql: fix some warnings
Trial97 Mar 15, 2026
37590c8
fix updater infinitly checking if there is an update
Trial97 Mar 15, 2026
47f4b85
codeql: fixed warnings
Trial97 Mar 15, 2026
5772a8a
Reshuffle launch log (#5179)
Trial97 Mar 16, 2026
cc22702
Remove stale workflow (#5167)
Trial97 Mar 16, 2026
de96b6a
change: update issue templates to match new labels
Octol1ttle Mar 16, 2026
d221a0a
feat: print hardware information in launch log
Octol1ttle Mar 12, 2026
81f9837
Update blocked/blocking workflow to match new labels
Octol1ttle Mar 16, 2026
1c92ef8
Log OS, CPU, RAM and GPUs on all systems (#5169)
DioEgizio Mar 16, 2026
0434e16
Update blocked/blocking workflow to match new labels (#5190)
DioEgizio Mar 16, 2026
ea67f17
Update issue templates to match new labels (#5189)
DioEgizio Mar 16, 2026
ab72536
Fix infinite update (#5187)
DioEgizio Mar 16, 2026
90c4107
Actually update blocked/blocking workflow
Octol1ttle Mar 16, 2026
98c3129
chore(nix): update lockfile (#5180)
Trial97 Mar 16, 2026
c301e3c
Fix URL import for Linux
Dan4oby Mar 8, 2026
0a5cca8
chore(deps): update hendrikmuhs/ccache-action action to v1.2.21
renovate[bot] Mar 16, 2026
6f7ba83
change(CMakeLists): MORE dehardcoding
mctaylors Mar 16, 2026
e16235c
fix: don't always ask for the changelog from modrinth
Ryex Mar 16, 2026
67fe365
chore: clang-tidy work adjacent to changelog api fix
Ryex Mar 16, 2026
d3f8dfe
Updated Resource Pack Formats
Trial97 Mar 16, 2026
d78ab04
mod versions now list in newest first order
Trial97 Mar 16, 2026
6b90403
build(cmake): don't duplicate resources to launcher sources
getchoo Feb 17, 2026
25387c5
build(cmake): add support for clang-tidy
getchoo Feb 17, 2026
720ea08
chore(nix): add clang-tidy-diff wrapper
getchoo Feb 17, 2026
d97847e
Updated Resource Pack Formats (#5199)
DioEgizio Mar 17, 2026
658c7e2
change(CMakeLists): dehardcode app names (#5196)
DioEgizio Mar 17, 2026
d1252d4
chore(deps): update hendrikmuhs/ccache-action action to v1.2.21 (#5195)
DioEgizio Mar 17, 2026
c661322
Actually update blocked/blocking workflow (#5192)
DioEgizio Mar 17, 2026
90a3769
chore(deps): update actions/create-github-app-token action to v3 (#5174)
DioEgizio Mar 17, 2026
49cc358
chore(deps): update cachix/install-nix-action digest to 1ca7d21 (#5163)
DioEgizio Mar 17, 2026
662a448
feat: curseforge modpack downloading via binaryname:// uri (#4872)
Trial97 Mar 17, 2026
441fb4a
load the path name with local8Bit if not utf
Trial97 Mar 17, 2026
c7d43f1
Modrith api optional changelog (#5197)
Trial97 Mar 17, 2026
7d62e72
chore(deps): update azure/login action to v3
renovate[bot] Mar 17, 2026
5979052
chore(deps): update azure/login action to v3 (#5200)
Trial97 Mar 17, 2026
085a3b0
feat: ibm semeru runtime open edition support
ludgie Mar 17, 2026
9d5f405
feat+fix: Rework modrinth fallback for blocked mods a bit
DioEgizio Dec 15, 2025
61d08d1
change(CMakeLists): make .mrpack XML file name unique to avoid conflicts
Octol1ttle Mar 17, 2026
5dd9099
feat+fix: Rework modrinth fallback for blocked mods a bit (#4499)
DioEgizio Mar 17, 2026
77e36c7
Fix #4695: Clarify Java auto-download path in settings UI
metehanCekci Mar 17, 2026
0e732bf
dehardcode branding in Linux manual and Windows app info
Octol1ttle Mar 17, 2026
adf9d67
mod versions now list in newest first order (#5194)
Trial97 Mar 17, 2026
4ae1296
Dehardcode branding in Linux manuals and Windows app info, make .mrpa…
Trial97 Mar 17, 2026
33056c9
ci: run clang-tidy
getchoo Feb 17, 2026
067a992
ci(clang-tidy): disable pch
getchoo Mar 7, 2026
e8a7e2e
build: use app id for mime package name
getchoo Mar 17, 2026
a5a6da8
ci(container): login to ghcr to fetch digests for manifest
getchoo Mar 18, 2026
8477cc4
build(cmake): refactor global c/cxx build flags
getchoo Mar 5, 2026
3d7d9b4
Refactor global C/CXX flags in CMake (#5133)
getchoo Mar 18, 2026
877832c
Use clang-tidy in CMake and CI (#5051)
getchoo Mar 18, 2026
cf17221
chore(deps): update hendrikmuhs/ccache-action action to v1.2.21
renovate[bot] Mar 18, 2026
1ce90fa
build: use app id for mime package name (#5205)
getchoo Mar 18, 2026
289a7e3
ci(container): login to ghcr to fetch digests for manifest (#5206)
getchoo Mar 18, 2026
53385fd
Fix #4695: Update java path label and tooltip (#5198)
Trial97 Mar 18, 2026
cd06eee
JavaChecker: Add support for ppc64 and ppc64le architectures
runlevel5 Mar 18, 2026
3967fde
fix heap buffer overflow
Trial97 Mar 18, 2026
06c2956
chore(deps): update actions/cache action to v5.0.4
renovate[bot] Mar 18, 2026
3f23985
JavaChecker: Add support for ppc64 and ppc64le architectures (#5212)
Ryex Mar 18, 2026
c61249d
chore(deps): update actions/cache action to v5.0.4 (#5214)
Ryex Mar 18, 2026
bc809d7
fix heap buffer overflow (#5213)
Trial97 Mar 18, 2026
4c3a7c4
chore(deps): update cachix/cachix-action action to v17
renovate[bot] Mar 18, 2026
8e8bc5a
fix: URL import fix for Linux (#5141)
Trial97 Mar 18, 2026
109e453
chore(deps): update cachix/cachix-action action to v17 (#5215)
Ryex Mar 18, 2026
b00e5e3
chore(deps): update hendrikmuhs/ccache-action action to v1.2.21 (#5208)
Trial97 Mar 18, 2026
0478602
Some small cleanups (#4772)
Trial97 Mar 18, 2026
cd006d6
fix(PackProfile): overwrite update task when it has different network…
Octol1ttle Mar 19, 2026
24fea7b
ci(container): fix digest image reference for manifest
getchoo Mar 19, 2026
5cf20d9
ci(container): fix digest image reference for manifest (#5219)
getchoo Mar 19, 2026
b7677c8
ci(container): create manifests for all tags
getchoo Mar 19, 2026
348907f
ci(container): create manifests for all tags (#5220)
DioEgizio Mar 19, 2026
f945422
fix: also export LIBGL_KOPPER_DRI2=1 on zink
DioEgizio Mar 20, 2026
5d0eeae
fix: only enable fortify on optimized builds
DioEgizio Mar 20, 2026
e524fa5
fix: allow disabling gl and vulkan features with an envvar and disabl…
DioEgizio Mar 20, 2026
696039e
fix: also export LIBGL_KOPPER_DRI2=1 on zink (#5222)
DioEgizio Mar 20, 2026
2514c8b
fix: only enable fortify on optimized builds (#5223)
DioEgizio Mar 20, 2026
26a2b35
Sort modpack versions properly (#5170)
Ryex Mar 20, 2026
d0705a9
handle mod formatting codes (#4550)
Ryex Mar 20, 2026
731866c
Overwrite component update task when it has different network mode (#…
Ryex Mar 20, 2026
2f62b8e
fix: allow disabling gl and vulkan features with an envvar and disabl…
Ryex Mar 21, 2026
39bb912
feat: ibm semeru runtime open edition support (openj9 jvm) (#5138)
Trial97 Mar 21, 2026
03543a0
Add CLI option to open main window when launching instance (#5107)
DioEgizio Mar 21, 2026
e9fab9a
build(cmake): avoid re-defining `_FORTIFY_SOURCE`
getchoo Mar 21, 2026
eed06a7
build(cmake): avoid re-defining `_FORTIFY_SOURCE` (#5228)
getchoo Mar 21, 2026
d43c213
chore(nix): update lockfile
github-actions[bot] Mar 22, 2026
988ec79
Update update-flake.yml with new labels
Ryex Mar 22, 2026
0daf466
add priority label
Ryex Mar 22, 2026
09823db
chore(nix): update lockfile (#5230)
Trial97 Mar 22, 2026
838687f
fix: log error if file open/commit fails
Octol1ttle Mar 22, 2026
f0f26bb
add robot type label
Ryex Mar 23, 2026
5136c15
rate limit the FTB mod downloads
Trial97 Mar 23, 2026
e90ecda
rate limit the FTB mod downloads (#5237)
DioEgizio Mar 23, 2026
3a65ed4
do not delete mod on cancel
Trial97 Mar 23, 2026
6c6dc55
Update update-flake.yml with new labels (#5231)
Trial97 Mar 23, 2026
f91accd
Log error if file open/commit fails (#5235)
Trial97 Mar 23, 2026
19eba5c
make OpenJ9 logo square
TayouVR Mar 23, 2026
c16a25f
make OpenJ9 logo square (#5240)
timoreo22 Mar 23, 2026
6674f1e
Revert "Sort modpack entries by version, rather than publishing date"
Trial97 Mar 23, 2026
69fe3e3
feat: warn user on launch if there is not enough available RAM
Octol1ttle Mar 24, 2026
b3fa99d
change: enable automatic update checking by default
Octol1ttle Mar 26, 2026
e6d7e5c
Backport new NetJob failure dialog from Octol1ttle's libcurl PR
TheKodeToad Nov 23, 2025
4bc72cc
My tweaks
TheKodeToad Nov 23, 2025
7bb746d
Safer dialog
TheKodeToad Nov 26, 2025
3a48d13
feat(NetworkJobFailedDialog): implement URL copying
Octol1ttle Mar 26, 2026
64c78fa
Improve NetJob failure dialog (#5260)
Trial97 Mar 26, 2026
9f5f1bc
Enable automatic update checking by default (#5259)
Trial97 Mar 26, 2026
d0ac15a
chore(deps): update hendrikmuhs/ccache-action action to v1.2.22
renovate[bot] Mar 26, 2026
47ad070
chore(deps): update korthout/backport-action action to v4.3.0
renovate[bot] Mar 26, 2026
eed2fac
change(renovate.json): add labels automatically
Octol1ttle Mar 26, 2026
5ad45a4
Warn user on launch if there is not enough available RAM (#5249)
Trial97 Mar 26, 2026
bf42cfd
fix: rename LAUNCHER_DISABLE_GLVULKAN to PRISMLAUNCHER_DISABLE_GLVULKAN
DioEgizio Mar 21, 2026
1ea0c75
fix: dehardcode PRISMLAUNCHER_JAVA_PATHS too
DioEgizio Mar 26, 2026
1b05e33
do not delete mod on cancel (#5238)
Trial97 Mar 26, 2026
c7fd66c
Revert "Sort modpack entries by version, rather than publishing date"…
Trial97 Mar 26, 2026
43c4223
chore(deps): update korthout/backport-action action to v4.3.0 (#5264)
Trial97 Mar 26, 2026
39bc1a7
chore(deps): update hendrikmuhs/ccache-action action to v1.2.22 (#5263)
Trial97 Mar 26, 2026
75f951f
Add Renovate labels automatically (#5265)
Trial97 Mar 26, 2026
eb44bdc
fix: fix PRISMLAUNCHER_JAVA_PATHS
DioEgizio Mar 26, 2026
63a8b43
chore: clang-format
DioEgizio Mar 27, 2026
f191947
chore(deps): update cachix/install-nix-action digest to 96951a3
renovate[bot] Mar 28, 2026
7ffec10
chore(deps): update cachix/install-nix-action digest to 96951a3 (#5242)
Trial97 Mar 28, 2026
2b9620b
build(devcontainer): explicitly include vulkan headers
getchoo Mar 28, 2026
01a4a6a
build(devcontainer): explicitly include vulkan headers (#5276)
getchoo Mar 28, 2026
071be5f
chore(nix): update lockfile
github-actions[bot] Mar 29, 2026
17048a5
Use `Launcher_ENVName` for launcher environment variable names (#5226)
getchoo Mar 29, 2026
31be615
chore(nix): update lockfile (#5278)
Trial97 Mar 29, 2026
83d82c2
fix world import
Trial97 Mar 30, 2026
fbc4569
fix incorrect mod side beeing saved
Trial97 Mar 30, 2026
9b06c06
fix(CI): correctly append PRISMLAUNCHER_DISABLE_GLVULKAN to AppImage …
Octol1ttle Mar 31, 2026
3d1f495
Correctly append PRISMLAUNCHER_DISABLE_GLVULKAN to AppImage env (#5286)
DioEgizio Mar 31, 2026
2b390a4
fix world import (#5282)
DioEgizio Mar 31, 2026
1450ffc
fix incorrect mod side beeing saved (#5283)
DioEgizio Mar 31, 2026
0689e58
fixes crash on servers with invalid packet
Trial97 Apr 1, 2026
a4c9e29
fixes crash on servers with invalid packet (#5289)
Trial97 Apr 1, 2026
1f34036
update clang-tidy config
Trial97 Apr 1, 2026
9c81e74
nix: update to llvmPackages_22
Trial97 Apr 1, 2026
a3c5f1f
Fix weird utf archive (#5186)
Trial97 Apr 2, 2026
c58562a
Allow selecting multiple items in Network Error dialog
0x189D7997 Apr 2, 2026
67a1aee
Allow selecting multiple items in Network Error dialog (#5296)
Trial97 Apr 3, 2026
156b7f3
fix: clang-tidy action (#5292)
Trial97 Apr 3, 2026
5a0931d
fix heap overflow with unstable version comparation
Trial97 Mar 24, 2026
8427626
add modrinth pre-release support to flexVer implementation
Trial97 Apr 1, 2026
087ffb2
clang-tidy: fix warnings
Trial97 Apr 1, 2026
d2eae3b
change(CI): verify clang-tidy config before running
Octol1ttle Apr 1, 2026
a79cb5a
change(CI): run clang-tidy quietly and only for files in compilation …
Octol1ttle Apr 1, 2026
16bd9c2
fix heap overflow with unstable version comparation (#5252)
Trial97 Apr 3, 2026
3656335
CI: verify clang-tidy config before running (#5291)
Trial97 Apr 3, 2026
35526b5
Add back drag and dropping to screenshots page
leia-uwu Apr 3, 2026
c367cc1
LaunchController: fix double finish
Octol1ttle Apr 3, 2026
ad32596
LaunchController: clang-tidy
Octol1ttle Apr 3, 2026
29c4f2f
LaunchController: replace Q_ASSERT_X with regular Q_ASSERT
Octol1ttle Apr 3, 2026
447333c
LaunchController: fix double task finish (#5301)
Trial97 Apr 3, 2026
b0f7ae1
Add back drag and dropping to screenshots page (#5300)
DioEgizio Apr 3, 2026
68efc9b
Fix Flame recommended RAM check
f-schnabel Apr 6, 2026
194b72f
Fix CurseForge recommended RAM check (#5310)
Trial97 Apr 6, 2026
2fe0569
fix(McClient): do not use unsigned type for response length
Octol1ttle Apr 9, 2026
91616ae
refactor: McClient
Octol1ttle Apr 9, 2026
ec44842
fix: don't count JAR mods when checking offline libraries
Octol1ttle Apr 9, 2026
724c9a4
fix(CI/nix): bump macOS
Octol1ttle Apr 9, 2026
4cf8cf7
fix(PrintInstanceInfo): add break before OS info
Octol1ttle Apr 9, 2026
6b9d2db
fix(PrintInstanceInfo): add break before OS info (#5336)
Trial97 Apr 9, 2026
2ef2212
CI/Nix: Bump macOS (#5335)
Trial97 Apr 9, 2026
e8afd48
Don't count JAR mods when checking offline libraries (#5334)
Trial97 Apr 9, 2026
013bb5c
fix McClient (#5332)
Trial97 Apr 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ AllowShortIfStatementsOnASingleLine: false
ColumnLimit: 140
---
Language: Cpp
AccessModifierOffset: -1
AlignConsecutiveMacros: None
AlignConsecutiveAssignments: None
BraceWrapping:
Expand All @@ -15,3 +16,4 @@ BraceWrapping:
BreakBeforeBraces: Custom
BreakConstructorInitializers: BeforeComma
Cpp11BracedListStyle: false
QualifierAlignment: Left
33 changes: 30 additions & 3 deletions .clang-tidy
Original file line number Diff line number Diff line change
@@ -1,5 +1,32 @@
FormatStyle: file

Checks:
- modernize-use-using
- readability-avoid-const-params-in-decls
"bugprone-*,clang-analyzer-*,cppcoreguidelines-*,hicpp-*,misc-*,modernize-*,performance-*,portability-*,readability-*,
-*-magic-numbers,
-*-non-private-member-variables-in-classes,
-*-special-member-functions,
-bugprone-easily-swappable-parameters,
-cppcoreguidelines-owning-memory,
-cppcoreguidelines-pro-type-static-cast-downcast,
-modernize-use-nodiscard,
-modernize-use-trailing-return-type,
-portability-avoid-pragma-once,
-readability-avoid-unconditional-preprocessor-if,
-readability-function-cognitive-complexity,
-readability-identifier-length,
-readability-redundant-access-specifiers"

SystemHeaders: false
CheckOptions:
misc-include-cleaner.MissingIncludes: false
readability-identifier-naming.DefaultCase: "camelBack"
readability-identifier-naming.NamespaceCase: "CamelCase"
readability-identifier-naming.ClassCase: "CamelCase"
readability-identifier-naming.ClassConstantCase: "CamelCase"
readability-identifier-naming.EnumCase: "CamelCase"
readability-identifier-naming.EnumConstantCase: "CamelCase"
readability-identifier-naming.MacroDefinitionCase: "UPPER_CASE"
readability-identifier-naming.ClassMemberPrefix: "m_"
readability-identifier-naming.StaticConstantPrefix: "s_"
readability-identifier-naming.StaticVariablePrefix: "s_"
readability-identifier-naming.GlobalConstantPrefix: "g_"
readability-implicit-bool-conversion.AllowPointerConditions: true
30 changes: 22 additions & 8 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -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 changes: 1 addition & 1 deletion .envrc
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
use flake
use nix
watch_file nix/*.nix
9 changes: 9 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,12 @@

# tabs -> spaces
bbb3b3e6f6e3c0f95873f22e6d0a4aaf350f49d9

# (nix) alejandra -> nixfmt
4c81d8c53d09196426568c4a31a4e752ed05397a

# reformat codebase
1d468ac35ad88d8c77cc83f25e3704d9bd7df01b

# format a part of codebase
5c8481a118c8fefbfe901001d7828eaf6866eac4
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: Bug Report
description: File a bug report
labels: [bug]
labels: ["bug: unconfirmed", "status: needs triage"]
body:
- type: markdown
attributes:
Expand Down
6 changes: 3 additions & 3 deletions .github/ISSUE_TEMPLATE/rfc.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Template based on https://gitlab.archlinux.org/archlinux/rfcs/-/blob/0ba3b61e987e197f8d1901709409b8564958f78a/rfcs/0000-template.rst
name: Request for Comment (RFC)
description: Propose a larger change and start a discussion.
labels: [rfc]
labels: ["type: enhancement", "status: needs discussion", "status: needs triage"]
body:
- type: markdown
attributes:
Expand Down Expand Up @@ -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:
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/suggestion.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: Suggestion
description: Make a suggestion
labels: [enhancement]
labels: ["type: enhancement", "status: needs triage"]
body:
- type: markdown
attributes:
Expand Down
153 changes: 153 additions & 0 deletions .github/actions/package/linux/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
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: Cleanup Qt installation on Linux
shell: bash
run: |
rm -rf "$QT_PLUGIN_PATH"/printsupport
rm -rf "$QT_PLUGIN_PATH"/sqldrivers
rm -rf "$QT_PLUGIN_PATH"/help
rm -rf "$QT_PLUGIN_PATH"/designer
rm -rf "$QT_PLUGIN_PATH"/qmltooling
rm -rf "$QT_PLUGIN_PATH"/qmlls
rm -rf "$QT_PLUGIN_PATH"/qmllint
rm -rf "$QT_PLUGIN_PATH"/platformthemes/libqgtk3.so

- 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 ${{ inputs.gpg-private-key-id }} > 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 {} +

#disable OpenGL and Vulkan launcher features until https://github.com/VHSgunzo/sharun/issues/35
echo "PRISMLAUNCHER_DISABLE_GLVULKAN=1" >> "$INSTALL_APPIMAGE_DIR"/.env
#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@v7
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@v7
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@v7
with:
name: PrismLauncher-${{ runner.os }}-${{ inputs.version }}-${{ inputs.build-type }}-${{ env.APPIMAGE_ARCH }}.AppImage.zsync
path: PrismLauncher-${{ runner.os }}-*${{ env.APPIMAGE_ARCH }}.AppImage.zsync
Loading