Skip to content

Releases: alshell7/react-phone

Azeer React Phone 0.1.3

Choose a tag to compare

@alshell7 alshell7 released this 16 Sep 18:41

Live SIP configuration cleanup

  • Live SIP now opens with empty username, password, SIP address, and WebSocket fields.
  • Removed bundled account/display-name settings and outgoing-number prefill.
  • Removed account-specific connection details from current documentation; example addresses use reserved example domains.
  • Verified the blank connection form on desktop and mobile and passed all 64 unit tests.

Playground · Connection guide · JSR package

Azeer React Phone 0.1.2

Choose a tag to compare

@alshell7 alshell7 released this 16 Sep 18:28

Azeer React Phone 0.1.2

A customizable React 19 SIP/WebRTC phone with a dockable dynamic island, ElevenLabs UI audio visuals, and a hosted configuration playground.

Dynamic island

  • Persistent SIP status in a compact capsule; expand to dial or manage a call.
  • Window or container docking with six positions, configurable offsets, and safe-area support.
  • Incoming calls can expand the phone, show compact Answer/Decline actions, or wait for the user to open it.
  • Configurable focus, outgoing expansion, delayed collapse after a call, and controlled expansion callbacks. Collapsing preserves the call.

Phone and customization

Incoming/outgoing audio, manual or automatic dialing, mute, hold, DTMF, blind REFER transfer, microphone/autoplay recovery, and typed lifecycle callbacks. Choose basic/advanced/compact presets or compose individual controls. Customize colors, caller avatar/name/tags, Orb, waveforms, frequency bars, motion, branding, buttons, and call cues.

Install

npx jsr add @azeer-ui-widget/react-phone@0.1.2

Use 0.1.2 or later. This release fixes JSR's npm JSX output and React declaration conversion, allowing ordinary Vite builds and strict TypeScript consumers with skipLibCheck: false. Versions 0.1.0 and 0.1.1 are superseded. The supplied OIDC Publish workflow is unchanged.

Documentation · Playground · JSR package · Dynamic island guide

Validation

  • 64 unit tests and 48 browser cases covering desktop/mobile UI, accessibility, lifecycle races, and actual two-browser SIP/WebRTC audio against a local registrar.
  • Fresh installation of the published JSR npm artifact into a separate React 19 app: strict public declarations, production build, both entry points, incoming/outgoing preview calls, Orb WebGL, collapse persistence, and exactly-once lifecycle callbacks.
  • Public documentation and playground checked for search, links/assets, mobile overflow, keyboard scrolling, and working preview calls.

The new Published consumer workflow repeats the independent artifact check after every successful publication. Validation evidence: full checks, fresh published consumer, JSR publish, and Pages deployment.

One audio call per client. Attended transfer, conferencing, recording, and emergency calling are outside this release.

MIT © 2026 Owais. Third-party notices.

v0.1.0 - React SIP phone and dynamic island

Choose a tag to compare

@alshell7 alshell7 released this 16 Sep 18:09

Superseded: install 0.1.2 or later. Version 0.1.0 has a JSR npm conversion issue; the current release fixes standard Vite builds and strict TypeScript declarations. The published package targets React 19.

Azeer React Phone 0.1.0

The first public release: a customizable SIP/WebRTC phone for React, with complete widgets, a dynamic island, and composable controls.

  • Calling: incoming/outgoing audio, manual and automatic dialing, mute, hold, DTMF, and blind REFER transfer.
  • Dynamic island: persistent connection status, six window/container positions, and configurable expand, compact notification, or manual incoming-call presentation.
  • Audio visuals: configurable ElevenLabs UI Orb, Live Waveform, and Bar Visualizer source adaptations, driven by call audio.
  • Customization: scoped themes, caller identity and render slots, selectable buttons, motion, branding, dragging, and synthesized call cues.
  • Integration: React 19, TypeScript, lifecycle callbacks, a headless client, and microphone/autoplay recovery.

Get started

npx jsr add @azeer-ui-widget/react-phone

Documentation · Playground · Package · Dynamic island guide

The playground starts in Preview mode. Real calls require your own SIP account and a compatible PBX. Credentials stay in memory and are excluded from code export.

Validation and scope

Validated with 64 unit tests and 48 desktop/mobile/SIP browser cases, including actual local two-browser WebRTC audio, permission races, island behavior, and automated accessibility. Documentation checks cover search, links, assets, keyboard scrolling, and the hosted playground subpath.

This is a single-call audio phone. Transfer requires PBX REFER support. Production PBX routing, TURN, and transfer interoperability need an end-to-end test on your deployment. Attended transfer, conferencing, recording, and emergency calling are not included.

MIT © 2026 Owais. Includes preserved third-party notices.