Commit Graph

368 Commits

Author SHA1 Message Date
Adam
988ca33b15 browser: remove libfmt usage from render process
stdout usage can trigger chromium's seccomp sandbox - see #155, #156
2025-08-06 17:44:34 +01:00
Adam
792f8024ae window_launcher: set SDL_VIDEODRIVER=x11 for rs3 2025-07-07 15:14:42 +01:00
Adam
c123251fe5 window_launcher: lots of deduplication
As well as fixing some inconsistent behaviour, the main purpose of this
is to make sure either exec() or exit() is always called on a fork()-ed
child process. With custom launch commands, it's now possible to cause
exec() to fail, which was resulting in the child process just falling
through and continuing alongside the parent process - which usually ends
up causing the whole program to crash.
2025-06-03 20:23:37 +01:00
nmlynch94
087f516f58 fix: chdir to "$XDG_DATA_HOME" to avpressure vessel trying to switch directories that doesn't exist 2025-03-27 01:02:06 -04:00
nmlynch94
f7bca9d1da feat: utilize umu-run with ge-proton to launch OSRS.exe, followed by wine as a fallback. 2025-03-26 17:04:38 -04:00
Adam
4469ce3a4e window_launcher: support exe on linux 2025-03-19 00:52:05 +00:00
Adam
33c1187430 window_launcher: support posix launch commands 2025-03-16 03:27:19 +00:00
Adam
1720eb0758 window_launcher: redo 022bafb
That commit introduced an issue (e.g. #115) where the internal '/close'
API would always be interpreted as coming from the primary browser due
to how the ROUTE macro expands. I blame C++ for not warning me.
2025-02-17 20:11:50 +00:00
Adam
bfe41e284f browser: LauncherDetails doesn't depend on plugins 2025-02-16 18:27:35 +00:00
Adam
5b730532ab window_launcher: don't support InstallPlugin without libarchive 2025-02-16 18:23:27 +00:00
Adam
903ae94c82 browser: store x and y in launcher.bin
This is the most basic form of config, containing only 6 bytes, two of
which are a magic header value to allow future extension if needed.

Fixes #112
2025-02-15 19:58:07 +00:00
Adam
b75e1a31ec window_launcher: surely it compiles on windows now? 2025-02-14 10:34:13 +00:00
Adam
a258b5a713 window_launcher: make BrowseFile compile on windows 2025-02-13 23:30:44 +00:00
Adam
758942fc4d window_launcher: browse-directory API 2025-02-13 23:08:50 +00:00
Adam
4657bc8ac6 window_launcher: add condition to UninstallPlugin 2025-02-13 23:01:46 +00:00
Adam
9cadc55107 window_launcher: several plugin-related endpoints 2025-02-13 22:02:22 +00:00
Adam
022bafbed4 window_launcher: split up API handlers 2025-02-13 21:11:17 +00:00
Adam
d2e9f1c43e window_launcher: don't use ssize_t 2025-02-11 01:11:13 +00:00
Adam
efde675863 window_launcher: handle directory entries in archives
Some archive formats do this and some don't. They do it to try to be
helpful, but it's more annoying than helpful for those of us who want to
support lots of archive formats, because it makes the output of
libarchive less standardised.
2025-02-11 00:10:33 +00:00
Adam
c4907eb20a browser: change file:// to plugin:// 2025-02-07 20:57:15 +00:00
Adam
fdd8c7b367 app: queue plugin messages until OnLoadEnd 2025-02-06 00:14:44 +00:00
Adam
8fac5d517a browser: prevent a race condition 2025-02-06 00:14:11 +00:00
Adam
f879f44718 window_launcher: append file separator
This is required by the plugin loader, and is usually handled by the
frontend but we don't get the path from the frontend in this specific
case, so we need to append one ourselves. We also need to make sure the
path uses '/' as separators, but as far as I can tell, C++'s "path" type
will always give us that as long as we don't call "make_preferred".
2025-01-28 02:09:26 +00:00
Adam
5455a060fc window_launcher: plugin updater URL APIs 2025-01-28 01:33:46 +00:00
Adam
b374ba10a2 repo: CEF 114 -> 126 on linux
Windows build to follow soon probably
2025-01-24 17:57:48 +00:00
Adam
7e7bd18372 browser,library: browser custom-js api 2024-12-16 19:38:49 +00:00
Adam
a2863c9baa resource_handler: set CORS header on responses 2024-11-09 20:51:24 +00:00
Adam
0580411c6e library, browser: devtools APIs 2024-11-09 20:23:56 +00:00
Adam
70bceb809f browser: queue early plugin messages 2024-11-01 22:29:27 +00:00
Adam
7408a45db5 client: add config path to StartPlugin 2024-10-31 19:03:31 +00:00
Adam
ec2ebf29b6 window_launcher: fix UI closing on login 2024-10-31 17:15:06 +00:00
Adam
eeca7d84e3 app: use OpenFileMappingW on windows 2024-10-27 17:48:53 +00:00
Adam
2e05c66d75 browser: always send CAPTUREDONE when appropriate
Fixes at least one case where a capture would not be handled and a
CAPTUREDONE message would not be sent, leading to a lock-up.
2024-10-27 16:01:09 +00:00
Adam
04cdb54a1d browser: request handler doesn't need runtime_dir 2024-10-27 14:09:59 +00:00
Adam
066c2ae31e app: windows build error 2024-10-26 22:33:23 +01:00
Adam
13f0a0247a browser: handle shm capture messages 2024-10-26 22:00:54 +01:00
Adam
5c9a7d3df6 window_plugin: cancel-reposition API 2024-10-24 16:26:22 +01:00
Adam
632de86d71 browser: fix msvc build probably 2024-10-21 23:16:24 +01:00
Adam
4224132dd4 browser: lock IPC sends
Instead of heap-allocating and sending all the data in one chunk, do
multiple sends with a mutex preventing any interleaving. Potentially
slightly faster, and fixes a plethora of bugs.
2024-10-21 22:38:20 +01:00
Adam
1d0b7231ca osr: don't force-close 2024-10-20 22:45:18 +01:00
Adam
885aee6012 window_launcher: /close API 2024-10-20 22:27:42 +01:00
Adam
d8cd16d710 browser: add plugin close-request API 2024-10-18 23:21:29 +01:00
Adam
260a0fe202 app: delete window.close()
window.close() is completely broken in CEF, it destroys the browser and
calls OnBeforeClose before calling CanClose, which generally leads to
segmentation faults no matter how you handle it. So don't use it. Close
via the Bolt API instead.
2024-10-18 21:08:30 +01:00
Adam
6250a41ec5 osr: send popup-related messages
Also implicitly fixes a bug where OnPaint assumed the type to be
PET_VIEW, which led to visual corruption and occasional crashing when
using a drop-down menu.
2024-10-17 02:10:36 +01:00
Adam
26accfbe43 client: remove unused functions 2024-10-15 01:19:13 +01:00
Adam
61a2550356 window_launcher: fix windows build again 2024-10-13 23:06:38 +01:00
Adam
65d1da69c3 window_launcher: fix windows build 2024-10-13 23:00:57 +01:00
Adam
de0187dd96 window_plugin: start-reposition API 2024-10-13 17:55:26 +01:00
Adam
2b3dabbc02 browser: move ParseQuery + macros to separate file 2024-10-13 17:15:32 +01:00
Adam
934d0224a8 osr: resize -> reposition 2024-10-12 05:29:24 +01:00