mirror of
https://github.com/navidrome/navidrome.git
synced 2026-05-20 09:18:35 +00:00
|
Some checks are pending
Pipeline: Test, Lint, Build / Test Go code (push) Waiting to run
Pipeline: Test, Lint, Build / Test JS code (push) Waiting to run
Pipeline: Test, Lint, Build / Get version info (push) Waiting to run
Pipeline: Test, Lint, Build / Lint Go code (push) Waiting to run
Pipeline: Test, Lint, Build / Lint i18n files (push) Waiting to run
Pipeline: Test, Lint, Build / Check Docker configuration (push) Waiting to run
Pipeline: Test, Lint, Build / Build (push) Blocked by required conditions
Pipeline: Test, Lint, Build / Build-1 (push) Blocked by required conditions
Pipeline: Test, Lint, Build / Build-2 (push) Blocked by required conditions
Pipeline: Test, Lint, Build / Build-3 (push) Blocked by required conditions
Pipeline: Test, Lint, Build / Build-4 (push) Blocked by required conditions
Pipeline: Test, Lint, Build / Build-5 (push) Blocked by required conditions
Pipeline: Test, Lint, Build / Build-6 (push) Blocked by required conditions
Pipeline: Test, Lint, Build / Upload Linux PKG (push) Blocked by required conditions
Pipeline: Test, Lint, Build / Build-7 (push) Blocked by required conditions
Pipeline: Test, Lint, Build / Build-8 (push) Blocked by required conditions
Pipeline: Test, Lint, Build / Build-9 (push) Blocked by required conditions
Pipeline: Test, Lint, Build / Build-10 (push) Blocked by required conditions
Pipeline: Test, Lint, Build / Push to GHCR (push) Blocked by required conditions
Pipeline: Test, Lint, Build / Push to Docker Hub (push) Blocked by required conditions
Pipeline: Test, Lint, Build / Cleanup digest artifacts (push) Blocked by required conditions
Pipeline: Test, Lint, Build / Build Windows installers (push) Blocked by required conditions
Pipeline: Test, Lint, Build / Package/Release (push) Blocked by required conditions
* fix(plugins): add base64 handling for []byte and remove raw=true Go's json.Marshal automatically base64-encodes []byte fields, but Rust's serde_json serializes Vec<u8> as a JSON array and Python's json.dumps raises TypeError on bytes. This fixes both directions of plugin communication by adding proper base64 encoding/decoding in generated client code. For Rust templates (client and capability): adds a base64_bytes serde helper module with #[serde(with = "base64_bytes")] on all Vec<u8> fields, and adds base64 as a dependency. For Python templates: wraps bytes params with base64.b64encode() and responses with base64.b64decode(). Also removes the raw=true binary framing protocol from all templates, the parser, and the Method type. The raw mechanism added complexity that is no longer needed once []byte works properly over JSON. * fix(plugins): update production code and tests for base64 migration Remove raw=true annotation from SubsonicAPI.CallRaw, delete all raw test fixtures, remove raw-related test cases from parser, generator, and integration tests, and add new test cases validating base64 handling for Rust and Python templates. * fix(plugins): update golden files and regenerate production code Update golden test fixtures for codec and comprehensive services to include base64 handling for []byte fields. Regenerate all production PDK code (Go, Rust, Python) and host wrappers to use standard JSON with base64-encoded byte fields instead of binary framing protocol. * refactor: remove base64 helper duplication from rust template Signed-off-by: Deluan <deluan@navidrome.org> * fix(plugins): add base64 dependency to capabilities' Cargo.toml Signed-off-by: Deluan <deluan@navidrome.org> --------- Signed-off-by: Deluan <deluan@navidrome.org> |
||
|---|---|---|
| .. | ||
| codec_client_expected.go.txt | ||
| codec_client_expected.py | ||
| codec_client_expected.rs | ||
| codec_expected.go.txt | ||
| codec_service.go.txt | ||
| comprehensive_client_expected.py | ||
| comprehensive_client_expected.rs | ||
| comprehensive_service.go.txt | ||
| config_client_expected.go.txt | ||
| config_client_expected.py | ||
| config_client_expected.rs | ||
| config_service.go.txt | ||
| counter_client_expected.go.txt | ||
| counter_client_expected.py | ||
| counter_client_expected.rs | ||
| counter_expected.go.txt | ||
| counter_service.go.txt | ||
| echo_client_expected.go.txt | ||
| echo_client_expected.py | ||
| echo_client_expected.rs | ||
| echo_expected.go.txt | ||
| echo_service.go.txt | ||
| list_client_expected.go.txt | ||
| list_client_expected.py | ||
| list_client_expected.rs | ||
| list_expected.go.txt | ||
| list_service.go.txt | ||
| math_client_expected.go.txt | ||
| math_client_expected.py | ||
| math_client_expected.rs | ||
| math_expected.go.txt | ||
| math_service.go.txt | ||
| meta_client_expected.go.txt | ||
| meta_client_expected.py | ||
| meta_client_expected.rs | ||
| meta_expected.go.txt | ||
| meta_service.go.txt | ||
| ping_client_expected.go.txt | ||
| ping_client_expected.py | ||
| ping_client_expected.rs | ||
| ping_expected.go.txt | ||
| ping_service.go.txt | ||
| search_client_expected.go.txt | ||
| search_client_expected.py | ||
| search_client_expected.rs | ||
| search_expected.go.txt | ||
| search_service.go.txt | ||
| store_client_expected.go.txt | ||
| store_client_expected.py | ||
| store_client_expected.rs | ||
| store_expected.go.txt | ||
| store_service.go.txt | ||
| users_client_expected.go.txt | ||
| users_client_expected.py | ||
| users_client_expected.rs | ||
| users_expected.go.txt | ||
| users_service.go.txt | ||