Skip to content

feat: make a session something to work in, and say it in Korean - #70

Merged
aodjo merged 75 commits into
developfrom
feature/korean
Sep 19, 2026
Merged

aodjo merged 75 commits into
developfrom
feature/korean

Conversation

@aodjo

@aodjo aodjo commented Sep 10, 2026 •

Copy link
Copy Markdown
Owner

Seventy-six commits that have never been through CI: the branch was started for Korean and
became where everything went. This is the one PR that puts them on develop, mostly so the
Windows and Linux jobs finally compile code that no local check covers — prism-tauri is
excluded from lint:cross entirely, and prism-stream is excluded on the Windows target, so
d3d11.rs, the shell's platform code and this branch's SetThreadExecutionState have been
written blind.

What is in it

Korean, and the interface around it. The English sentence is the key, so an untranslated
string comes out in English rather than as a name nobody wrote. Settings grew a card per
concern, and one button stopped doing two things.

Files between the two machines. A channel of their own on the wire, and — new here — a
window of their own: what is moving, what the far machine offers, what has arrived. The shell
can now ask a running stream for something, which it could not before: the pipe was closed
after Start because there was no second message, and that is why files were only ever
offered from inside the stream window.

The session, ended properly at both ends. A goodbye the host sends; a host that now gives
up on a client that has stopped answering rather than only on one whose port refused; a shell
that ends a stream it can no longer read instead of leaving it running and showing
connecting forever.

Four things found by reading rather than by failing. The replay window cleared one counter
too early, so a packet already accepted could be replayed. The parity path was not bounded the
way the video path is. An ack reported a frame at the window's far edge as lost. The settings
and the session history were written with fs::write, which store.rs exists to avoid — and
store.rs's own module doc names both files.

The relay, which had never carried a byte. A region's security rule matched on the source
port, so nothing reached the relay port at all; the docs said one port where the code needs
two. Both ends now fall through to the relay for any failure rather than only a timeout, and
the client says which near path failed rather than only that the relay did not open.

The stream window. Full screen brings the title bar back at the top edge instead of a
drawer of our own. The statistics are behind a control and off by default. The shrink control
is a step down — out of full screen, then into the Dock. The picture's size is on the panel,
which is what answered "why does this look soft": it arrives smaller than the window and is
stretched.

Both screens stay awake while a session runs, which is new, and the pointer follows a host
whose screen changes size mid-session, which it did not.

What this does not do

main is still at PR #3 and deploy.yml sends main to production, so this reaches staging
and nothing else. Production still runs the rendezvous and accounts from that commit.

Copilot AI lite review requested due to automatic review settings September 10, 2026 06:35

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@aodjo
aodjo merged commit ece4223 into develop Sep 19, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants