Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: screego/server
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: update
Choose a base ref
...
head repository: screego/server
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 9 commits
  • 5 files changed
  • 5 contributors

Commits on Apr 25, 2026

  1. Merge pull request #244 from screego/update

    Update
    jmattheis authored Apr 25, 2026
    Configuration menu
    Copy the full SHA
    be8b0f0 View commit details
    Browse the repository at this point in the history

Commits on May 10, 2026

  1. Add support for riscv64

    Co-authored-by: Copilot <copilot@github.com>
    dongdigua and Copilot committed May 10, 2026
    Configuration menu
    Copy the full SHA
    8d1d80b View commit details
    Browse the repository at this point in the history

Commits on May 13, 2026

  1. fix: disable window arm

    jmattheis committed May 13, 2026
    Configuration menu
    Copy the full SHA
    8c82c11 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #245 from dongdigua/master

    Add support for riscv64
    jmattheis authored May 13, 2026
    Configuration menu
    Copy the full SHA
    f946cee View commit details
    Browse the repository at this point in the history

Commits on Aug 1, 2026

  1. fix: remove badges

    jmattheis committed Aug 1, 2026
    Configuration menu
    Copy the full SHA
    eab1506 View commit details
    Browse the repository at this point in the history

Commits on Aug 20, 2026

  1. fix: don't close peer connection on transient 'disconnected' state

    Both connectionstatechange handlers treated 'disconnected' the same as
    'closed' and 'failed' and immediately called peer.close().
    
    Per the WebRTC spec, 'disconnected' only means that ICE connectivity checks
    are currently failing. The connection frequently recovers on its own -- brief
    network hiccups, Wi-Fi roaming between access points, or NAT rebinding all
    trigger it. Calling close() makes that recovery impossible, because a closed
    RTCPeerConnection cannot be reopened.
    
    The result was that a short network glitch permanently killed the stream and
    the viewer had to reload the page. Leaving 'disconnected' unhandled lets the
    browser's own ICE recovery do its job.
    
    Refs #53
    SWINDI authored and jmattheis committed Aug 20, 2026
    Configuration menu
    Copy the full SHA
    9f87229 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #250 from swindi-dev/fix/transient-disconnected

    fix: don't close peer connection on transient 'disconnected' state
    jmattheis authored Aug 20, 2026
    Configuration menu
    Copy the full SHA
    7dec440 View commit details
    Browse the repository at this point in the history

Commits on Sep 26, 2026

  1. fix(ui): decode room id from URL and encode it when writing back

    The room id was read from the query string with a hand-rolled parser that
    never decoded it, while the id was written back into the URL without any
    encoding:
    
        getFromURL = (key, search) =>
            search.slice(1).split('&')
                .find((param) => param.startsWith(`${key}=`))?.split('=')[1];
    
        window.history.pushState({roomId: id}, '', id ? `?room=${id}` : '?');
    
    Browsers percent-encode non-ASCII characters when a URL is serialized, so a
    room named "不辞" is shared as `?room=%E4%B8%8D%E8%BE%9E`, but the client then
    joins the literal `%E4%B8%8D%E8%BE%9E` room, which does not exist:
    
        -> {"type":"join","payload":{"id":"%E4%B8%8D%E8%BE%9E"}}
        <- close 1000 "room with id %E4%B8%8D%E8%BE%9E does not exist"
    
    The same asymmetry also broke ids containing `&`, `=`, `+`, `#` or `%`, and
    made ids that already contain percent escapes gain another encoding level on
    every write, producing broken (double encoded) share links.
    
    Use the platform URL API, which decodes on read and encodes on write exactly
    once:
    
        new URLSearchParams(search).get(key) ?? undefined
        const params = new URLSearchParams();
        params.set('room', id);
        window.history.pushState({roomId: id}, '', `?${params.toString()}`);
    
    No server change is needed: the room id stays the raw, human-readable string
    that the ws `create`/`join` payload and the server-side room map already use,
    and existing share links keep working.
    
    Verified: URL round-trip for 不辞 / "my room" / "a+b" / "a&b=c" / "100%",
    protocol-level e2e against a live server (encoded id -> "does not exist",
    decoded id -> joins, cleanup on owner leave), `yarn build` (tsc + vite) and
    `prettier --check src/useRoomID.ts`.
    LandmineHQ committed Sep 26, 2026
    Configuration menu
    Copy the full SHA
    fc98902 View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2026

  1. Merge pull request #254 from LandmineHQ/fix/room-id-url-encoding

    fix(ui): decode room id from URL and encode it when writing back
    jmattheis authored Sep 27, 2026
    Configuration menu
    Copy the full SHA
    4ae5f44 View commit details
    Browse the repository at this point in the history
Loading