// NOTE(chacha912): This code is based on the protobuf definitions from the file located at:
// https://buf.build/googleapis/googleapis/file/main:google/rpc/error_details.proto.
// The protobuf definitions are compiled into an SDK, which can be installed via npm.
// (SDK Source: https://buf.build/googleapis/googleapis/sdks/main)
//
// However, during testing, we encountered an error due to the use of ESM import/export syntax.
// To address this issue, we use the 'js_import_style=legacy_commonjs' option and manually build
// the protobuf, rather than using the SDK directly.
// (For more details, refer to: https://github.com/bufbuild/protobuf-es/issues/587)
JSDOM Environment Patch for TextEncoder and TextDecoder
// NOTE(chacha912): This patches the global objects TextEncoder, TextDecoder
// which are missing in the JSDOM environment.
// See https://github.com/jsdom/jsdom/issues/2524 for more details.
Introduction of Custom Thunk
To handle common processing for asynchronous actions, a custom thunk has been introduced. For more information, please refer to the documentation in the rpc-error-handling.md.
What this PR does / why we need it?
Migrate RPC to ConnectRPC. For more information about this migration, follow:
Any background context you want to provide?
error_details.proto
rpc-error-handling.md
.What are the relevant tickets?
Fixes #
Checklist