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

Replace gogo protobuf with google's protobuf v2 compiler #119

Merged
merged 61 commits into from
Nov 21, 2023

Commits on Sep 27, 2023

  1. Configuration menu
    Copy the full SHA
    e344d3e View commit details
    Browse the repository at this point in the history
  2. Remove proxygenerator's reliance on gogo/protobuf

    This wasn't too bad, though the variable names disappeared from the
    go-parsed type signature of our RPC specs so I had to generate variable
    names manually /shrug
    tdeebswihart committed Sep 27, 2023
    Configuration menu
    Copy the full SHA
    a372766 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2bef229 View commit details
    Browse the repository at this point in the history
  4. Delete the proxy for now

    Google's protobuf compiler doesn't allow you to customize JSON
    formatting and forking it like we did with gogo's is no simple
    matter (it depends on a large number of internal packages...).
    
    I'm deleting it for now to unblock myself while I wait to discuss this
    with our HTTP API team tomorrow
    tdeebswihart committed Sep 27, 2023
    Configuration menu
    Copy the full SHA
    e660f0b View commit details
    Browse the repository at this point in the history

Commits on Sep 28, 2023

  1. Testing makefile changes

    tdeebswihart committed Sep 28, 2023
    Configuration menu
    Copy the full SHA
    205b263 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ce9a5b2 View commit details
    Browse the repository at this point in the history

Commits on Sep 29, 2023

  1. Configuration menu
    Copy the full SHA
    69c53d5 View commit details
    Browse the repository at this point in the history
  2. Fix the awful enum naming

    Props to sed for existing
    tdeebswihart committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    13f2c44 View commit details
    Browse the repository at this point in the history
  3. Update interceptor to not copy locks

    Go's protobuf-generated code embeds locks, so by copying the contents of
    the object we violate the lock's guarantees. We'll return the new
    payload and overwrite the old instead
    tdeebswihart committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    716a83c View commit details
    Browse the repository at this point in the history

Commits on Oct 2, 2023

  1. Fix mock generation

    The files changed name, whoops.
    tdeebswihart committed Oct 2, 2023
    Configuration menu
    Copy the full SHA
    f9fb8c6 View commit details
    Browse the repository at this point in the history

Commits on Oct 3, 2023

  1. Port history loading over from the SDK

    We'll want to use this in the CLI as well to allow users to update old histories
    tdeebswihart committed Oct 3, 2023
    Configuration menu
    Copy the full SHA
    6fdbb4c View commit details
    Browse the repository at this point in the history
  2. Document LoadFromJSON

    tdeebswihart committed Oct 3, 2023
    Configuration menu
    Copy the full SHA
    389ae08 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    65454a6 View commit details
    Browse the repository at this point in the history
  4. Remove options pattern from history.LoadFromJSON

    There's one option and its pretty much always supplied; this was an
    over-eager change.
    tdeebswihart committed Oct 3, 2023
    Configuration menu
    Copy the full SHA
    7efc384 View commit details
    Browse the repository at this point in the history
  5. Add proto-conversion helpers for Time and Durations

    Pulled these over form the SDK and cleaned up the naming.
    common.ThingPtr and common.ThingValue don't roll off the tongue as
    nicely as thing.Proto and thing.Value.
    tdeebswihart committed Oct 3, 2023
    Configuration menu
    Copy the full SHA
    6cda8db View commit details
    Browse the repository at this point in the history
  6. Improve enum rewriting

    Filter out non-go files and make sure to rewrite uses of these enums
    tdeebswihart committed Oct 3, 2023
    Configuration menu
    Copy the full SHA
    de61875 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    7c4c150 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    72ba345 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    b7493bd View commit details
    Browse the repository at this point in the history
  10. Fix history load tests and actually run them

    Tests are now run by default (as they should be)
    tdeebswihart committed Oct 3, 2023
    Configuration menu
    Copy the full SHA
    cbe2bb4 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    d410a2a View commit details
    Browse the repository at this point in the history

Commits on Oct 5, 2023

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

Commits on Oct 9, 2023

  1. Move codegen helpers to this repo and update

    We're back to proto for codegen too
    tdeebswihart committed Oct 9, 2023
    Configuration menu
    Copy the full SHA
    dd417ed View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b5b4a15 View commit details
    Browse the repository at this point in the history
  3. Correctly translate JSON enums for types which contain themselves

    My previous approach failed to fix enums in nested failures.
    Rather than hardcode logic for handling failures specifically I took a
    step back and approached it another way entirely: tracking paths to fix
    for each proto message that is reachable from the History message.
    
    With this approach we can handle any future type that can contain itself
    without code changes
    tdeebswihart committed Oct 9, 2023
    Configuration menu
    Copy the full SHA
    1ca3f12 View commit details
    Browse the repository at this point in the history
  4. Remove type helpers

    tdeebswihart committed Oct 9, 2023
    Configuration menu
    Copy the full SHA
    62b7da4 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    ec12a7f View commit details
    Browse the repository at this point in the history

