Repository navigation
v3.1.0 - Call Implemented!
?? Call Implemented!
This is the complete stable LINE Calls release. v3.1.0 is the stable public release line for the full PLANET/Cassini call stack.
Diff From The Current v2 Stable
Compared with v2.18.0:
- 25 commits
- 37 files changed
- 9,383 insertions / 173 deletions
- Full diff: v2.18.0...v3.1.0
Highlights
- Added the public call export:
@evex/linejs/call. - Implemented the reverse-engineered PLANET/Cassini call transport.
- Added 1:1 outgoing audio call support through
PlanetTransport. - Added call route acquisition wrappers and call client convenience APIs.
- Added PLANET setup, setup response, answer, info request/response, keepalive, release, and media state handling.
- Added SRTP media encryption/decryption, RTP/RTCP helpers, Opus encoding/decoding, WAV decoding, resampling, and audio streaming utilities.
- Added group-call route/join support and native-shaped group PLANET participate payloads.
- Added
example/call/call_on_command.ts: a reusable!callexample that calls the sender and streamsunity.wav. - Added a bundled sample WAV with credits in
example/call/CREDITS.md. - Added compact message support: compact plain messages, compact E2EE messages, response decoding, and fallback handling.
- Updated device/application defaults to avoid stale
x-line-applicationlogin failures. - Fixed login helpers so
versionandendpointare passed through toBaseClient. - Expanded the call documentation with a full outgoing-call writeup, protocol flow, troubleshooting, and Discord support note.
Notable Files
packages/linejs/client/features/call/planet/transport.tspackages/linejs/client/features/call/planet/schema.tspackages/linejs/client/features/call/planet/crypto.tspackages/linejs/client/features/call/planet/cassini.tspackages/linejs/client/features/call/opus.tspackages/linejs/client/features/call/audio.tspackages/linejs/base/service/talk/compact.tsexample/call/call_on_command.tsdocs/docs/call.md
Verification
deno test -A: 189 passed, 0 faileddeno publish --dry-run --allow-dirtyforpackages/linejs: successdeno publish --dry-run --allow-dirtyforpackages/types: success in rc4 validation- Live device/profile smoke testing confirmed the updated login app profiles and QR-safe example defaults
Contributors
Huge congratulations and thanks to every contributor who got linejs to this milestone:
@EdamAme-x, @piloking, @nakasyou, @MocA-Love, @Madoa5561, @usuraiyukito, @techfish-11, @hafusun, @komkeao, @0xr27, @akku1139, @vonernue, @xxtomm, @nezumi0627, and @taisan11.
Special thanks to q0jt for the compact message protocol details.
Upgrade Notes
Use the stable package version:
import { PlanetTransport, decodeWavSync, opusCodecFactory } from "jsr:@evex/linejs@3.1.0/call";The repository example can be run with:
deno run -A example/call/call_on_command.tsIf anything goes wrong, please reach out on Discord.