Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: remove device_info_plus and add quill_native_bridge to access platform specific APIs #2194

Merged
merged 8 commits into from
Sep 11, 2024

Conversation

EchoEllet
Copy link
Collaborator

@EchoEllet EchoEllet commented Sep 8, 2024

Description

Remove device_info_plus and create a quill_native_bridge plugin for accessing platform-specific APIs

Currently, we have device_info_plus as a dependency to fix a bug on iOS simulator (See #652) by check if the device is an iOS simulator, removing the plugin and add quill_native_bridge which currently can only check if the platform is iOS simulator, we might expand it in the future since we need platform-specific APIs in some areas such as accessing the clipboard and spell checker system service.

This PR doesn't make flutter_quill a plugin, instead, it creates a new plugin and requires it as a dependency in flutter_quill.

Moving packages into their own directory

We might consider moving the packages into their own directory (packages) however there are some places that need to be manually updated first:

  1. The scripts
  2. The CI and the Automated publishing by GitHub
  3. The reference of the flutter_quill in the other packages (like flutter_quill_extensions)
  4. The markdown files like README.md or CHANGELOG.md and all the other docs files in the project should update the links
  5. There are other files such as quill_native_bridge/ios/quill_native_bridge.podspec

We will discuss it in a different issue later.

Related Issues

Type of Change

  • New feature: Adds new functionality without breaking existing features.
  • 🛠️ Bug fix: Resolves an issue without altering current behavior.
  • 🧹 Code refactor: Code restructuring that does not affect behavior.
  • Breaking change: Alters existing functionality and requires updates.
  • 🧪 Tests: Adds new tests or modifies existing tests.
  • 📝 Documentation: Updates or additions to documentation.
  • 🗑️ Chore: Routine tasks, or maintenance.
  • Build configuration change: Changes to build or deploy processes.

@EchoEllet
Copy link
Collaborator Author

If you have suggestions or thoughts regarding this PR, I'm open to hearing them.

For the plugin name, I would go for quill_platform_bridge or quill_native_bridge.

  • I choose to remove the flutter_ prefix from the plugin name to make it a bit shorter.
  • I didn't choose quill_plugin since it might not be clear that it's a platform plugin for accessing platform API.

Copy link
Collaborator

@AtlasAutocode AtlasAutocode left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see a problem.
Supporting iOS simulator is VERY important.

The flutter_ prefix is redundant and is good to remove.

I don't have a preference on quill_platform_bridge or quill_native_bridge. Platform gives the idea that this is platform-specific. Native gives the idea that it is low level native code that could do whatever.

@EchoEllet EchoEllet marked this pull request as ready for review September 11, 2024 17:19
@EchoEllet EchoEllet merged commit 8ae33a9 into master Sep 11, 2024
2 checks passed
@EchoEllet EchoEllet deleted the chore/remove-device-info-plus-plugin branch September 11, 2024 17:22
EchoEllet added a commit that referenced this pull request Sep 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

how i can exclude device_info_plus
4 participants