papercups_flutter 3.1.1 copy "papercups_flutter: ^3.1.1" to clipboard
papercups_flutter: ^3.1.1 copied to clipboard

Native Flutter implementation of the papercups.io chat widget.

41
likes
140/ 160
pub points
188
downloads

We analyzed this package 2 days ago, and awarded it 140 pub points (of a possible 160):

OK
Follow Dart file conventions
30 / 30trigger folding of the section

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.

OK
Provide documentation
20 / 20trigger folding of the section

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

1750 out of 1905 API elements (91.9 %) have documentation comments.

Some symbols that are missing documentation: agent_availability, agent_availability.AgentAvailability, agent_availability.AgentAvailability.AgentAvailability, agent_availability.AgentAvailability.props, alert.

10/10 points: Package has an example

failed
Platform support
20 / 20trigger folding of the section

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

  • ✓ Android

  • ✓ iOS

These platforms are not supported:

Package does not support platform `Windows`.

Because:

  • package:papercups_flutter/papercups_flutter.dart that imports:
  • package:papercups_flutter/widgets/widgets.dart that imports:
  • package:papercups_flutter/widgets/chat/chat.dart that imports:
  • package:papercups_flutter/widgets/chat/chat_message.dart that imports:
  • package:papercups_flutter/widgets/chat/chat_bubble.dart that imports:
  • package:papercups_flutter/widgets/chat/attachment.dart that imports:
  • package:papercups_flutter/utils/fileInteraction/handle_downloads.dart that imports:
  • package:open_filex/open_filex.dart that declares support for platforms: Android, iOS.
Package does not support platform `Linux`.

Because:

  • package:papercups_flutter/papercups_flutter.dart that imports:
  • package:papercups_flutter/widgets/widgets.dart that imports:
  • package:papercups_flutter/widgets/sendMessage/send_message.dart that imports:
  • package:papercups_flutter/utils/fileInteraction/web_file_picker.dart that imports:
  • package:file_picker/file_picker.dart that imports:
  • package:file_picker/src/file_picker.dart that imports:
  • package:file_picker/src/windows/file_picker_windows.dart that imports:
  • package:win32/win32.dart that declares support for platforms: Windows.
Package does not support platform `macOS`.

Because:

  • package:papercups_flutter/papercups_flutter.dart that imports:
  • package:papercups_flutter/widgets/widgets.dart that imports:
  • package:papercups_flutter/widgets/sendMessage/send_message.dart that imports:
  • package:papercups_flutter/utils/fileInteraction/web_file_picker.dart that imports:
  • package:file_picker/file_picker.dart that imports:
  • package:file_picker/src/file_picker.dart that imports:
  • package:file_picker/src/windows/file_picker_windows.dart that imports:
  • package:win32/win32.dart that declares support for platforms: Windows.
Package does not support platform `Web`.

Because:

  • package:papercups_flutter/papercups_flutter.dart that imports:
  • package:papercups_flutter/widgets/widgets.dart that imports:
  • package:papercups_flutter/widgets/chat/chat.dart that imports:
  • package:papercups_flutter/widgets/chat/chat_message.dart that imports:
  • package:papercups_flutter/widgets/chat/chat_bubble.dart that imports:
  • package:papercups_flutter/widgets/chat/attachment.dart that imports:
  • package:papercups_flutter/utils/fileInteraction/handle_downloads.dart that imports:
  • package:path_provider/path_provider.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:papercups_flutter/papercups_flutter.dart that imports:
  • package:papercups_flutter/widgets/widgets.dart that imports:
  • package:papercups_flutter/widgets/sendMessage/send_message.dart that imports:
  • package:papercups_flutter/utils/fileInteraction/web_file_picker.dart that imports:
  • package:file_picker/file_picker.dart that imports:
  • package:file_picker/src/file_picker.dart that imports:
  • package:file_picker/src/windows/file_picker_windows.dart that imports:
  • package:win32/win32.dart that declares support for platforms: Windows.
Package does not support platform `iOS`.

Because:

  • package:papercups_flutter/papercups_flutter.dart that imports:
  • package:papercups_flutter/widgets/widgets.dart that imports:
  • package:papercups_flutter/widgets/sendMessage/send_message.dart that imports:
  • package:papercups_flutter/utils/fileInteraction/web_file_picker.dart that imports:
  • package:file_picker/file_picker.dart that imports:
  • package:file_picker/src/file_picker.dart that imports:
  • package:file_picker/src/windows/file_picker_windows.dart that imports:
  • package:win32/win32.dart that declares support for platforms: Windows.

0/0 points: WASM compatibility

Package not compatible with runtime wasm

