Skip to content

Commit 1e01cb2

Browse files
NocccerBrettClearyflavioislimaCommandMC
authored
[Feature] Download Manager (#1832)
* First Download Manager poc * Added progress chart * yarn i18n * Added download speed and disk speed to progress * yarn i18n * Frontend fixes * fix build error * Added abortcontrollers and removed kill method * Fixed killing of game and installation * Adapt sidebar progress * css and layout changes (#1847) * css and layout changes * rounding disk and down values, layout improvements, colored disk and down labels * Added isQueued status * Removed hasStatus * fix: stuck queued status * fix: stop install on gamepage * fix: proper refresh after install * feat: remove from queue from gamecard * i18n: updated keys * fix: button label on gamepage * chore: more i18n * Merge fixes * yarn i18n * Merge fixes (2) * Replace rechart with react-chartjs * Revert "Replace rechart with react-chartjs" This reverts commit 176cbc0. * feat: gameList header component * feat: show list of finished elements * i18n: updated keys * Log down and disk speed aswell * Backend fixes/improvments * fix: dm back route * feat: clear completed list button * fix: dont show installed on finished list * i18n: more keys * fix: move done status do be * feat: UI adjustments * fix: import * chore: version + flatpak file * fix: PR comments * fix: more comments * feat: add status to finished element * fix: merge fixes * feat: show canceled elements at the end of the list * i18n: updated keys * Remove unnecessary try-catch * chore: remove unecessary try catch * fix: installDialog width * chore: add try/catch around json parse * i18n: fixes after merge * fix: sorting and status * fix: pr comments * other: fix missing gaminfo on install dialog from gamepage Co-authored-by: Brett <[email protected]> Co-authored-by: Flavio F Lima <[email protected]> Co-authored-by: Mathis Dröge <[email protected]>
1 parent a3eb82b commit 1e01cb2

File tree

135 files changed

+3332
-572
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

135 files changed

+3332
-572
lines changed

flatpak/local.heroic.yml

+63-156
Original file line numberDiff line numberDiff line change
@@ -1,127 +1,126 @@
11
id: com.heroicgameslauncher.hgl
22
sdk: org.freedesktop.Sdk
33
runtime: org.freedesktop.Platform
4-
runtime-version: '21.08'
4+
runtime-version: '22.08'
55
base: org.electronjs.Electron2.BaseApp
6-
base-version: '21.08'
6+
base-version: '22.08'
77
command: heroic-run
88
separate-locales: false
99

10+
cleanup:
11+
- /share/docs
12+
- /share/man
13+
1014
sdk-extensions:
1115
- org.freedesktop.Sdk.Compat.i386
1216
- org.freedesktop.Sdk.Extension.toolchain-i386
13-
17+
1418
finish-args:
19+
- --allow=devel
20+
- --allow=multiarch
21+
- --device=all
22+
- --env=PATH=/app/bin:/app/utils/bin:/usr/bin:/usr/lib/extensions/vulkan/MangoHud/bin:/app/bin/heroic/resources/app.asar.unpacked/build/bin/linux
23+
- --filesystem=xdg-data/lutris:rw
24+
- --filesystem=xdg-data/Steam:rw
25+
- --filesystem=xdg-data/applications:rw
26+
- --filesystem=~/.steam:rw
27+
- --filesystem=~/Games/Heroic:create
28+
- --filesystem=~/.var/app/com.valvesoftware.Steam:rw
29+
- --filesystem=xdg-documents
30+
- --filesystem=xdg-desktop
31+
# should fix access to SD card on the deck
32+
- --filesystem=/run/media
33+
# should fix steamdeck controler navigation
34+
- --filesystem=/run/udev:ro
1535
- --share=ipc
1636
- --share=network
1737
- --socket=x11
1838
- --socket=wayland
1939
- --socket=pulseaudio
20-
- --allow=multiarch
21-
- --allow=devel
22-
- --device=all
2340
- --talk-name=org.freedesktop.Notifications
24-
- --persist=.wine
25-
- --filesystem=host
26-
- --env=LD_LIBRARY_PATH=/app/lib:/app/lib32
27-
- --env=PATH=/app/bin:/app/utils/bin:/usr/bin:/usr/lib/extensions/vulkan/MangoHud/bin/
28-
- --env=GST_PLUGIN_SYSTEM_PATH=/app/lib/gstreamer-1.0:/app/lib32/gstreamer-1.0:/usr/lib/extensions/gstreamer-1.0:/usr/lib/x86_64-linux-gnu/gstreamer-1.0:/usr/lib/i386-linux-gnu/gstreamer-1.0
29-
3041

3142
add-extensions:
3243
org.freedesktop.Platform.Compat.i386:
3344
directory: lib/i386-linux-gnu
34-
version: '21.08'
45+
version: '22.08'
3546

3647
org.freedesktop.Platform.Compat.i386.Debug:
3748
directory: lib/debug/lib/i386-linux-gnu
38-
version: '21.08'
49+
version: '22.08'
3950
no-autodownload: true
4051

4152
org.freedesktop.Platform.GL32:
4253
directory: lib/i386-linux-gnu/GL
4354
version: '1.4'
44-
versions: 21.08;1.4
55+
versions: 22.08;1.4
4556
subdirectories: true
4657
no-autodownload: true
4758
autodelete: false
4859
add-ld-path: lib
4960
merge-dirs: vulkan/icd.d;glvnd/egl_vendor.d;OpenCL/vendors;lib/dri;lib/d3d;vulkan/explicit_layer.d;vulkan/implicit_layer.d
5061
download-if: active-gl-driver
5162
enable-if: active-gl-driver
63+
64+
x-compat-i386-opts: &compat_i386_opts
65+
prepend-pkg-config-path: /app/lib32/pkgconfig:/usr/lib/i386-linux-gnu/pkgconfig
66+
ldflags: -L/app/lib32
67+
append-path: /usr/lib/sdk/toolchain-i386/bin
68+
env:
69+
CC: i686-unknown-linux-gnu-gcc
70+
CXX: i686-unknown-linux-gnu-g++
71+
libdir: /app/lib32
72+
73+
org.freedesktop.Platform.VAAPI.Intel.i386:
74+
directory: lib/i386-linux-gnu/dri/intel-vaapi-driver
75+
version: '22.08'
76+
versions: '22.08'
77+
autodelete: false
78+
no-autodownload: true
79+
add-ld-path: lib
80+
download-if: have-intel-gpu
81+
autoprune-unless: have-intel-gpu
5282

5383
com.valvesoftware.Steam.Utility:
54-
subdirectories: true
84+
subdirectories: true
5585
directory: utils
5686
version: stable
5787
versions: stable;beta;test
5888
add-ld-path: lib
5989
merge-dirs: bin
6090
no-autodownload: true
6191
autodelete: true
62-
63-
org.freedesktop.Platform.ffmpeg-full:
64-
directory: lib/ffmpeg
65-
add-ld-path: .
66-
version: '21.08'
67-
no-autodownload: true
68-
autodelete: false
69-
70-
org.freedesktop.Platform.ffmpeg_full.i386:
71-
directory: lib32/ffmpeg
72-
add-ld-path: .
73-
version: '21.08'
74-
no-autodownload: true
75-
autodelete: false
76-
77-
org.freedesktop.Platform.VAAPI.Intel.i386:
78-
directory: lib/i386-linux-gnu/dri/intel-vaapi-driver
79-
version: '21.08'
80-
versions: '21.08'
81-
autodelete: false
82-
no-autodownload: true
83-
add-ld-path: lib
84-
download-if: have-intel-gpu
85-
autoprune-unless: have-intel-gpu
8692

8793
modules:
88-
- name: unappimage
89-
buildsystem: simple
90-
build-commands:
91-
- make -C squashfs-tools -j ${FLATPAK_BUILDER_N_JOBS} install INSTALL_DIR=/app/bin
92-
sources:
93-
- type: git
94-
url: https://github.com/refi64/unappimage
95-
commit: d7f86f2a0d7ec3a69211125207d5f127386b849a
96-
94+
# --- Tools ---
9795
- name: vulkan-tools
9896
buildsystem: cmake-ninja
9997
config-opts:
10098
- -DGLSLANG_INSTALL_DIR=/app
10199
- -DVULKAN_HEADERS_INSTALL_DIR=/app
102100
- -DCMAKE_BUILD_TYPE=Release
103101
sources:
104-
- type: archive
105-
url: https://github.com/KhronosGroup/Vulkan-Tools/archive/refs/tags/v1.2.186.tar.gz
106-
sha256: 8ba0e21e8de0b70d31985d251d11150efee71266875262798784e9d1ec9b717b
102+
- type: git
103+
url: https://github.com/KhronosGroup/Vulkan-Tools.git
104+
tag: sdk-1.3.224.1
107105

108106
- name: gamemode
109107
buildsystem: meson
110108
config-opts: &gamemode_opts
111-
- -Dwith-systemd=false
112-
- -Dwith-daemon=false
113109
- -Dwith-examples=false
114110
- -Dwith-util=false
115111
- -Dwith-sd-bus-provider=no-daemon
116112
sources: &gamemode_sources
117-
- type: archive
118-
url: https://github.com/FeralInteractive/gamemode/releases/download/1.6.1/gamemode-1.6.1.tar.xz
119-
sha256: 10c2a3f142eae472f5a09e42616e38c666c05b25ca3e61e562a543bb3fda66c5
113+
- type: git
114+
url: https://github.com/FeralInteractive/gamemode.git
115+
tag: '1.7'
116+
commit: 4dc99dff76218718763a6b07fc1900fa6d1dafd9
117+
x-checker-data:
118+
type: git
120119

121120
- name: gamemode-32bit
122121
build-options:
123122
arch:
124-
x86_64: &compat_i386_opts
123+
x86_64: *compat_i386_opts
125124
buildsystem: meson
126125
config-opts: *gamemode_opts
127126
sources: *gamemode_sources
@@ -132,23 +131,25 @@ modules:
132131
- install -Dm755 data/gamemoderun -t /app/bin
133132
sources: *gamemode_sources
134133

134+
# --- Heroic ---
135135
- name: heroic
136136
buildsystem: simple
137137
build-commands:
138-
- unappimage Heroic-2.4.0.AppImage
139-
- rm Heroic-2.4.0.AppImage
138+
- chmod +x Heroic-*.AppImage
139+
- ./Heroic-*.AppImage --appimage-extract
140140
- mv squashfs-root /app/bin/heroic
141141
- install -D heroic-run -t /app/bin
142+
- rm Heroic-2.5.0-beta.1.AppImage
142143
sources:
143144
- type: script
144145
dest-filename: heroic-run
145146
commands:
146147
- zypak-wrapper /app/bin/heroic/heroic "$@"
147148

148149
- type: file
149-
filename: Heroic-2.4.0.AppImage
150+
filename: Heroic-2.5.0-beta.1.AppImage
150151
# put right path here
151-
path: ../dist/Heroic-2.4.0.AppImage
152+
path: ../dist/Heroic-2.5.0-beta.1.AppImage
152153

153154
- name: platform-bootstrap
154155
buildsystem: simple
@@ -180,49 +181,6 @@ modules:
180181
- type: file
181182
path: com.heroicgameslauncher.hgl.desktop
182183

183-
- name: p7zip
184-
no-autogen: true
185-
build-options:
186-
strip: true
187-
make-args:
188-
- all2
189-
- OPTFLAGS=-O2 -g -std=gnu++14
190-
- DEST_HOME=$(FLATPAK_DEST)
191-
- DEST_BIN=$(FLATPAK_DEST)/bin
192-
- DEST_SHARE=$(FLATPAK_DEST)/lib/p7zip
193-
- DEST_MAN=$(FLATPAK_DEST)/share/man
194-
make-install-args:
195-
- DEST_HOME=$(FLATPAK_DEST)
196-
- DEST_BIN=$(FLATPAK_DEST)/bin
197-
- DEST_SHARE=$(FLATPAK_DEST)/lib/p7zip
198-
- DEST_MAN=$(FLATPAK_DEST)/share/man
199-
sources:
200-
- type: archive
201-
url: "https://downloads.sourceforge.net/p7zip/p7zip_16.02_src_all.tar.bz2"
202-
sha256: 5eb20ac0e2944f6cb9c2d51dd6c4518941c185347d4089ea89087ffdd6e2341f
203-
- type: patch
204-
paths:
205-
- patches/p7zip/gcc10-conversion.patch
206-
- type: shell
207-
only-arches:
208-
- "x86_64"
209-
commands:
210-
- ln -sf makefile.linux_amd64_asm makefile.machine
211-
- type: shell
212-
only-arches:
213-
- "i386"
214-
commands:
215-
- ln -sf makefile.linux_x86_asm_gcc_4.X makefile.machine
216-
modules:
217-
- name: yasm
218-
buildsystem: cmake-ninja
219-
sources:
220-
- type: archive
221-
url: "https://github.com/yasm/yasm/archive/v1.3.0.tar.gz"
222-
sha256: f708be0b7b8c59bc1dbe7134153cd2f31faeebaa8eec48676c10f972a1f13df3
223-
cleanup:
224-
- "*"
225-
226184
- name: cabextract
227185
build-options:
228186
strip: true
@@ -231,17 +189,6 @@ modules:
231189
url: "https://www.cabextract.org.uk/cabextract-1.9.1.tar.gz"
232190
sha256: afc253673c8ef316b4d5c29cc4aa8445844bee14afffbe092ee9469405851ca7
233191

234-
- name: unrar
235-
no-autogen: true
236-
build-options:
237-
strip: true
238-
make-install-args:
239-
- DESTDIR=$(FLATPAK_DEST)
240-
sources:
241-
- type: archive
242-
url: "https://www.rarlab.com/rar/unrarsrc-5.8.3.tar.gz"
243-
sha256: 3591685c8f5bbcb0be09de3d0a0544adb88966b9cccb80986f6cd2b534fd91a6
244-
245192
- name: binutils-ar
246193
buildsystem: simple
247194
build-options:
@@ -250,46 +197,6 @@ modules:
250197
- install -Dm755 /usr/bin/ar -t ${FLATPAK_DEST}/bin/
251198
- install -Dm755 /usr/lib/$(gcc -print-multiarch)/libbfd-*.so -t ${FLATPAK_DEST}/lib/
252199

253-
- name: perl
254-
no-autogen: true
255-
config-opts:
256-
- "-des"
257-
cleanup:
258-
- "*.pod"
259-
- "/bin/perl5*"
260-
- "/bin/c2ph"
261-
- "/bin/corelist"
262-
- "/bin/cpan"
263-
- "/bin/enc2xs"
264-
- "/bin/encguess"
265-
- "/bin/h2*"
266-
- "/bin/instmodsh"
267-
- "/bin/json_pp"
268-
- "/bin/libnetcfg"
269-
- "/bin/perlbug"
270-
- "/bin/perldoc"
271-
- "/bin/perlthanks"
272-
- "/bin/piconv"
273-
- "/bin/pl2pm"
274-
- "/bin/pod*"
275-
- "/bin/prove"
276-
- "/bin/pstruct"
277-
- "/bin/ptar*"
278-
- "/bin/shasum"
279-
- "/bin/splain"
280-
- "/bin/xsubpp"
281-
- "/bin/zipdetails"
282-
sources:
283-
- type: archive
284-
url: "https://www.cpan.org/src/5.0/perl-5.32.0.tar.gz"
285-
sha256: efeb1ce1f10824190ad1cadbcccf6fdb8a5d37007d0100d2d9ae5f2b5900c0b4
286-
- type: script
287-
dest-filename: configure
288-
commands:
289-
- "exec ./configure.gnu $@"
290-
post-install:
291-
- "find ${FLATPAK_DEST}/lib/perl5 -type f -exec chmod u+w {} \\;"
292-
293200
- name: aria2
294201
config-opts:
295202
- --disable-libaria2

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@
157157
"react-dom": "17",
158158
"react-i18next": "^11.16.7",
159159
"react-router-dom": "^6.3.0",
160+
"recharts": "^2.1.14",
160161
"shlex": "^2.1.2",
161162
"short-uuid": "^4.2.0",
162163
"simple-keyboard": "^3.4.136",

public/bin/darwin/gogdl

3.78 KB
Binary file not shown.

public/bin/linux/gogdl

1.93 KB
Binary file not shown.

public/bin/win32/gogdl.exe

1.91 KB
Binary file not shown.

public/locales/az/gamepage.json

+11
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,9 @@
5555
"import": "İdxal Oyunu",
5656
"install": "Yüklemek",
5757
"no-path-selected": "No path selected",
58+
"queue": {
59+
"remove": "Remove from Queue"
60+
},
5861
"remove_from_favourites": "Sevimlilərdən Sil",
5962
"run-exe-first": "Run Installer First",
6063
"running-setup": "Running Setup",
@@ -126,6 +129,13 @@
126129
"login": "Log in",
127130
"title": "You are NOT logged in"
128131
},
132+
"Open": "",
133+
"queue": {
134+
"label": {
135+
"canceled": "Download Canceled",
136+
"remove": "Remove from download manager"
137+
}
138+
},
129139
"report_problem": "Bu oyunu idarə edən problemi bildirin",
130140
"sdl": {
131141
"title": "Quraşdırılacaq komponentləri seçin"
@@ -156,6 +166,7 @@
156166
"moving": "Quraşdırma köçürülür, zəhmət olmasa gözləyin",
157167
"notinstalled": "Bu oyun quraşdırılmayıb",
158168
"processing": "Fayllar emal olunur, gözləyin",
169+
"queued": "Queued",
159170
"reparing": "Oyun Təmir edilir, zəhmət olmasa gözləyin",
160171
"totalDownloaded": "Toplam Endirilib",
161172
"updating": "Oyun Yenilənir"

0 commit comments

Comments
 (0)