Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Base branch for protocol v2 #127

Merged
merged 87 commits into from
Aug 16, 2024
Merged

Base branch for protocol v2 #127

merged 87 commits into from
Aug 16, 2024

Commits on Jun 24, 2024

  1. Configuration menu
    Copy the full SHA
    34dc578 View commit details
    Browse the repository at this point in the history
  2. [protocol v2] RFC PROTOCOL V2 (#111)

    * Update PROTOCOL.md
    
    * Update PROTOCOL.md
    
    Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com>
    
    * Update PROTOCOL.md
    
    * half-close semantics
    
    * Update PROTOCOL.md
    
    * Update PROTOCOL.md
    
    * Update PROTOCOL.md
    
    * Update PROTOCOL.md
    
    * Update PROTOCOL.md
    
    * Update PROTOCOL.md
    
    * Update PROTOCOL.md
    
    * Update PROTOCOL.md
    
    * Update PROTOCOL.md
    
    * Update PROTOCOL.md
    
    * Update PROTOCOL.md
    
    * Update PROTOCOL.md
    
    * Update PROTOCOL.md
    
    * Update PROTOCOL.md
    
    * Update PROTOCOL.md
    
    * fmt
    
    * Update PROTOCOL.md
    
    * Update PROTOCOL.md
    
    * Update PROTOCOL.md
    
    * Update PROTOCOL.md
    
    * Update PROTOCOL.md
    
    * Include reader-writer semantics
    
    ---------
    
    Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com>
    masad-frost and jackyzha0 committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    c1bc78d View commit details
    Browse the repository at this point in the history
  3. Streams interface (#118)

    masad-frost committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    bbac0b2 View commit details
    Browse the repository at this point in the history
  4. ReadStream implementation (#130)

    * ReadStream implementation
    
    * remove tee for now
    
    * Make the stream itself an iterable
    
    * Implement return for iterator
    
    * comment
    masad-frost committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    3675b23 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    a802329 View commit details
    Browse the repository at this point in the history
  6. Client uses ReadStream and WriteStream (#136)

    * Client uses ReadStream
    
    * Client uses WriteStream
    
    * delete port config lol
    
    * Disable everything for handler.test.ts
    
    * no void 0
    masad-frost committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    b5bf962 View commit details
    Browse the repository at this point in the history
  7. clarify half-closed state

    masad-frost committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    590837c View commit details
    Browse the repository at this point in the history
  8. Server uses ReadStream and WriteStream #136 (#137)

    * Server uses streams
    
    * Bruh
    masad-frost committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    4542ee1 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    630332b View commit details
    Browse the repository at this point in the history
  10. Fix derp from rebase

    masad-frost committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    0236436 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    4dd2d96 View commit details
    Browse the repository at this point in the history
  12. [protocolv2] Init always exists (#159)

    * I -> Input, O -> Output, E -> Err
    
    * Update types
    
    * Update implementation
    
    * Update tests
    
    * Misc changes
    
    * fix checking init instead of input
    masad-frost committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    528f304 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    acadffe View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    5fc5e25 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    8bed4e3 View commit details
    Browse the repository at this point in the history
  16. [protocolv2] swap WriteStream's waitForCloseRequest promise with call…

    …back style onCloseRequest (#164)
    masad-frost committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    1d01d20 View commit details
    Browse the repository at this point in the history
  17. [protocolv2] Implement close requests (#165)

    * [protocolv2] Implement close requests
    
    * Add some more checks
    
    * Add comments on for control flags
    
    * Revert "Add some more checks"
    
    This reverts commit 20e1c10.
    masad-frost committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    0e306ec View commit details
    Browse the repository at this point in the history
  18. bump protocol version

    masad-frost committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    8d99095 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    9c3995c View commit details
    Browse the repository at this point in the history
  20. [protocolv2] Make ReadStream always emit Result values (#172)

    * [protocolv2] Make ReadStream always emit Result values
    
    * [protocolv2] Adapt to stream changes from #172 PR (#173)
    masad-frost committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    5598c69 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    7f30c9a View commit details
    Browse the repository at this point in the history
  22. Swap stream abort with stream close bits

    Old stream closures are more akin to what abort is supposed to do
    so it's better to swap them to maintain better compatibility
    #175 (comment)
    masad-frost committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    ab42557 View commit details
    Browse the repository at this point in the history
  23. Fix issues with BaseError

    - Used extra instead of extras
    - Didn't inforce literal values
    - No way of validating error results properly
    masad-frost committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    f53f93c View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    2945b7e View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    e06bef8 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    29e5696 View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    03ab0c3 View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    b9b32bd View commit details
    Browse the repository at this point in the history
  29. [protocolv2] Handle invalid requests and internal server errors (#203)

    ## Why
    
    Clients can send invalid requests for many reasons, most commonly due to
    backwards incompatible server changes, server should handle those and
    send back a stream abort with it.
    
    ## What changed
    
    - Introduced `INTERNAL_RIVER_ERROR` code since some of the errors are
    invariant violations on the server
    - Split out stream request validation from stream handling
    - When we see a bad request, we send `INVALID_REQUEST` code with an
    abort bit
    - Made tracing `createHandlerSpan` accept tracing fields explicitly
    instead of a transport message
    
    some more changes that I'll note inline
    masad-frost committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    2d08c4c View commit details
    Browse the repository at this point in the history
  30. [protocolv2] Ignore follow up messages to a stream after server abort…

    …s it (#204)
    
    ## Why
    
    When the server aborts a stream (due to invalid request or explicit
    abort) the client send more messages before it gets the abort. We should
    make sure this doesn't lead to errors and unnecessary follow up
    responses.
    
    ## What changed
    
    Keep an LRU of aborted streams, if a new message comes in for a stream
    in our set, we simply ignore the message.
    masad-frost committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    68c5072 View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    3e31350 View commit details
    Browse the repository at this point in the history
  32. Configuration menu
    Copy the full SHA
    714f0dc View commit details
    Browse the repository at this point in the history
  33. Configuration menu
    Copy the full SHA
    57a0656 View commit details
    Browse the repository at this point in the history
  34. Undo .replit port change

    masad-frost committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    12258b7 View commit details
    Browse the repository at this point in the history
  35. Uninstall it-pushable

    masad-frost committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    551cf52 View commit details
    Browse the repository at this point in the history
  36. 0.200.0-rc.0

    masad-frost committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    e79b6b6 View commit details
    Browse the repository at this point in the history

Commits on Jun 25, 2024

  1. Configuration menu
    Copy the full SHA
    9209740 View commit details
    Browse the repository at this point in the history
  2. 0.200.0-rc.1

    masad-frost committed Jun 25, 2024
    Configuration menu
    Copy the full SHA
    1545321 View commit details
    Browse the repository at this point in the history

Commits on Jul 5, 2024

  1. [protocolv2] Allow listening for close on WriteStream (#226)

    ## Why
    
    I ended up needing this in river-babel, it's probably a useful API to
    have
    
    ## What changed
    
    - Added `WriteStream.onClose`
    - Unrelated: Made `WriteStream.close` lose reference to `onCloseRequest`
    listeners and unset `write` function
    masad-frost committed Jul 5, 2024
    Configuration menu
    Copy the full SHA
    029fe37 View commit details
    Browse the repository at this point in the history
  2. 0.200.0-rc.2

    masad-frost committed Jul 5, 2024
    Configuration menu
    Copy the full SHA
    4b9c39d View commit details
    Browse the repository at this point in the history

Commits on Jul 9, 2024

  1. Configuration menu
    Copy the full SHA
    7ac0c0d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    46555da View commit details
    Browse the repository at this point in the history
  3. 0.200.0-rc.3

    masad-frost committed Jul 9, 2024
    Configuration menu
    Copy the full SHA
    4e76796 View commit details
    Browse the repository at this point in the history

Commits on Jul 10, 2024

  1. fmt

    masad-frost committed Jul 10, 2024
    Configuration menu
    Copy the full SHA
    5e8d8a8 View commit details
    Browse the repository at this point in the history
  2. [protocolv2] Make server backwards compatible for now (#230)

    ## Why
    
    It's easier to roll out this way.
    
    ## What changed
    
    - Added `protocolVersion` to transport
    - Added allow-list for accepted protocol versions
    - Use `protocolVersion` in the server router to determine how we should
    deal with closes and aborts
    masad-frost committed Jul 10, 2024
    Configuration menu
    Copy the full SHA
    052741c View commit details
    Browse the repository at this point in the history

Commits on Jul 13, 2024

  1. Configuration menu
    Copy the full SHA
    8295845 View commit details
    Browse the repository at this point in the history
  2. [protocolv2] Fix passing input as first message being backwards incom…

    …patible (#236)
    
    ## Why
    
    In v1.1 sometimes the first message is not `init`, but instead it's the
    `input`. Let's handle that.
    
    ## What changed
    
    If we get an `init` that's not matching what we expect, we'll check if
    the client is on v1.1 and sent us an `input` as a first message, then
    we'll pass the first message as `input` and treat `init` as an empty
    object (which is what the first pass of requiring `init` for `stream`
    and `upload` be).
    
    ## Versioning
    
    - [ ] Breaking protocol change
    - [ ] Breaking ts/js API change
    
    <!-- Kind reminder to add tests and updated documentation if needed -->
    masad-frost committed Jul 13, 2024
    Configuration menu
    Copy the full SHA
    577cc66 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    86b6d70 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6ec651c View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    98536f5 View commit details
    Browse the repository at this point in the history

Commits on Jul 16, 2024

  1. yolo new api

    masad-frost committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    57a1b1f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    36b78a0 View commit details
    Browse the repository at this point in the history
  3. 0.200.0-rc.7

    masad-frost committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    b2cb04f View commit details
    Browse the repository at this point in the history

Commits on Jul 24, 2024

  1. Configuration menu
    Copy the full SHA
    c70e8b0 View commit details
    Browse the repository at this point in the history
  2. 0.200.0-rc.8

    masad-frost committed Jul 24, 2024
    Configuration menu
    Copy the full SHA
    4357884 View commit details
    Browse the repository at this point in the history
  3. Add unwrap to iterator

    masad-frost committed Jul 24, 2024
    Configuration menu
    Copy the full SHA
    944ea30 View commit details
    Browse the repository at this point in the history
  4. 0.200.0-rc.9

    masad-frost committed Jul 24, 2024
    Configuration menu
    Copy the full SHA
    9b55481 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    7b50c64 View commit details
    Browse the repository at this point in the history
  6. 0.200.0-rc.10

    masad-frost committed Jul 24, 2024
    Configuration menu
    Copy the full SHA
    7e42e02 View commit details
    Browse the repository at this point in the history

Commits on Jul 25, 2024

  1. Configuration menu
    Copy the full SHA
    5cb0ede View commit details
    Browse the repository at this point in the history
  2. 0.200.0-rc.11

    masad-frost committed Jul 25, 2024
    Configuration menu
    Copy the full SHA
    93b4aa9 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    632e212 View commit details
    Browse the repository at this point in the history
  4. 0.200.0-rc.12

    masad-frost committed Jul 25, 2024
    Configuration menu
    Copy the full SHA
    e64d96f View commit details
    Browse the repository at this point in the history

Commits on Jul 26, 2024

  1. Configuration menu
    Copy the full SHA
    60a18b6 View commit details
    Browse the repository at this point in the history
  2. 0.200.0-rc.13

    masad-frost committed Jul 26, 2024
    Configuration menu
    Copy the full SHA
    8782852 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    93479b4 View commit details
    Browse the repository at this point in the history
  4. 0.200.0-rc.14

    masad-frost committed Jul 26, 2024
    Configuration menu
    Copy the full SHA
    493babe View commit details
    Browse the repository at this point in the history

Commits on Jul 27, 2024

  1. 0.200.0-rc.15

    masad-frost committed Jul 27, 2024
    Configuration menu
    Copy the full SHA
    adbcc1b View commit details
    Browse the repository at this point in the history

Commits on Jul 29, 2024

  1. Configuration menu
    Copy the full SHA
    0df2852 View commit details
    Browse the repository at this point in the history
  2. 0.200.0-rc.16

    masad-frost committed Jul 29, 2024
    Configuration menu
    Copy the full SHA
    8227782 View commit details
    Browse the repository at this point in the history

Commits on Aug 1, 2024

  1. RFC: take 2 on streams (#249)

    Got some comments on streams being complicated, so this is a take on
    simplified API.
    
    - Less methods and states that people need to understand
    - Merge interfaces into a single object (i.e. a `stream` call would have
    both read and write capabilities on the same object)
    masad-frost committed Aug 1, 2024
    Configuration menu
    Copy the full SHA
    667b6cb View commit details
    Browse the repository at this point in the history
  2. fmt

    masad-frost committed Aug 1, 2024
    Configuration menu
    Copy the full SHA
    251758b View commit details
    Browse the repository at this point in the history
  3. [protocolv2] Use new simpler readable and writable interfaces (#250)

    ## Why
    
    Follow up on #249 to actually use the new interfaces. Removed extra
    refactor done in #249 that merges the interfaces as that proved to be a
    challenging API (un-yak-shave 🙅 🐃)
    
    ## What changed
    
    - Removed close requests (mostly cherry-picked from #248)
    - Otherwise a simple swapping out of the interfaces
    
    ## Versioning
    
    - [ ] Breaking protocol change
    - [ ] Breaking ts/js API change
    
    <!-- Kind reminder to add tests and updated documentation if needed -->
    masad-frost committed Aug 1, 2024
    Configuration menu
    Copy the full SHA
    bab2aa8 View commit details
    Browse the repository at this point in the history
  4. [protocolv2] Rename reader to readable and writer to writable (#251)

    Just a simple follow up to #250
    masad-frost committed Aug 1, 2024
    Configuration menu
    Copy the full SHA
    87dd2de View commit details
    Browse the repository at this point in the history

Commits on Aug 2, 2024

  1. Configuration menu
    Copy the full SHA
    d44ef6b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    97f1479 View commit details
    Browse the repository at this point in the history

Commits on Aug 7, 2024

  1. Fix invalid-request test

    masad-frost committed Aug 7, 2024
    Configuration menu
    Copy the full SHA
    c173fc0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ed0c9a1 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f3d808b View commit details
    Browse the repository at this point in the history

Commits on Aug 8, 2024

  1. Rename abort to cancel

    Partially to match gRPC nomeclature and to avoid confusion with AbortSignal/AbortController
    masad-frost committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    a7472d1 View commit details
    Browse the repository at this point in the history
  2. Update some docs

    masad-frost committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    eb98bb1 View commit details
    Browse the repository at this point in the history
  3. 0.200.0-rc.17

    masad-frost committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    d22a7d1 View commit details
    Browse the repository at this point in the history

Commits on Aug 13, 2024

  1. Expose unwrapOrThrow

    masad-frost committed Aug 13, 2024
    Configuration menu
    Copy the full SHA
    c4bdf59 View commit details
    Browse the repository at this point in the history
  2. 0.200.0-rc.18

    masad-frost committed Aug 13, 2024
    Configuration menu
    Copy the full SHA
    5f9959e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    831ebb7 View commit details
    Browse the repository at this point in the history
  4. 0.200.0-rc.19

    masad-frost committed Aug 13, 2024
    Configuration menu
    Copy the full SHA
    829097b View commit details
    Browse the repository at this point in the history

Commits on Aug 16, 2024

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