Skip to content

Conversation

@chaokunyang
Copy link
Collaborator

@chaokunyang chaokunyang commented Jan 31, 2026

Why?

  • Align IDL auto-ID handling to use stable 32-bit hash names rather than numeric IDs when IDs are auto-generated.
  • Update meta string EXTENDED payload handling for number strings across languages.

What does this PR do?

  • Add package ... alias ... parsing and propagate the alias through schema/validators; compute auto IDs for messages/unions/enums using a 32-bit Murmur hash of namespace.type (alias-aware) and detect collisions.
  • Change code generators to register auto-ID types by name (empty namespace + hash string) and treat auto-ID types as NAMED types in union type IDs; update registration comments.
  • Refresh meta string encoding/decoding across runtimes (EXTENDED payload byte, number-string handling, zero-length optimization) and update related tests.
  • Fix C++ TypeMeta name serialization to use meta string encoders and align Dart/Rust/Go tests/build paths with the updated encoding.
  • Update compiler and protocol docs, regenerate IDL fixtures, and extend IDL round-trip tests (including enum coverage).

Related issues

#3099

Does this PR introduce any user-facing change?

  • Does this PR introduce any public API change?
  • Does this PR introduce any binary protocol compatibility change?

Benchmark

@chaokunyang chaokunyang force-pushed the use_generated_hash_for_generated_class_as_name branch from 1185507 to 2a527d8 Compare February 2, 2026 10:04
@chaokunyang chaokunyang changed the title feat(compiler): use generated hash for generated class as name feat(compiler): use generated hash for generated class as id Feb 2, 2026
@chaokunyang chaokunyang force-pushed the use_generated_hash_for_generated_class_as_name branch from a1429f1 to 29d5f08 Compare February 2, 2026 14:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants