protocol-edit
Use only when changing the shared wire contract in crates/protocol or coordinated request/response consumers.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Use only when changing the shared wire contract in crates/protocol or coordinated request/response consumers.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Create or edit Svelte/SvelteKit files (`*.svelte`, `*.svelte.js`, `+page.svelte`, `+page.js`, `+layout.js`)
Use only when preparing or advising on a commit subject in this repository, especially when choosing web:, server:, client:, protocol:, android:, desktop:, or ci:.
Use only when editing Android code under android, crates/android-native, packages/client/src/native.js, or Android playback, JNI, Gradle, and TWA integration.
Use only when editing Desktop-specific code in packages/web/src-tauri, packages/client/src/desktop.js, or Desktop packaging and tests.
Use only when editing crates/server or its library scanning, indexing, metadata, authorization, or streaming behavior.
Use only when editing browser-facing code in packages/web, packages/client, or crates/web-wasm.
| name | protocol-edit |
| description | Use only when changing the shared wire contract in crates/protocol or coordinated request/response consumers. |
crates/protocol is the shared vocabulary between server and clients: requests, responses, identifiers, serialization, and wire semantics. A contract change normally requires corresponding handling in crates/server, crates/client, and browser/native transports.
The current protocol messages are:
GetLibrarySummary → LibrarySummary: collection counts.ListArtists → Artists, ListAlbums → Albums, ListTracks → Tracks: top-level library lists.GetArtist → Artist: one artist by ArtistId.GetAlbum → Album: one album by AlbumId.GetAlbumTracks → Tracks: tracks belonging to an album.GetTrack → Track: one track by TrackId.GetStarred / GetStarredWithKey → Starred: starred artists, albums, and tracks; the keyed form supplies the client key.SetStarred / SetStarredWithKey → Empty: update an item’s starred state; the keyed form supplies the client key.GetCoverArt → CoverArt: cover-art bytes, optionally at full quality.ResolveId → ResolvedId: resolve a string to an artist, album, or track.Search → SearchResults: matching artists, albums, and tracks for a SearchQuery.OpenStream → Stream: audio stream metadata for a track.Error with a message.cargo test -p protocol -p server -p client
cargo build -p iroh-fm-web-wasm --target wasm32-unknown-unknown --profile wasm-release
Use protocol: for the contract change and required consumer updates. It updates Web only; it does not trigger Android/Desktop or advance their epochs. If native users need the change, make explicit android: and/or desktop: release commits.