FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Comparing seanpm2001:master...coder:master · seanpm2001/Coder_WebSocket · GitHub

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: seanpm2001/Coder_WebSocket
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
Could not load branches
Nothing to show
{{ refName }}
...
head repository: coder/websocket
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Could not load branches
Nothing to show
{{ refName }}
Checking mergeability… Don’t worry, you can still create the pull request.
  • 16 commits
  • 46 files changed
  • 9 contributors

Commits on Mar 14, 2025

  1. Configuration menu
    Copy the full SHA
    64d7449 View commit details
    Browse the repository at this point in the history
  2. build: update to Go 1.23 (coder#524)

    * build: update to Go 1.23
    * ci: update tools
    mafredri authored Mar 14, 2025
    Configuration menu
    Copy the full SHA
    778d161 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    246891f View commit details
    Browse the repository at this point in the history

Commits on Mar 25, 2025

  1. Configuration menu
    Copy the full SHA
    efb626b View commit details
    Browse the repository at this point in the history

Commits on Jul 10, 2025

  1. chore: apply various modernisations (coder#531)

    * Use any instead of interface{} given Go > 1.18
    * Minor tidies thanks to gofumpt
    * Run "go fix ./..." on the codebase
    * Apply a few modernisations suggested by gopls check
    * Remove unused parameter suggested by gopls check
    Jacalz authored Jul 10, 2025
    Configuration menu
    Copy the full SHA
    91013c1 View commit details
    Browse the repository at this point in the history

Commits on Sep 3, 2025

  1. fix: match Origin scheme if defined in OriginPatterns (coder#536)

    This change aligns origin checks with RFC 6454 by adding scheme-aware matching
    to OriginPatterns.
    
    Fixes coder#529
    mafredri authored Sep 3, 2025
    Configuration menu
    Copy the full SHA
    e11dd4e View commit details
    Browse the repository at this point in the history

Commits on Sep 4, 2025

  1. Configuration menu
    Copy the full SHA
    c7846ea View commit details
    Browse the repository at this point in the history

Commits on Sep 5, 2025

  1. refactor: add ErrMessageTooBig sentinel error for limited reads (co…

    …der#535)
    
    ---------
    
    Co-authored-by: Mathias Fredriksson <mafredri@gmail.com>
    DanielleMaywood and mafredri authored Sep 5, 2025
    Configuration menu
    Copy the full SHA
    7d7c644 View commit details
    Browse the repository at this point in the history

Commits on Nov 17, 2025

  1. Configuration menu
    Copy the full SHA
    8bf6dd2 View commit details
    Browse the repository at this point in the history

Commits on Dec 19, 2025

  1. fix: transmit in single frame when compression enabled (coder#552)

    Closes coder#435
    
    When compression was enabled, `Conn.Write` sent messages across many small frames due to the flate library's internal `bufferFlushSize` (240 bytes). Each flush triggered a `writeFrame` call, producing alternating ~236 and 4 byte frames.
    
    `Conn.Write` now compresses the entire message into a buffer first, then transmits it as a single frame. Messages below `flateThreshold` bypass compression and are sent uncompressed in a single frame.
    DanielleMaywood authored Dec 19, 2025
    Configuration menu
    Copy the full SHA
    8d3545a View commit details
    Browse the repository at this point in the history

Commits on Jan 9, 2026

  1. Configuration menu
    Copy the full SHA
    9f473ad View commit details
    Browse the repository at this point in the history

Commits on Feb 23, 2026

  1. Configuration menu
    Copy the full SHA
    39b7b07 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c98e9dc View commit details
    Browse the repository at this point in the history

Commits on Mar 11, 2026

  1. docs: fix roadmap links (coder#558)

    Goyabean authored Mar 11, 2026
    Configuration menu
    Copy the full SHA
    d099e16 View commit details
    Browse the repository at this point in the history

Commits on Jun 15, 2026

  1. avoid per-frame cleanup closures on read to remove 2 allocs per frame…

    … read (coder#565)
    
    read: avoid per-frame cleanup closures
    
    Every frame header and payload read called prepareRead, which returned a
    cleanup function to clear the timeout and translate close or cancellation
    errors. That function captured the context, connection, and the address of
    the caller's named error result. Because prepareRead returned the function,
    the closure outlived its stack frame and Go allocated its captured state on
    the heap for every frame read.
    
    Move the cleanup logic to a normal finishRead method and defer a direct
    method call instead. This preserves timeout cleanup and error translation
    without returning a closure. Compiler escape analysis with -gcflags=-m=2
    confirms that the old function literal escaped and forced the named error
    result in readFrameHeader and readFramePayload onto the heap; neither escape
    remains after this change.
    
    The results below compare parent d099e16 with this commit on an Apple
    M4 Max using GOMAXPROCS=1 and benchstat over 10 samples. A temporary
    in-package harness, not included in this commit, repeatedly called one
    internal frame read. Header reads parse a minimal frame header; payload reads
    copy 512 bytes from a buffered repeating reader. The background cases use
    context.Background, while the cancelable cases use an uncanceled
    context.WithCancel.
    
    Removing the escaping closure eliminates 2 allocations and 64 bytes from
    every frame read: one allocation for the closure environment and one for the
    named error result retained by that closure. Header reads with a background
    context improve from 170.5 to 118.5 ns/op, 216 to 152 B/op, and 6 to
    4 allocs/op. Header reads with a cancelable context improve from 211.1 to
    158.7 ns/op with the same allocation reduction. Payload reads remove the
    same fixed overhead; they remain slower because the benchmark also copies
    512 bytes.
    
    Both context types benefit because this commit does not change timeout
    registration. It only removes cleanup allocations made after every
    prepareRead call. An interleaved 12-sample
    BenchmarkConn/disabledCompress run, which exercises complete message reads,
    improves from 3.875 to 3.657 us/op (-5.63%), 42 to 32 allocs/op (-23.81%),
    and 1536 to 1216 B/op (-20.83%).
    mitchellh authored Jun 15, 2026
    Configuration menu
    Copy the full SHA
    7039364 View commit details
    Browse the repository at this point in the history
  2. conn: skip timeout callbacks for background contexts (coder#566)

    Every frame read and write registered a context.AfterFunc callback so a
    context cancellation could close the connection. context.Background
    cannot be canceled because its Done channel is nil, but the code still
    constructed, stored, stopped, and cleared a callback registration for
    each operation. Skip that work when ctx.Done() is nil, and only clear a
    timeout when one was actually installed. BenchmarkConn also joins its
    writer goroutine after timing so repeated benchmark runs finish cleanly.
    
    The results below compare parent 7039364 with this commit on an Apple
    M4 Max using GOMAXPROCS=1 over 10 samples. A temporary in-package
    harness, not included in this commit, repeatedly called one internal
    frame read using either context.Background or an uncanceled
    context.WithCancel. Header reads parse a minimal frame header; payload
    reads copy 512 bytes from a buffered repeating reader.
    
    Before this change, setupReadTimeout called context.AfterFunc even for
    context.Background. Avoiding that dead registration reduces background
    header reads from 121.95 to 29.94 ns/op and payload reads from 124.17 to
    29.15 ns/op. Both fall from 152 B/op and 4 allocs/op to zero.
    
    Cancelable contexts still need an AfterFunc registration, so they
    remain at 152 B/op and 4 allocs/op. BenchmarkConn/disabledCompress uses
    a cancelable context as well, so it remains at 1219 B/op and 32
    allocs/op.
    mitchellh authored Jun 15, 2026
    Configuration menu
    Copy the full SHA
    9c8faad View commit details
    Browse the repository at this point in the history
Loading

Back | FazBrowse Home | New Git URL