Skip to content

chore: align with iOS with the 2 second interval #345

chore: align with iOS with the 2 second interval

chore: align with iOS with the 2 second interval #345

GitHub Actions / Analysis of telnyx_webrtc succeeded Dec 19, 2024 in 1m 37s

Package analysis results for telnyx_webrtc

Score

110/160 points
(68.75%)

Supported platforms

  • Flutter
    • android
    • ios
    • macos

Details

Follow Dart file conventions (30/30)

✔ 10/10 points: Provide a valid pubspec.yaml

✔ 5/5 points: Provide a valid README.md

✔ 5/5 points: Provide a valid CHANGELOG.md

✔ 10/10 points: Use an OSI-approved license

Detected license: MIT.

Provide documentation (0/20)

⚠ 0/10 points: 20% or more of the public API has dartdoc comments

26 out of 637 API elements (4.1 %) have documentation comments.

Providing good documentation for libraries, classes, functions, and other API elements improves code readability and helps developers find and use your API. Document at least 20% of the public API elements.

To highlight public API members missing documentation consider enabling the public_member_api_docs lint.

Some symbols that are missing documentation: attach_call_message, attach_call_message.AttachCallMessage, attach_call_message.AttachCallMessage.AttachCallMessage, attach_call_message.AttachCallMessage.AttachCallMessage.fromJson, attach_call_message.AttachCallMessage.id.

❌ 0/10 points: Package has an example

No example found.

See package layout guidelines on how to add an example.

Platform support (20/20)

✔ 20/20 points: Supports 3 of 6 possible platforms (iOS, Android, Web, Windows, macOS, Linux)

  • ✓ Android

  • ✓ iOS

  • ✓ macOS

These platforms are not supported:

Package does not support platform `Windows`.

Because:

  • package:telnyx_webrtc/telnyx_webrtc.dart that imports:
  • package:telnyx_webrtc/peer/peer.dart that imports:
  • package:telnyx_webrtc/telnyx_client.dart that imports:
  • package:telnyx_webrtc/call.dart that imports:
  • package:just_audio/just_audio.dart that declares support for platforms: Android, iOS, macOS, Web.
Package does not support platform `Linux`.

Because:

  • package:telnyx_webrtc/telnyx_webrtc.dart that imports:
  • package:telnyx_webrtc/peer/peer.dart that imports:
  • package:telnyx_webrtc/telnyx_client.dart that imports:
  • package:telnyx_webrtc/call.dart that imports:
  • package:just_audio/just_audio.dart that declares support for platforms: Android, iOS, macOS, Web.
Package does not support platform `Web`.

Because:

  • package:telnyx_webrtc/telnyx_webrtc.dart that imports:
  • package:telnyx_webrtc/peer/peer.dart that imports:
  • package:telnyx_webrtc/utils/stats/webrtc_stats_reporter.dart that imports:
  • package:telnyx_webrtc/utils/stats/stats_parsing_helpers.dart that imports:
  • package:flutter_webrtc/flutter_webrtc.dart that declares support for platforms: Android, iOS, Windows, Linux, macOS.

These issues are present but do not affect the score, because they may not originate in your package:

Package does not support platform `Android`.

Because:

  • package:telnyx_webrtc/telnyx_webrtc.dart that imports:
  • package:telnyx_webrtc/peer/peer.dart that imports:
  • package:telnyx_webrtc/telnyx_client.dart that imports:
  • package:connectivity_plus/connectivity_plus.dart that imports:
  • package:connectivity_plus/src/connectivity_plus_linux.dart that imports:
  • package:nm/nm.dart that declares support for platforms: Linux.
Package does not support platform `iOS`.

Because:

  • package:telnyx_webrtc/telnyx_webrtc.dart that imports:
  • package:telnyx_webrtc/peer/peer.dart that imports:
  • package:telnyx_webrtc/telnyx_client.dart that imports:
  • package:connectivity_plus/connectivity_plus.dart that imports:
  • package:connectivity_plus/src/connectivity_plus_linux.dart that imports:
  • package:nm/nm.dart that declares support for platforms: Linux.
Package does not support platform `macOS`.

Because:

  • package:telnyx_webrtc/telnyx_webrtc.dart that imports:
  • package:telnyx_webrtc/peer/peer.dart that imports:
  • package:telnyx_webrtc/telnyx_client.dart that imports:
  • package:connectivity_plus/connectivity_plus.dart that imports:
  • package:connectivity_plus/src/connectivity_plus_linux.dart that imports:
  • package:nm/nm.dart that declares support for platforms: Linux.

❌ 0/0 points: WASM compatibility

Package not compatible with runtime wasm

Because:

  • package:telnyx_webrtc/telnyx_webrtc.dart that imports:
  • package:telnyx_webrtc/peer/peer.dart that imports:
  • package:telnyx_webrtc/model/verto/receive/received_message_body.dart that imports:
  • package:logger/logger.dart that imports:
  • package:logger/src/outputs/advanced_file_output_stub.dart that imports:
  • dart:io

This package is not compatible with runtime wasm, and will not be rewarded full points in a future version of the scoring model.

See https://dart.dev/web/wasm for details.

Pass static analysis (30/50)

❌ 30/50 points: code has no errors, warnings, lints, or formatting issues

Found 11 issues. Showing the first 2:

WARNING: The value of the field '_autoReconnectLogin' isn't used.

lib/telnyx_client.dart:85:8

   ╷
85 │   bool _autoReconnectLogin = true;
   │        ^^^^^^^^^^^^^^^^^^^
   ╵

To reproduce make sure you are using the lints_core and run flutter analyze lib/telnyx_client.dart

WARNING: The value of the field '_connectRetryCounter' isn't used.

lib/telnyx_client.dart:92:7

   ╷
92 │   int _connectRetryCounter = 0;
   │       ^^^^^^^^^^^^^^^^^^^^
   ╵

To reproduce make sure you are using the lints_core and run flutter analyze lib/telnyx_client.dart

Support up-to-date dependencies (30/40)

❌ 0/10 points: All of the package dependencies are supported in the latest version

Package Constraint Compatible Latest
connectivity_plus ^6.1.0 6.1.1 6.1.1
flutter flutter 0.0.0 0.0.0
flutter_webrtc ^0.12.3 0.12.4 0.12.4
just_audio ^0.9.42 0.9.42 0.9.42
logger ^2.5.0 2.5.0 2.5.0
path_provider ^2.0.12 2.1.5 2.1.5
shared_preferences ^2.2.3 2.3.4 2.3.4
uuid ^3.0.6 3.0.7 4.5.1
Transitive dependencies
Package Constraint Compatible Latest
args - 2.6.0 2.6.0
async - 2.12.0 2.12.0
audio_session - 0.1.23 0.1.23
characters - 1.3.0 1.4.0
collection - 1.18.0 1.19.1
connectivity_plus_platform_interface - 2.0.1 2.0.1
crypto - 3.0.6 3.0.6
dart_webrtc - 1.4.10 1.4.10
dbus - 0.7.10 0.7.10
ffi - 2.1.3 2.1.3
file - 7.0.1 7.0.1
flutter_web_plugins - 0.0.0 0.0.0
js - 0.7.1 0.7.1
just_audio_platform_interface - 4.3.0 4.3.0
just_audio_web - 0.4.13 0.4.13
logging - 1.3.0 1.3.0
material_color_utilities - 0.11.1 0.12.0
meta - 1.15.0 1.16.0
nm - 0.5.0 0.5.0
path - 1.9.1 1.9.1
path_provider_android - 2.2.15 2.2.15
path_provider_foundation - 2.4.1 2.4.1
path_provider_linux - 2.2.1 2.2.1
path_provider_platform_interface - 2.1.2 2.1.2
path_provider_windows - 2.3.0 2.3.0
petitparser - 6.0.2 6.0.2
platform - 3.1.6 3.1.6
platform_detect - 2.1.0 2.1.5
plugin_platform_interface - 2.1.8 2.1.8
pub_semver - 2.1.5 2.1.5
rxdart - 0.28.0 0.28.0
shared_preferences_android - 2.4.0 2.4.0
shared_preferences_foundation - 2.5.4 2.5.4
shared_preferences_linux - 2.4.1 2.4.1
shared_preferences_platform_interface - 2.4.1 2.4.1
shared_preferences_web - 2.4.2 2.4.2
shared_preferences_windows - 2.4.1 2.4.1
sky_engine - 0.0.99 0.0.99
synchronized - 3.3.0+3 3.3.0+3
typed_data - 1.4.0 1.4.0
vector_math - 2.1.4 2.1.4
web - 1.1.0 1.1.0
webrtc_interface - 1.2.0 1.2.0
xdg_directories - 1.1.0 1.1.0
xml - 6.5.0 6.5.0

To reproduce run dart pub outdated --no-dev-dependencies --up-to-date --no-dependency-overrides.

The constraint `^3.0.6` on uuid does not support the stable version `4.0.0`.

Try running dart pub upgrade --major-versions uuid to update the constraint.

✔ 10/10 points: Package supports latest stable Dart and Flutter SDKs

✔ 20/20 points: Compatible with dependency constraint lower bounds

pub downgrade does not expose any static analysis error.

Versions