Because:

  • package:papercups_flutter/papercups_flutter.dart that imports:
  • package:papercups_flutter/widgets/widgets.dart that imports:
  • package:papercups_flutter/widgets/sendMessage/send_message.dart that imports:
  • package:papercups_flutter/utils/fileInteraction/web_file_picker.dart that imports:
  • package:papercups_flutter/utils/fileInteraction/upload_file.dart that imports:
  • package:universal_io/io.dart that imports:
  • package:universal_io/src/_exports_in_vm.dart that imports:
  • package:universal_io/src/new_universal_http_client.dart that imports:
  • package:universal_io/src/_helpers.dart that imports:
  • package:universal_io/src/_helpers_impl_elsewhere.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.

partial
Pass static analysis
40 / 50trigger folding of the section

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

Found 21 issues. Showing the first 2:

INFO: 'withOpacity' is deprecated and shouldn't be used. Use .withValues() to avoid precision loss.

lib/papercups_flutter.dart:319:51

    ╷
319 │                                     ? Colors.grey.withOpacity(0.4)
    │                                                   ^^^^^^^^^^^
    ╵

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

INFO: 'withOpacity' is deprecated and shouldn't be used. Use .withValues() to avoid precision loss.

lib/papercups_flutter.dart:320:52

    ╷
320 │                                     : Colors.black.withOpacity(0.8),
    │                                                    ^^^^^^^^^^^
    ╵

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

failed
Support up-to-date dependencies
30 / 40trigger folding of the section

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

Package Constraint Compatible Latest
file_picker ^5.2.5 5.5.0 8.1.6
flutter flutter 0.0.0 0.0.0
flutter_markdown >=0.5.2 <0.7.0 0.6.23 0.7.4+3
http >=0.12.2 <0.14.0 0.13.6 1.2.2
intl >=0.16.1 <0.19.0 0.18.1 0.20.1
open_filex ^4.3.2 4.6.0 4.6.0
path_provider ^2.0.1 2.1.5 2.1.5
phoenix_socket >=0.5.3 <0.7.0 0.6.4 0.7.6
timeago >=2.0.30 <4.0.0 3.7.0 3.7.0
universal_io ^2.0.4 2.2.2 2.2.2
url_launcher ^6.1.2 6.3.1 6.3.1
Transitive dependencies
Package Constraint Compatible Latest
args - 2.6.0 2.6.0
async - 2.12.0 2.12.0
boolean_selector - 2.1.2 2.1.2
characters - 1.3.0 1.4.0
clock - 1.1.2 1.1.2
collection - 1.19.0 1.19.1
crypto - 3.0.6 3.0.6
equatable - 2.0.7 2.0.7
ffi - 2.1.3 2.1.3
flutter_plugin_android_lifecycle - 2.0.24 2.0.24
flutter_web_plugins - 0.0.0 0.0.0
http_parser - 4.1.1 4.1.1
logging - 1.3.0 1.3.0
markdown - 7.2.2 7.2.2
matcher - 0.12.17 0.12.17
material_color_utilities - 0.11.1 0.12.0
meta - 1.15.0 1.16.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
pedantic - 1.11.1 1.11.1
platform - 3.1.6 3.1.6
plugin_platform_interface - 2.1.8 2.1.8
quiver - 3.2.2 3.2.2
rxdart - 0.27.7 0.28.0
sky_engine - 0.0.0 0.0.0
source_span - 1.10.1 1.10.1
stack_trace - 1.12.1 1.12.1
stream_channel - 2.1.3 2.1.3
string_scanner - 1.4.1 1.4.1
term_glyph - 1.2.2 1.2.2
test_api - 0.7.4 0.7.4
typed_data - 1.4.0 1.4.0
url_launcher_android - 6.3.14 6.3.14
url_launcher_ios - 6.3.2 6.3.2
url_launcher_linux - 3.2.1 3.2.1
url_launcher_macos - 3.2.2 3.2.2
url_launcher_platform_interface - 2.3.2 2.3.2
url_launcher_web - 2.3.3 2.3.3
url_launcher_windows - 3.1.3 3.1.3
vector_math - 2.1.4 2.1.4
web - 0.5.1 1.1.0
web_socket_channel - 2.4.5 3.0.1
win32 - 5.9.0 5.9.0
xdg_directories - 1.1.0 1.1.0

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

Found 5 issues. Showing the first 2:

The constraint `^5.2.5` on file_picker does not support the stable version `6.0.0`.

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

The constraint `>=0.5.2 <0.7.0` on flutter_markdown does not support the stable version `0.7.0`.

Try running dart pub upgrade --major-versions flutter_markdown 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.

Analyzed with Pana 0.22.17, Flutter 3.27.0, Dart 3.6.0.

Check the analysis log for details.