Commits on Oct 10, 2023

  1. Add new jsonpb package

    It turns out we serialize far more than just history in JSON so we need
    a mechanism to support the old enum format for arbitrary proto objects.
    
    The approach I've taken is thread-safe so we don't need to care who is
    serializing what at any point in time (and I've minimized the critical
    sections). Most operations will only ever take the registry's read lock
    so this shouldn't be a bottleneck
    tdeebswihart committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    7515ef0 View commit details
    Browse the repository at this point in the history
  2. Cleanup

    tdeebswihart committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    17191bd View commit details
    Browse the repository at this point in the history
  3. Rename jsonpb to temporalproto

    This package will eventually contain all our extensions to google's v2
    proto package, including:
    
    - Enum casing translation
    - Shorthand JSON support
    tdeebswihart committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    16ae34d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    910c300 View commit details
    Browse the repository at this point in the history
  5. Bump

    tdeebswihart committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    837039d View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    aae8509 View commit details
    Browse the repository at this point in the history
  7. Generate functions to convert enum values from string

    I discovered _even more_ places where we use our PascalCase enums so
    we'll just generate the code needed to handle it.
    tdeebswihart committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    1d57552 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    8435832 View commit details
    Browse the repository at this point in the history

Commits on Oct 11, 2023

  1. Improve errors slightly

    tdeebswihart committed Oct 11, 2023
    Configuration menu
    Copy the full SHA
    47d4e43 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4c04e0d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6e958a1 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    2c522e4 View commit details
    Browse the repository at this point in the history

Commits on Oct 12, 2023

  1. Rewrite proto enum String methods

    We rely on the old JSON string values of our proto enums heavily; they
    appear in error messages, the visibility search interface, and our
    metric tags.
    
    Rather than rewrite them at every callsite we decided to simply rewrite
    the String methods to give us what we want. This is lower effort and
    less maintenance than maintaining a fork of the protojson marshaling infrastructure.
    tdeebswihart committed Oct 12, 2023
    Configuration menu
    Copy the full SHA
    229d40f View commit details
    Browse the repository at this point in the history
  2. Rename the enum rewriter

    This will be go-installed by the Server so needs a more obvious name.
    tdeebswihart committed Oct 12, 2023
    Configuration menu
    Copy the full SHA
    0909eae View commit details
    Browse the repository at this point in the history

Commits on Oct 16, 2023

  1. Move commands into cmd/

    tdeebswihart committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    6469411 View commit details
    Browse the repository at this point in the history

Commits on Oct 18, 2023

  1. Port reflection helpers over from the server

    These are becoming necessary elsewhere
    tdeebswihart committed Oct 18, 2023
    Configuration menu
    Copy the full SHA
    3a4d6e3 View commit details
    Browse the repository at this point in the history
  2. Remove debugging

    tdeebswihart committed Oct 18, 2023
    Configuration menu
    Copy the full SHA
    ef5a505 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    966fdd4 View commit details
    Browse the repository at this point in the history
  4. Merge reflect and proto extensions

    It's all proto's fault anyways
    tdeebswihart committed Oct 18, 2023
    Configuration menu
    Copy the full SHA
    a2111ee View commit details
    Browse the repository at this point in the history

Commits on Oct 20, 2023

  1. Bump api submodule

    tdeebswihart committed Oct 20, 2023
    Configuration menu
    Copy the full SHA
    a9bd390 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f1f1432 View commit details
    Browse the repository at this point in the history

Commits on Oct 24, 2023

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

Commits on Oct 27, 2023

  1. Rebuild

    tdeebswihart committed Oct 27, 2023
    Configuration menu
    Copy the full SHA
    447c31e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    bfe668b View commit details
    Browse the repository at this point in the history
  3. Go mod tidy

    tdeebswihart committed Oct 27, 2023
    Configuration menu
    Copy the full SHA
    098edea View commit details
    Browse the repository at this point in the history

Commits on Oct 30, 2023

  1. Address PR comments

    I've no idea why these two mocks keep swapping names. It's irritating
    tdeebswihart committed Oct 30, 2023
    Configuration menu
    Copy the full SHA
    872ab2d View commit details
    Browse the repository at this point in the history
  2. Remove temporalproto.PublicMethods

    This is only used by the server so should stay there
    tdeebswihart committed Oct 30, 2023
    Configuration menu
    Copy the full SHA
    ba122e5 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c5f08f0 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e3f2b0b View commit details
    Browse the repository at this point in the history

Commits on Nov 19, 2023

  1. Update proto structs

    tdeebswihart committed Nov 19, 2023
    Configuration menu
    Copy the full SHA
    9088f4d View commit details
    Browse the repository at this point in the history

Commits on Nov 21, 2023

  1. Inline strcase dependency

    MichaelSnowden authored and tdeebswihart committed Nov 21, 2023
    Configuration menu
    Copy the full SHA
    59e4eda View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2507a24 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f8d3c66 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    080d999 View commit details
    Browse the repository at this point in the history