Commit 8db923c
authored
Env config (#509)
* Env config
* remove merge conflicts
* feat: Update bridge integration to use new synchronous C API
* Convert ClientConfig classes to records and improve immutability
- Convert ClientConfig, ClientConfigProfile, and ClientConfigTls to record types
- Remove ICloneable interface (records have built-in cloning)
- Use private init setters instead of private set
- Replace Dictionary parameters with IReadOnlyDictionary in public API
Replace JSON serialization with record serialization
- Replace ToJson()/FromJson() methods with ToRecord()/FromRecord() methods
- Create ClientConfigTlsRecord and ClientConfigProfileRecord for TOML structure
- Support conversion between config objects and TOML-ready record structures
Rename namespace from Configuration to EnvConfig
- Change namespace: Temporalio.Client.Configuration → Temporalio.Client.EnvConfig
Rename ClientConfig class to ClientEnvConfig
- Rename ClientConfig → ClientEnvConfig
- Update all references in tests and documentation
- Rename file ClientConfig.cs → ClientEnvConfig.cs
- Renaming EnvProfile -> ConfigProfile
Fix TLS disabled tri-state and profile not found behavior in environment config
- Change Tls.Disabled from bool to bool? to support tri-state behavior (null/true/false)
- Consolidate DataSource class back into ClientEnvConfig.cs
- Add test for tri-state TLS behavior and profile resolution
- Update profile loading logic to match Rust core behavior:
- profile=null with missing "default" → return empty profile
- profile="default" with missing "default" → throw exception
* Remove CLAUDE files
* Remove useless disableFile parameter when loading ClientConfig. Parse Vec<u8> from DataSource instead of String
* Tests formatting
* Address most PR feedback
* Use scope.ByteArray in favor of sbyte*
* Deserialize JSON from core using JSON DTO objects
* Clean up - renaming and using shorthand returns
* Use renamed core methods with Env prefix before Config. Use tri-state TLS configuration (disabled, enabled, not configured)
* Rename ConfigProfile -> Profile, with suppression of build warning
* TlsRecord & ProfileRecord removed, in favor of to/fromDictionary methods on the existing Tls and Profile inner classes
* Make to/from dictionary conversion non-null. Minor style improvements
* Remove runtime usage
* Update submodule with merged commit
* Formatting
* Fix interop conflicts
* update test file paths for windows1 parent e29940d commit 8db923c
File tree
7 files changed
+5803
-32
lines changed- src/Temporalio
- Bridge
- Interop
- Client/EnvConfig
- tests/Temporalio.Tests/Client/EnvConfig
7 files changed
+5803
-32
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
| 13 | + | |
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
| 19 | + | |
20 | 20 | | |
21 | | - | |
| 21 | + | |
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| |||
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
78 | | - | |
| 78 | + | |
| 79 | + | |
79 | 80 | | |
80 | 81 | | |
81 | 82 | | |
| |||
0 commit comments