Ray Bennett
4699a741c1
feat: give console programs the terminal as their console ( #31 )
...
* feat: give console programs the terminal as their console
A standard handle that is a terminal, and CONIN$, CONOUT$ and CON, now act as a console: modes map to terminal settings,
reads and writes convert between UTF-16 and the terminal's UTF-8, terminal input becomes key events, and Ctrl+C runs the
control handlers. Files and pipes still fail the console functions, as on Windows.
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Wrote the console functions over the terminal, their pty test and the guest test program from the public console API documentation.
* test: let the console client run by hand, saying which step failed
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Made the exact size and cursor checks optional and gave each step an instruction and a failure number.
* feat: follow the console cursor through the output instead of asking the terminal
Programs that redraw their command line read and move the cursor on every key; asking the terminal each time was slow, and
wrong on terminals that never answer. The terminal is now asked only when the position may be stale.
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Wrote the cursor tracker, WriteConsoleOutputCharacter, ScrollConsoleScreenBuffer, the resize events and their tests.
2026-10-28 17:11:25 +01:00
mirkobrombin
b387f9f6f2
feat: serve App-V package files from their virtual file system folders
2026-10-27 16:10:47 +00:00
mirkobrombin
7ebf58957c
feat: add RegSetKeyValue and the key and value information classes of the native registry API
2026-10-27 14:46:45 +00:00
mirkobrombin
c895d8e91c
feat: add PathCchCanonicalize and the command line argument helpers
2026-10-27 14:32:31 +00:00
mirkobrombin
7a8f280f1f
feat: add Windows Runtime strings and app package queries
...
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Fixed the string header layout and wrote the activation factory registry, device family and package queries from the public headers.
2026-10-27 09:20:47 +00:00
mirkobrombin
06553d4e9b
feat: add the AccPropServices class, COM global streams and CoInitializeSecurity
...
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Wrote the AccPropServices component, the global stream and CoInitializeSecurity handlers and their tests from the public headers and documentation.
2026-10-27 08:46:04 +00:00
mirkobrombin
6ae62f2dbe
feat: give 32-bit programs the task allocator through CoGetMalloc
...
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Wrote the IMalloc object for 32-bit programs.
2026-10-27 08:09:12 +00:00
mirkobrombin
212559e5df
feat: add a WinHTTP client over the WinINet engine with kept-alive connections
...
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Wrote the WinHTTP layer over the existing WinINet client, connection reuse, header queries and the test against a local server.
2026-10-27 08:06:59 +00:00
mirkobrombin
d709d8dc74
feat: add Punycode domain names and the locale name table
2026-10-27 08:01:30 +00:00
mirkobrombin
48636a234b
feat: show theme names in the API trace
2026-10-27 03:59:26 +00:00
mirkobrombin
5378f9b89b
feat: fetch over HTTP and HTTPS with WinINet
2026-10-27 02:55:04 +00:00
mirkobrombin
d4adc44e8d
feat: give an SSH client's dialogs double clicks, split buttons and drop-down lists
2026-10-27 01:17:41 +00:00
mirkobrombin
44a593867c
feat: run an SSH client's terminal and file transfer windows
2026-10-26 23:13:38 +00:00
mirkobrombin
bcae123e00
feat: keep the runtime's libraries as files in the system directories
...
Closes #22
2026-10-26 14:17:44 +00:00
mirkobrombin
915726b147
docs: explain how to build the components installers need
...
Closes #18
2026-10-26 14:17:43 +00:00
mirkobrombin
609a4ae4c4
feat: receive socket messages and wait on socket events
2026-10-26 14:17:43 +00:00
mirkobrombin
5ca60c6e94
feat: add an experimental X11 desktop backend
...
Refs #10
Assisted-by: Claude Code:claude-opus-5.5
AI-Scope: wrote the XCB presentation, Vulkan and EGL surface support, the --desktop=x11 option and the Xvfb tests from the issue #10 plan
2026-10-25 16:17:49 +00:00
mirkobrombin
1fc462a544
fix: preserve handles and security tokens across processes
2026-10-25 08:52:34 +01:00
mirkobrombin
61927c1cc8
fix: handle shared waits and semaphore wakeups
2026-10-25 06:09:55 +01:00
mirkobrombin
acddd36586
fix: wait for matching window messages without busy polling
...
Assisted-by: Codex:GPT-6
AI-Scope: Implement blocking message waits and cover message filters and wakeups.
2026-10-25 04:38:33 +01:00
mirkobrombin
14d44fb628
feat: add a native OpenGL bridge
2026-10-25 01:39:15 +02:00
mirkobrombin
2e076d674f
feat: add process enumeration and ETW controller APIs
2026-10-25 00:01:22 +02:00
mirkobrombin
5cb1d1b313
fix: reserve TLS slot zero for executable storage
2026-10-24 16:24:28 +00:00
mirkobrombin
0a0fe4be89
feat: add shared Windows process state and parallel guest execution
2026-10-24 16:24:23 +00:00
mirkobrombin
f9f3a67f1c
fix: serve the Windows calls that Inno Setup, 7-Zip and VLC make
2026-10-23 21:27:15 +00:00
Mirko Brombin
c17a04a8a6
fix: publish the shell functions installers take by number and report WOW64 through IsOS
2026-10-17 13:01:45 +00:00
Mirko Brombin
657815ab15
chore: trace registry names and compared strings of 32-bit programs
2026-10-16 16:48:16 +00:00
Mirko Brombin
93acf0d441
feat: load libraries only mapped, as data or through their own manifest, and read plain files through the LZ functions
2026-10-03 10:21:49 +00:00
Mirko Brombin
f4509d0c1f
feat: implement the Windows APIs that .NET programs and their installers call
2026-09-23 00:12:56 +00:00
Mirko Brombin
a7372ea452
feat: add print debugger output and component traces when asked, with the arguments of failing reads
2026-09-22 02:53:35 +00:00
Mirko Brombin
f6fb246628
feat: read whole strings in lstrlenW, lstrcpyW and the shlwapi search functions
2026-09-22 02:53:35 +00:00
Mirko Brombin
1a2ffde613
feat: answer waveform device queries with no capture device, and none at all for 32-bit programs
2026-09-21 23:52:38 +00:00
Mirko Brombin
6a91fac5a6
feat: name the file of any loaded library in 32-bit GetModuleFileNameA
2026-09-21 23:48:03 +00:00
Mirko Brombin
0d482c302e
feat: add the ANSI profile, SHFileOperationA and OpenFile calls installers use, with case-blind INI paths
2026-09-21 23:48:03 +00:00
Mirko Brombin
a9fe7807dc
feat: build the ReactOS setup helpers and setup API as components that INF installers run through
2026-09-21 23:47:16 +00:00
Mirko Brombin
540aa97138
feat: dispatch the exceptions of 32-bit programs along their frames, with the C++ exceptions of msvcrt
2026-09-21 16:09:02 +00:00
Mirko Brombin
12a85bc9d2
feat: add wake 32-bit message waits for window messages
2026-09-21 15:02:08 +00:00
Mirko Brombin
fc7b77af91
feat: run messages sent to another thread's window on that thread in 32-bit programs
2026-09-21 14:17:07 +00:00
Mirko Brombin
a0b800e98b
feat: read and write RIFF files and memory through the multimedia file functions
2026-09-21 14:17:07 +00:00
Mirko Brombin
cbb6ceae39
feat: add apply the visual style and runtime options the prefix registry records when a process starts
2026-09-21 11:15:42 +00:00
Mirko Brombin
bb9cf43cf1
feat: create and activate side-by-side contexts from manifests and give programs the common controls 6 classes their manifests ask for
2026-09-21 10:33:51 +00:00
Mirko Brombin
2cc0e0ce88
feat: trace whole paths and the URL and path calls of 32-bit programs
2026-09-21 09:15:03 +00:00
Mirko Brombin
9316d3d67a
feat: look libraries named by a system directory path up by name and load the runtime's components dynamically in 32-bit programs
2026-09-21 07:15:16 +00:00
Mirko Brombin
5d6213c688
feat: add hand thread handles to other processes, serve handle requests in 32-bit processes, read 32-bit wait arrays at their width and queue work items
2026-09-21 06:06:44 +00:00
Mirko Brombin
3fc2448977
feat: build the Windows Installer, cabinet, side-by-side and structured storage components from ReactOS and serve them to programs
2026-09-21 06:00:50 +02:00
Mirko Brombin
b264bbd6c6
feat: find shared libraries in the system directory, keep the system's own libraries the runtime's, and redirect System32 for 32-bit programs
2026-09-21 05:13:14 +02:00
Mirko Brombin
bc97c80eed
feat: add sleep on the reactor's descriptors and a wake event when idle, and poll other processes' frames only for windows they draw into
2026-09-20 20:45:03 +02:00
Mirko Brombin
eda064950b
feat: add place 32-bit allocations in free low gaps and serve completion-routine file I/O, PathCch calls and dependencies beside a library loaded by path
2026-09-20 07:03:09 +00:00
Mirko Brombin
5a6297633c
feat: show Steam's sign-in window with cross-process window surfaces, web fonts, elevation and service configuration
2026-09-03 18:36:13 +02:00
Mirko Brombin
26fbeabc78
feat: run Steam's web UI with cross-process handles, per-thread message queues, socket events and process identity
2026-09-03 16:48:12 +02:00