Skip to content

Open camera to take and share a photo #61

Closed
@gnprice

Description

@gnprice

This is the feature indicated by a "camera" icon below the compose box in the zulip-mobile RN app. It's a standard, expected feature for a messaging application on a mobile device.

Flutter has a first-party plugin for this: https://pub.dev/packages/camera and that's probably what we want to use.


Further notes on the camera plugin:

The plugin's Android implementation is being rewritten to use Android's new CameraX API.

  • Design doc gives some background:

    There are a large number of device-specific issues with the current Android camera implementation (about 30% of all filed camera issues). These issues are extremely difficult for us to tackle since they may require access to specific devices, involve hardware issues, or require undocumented or hacky workarounds.

    Android upstream has invested in solving that problem (see the photo of an automated physical-phone-with-camera test lab in the CameraX doc), and CameraX is the result.

  • Tracked as a GitHub project board; see as issue search.

    • It looks like work on implementing this project started around the beginning of 2023. Perhaps it'll be finished later in 2023?
  • So at present the plugin is less reliable on Android than one would like. But probably our best path to solve that is to just go ahead and use the first-party plugin, and wait for it to improve with the switch to CameraX.

Meanwhile on the iOS side:

  • Filtering to iOS issues: 28 open, of 66 total. See ranked by upvotes.
    • All have far fewer upvotes than the top-voted Android issues, indicating there aren’t a lot of developers running into them.
    • The top few issues don’t look too concerning: specific to uncommon use cases like taking video, or happen infrequently.
    • Some of the top issues that do look relevant: #25959 latency; #89216 a messy issue about camera orientation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    a-composeCompose box, autocomplete, attaching files/images

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions