Commit Graph
72 Commits
Author SHA1 Message Date
Henrik Rydgård d94a40931e Log the debugger port at NOTICE, remove fprintf logging of the port 2026-08-21 10:32:21 +02:00
Henrik Rydgård e6dbc9364d Libretro buildfix 2026-08-20 02:13:27 +02:00
Henrik RydgårdandClaude Opus 5 7084d6c800 wsdbg: add --launch and --quiet, and stop teaching a redundant wait
--launch starts PPSSPP itself, learns the debugger port from its output,
connects once the socket accepts, and kills it on exit. That replaces
some wrapper scripts, which had to background the emulator,
poll a log file for "Listening on port N", sleep a guessed interval before
connecting, and taskkill afterwards. The polling was also racy - a fixed port
plus a leftover process from an earlier run is a good way to drive the wrong
emulator - and nothing cleaned up, so --timeout's wall-clock budget left
processes alive for hours.

To make that dependable, the port is now also written straight to stderr from
Core/WebServer.cpp, outside the log system entirely. A tool that launches
PPSSPP has to learn the port before it can connect to anything, so that line
must not be losable to a log level or a disabled channel. wsdbg watches both
child streams for it, since which one it lands on depends on how a given build
routes logging.

--quiet sends the broadcast.config.set that every script was hand-writing,
disabling the logger and input broadcasts. The log one is expensive - each line
gets encoded as JSON and pushed down the socket.

The rest is one bug, in the docs rather than the code, which cost a lot of time:
the scripting example paired cpu.runUntilTime with ":wait cpu.stepping". --sync
already waits for the cpu.stepping that follows a resume-family command, so the
explicit :wait waits for a second one that never comes and burns the whole
--sync-timeout. With --sync-timeout 400 that turns a 3-second run into a
7-minute one that looks exactly like a slow boot, because the emulator really
has stopped where it was asked to. Example fixed, and both that and muting the
'stepping' category (same failure, different cause) are called out - wsdbg now
warns when a raw broadcast.config.set disables 'stepping'.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GZq8ZtJmFY7bkX5FVkr3P9
2026-08-20 01:42:36 +02:00
Henrik Rydgård 46d5fae342 VSH prep: Free up kernel memory by not storing the PPGe atlas in it 2026-08-19 18:45:52 +02:00
Henrik Rydgård 9b9083d3e5 Fix for headless port problem by Claude 2026-08-16 23:09:12 +02:00
Nemoumbra 5e9edb83ad Fixed passing 'timeout' to 'maxTries' in WebServer 2026-08-10 23:31:16 +03:00
Henrik Rydgård 0ed1f3eceb Add some easy ways to get into the web debugger 2026-08-08 10:13:09 +02:00
Acts1631 2c3437940b Fix upload filename traversal
Reject multipart filenames containing path separators before joining
them to the selected upload path. This keeps LAN upload clients
from creating files outside the selected directory.
2026-07-23 15:04:04 -04:00
Henrik Rydgård 9e0cb93085 Workaround in remote disk streaming server 2026-03-08 12:40:22 +01:00
Henrik Rydgård 1846163985 Replace Path::ToVisualString with GetFriendlyPath which shortens. Much better on iOS 2026-02-13 21:16:00 +01:00
刘皓 5716cbd41d Use the libretro VFS interface in libretro builds 2026-01-01 00:24:01 -05:00
Henrik Rydgård 95549ae2c9 iOS ViewController: Get rid of the GLKViewController base class 2025-10-27 19:24:25 +01:00
Henrik Rydgård b1d14d8221 More upload UI polish 2025-10-27 12:20:24 +01:00
Henrik Rydgård fa64598b4f More polish 2025-10-27 12:20:24 +01:00
Henrik Rydgård d2c9104eff Polish and fixes to the upload form. 2025-10-27 12:20:24 +01:00
Henrik Rydgård 9abd8c21e1 Finish implementing the multipart protocol, now multi file uploads work without corruption. 2025-10-27 12:20:24 +01:00
Henrik Rydgård dc682fb2c8 Basic upload via web browser support, only single file almost works 2025-10-27 12:20:24 +01:00
Henrik Rydgård c686d48268 Add prototype Upload screen and a couple new icons. Some refactoring. 2025-10-27 12:20:20 +01:00
Henrik Rydgård 18ccef1bd4 Just some minor code modernization 2025-08-25 10:45:12 +02:00
Henrik Rydgård f6050a442c Fix serving the remote debugger locally, add a setting for the auto-launcher 2025-08-24 11:17:19 +02:00
Henrik Rydgård 05b82d6ce4 Allow passing in a custom resolver to HTTPRequest and Connection. This inverts the bad dependency. 2025-08-06 00:16:34 +02:00
Henrik Rydgård a50b303a38 Redesign the recent files API a bit. 2025-03-26 17:59:30 +01:00
Henrik Rydgård d8f82b5875 Minor cleanup 2025-03-25 16:45:43 +01:00
Henrik Rydgård f2d8d44513 Slightly improved logging (httpserver) 2025-01-14 12:37:56 +01:00
Henrik Rydgård e01ca5b057 Logging API change (refactor) (#19324)
* Rename LogType to Log

* Explicitly use the Log:: enum when logging. Allows for autocomplete when editing.

* Mac/ARM64 buildfix

* Do the same with the hle result log macros

* Rename the log names to mixed case while at it.

* iOS buildfix

* Qt buildfix attempt, ARM32 buildfix
2024-07-14 14:42:59 +02:00
Herman Semenov f75d7d13a0 [Net/Web] Fixed strict reduce types to 32 bit sizes, changed to memsize 2024-05-11 19:43:13 -05:00
Henrik Rydgård 71354d0189 Webserver: Reduce connection timeout 2024-01-18 20:04:02 +01:00
Henrik Rydgård 9bcb858131 Various changes to the webserver to handle serving HTTP subdirectories 2023-12-29 21:35:31 +01:00
Henrik Rydgård 7d114eb29b Remote ISO: Add working support for streaming CHD files over the network 2023-12-29 13:34:22 +01:00
Henrik Rydgård 4b027baeb6 Remote ISO: Don't expose HTTP paths from recent for "re-sharing", won't work. 2023-12-29 12:55:08 +01:00
Henrik Rydgård 71f1e29513 Remote ISO: Allow sharing a folder of ISOs instead of Recent. 2023-12-29 12:55:08 +01:00
Henrik Rydgård a416d94e38 CHD over http wasn't actually working, disable again until it can be fixed 2023-12-29 12:19:06 +01:00
Henrik Rydgård 2160abb5ec Web server: Send 404 as appropriate 2023-12-29 11:21:14 +01:00
Henrik Rydgård 9317ad4b23 Allow streaming .chd files 2023-12-29 00:03:10 +01:00
Henrik Rydgård eb14c87a71 Allow configuring the game language separately from the PPSSPP UI language, with a new setting. 2023-07-23 11:30:04 +02:00
Henrik Rydgård 93bb113009 Common: Rename Download to Request, and the old Request to ServerRequest. 2023-07-21 22:12:00 +02:00
Henrik Rydgård ecea3844b0 Improved progress bar popups for downloads
Now shows the filename, and also there's a delay mode where they'll only
be visible if the download takes more than a second, plus they can be
named.
2023-07-18 15:13:44 +02:00
Henrik Rydgård 6945deec01 Replace a LOT of sprintf with snprintf, and a few strcpy with truncate_cpy 2023-04-28 21:04:05 +02:00
Henrik Rydgård 3b39e9e068 Turn the VFS into a class, to be able to reuse it for other purposes. 2023-03-06 16:42:47 +01:00
Henrik Rydgård 7e374c9324 Address feedback, more fixes 2023-01-05 08:38:53 +01:00
Henrik Rydgård b56eef487c Strict mode checking - no way to forget detaching now.
And if we forget to attach, boom. Hopefully I caught all of them.
2023-01-05 08:38:52 +01:00
lainon fec708489a Correct cleaning string and remove unused vars 2022-09-30 12:26:30 +03:00
Henrik Rydgård 3dd2bd0589 Merge pull request #15697 from unknownbrackets/debugger
Update embedded web debugger
2022-07-17 10:26:10 +02:00
Unknown W. Brackets 96b86907c2 Debugger: Fix SVG content-type for proper display. 2022-07-16 09:43:12 -07:00
Unknown W. Brackets aad5082d55 Config: Move recent ISOs access to accessors. 2022-07-11 20:44:13 -07:00
Unknown W. Brackets 552cbb2a2c Debugger: Serve local web debugger from assets. 2021-09-26 11:56:32 -07:00
Unknown W. Brackets 4c51f4761d http: Add Accept header as a parameter in requests. 2021-08-22 10:03:59 -07:00
Unknown W. Brackets 82cd904e99 Common: Use Path for GetFileSize(). 2021-05-15 11:11:37 -07:00
Henrik Rydgård 4d344f556a Additional feedback. 2021-05-13 10:39:17 +02:00
Henrik Rydgård 025bcb1673 Introduce Path, start using it all over the place.
Still lots left to convert!

Convert GetSysDirectory to return Path.

More buildfixing

Remove unnecessary Path( constructors
2021-05-13 10:39:16 +02:00