Skip to content

[camera_web] Support for camera stream on web #6443

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

Closed
wants to merge 203 commits into from

Conversation

TecHaxter
Copy link

@TecHaxter TecHaxter commented Mar 31, 2024

This PR aims to provide support for strartImageStream and stopImageStream on Web.

#92460

Based on #6944 from the archived plugins repository

Pre-launch Checklist

  • I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
  • I read the [Tree Hygiene] wiki page, which explains my responsibilities.
  • I read and followed the [relevant style guides] and ran the auto-formatter. (Unlike the flutter/flutter repo, the flutter/packages repo does use dart format.)
  • I signed the [CLA].
  • The title of the PR starts with the name of the package surrounded by square brackets, e.g. [shared_preferences]
  • I [linked to at least one issue that this PR fixes] in the description above.
  • I updated pubspec.yaml with an appropriate new version according to the [pub versioning philosophy], or this PR is [exempt from version changes].
  • I updated CHANGELOG.md to add a description of the change, [following repository CHANGELOG style].
  • I updated/added relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making, or this PR is [test-exempt].
  • All existing and new tests are passing.

POV: my first PR on a public repo

Copy link

google-cla bot commented Mar 31, 2024

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@TecHaxter
Copy link
Author

@ditman @bparrishMines Can you help me how to resolve these Checks?

@bparrishMines
Copy link
Contributor

You should be able to click on details for the failing issue. It looks like this is the cause in the integration test

The web-server device requires the Dart Debug Chrome extension for debugging. Consider using the Chrome or Edge devices for an improved development workflow.
Failure Details:
Failure in method: bytes is a multiple of 4
══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞═════════════════
The following LateError was thrown running a test:
LateInitializationError: Field 'videoElement' has already been
initialized.

When the exception was thrown, this was the stack:
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 296:3  throw_
packages/camera_web/src/camera_service.dart.js 828:19                        set videoElement
packages/camera_web/src/camera_service.dart.js 859:27                        initialize
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 45:50           <fn>
dart-sdk/lib/async/zone.dart 1407:47                                         _rootRunUnary
dart-sdk/lib/async/zone.dart 1308:19                                         runUnary
dart-sdk/lib/async/future_impl.dart 163:18                                   handleValue
dart-sdk/lib/async/future_impl.dart 847:44                                   handleValueCallback
dart-sdk/lib/async/future_impl.dart 876:13                                   _propagateToListeners
dart-sdk/lib/async/future_impl.dart 652:5                                    [_completeWithValue]
dart-sdk/lib/async/future_impl.dart 722:7                                    <fn>
dart-sdk/lib/async/zone.dart 1399:13                                         _rootRun
dart-sdk/lib/async/zone.dart 1301:19                                         run
dart-sdk/lib/async/zone.dart 1209:7                                          runGuarded
dart-sdk/lib/async/zone.dart 1249:23                                         callback
dart-sdk/lib/async/schedule_microtask.dart 40:11                             _microtaskLoop
dart-sdk/lib/async/schedule_microtask.dart 49:5                              _startMicrotaskLoop
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 181:7           <fn>

The test description was:
  bytes is a multiple of 4
═════════════════════════════════════════════════════════════════

end of failure 1

@TecHaxter TecHaxter changed the title [camera] Support for camera stream on web [camera_web] Support for camera stream on web May 8, 2024
@TecHaxter
Copy link
Author

@bparrishMines All the checks related to the files that were changed are passed, But some checks related to camera_android federated plugin are failing.
There are no changes made in this PR for camera_android.

Linux_android android_device_tests_shard_1 master

Test failure for example/integration_test/camera_test.dart after 2 attempts

[packages/camera/camera completed in 7m 0s]


The following packages had errors:
  packages/camera/camera:
    example/integration_test/camera_test.dart failed tests
See above for full details.

Kindly review and let me know if any changes are required, Thanks :)

@TecHaxter
Copy link
Author

@bparrishMines @ditman The PR is ready for review and merge, Thanks :)

@TecHaxter
Copy link
Author

@matanlurey @camsim99
Can you review and identify what's wrong in android_device_tests_shard_1 check, Thanks :)

* What went wrong:
A problem occurred configuring project ':flutter_plugin_android_lifecycle'.
> Could not resolve all files for configuration ':flutter_plugin_android_lifecycle:classpath'.
   > Could not download opencensus-contrib-grpc-metrics-0.21.0.jar (io.opencensus:opencensus-contrib-grpc-metrics:0.21.0)
      > Could not get resource 'https://repo.maven.apache.org/maven2/io/opencensus/opencensus-contrib-grpc-metrics/0.21.0/opencensus-contrib-grpc-metrics-0.21.0.jar'.
         > Could not GET 'https://repo.maven.apache.org/maven2/io/opencensus/opencensus-contrib-grpc-metrics/0.21.0/opencensus-contrib-grpc-metrics-0.21.0.jar'. Received status code 503 from server: Service Unavailable
> Failed to notify project evaluation listener.
   > Could not get unknown property 'android' for project ':flutter_plugin_android_lifecycle' of type org.gradle.api.Project.
   > Could not get unknown property 'android' for project ':flutter_plugin_android_lifecycle' of type org.gradle.api.Project.

And why android checks are failing if there are no changes related to android federated plugin in this PR?

@camsim99
Copy link
Contributor

@TecHaxter Re-ran it because I've seen a similar error before and it looks like it was a flake. As to why it ran, maybe @ditman knows?

Copy link
Contributor

Choose a reason for hiding this comment

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

@TecHaxter Can you revert the changes to this file? It's unrelated to this PR. It may also be why the Android test are running.

Copy link
Author

Choose a reason for hiding this comment

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

Sure, I have rebased the branch and removed that specific commit which included changes in packages/camera/camera/CHANGELOG.md

engine-flutter-autoroll and others added 14 commits May 22, 2024 13:22
flutter/flutter@d12ba5c...9d32f07

2024-03-31 [email protected] Roll Flutter Engine from
2decefb00d1e to 34081fea4d59 (1 revision) (flutter/flutter#146048)
2024-03-31 [email protected] Roll Flutter Engine from
3588d31a98f6 to 2decefb00d1e (1 revision) (flutter/flutter#146047)
2024-03-30 [email protected] Implement
`computeDryBaseline` for cupertino `RenderBox`es
(flutter/flutter#145951)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC [email protected],[email protected],[email protected] on
the revert to ensure that a human
is aware of the problem.

To file a bug in Packages:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
…es/in_app_purchase/in_app_purchase_android/android (flutter#6241)

Bumps [org.json:json](https://github.com/douglascrockford/JSON-java) from 20231013 to 20240303.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/douglascrockford/JSON-java/releases">org.json:json's releases</a>.</em></p>
<blockquote>
<h2>20240303</h2>
<table>
<thead>
<tr>
<th>Pull Request</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://redirect.github.com/douglascrockford/JSON-java/issues/875">#875</a></td>
<td><a href="https://redirect.github.com/stleary/JSON-java/pull/875">20240303-pre-release-updates</a></td>
</tr>
<tr>
<td><a href="https://redirect.github.com/douglascrockford/JSON-java/issues/874">#874</a></td>
<td><a href="https://redirect.github.com/stleary/JSON-java/pull/874">Deployment and Pipeline action updates</a></td>
</tr>
<tr>
<td><a href="https://redirect.github.com/douglascrockford/JSON-java/issues/869">#869</a></td>
<td><a href="https://redirect.github.com/stleary/JSON-java/pull/869">Revert recent obj long get long changes</a></td>
</tr>
<tr>
<td><a href="https://redirect.github.com/douglascrockford/JSON-java/issues/860">#860</a></td>
<td><a href="https://redirect.github.com/stleary/JSON-java/pull/860">Added missing Javadocs for Java 21</a></td>
</tr>
<tr>
<td><a href="https://redirect.github.com/douglascrockford/JSON-java/issues/858">#858</a></td>
<td>[cleanup-after-commit for <a href="https://redirect.github.com/douglascrockford/JSON-java/issues/854">#854</a> and <a href="https://redirect.github.com/douglascrockford/JSON-java/issues/856">#856</a>](<a href="https://redirect.github.com/stleary/JSON-java/pull/858">stleary/JSON-java#858</a>)</td>
</tr>
<tr>
<td><a href="https://redirect.github.com/douglascrockford/JSON-java/issues/856">#856</a></td>
<td><a href="https://redirect.github.com/stleary/JSON-java/pull/856">add ability for custom delimiters</a></td>
</tr>
</tbody>
</table>
<h2>20240205</h2>
<table>
<thead>
<tr>
<th>Pull Request</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://redirect.github.com/douglascrockford/JSON-java/issues/855">#855</a></td>
<td><a href="https://redirect.github.com/stleary/JSON-java/pull/855">Fix JSONArrayTest testRecursiveDepthArrayFor1000Levels()</a> </td>
</tr>
<tr>
<td><a href="https://redirect.github.com/douglascrockford/JSON-java/issues/846">#846</a></td>
<td><a href="https://redirect.github.com/stleary/JSON-java/pull/846">Cleanup warnings and merge new unit tests</a></td>
</tr>
<tr>
<td><a href="https://redirect.github.com/douglascrockford/JSON-java/issues/845">#845</a></td>
<td><a href="https://redirect.github.com/stleary/JSON-java/pull/845">improved annotation search performance</a></td>
</tr>
<tr>
<td><a href="https://redirect.github.com/douglascrockford/JSON-java/issues/835">#835</a></td>
<td><a href="https://redirect.github.com/stleary/JSON-java/pull/835">Delete redundant .toString() call in README</a></td>
</tr>
<tr>
<td><a href="https://redirect.github.com/douglascrockford/JSON-java/issues/832">#832</a></td>
<td><a href="https://redirect.github.com/stleary/JSON-java/pull/832">Add a config flag to disable whitespace trimming</a></td>
</tr>
<tr>
<td><a href="https://redirect.github.com/douglascrockford/JSON-java/issues/831">#831</a></td>
<td><a href="https://redirect.github.com/stleary/JSON-java/pull/831">Refactor NumberConversionUtil and toString() of CookieList &amp; XML Classes</a></td>
</tr>
<tr>
<td><a href="https://redirect.github.com/douglascrockford/JSON-java/issues/830">#830</a></td>
<td><a href="https://redirect.github.com/stleary/JSON-java/pull/830">Upgrade json-path's version to 2.4.0 to avoid dependency conflict</a></td>
</tr>
<tr>
<td><a href="https://redirect.github.com/douglascrockford/JSON-java/issues/828">#828</a></td>
<td><a href="https://redirect.github.com/stleary/JSON-java/pull/828">Fixed flaky tests in XMLTest.java</a></td>
</tr>
<tr>
<td><a href="https://redirect.github.com/douglascrockford/JSON-java/issues/824">#824</a></td>
<td><a href="https://redirect.github.com/stleary/JSON-java/pull/824">Ignore tests that fail due to resource differences</a></td>
</tr>
<tr>
<td><a href="https://redirect.github.com/douglascrockford/JSON-java/issues/823">#823</a></td>
<td><a href="https://redirect.github.com/stleary/JSON-java/pull/823">JSON parsing self reference object and array</a></td>
</tr>
<tr>
<td><a href="https://redirect.github.com/douglascrockford/JSON-java/issues/820">#820</a></td>
<td><a href="https://redirect.github.com/stleary/JSON-java/pull/820">Close XML tag explicitly for empty tags with configuration</a></td>
</tr>
<tr>
<td><a href="https://redirect.github.com/douglascrockford/JSON-java/issues/815">#815</a></td>
<td><a href="https://redirect.github.com/stleary/JSON-java/pull/815">Ensure java 6 compatable</a> </td>
</tr>
<tr>
<td><a href="https://redirect.github.com/douglascrockford/JSON-java/issues/814">#814</a></td>
<td><a href="https://redirect.github.com/stleary/JSON-java/pull/814">Refactor duplicate code for stringToNumber() in JSONObject, JSONArray, and XML</a></td>
</tr>
<tr>
<td><a href="https://redirect.github.com/douglascrockford/JSON-java/issues/812">#812</a></td>
<td><a href="https://redirect.github.com/stleary/JSON-java/pull/812">docs: use syntax highlighting</a></td>
</tr>
<tr>
<td><a href="https://redirect.github.com/douglascrockford/JSON-java/issues/808">#808</a></td>
<td><a href="https://redirect.github.com/stleary/JSON-java/pull/808">Fix compiler warnings</a></td>
</tr>
<tr>
<td><a href="https://redirect.github.com/douglascrockford/JSON-java/issues/806">#806</a></td>
<td><a href="https://redirect.github.com/stleary/JSON-java/pull/806">Add new deployment pipeline</a></td>
</tr>
<tr>
<td><a href="https://redirect.github.com/douglascrockford/JSON-java/issues/803">#803</a></td>
<td><a href="https://redirect.github.com/stleary/JSON-java/pull/803">ci: test with Java 21</a> </td>
</tr>
<tr>
<td><a href="https://redirect.github.com/douglascrockford/JSON-java/issues/801">#801</a></td>
<td><a href="https://redirect.github.com/stleary/JSON-java/pull/801">Updates the pipeline to validate that packaging a jar works properly</a></td>
</tr>
<tr>
<td><a href="https://redirect.github.com/douglascrockford/JSON-java/issues/798">#798</a></td>
<td><a href="https://redirect.github.com/stleary/JSON-java/pull/798">fix: flakiness in org.json.junit.XMLTest#testIndentComplicatedJsonObjectWithArrayAndWithConfig</a></td>
</tr>
<tr>
<td><a href="https://redirect.github.com/douglascrockford/JSON-java/issues/794">#794</a></td>
<td><a href="https://redirect.github.com/stleary/JSON-java/pull/794">XML optLong/getLong equivalent updates for string to number conversion.</a></td>
</tr>
</tbody>
</table>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/stleary/JSON-java/blob/master/docs/RELEASES.md">org.json:json's changelog</a>.</em></p>
<blockquote>
<p>20240303    Revert optLong/getLong changes, and recent commits.</p>
<p>20240205    Recent commits.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/douglascrockford/JSON-java/commits">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.json:json&package-manager=gradle&previous-version=20231013&new-version=20240303)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>
)

Manual roll requested by [email protected]

flutter/flutter@9d32f07...7fa932b

2024-04-01 [email protected] Roll Flutter Engine from e6f19409b613 to ea93c5d91b12 (3 revisions) (flutter/flutter#146100)
2024-04-01 [email protected] Refactor realm_checker (flutter/flutter#145905)
2024-04-01 [email protected] Add info strings to code blocks. (flutter/flutter#146085)
2024-04-01 [email protected] Add test for animated_container.0.dart API example. (flutter/flutter#145995)
2024-04-01 [email protected] Roll Flutter Engine from 8dff6b833fe2 to e6f19409b613 (2 revisions) (flutter/flutter#146093)
2024-04-01 [email protected] Roll Flutter Engine from d33666d90916 to 8dff6b833fe2 (3 revisions) (flutter/flutter#146087)
2024-04-01 [email protected] Fix SliverMainAxisGroup layout in reverse (flutter/flutter#145572)
2024-04-01 [email protected] Roll Flutter Engine from dd4f5cd5c9d5 to d33666d90916 (3 revisions) (flutter/flutter#146083)
2024-04-01 [email protected] Roll Packages from 51faaa1 to d5aff19 (3 revisions) (flutter/flutter#146081)
2024-04-01 [email protected] Fixes some gesture recognizers are not disposed. (flutter/flutter#146072)
2024-04-01 [email protected] Flutter Gradle Plugin: add versionName and versionCode to FlutterExtension (flutter/flutter#146044)
2024-04-01 [email protected] Roll Flutter Engine from bf348cd73d49 to dd4f5cd5c9d5 (1 revision) (flutter/flutter#146071)
2024-04-01 [email protected] Roll Flutter Engine from 984a78b04671 to bf348cd73d49 (1 revision) (flutter/flutter#146065)
2024-04-01 [email protected] Deprecate `ButtonBar`, `ButtonBarThemeData`, and `ThemeData.buttonBarTheme` (flutter/flutter#145523)
2024-04-01 [email protected] Add `DataColumn.headingRowAlignment ` for `DataTable` (flutter/flutter#144006)
2024-04-01 [email protected] Roll Flutter Engine from e9d35f8bfbe2 to 984a78b04671 (2 revisions) (flutter/flutter#146062)
2024-04-01 [email protected] Roll Flutter Engine from 4f6b832c8e33 to e9d35f8bfbe2 (1 revision) (flutter/flutter#146060)
2024-03-31 [email protected] Roll Flutter Engine from 9689390986b7 to 4f6b832c8e33 (1 revision) (flutter/flutter#146055)
2024-03-31 [email protected] Roll Flutter Engine from 34081fea4d59 to 9689390986b7 (1 revision) (flutter/flutter#146053)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC [email protected],[email protected],[email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
flutter/flutter@7fa932b...a418568

2024-04-02 [email protected] Roll Flutter Engine from decca6b8bf45 to 523fc953ebc8 (1 revision) (flutter/flutter#146118)
2024-04-02 [email protected] Roll Flutter Engine from 370e325098fb to decca6b8bf45 (1 revision) (flutter/flutter#146111)
2024-04-02 [email protected] Roll Flutter Engine from 9a513de65251 to 370e325098fb (1 revision) (flutter/flutter#146109)
2024-04-02 [email protected] Manual roll Flutter Engine from e6f19409b613 to 9a513de65251 (12 revisions) (flutter/flutter#146108)
2024-04-01 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Roll Flutter Engine from e6f19409b613 to ea93c5d91b12 (3 revisions) (#146100)" (flutter/flutter#146106)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Replaces manual method channels with Pigeon.

This replaces all of the method calls in both direction with Pigeon calls, and converts all the top-level objects used for params and returns to Pigeon objects. However, because of the significant object graph, in order to somewhat limit the scope of this PR I made a cut at that layer in the object graph, with nested objects still using the existing JSON serialization. In a follow-up PR, those will be converted to typed Pigeon objects as well, completing the transition.

Unfortunately a significant amount of JSON code can't be removed yet even though it's now unused by the plugin, because it's part of the API of the public wrappers, so clients may be using it. Once all the JSON code is unused, we could `@Deprecated` all of it, and then could do a follow-up breaking change later to remove it.

Most of flutter/flutter#117910
Roll Flutter from a418568 to e868e2b (34 revisions)

flutter/flutter@a418568...e868e2b

2024-04-03 [email protected] Add SegmentedButton expand feature (flutter/flutter#142804)
2024-04-03 [email protected] Roll Flutter Engine from e36b9b10c36f to 56fa2c33a5f7 (1 revision) (flutter/flutter#146205)
2024-04-03 [email protected] Roll Packages from 83f3842 to 0e848fa (3 revisions) (flutter/flutter#146201)
2024-04-03 [email protected] Enhance ColorScheme.fromSeed with a new `variant` parameter (flutter/flutter#144805)
2024-04-03 [email protected] Roll Flutter Engine from 0280de5be276 to e36b9b10c36f (1 revision) (flutter/flutter#146200)
2024-04-03 [email protected] Fix typos in bottom_sheet.dart (flutter/flutter#146188)
2024-04-03 [email protected] Roll Flutter Engine from 979030d81f8d to 0280de5be276 (2 revisions) (flutter/flutter#146199)
2024-04-03 [email protected] Roll Flutter Engine from bef3bbe3f74e to 979030d81f8d (1 revision) (flutter/flutter#146186)
2024-04-03 [email protected] Roll Flutter Engine from 5fc83bc24b2e to bef3bbe3f74e (1 revision) (flutter/flutter#146183)
2024-04-03 [email protected] Roll Flutter Engine from 0da1b2eb370a to 5fc83bc24b2e (1 revision) (flutter/flutter#146180)
2024-04-03 [email protected] Avoid calling `TextPainter.plainText` for simple static text (flutter/flutter#146084)
2024-04-03 [email protected] Roll Flutter Engine from e603f89844a9 to 0da1b2eb370a (2 revisions) (flutter/flutter#146179)
2024-04-03 [email protected] Roll Flutter Engine from ef60a95d78c1 to e603f89844a9 (3 revisions) (flutter/flutter#146177)
2024-04-03 [email protected] Fix chip baseline implementation (flutter/flutter#146162)
2024-04-03 [email protected] Roll Flutter Engine from bb4ec2d7eb39 to ef60a95d78c1 (1 revision) (flutter/flutter#146176)
2024-04-03 [email protected] Add tests for material_state_mouse_cursor.0.dart API example. (flutter/flutter#145987)
2024-04-03 [email protected] Update material_color_utilities package version to latest 0.11.1 (flutter/flutter#145959)
2024-04-03 [email protected] Roll Flutter Engine from 5f6dec8bd877 to bb4ec2d7eb39 (4 revisions) (flutter/flutter#146169)
2024-04-03 [email protected] Roll Flutter Engine from 5dbcfdc2a456 to 5f6dec8bd877 (1 revision) (flutter/flutter#146163)
2024-04-02 [email protected] Dispose FocusNode in tests. (flutter/flutter#146161)
2024-04-02 [email protected] Add `none` language strings to code blocks. (flutter/flutter#146154)
2024-04-02 [email protected] Refactor docs (flutter/flutter#145998)
2024-04-02 [email protected] Roll Flutter Engine from c60b00a20fc3 to 5dbcfdc2a456 (3 revisions) (flutter/flutter#146159)
2024-04-02 [email protected] Marks Linux_pixel_7pro complex_layout_scroll_perf_impeller__timeline_summary to be unflaky (flutter/flutter#140038)
2024-04-02 [email protected] Roll Flutter Engine from 5bf8b94505a4 to c60b00a20fc3 (2 revisions) (flutter/flutter#146157)
2024-04-02 [email protected] Refactor analyze (flutter/flutter#146138)
2024-04-02 [email protected] Implement SelectionArea triple click gestures (flutter/flutter#144563)
2024-04-02 [email protected] Roll Flutter Engine from 6883f7313da0 to 5bf8b94505a4 (2 revisions) (flutter/flutter#146152)
2024-04-02 [email protected] Fix border color is wrong for a focused and hovered TextField (flutter/flutter#146127)
2024-04-02 [email protected] Sync lints and enable `annotate_redeclares` (flutter/flutter#146144)
2024-04-02 [email protected] Implements `RenderBox.computeDryBaseline` for material render boxes (flutter/flutter#146027)
2024-04-02 [email protected] Roll Flutter Engine from 523fc953ebc8 to 6883f7313da0 (2 revisions) (flutter/flutter#146140)
2024-04-02 [email protected] Fix `MenuItemButton` overflow (flutter/flutter#143932)
2024-04-02 [email protected] Roll Packages from d5aff19 to 83f3842 (4 revisions) (flutter/flutter#146134)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

...
…ncies, exclude integration_test from dependencies (flutter#6446)

Create a linter that ensures that `integration_test` is not used in dependencies. 

Will be paired with a change to documentation 
```
If you are considering adding an external dependency:

Consider other options, and discuss with #hackers-ecosystem in Discord.
* If you add a dev_dependency on an external package, pin it to a specific version if at all possible.
* If you add a dependency on an external package in an example/, pin it to a specific version if at all possible.
* Some dependencies should only be linked as dev dependencies like integration_test 
```

Related to flutter/flutter/issues/145992
flutter#6224)

Adds the ability to instantiate any api using a suffix string to allow for unique instances. 

partial flutter/flutter#66710
Bumps [lewagon/wait-on-check-action](https://github.com/lewagon/wait-on-check-action) from 1.3.3 to 1.3.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/lewagon/wait-on-check-action/releases">lewagon/wait-on-check-action's releases</a>.</em></p>
<blockquote>
<h2>Update <code>actions/cache</code> to v4</h2>
<p>Kudos to <a href="https://github.com/Apakottur"><code>@�Apakottur</code></a> in <a href="https://redirect.github.com/lewagon/wait-on-check-action/pull/99">lewagon/wait-on-check-action#99</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/lewagon/wait-on-check-action/commit/ccfb013c15c8afb7bf2b7c028fb74dc5a068cccc"><code>ccfb013</code></a> Update action.yml (<a href="https://redirect.github.com/lewagon/wait-on-check-action/issues/99">#99</a>)</li>
<li>See full diff in <a href="https://github.com/lewagon/wait-on-check-action/compare/595dabb3acf442d47e29c9ec9ba44db0c6bdd18f...ccfb013c15c8afb7bf2b7c028fb74dc5a068cccc">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=lewagon/wait-on-check-action&package-manager=github_actions&previous-version=1.3.3&new-version=1.3.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>
flutter/flutter@e868e2b...ac2ca93

2024-04-04 [email protected] Roll Flutter Engine from aadf522e3c98 to 4303dc0d7a73 (1 revision) (flutter/flutter#146262)
2024-04-04 [email protected] Roll Flutter Engine from c57c8665b4eb to aadf522e3c98 (1 revision) (flutter/flutter#146261)
2024-04-04 [email protected] Roll Flutter Engine from ca7596642cfd to c57c8665b4eb (1 revision) (flutter/flutter#146259)
2024-04-04 [email protected] Roll Flutter Engine from 83c037c449b5 to ca7596642cfd (1 revision) (flutter/flutter#146258)
2024-04-04 [email protected] Roll Flutter Engine from 614154012e93 to 83c037c449b5 (1 revision) (flutter/flutter#146255)
2024-04-04 [email protected] Roll Flutter Engine from 41da00ac46bc to 614154012e93 (1 revision) (flutter/flutter#146250)
2024-04-04 [email protected] Roll Flutter Engine from 18fdcad40332 to 41da00ac46bc (6 revisions) (flutter/flutter#146246)
2024-04-04 [email protected] Roll pub packages (flutter/flutter#146245)
2024-04-03 [email protected] Add tests for theme_extension.1.dart API example. (flutter/flutter#145819)
2024-04-03 [email protected] Roll Flutter Engine from 349608d2b008 to 18fdcad40332 (6 revisions) (flutter/flutter#146240)
2024-04-03 [email protected] Add `missing_code_block_language_in_doc_comment` lint. (flutter/flutter#145354)
2024-04-03 [email protected] Magnifier cleanup (flutter/flutter#143558)
2024-04-03 [email protected] Set up Kotlin linting step in ci with ktlint (flutter/flutter#143478)
2024-04-03 [email protected] Roll Flutter Engine from 1a9e48ab1c9a to 349608d2b008 (1 revision) (flutter/flutter#146230)
2024-04-03 [email protected] Update ownership to GitHub handles (flutter/flutter#146221)
2024-04-03 [email protected] Roll Flutter Engine from d065763b1a63 to 1a9e48ab1c9a (1 revision) (flutter/flutter#146226)
2024-04-03 [email protected] Refactor fuchsia_precache (flutter/flutter#145978)
2024-04-03 [email protected] Roll Flutter Engine from b1c23addaec5 to d065763b1a63 (1 revision) (flutter/flutter#146218)
2024-04-03 [email protected] `computeDryBaseline` for rendering / widgets RenderBoxes (flutter/flutter#146143)
2024-04-03 [email protected] Roll Flutter Engine from 7b28ae1d15cb to b1c23addaec5 (1 revision) (flutter/flutter#146214)
2024-04-03 [email protected] Fix TextStyle.lerp() to properly interpolate text shadows (flutter/flutter#145666)
2024-04-03 [email protected] Renderflex cross intrinsic size with baseline alignment (flutter/flutter#146185)
2024-04-03 [email protected] Roll Flutter Engine from 56fa2c33a5f7 to 7b28ae1d15cb (1 revision) (flutter/flutter#146208)
2024-04-03 [email protected] Refactor customer_testing (flutter/flutter#145911)
2024-04-03 [email protected] Add `DropdownMenu` cursor behavior sample (flutter/flutter#146133)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
…ackages (flutter#6463)

Fixes flutter/flutter#146254

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [relevant style guides] and ran the
auto-formatter. (Unlike the flutter/flutter repo, the flutter/packages
repo does use `dart format`.)
- [x] I signed the [CLA].
- [x] The title of the PR starts with the name of the package surrounded
by square brackets, e.g. `[shared_preferences]`
- [x] I [linked to at least one issue that this PR fixes] in the
description above.
- [x] I updated `pubspec.yaml` with an appropriate new version according
to the [pub versioning philosophy], or this PR is [exempt from version
changes].
- [x] I updated `CHANGELOG.md` to add a description of the change,
[following repository CHANGELOG style].
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] All existing and new tests are passing.
@TecHaxter TecHaxter requested a review from ditman May 26, 2024 14:03
@stuartmorgan-g
Copy link
Contributor

@ditman It looks like this ready for another review.

@kevmoo
Copy link
Contributor

kevmoo commented Jul 26, 2024

Are we unblocked here @ditman ?

@stuartmorgan-g
Copy link
Contributor

From triage: Ping @ditman on this review

@Piinks
Copy link
Contributor

Piinks commented Oct 22, 2024

(PR triage): @ditman can you give this another look? Apologies @TecHaxter, thank you for your patience. It looks like there are some merge conflicts now, can you take a look? Thank you!

@ditman
Copy link
Member

ditman commented Oct 23, 2024

This is next in my review queue, will get to it on friday. I can deal with the conflicts (if @TecHaxter allows contributors to modify this PR)

@ditman
Copy link
Member

ditman commented Oct 25, 2024

@TecHaxter I'm going to rebase and foce push this branch to remove all the unneeded commits/participants.

@ditman
Copy link
Member

ditman commented Oct 26, 2024

This PR is super outdated, it never made it through the dart:html migration. Unfortunately, @TecHaxter didn't follow the tree hygiene docs and created this PR on the main branch of their fork, so I won't be able to fix this PR.

What I'm going to do, is try to cherry-pick @TecHaxter's commits on a new branch off of main, and see how far I can get:

dit@dit:/work/flutter/packages/packages/camera/camera_web$ git log [email protected] --no-merges --format=oneline --reverse
822c5bfe4e6663d70a251ecef2d015ce19b57f52 [camera/camera_web] Supporting camera stream on web
88dce1d8282139de2b788fe90b90ae09f397cec0 [camera_web] Version and Changelog updated
bcea8122ffc0dd729aadeb3c51f444cb8c4ad7f2 [camera_web] - integration test updated: mock videoElement initialized before expecting mock response
c776141e4b3e608c67bd7e4da3340e899f10b8c5 [camera_web] camera service takeFrame with better exception handelling
6d73310b0d4cd96d90639beb592a099ccd4efdc4 [camera_web] tested takeFrame camera service function
7244e7f5c33895cdc9fd4d40ffbcd80d76585600 [camera_web] tested cameraFrameStream
9ebbddbfeba60cb0d87cd020858861caa791cbca [camera_web] platform version updated according to guidelines
01594c48dbb3ea5f41ef7941ea9968cc4e2be51a style: removed late from late final_cameraFrameStreamController
7d83693b94e3592b22052456c21f32cfdc229f8e refactor: cameraFrameStream handles looping of animation frames
b3e8bc5cd4e4f2654dfc6aecdbd37fe46881bf18 refactor: saperated _triggerAnimationFramesLoop from cameraFrameStream, and used window.animationFrames
327dcdf9861fac4431f2d518649afe84f7ace97e chore: can use off screen canvas constant
ef44e13f6d5dfd563cf152e047b7b61789d8c01f chore: removed unnecessary string interpolation from videoElement style height and width in takeFrame
6c607056d10c5880da6976c8e1879e0f6afa3158 chore: reusing the OffscreenCanvas or CanvasElement depending on canUseOffScreenCanvas
7eceff29dffb69011011069b5de4b56e46f1b286 refactor: removed getCameraImageDataFromBytes to be used in-line
db792f415aa6847c3d2f18763feea7a7156b327b fix: setup hasPropertyOffScreenCanvas in tests
6a8c5db4a54c2c764ffe3c27925ddf18231e297f chore: version and changelog updated
4db1863e6b8560afd0950a634f0fc5a9091e33f9 docs: removed "Streaming of frames" from Missing implementation
56e5abbc8f44984e0ba8605816d5cdbb64cd22cb (HEAD, TecHaxter/main) Revert "docs: removed "Streaming of frames" from Missing implementation"

@TecHaxter
Copy link
Author

This is next in my review queue, will get to it on friday. I can deal with the conflicts (if @TecHaxter allows contributors to modify this PR)

@ditman The following checkbox is marked true on this PR:

  • Allow edits by maintainers

Let me know if I requires to do anything with the PR.
Thanks :)

@TecHaxter
Copy link
Author

Hi @ditman,

I've resolved the merge conflicts, and the latest commits replace the dart:html imports with package:web.

Since window.animationFrame is unavailable in package:web, the implementation now utilizes window.requestAnimationFrame instead.

Additionally, the _triggerAnimationFramesLoop function has been updated to be non-blocking and non-recursive (in a technical sense). Currently, a static FPS value of 30 is being used, as requestAnimationFrame can execute faster on high-refresh-rate screens, leading to screen freezing if the FPS is not controlled.

We can remove this static FPS value later once FPS is introduced in CameraImageStreamOptions (the platform interface class).

@ditman
Copy link
Member

ditman commented Oct 28, 2024

@ditman The following checkbox is marked true on this PR:

I don't think I can push or force-push to your main branch, you should have created this off of a branch of your fork, rather than "main"?

I just want to fix this PR so it only shows your commits, and not 200 unrelated others :)

@TecHaxter
Copy link
Author

Sorry for the trouble, @ditman . I've created a new PR #7950 by cherry picking required commits from this PR. Should we close this PR and keep the new one?, or is there any other way to continue with this PR? Let me know how you'd like to proceed. Thanks!

@TecHaxter
Copy link
Author

@ditman I have just updated the rules on my fork repository main branch, it is open to all contributors (force push allowed)
I appreciate your help, thanks :)

@ditman
Copy link
Member

ditman commented Oct 29, 2024

Should we close this PR and keep the new one?, or is there any other way to continue with this PR? Let me know how you'd like to proceed.

@TecHaxter thanks! You saved me a lot of trouble, haha!

Lets' close this PR, and continue on the new one. I'll try to review/change stuff over there!

I've updated the rules on my fork repository main branch, it is open to all contributors (force push allowed)

Now that you're working on a separate branch, you can keep your main branch protected (in fact, I rarely push to the main of my fork, I always use the "Sync fork" Github button to keep it updated!

@ditman
Copy link
Member

ditman commented Oct 29, 2024

@ditman ditman closed this Oct 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.