webrtchacks/adapter

Shim to insulate apps from spec changes and prefix differences. Latest adapter.js release:

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 54 minutes ago
Added to GitGenius on September 18th, 2026
Created on January 29th, 2015
Open Issues & Pull Requests: 6 (+0)
GitHub issues: Enabled
Number of forks: 856
Total Stargazers: 3,747 (+0)
Total Subscribers: 158 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 17.2 hours
Mean response time: 58.4 days
90th percentile: 68.6 days
Tracked items: 15

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 4
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,373 days
Stale 30+ days: 4
Stale 90+ days: 4

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (3)
  • breaking change (1)
  • bug-in-safari (1)
  • help wanted (1)
  • test (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

adapter.js is a shim that insulates WebRTC applications from specification changes and browser prefix differences.

The tool solves the problem of WebRTC implementations diverging across browsers. While prefix differences have largely disappeared, behavioral differences between browsers remain. adapter.js provides a compatibility layer that normalizes these differences, allowing developers to write WebRTC code once without worrying about browser-specific quirks. The shim works by detecting which WebRTC quirks are present in the user's browser and applying appropriate fixes transparently.

Developers building WebRTC applications should use this tool if they need to support multiple browsers with inconsistent WebRTC implementations. It suits any project using WebRTC APIs where cross-browser compatibility matters. The tool offers flexibility in how it's consumed: a global adapter object is available when using the standard build, while a no-global variant allows integration into module systems without polluting the global namespace. Installation is straightforward through NPM or Bower, with prebuilt releases also available for direct linking.

The project maintains a formal release process with semantic versioning and publishes to both NPM and a GitHub pages distribution channel. Development is coordinated through pull requests with testing requirements before merging. The repository was transferred from the WebRTC organization but the maintainers keep the original repository synchronized with new releases.