Flutter 3.10.0 crashes on web before main is called - Dart 3

Is there an existing issue for this?

[X] I have searched the existing issues
[ ] I have read the guide to filing a bug

Steps to reproduce
I'm trying to upgrade en existing project from Flutter 3.7 to 3.10.0.
When I try to run the project on the web, I get the exception below during startup, even before main() gets called. The project works fine on Android and iOS, so it only affects the web. My index.html is very simple. I suspect in Flutter 3.10.0 plugins can't call WidgetsFlutterBinding.ensureInitialized(), because that seems to be the culprit, and if so, how can we work around this?
Expected results
Project should start up fine.
Actual results
Project is crashing, main() doesn't even get called.
Code sample
This is from the Flutter Sms library. This seems to be causing the issue but why?
class FlutterSmsPlugin extends FlutterSmsPlatform {
  static void registerWith(Registrar registrar) {
    WidgetsFlutterBinding.ensureInitialized();
    FlutterSmsPlatform.instance = FlutterSmsPlugin();
  }

Screenshots or Video
No response
Logs
Logs
errors.dart:288 Uncaught (in promise) Error: Unexpected null value.
    at Object.throw_ [as throw] (errors.dart:288:49)
    at Object.nullCheck (operations.dart:606:63)
    at binding$5.WidgetsFlutterBinding.new.createViewConfiguration (binding.dart:303:61)
    at binding$5.WidgetsFlutterBinding.new.initRenderView (binding.dart:215:44)
    at binding$5.WidgetsFlutterBinding.new.initInstances (binding.dart:41:5)
    at binding$5.WidgetsFlutterBinding.new.initInstances (binding.dart:263:11)
    at binding.BindingBase.new (binding.dart:151:5)
    at BindingBase_GestureBinding$36$.new (binding.dart:1189:37)
    at BindingBase_SchedulerBinding$36$.new (binding.dart:1189:37)
    at BindingBase_ServicesBinding$36$.new (binding.dart:1189:37)
    at BindingBase_PaintingBinding$36$.new (binding.dart:1189:37)
    at BindingBase_SemanticsBinding$36$.new (binding.dart:1189:37)
    at BindingBase_RendererBinding$36$.new (binding.dart:1189:37)
    at BindingBase_WidgetsBinding$36.new (binding.dart:1189:37)
    at new binding$5.WidgetsFlutterBinding.new (binding.dart:1309:3)
    at WidgetsFlutterBinding.ensureInitialized (binding.dart:1306:7)
    at FlutterSmsPlugin.registerWith (flutter_sms_web.dart:10:5)
    at Object.registerPlugins (web_plugin_registrant.dart:53:27)
    at web_entrypoint.dart:27:24
    at Object._checkAndCall (operations.dart:367:37)
    at Object.dcall (operations.dart:372:39)
    at initialization.dart:73:24
    at Generator.next (<anonymous>)
    at runBody (async_patch.dart:84:54)
    at Object._async [as async] (async_patch.dart:123:5)
    at _engine.AppBootstrap.new.<anonymous> (initialization.dart:71:16)
    at Object._checkAndCall (operations.dart:367:37)
    at Object.callMethod (operations.dart:431:10)
    at Object.dsend (operations.dart:435:5)
    at _engine.AppBootstrap.new.autoStart (app_bootstrap.dart:31:18)
    at autoStart.next (<anonymous>)
    at async_patch.dart:45:50
    at _RootZone.runUnary (zone.dart:1661:54)
    at _FutureListener.thenAwait.handleValue (future_impl.dart:147:18)
    at handleValueCallback (future_impl.dart:784:44)
    at _Future._propagateToListeners (future_impl.dart:813:13)
    at [_completeWithValue] (future_impl.dart:584:5)
    at future.dart:531:22
    at _RootZone.runUnary (zone.dart:1661:54)
    at _FutureListener.then.handleValue (future_impl.dart:147:18)
    at handleValueCallback (future_impl.dart:784:44)
    at _Future._propagateToListeners (future_impl.dart:813:13)
    at [_completeWithValue] (future_impl.dart:584:5)
    at future.dart:531:22
    at _RootZone.runUnary (zone.dart:1661:54)
    at _FutureListener.then.handleValue (future_impl.dart:147:18)
    at handleValueCallback (future_impl.dart:784:44)
    at _Future._propagateToListeners (future_impl.dart:813:13)
    at [_completeWithValue] (future_impl.dart:584:5)
    at async._AsyncCallbackEntry.new.callback (future_impl.dart:657:7)
    at Object._microtaskLoop (schedule_microtask.dart:40:11)
    at _startMicrotaskLoop (schedule_microtask.dart:49:5)
    at async_patch.dart:177:15

Flutter Doctor output
Doctor output
fvm flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[!] Flutter (Channel stable, 3.10.0, on macOS 13.2.1 22D68 darwin-arm64, locale en-HU)
    ! Warning: `dart` on your path resolves to /opt/homebrew/Cellar/dart/2.16.1/libexec/bin/dart, which is not inside your current Flutter SDK checkout at /Users/gabor/fvm/versions/3.10.0. Consider adding /Users/gabor/fvm/versions/3.10.0/bin to the front of your path.
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0-rc2)
[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2022.1)
[✓] IntelliJ IDEA Ultimate Edition (version 2023.1)
[✓] Connected device (3 available)
[✓] Network resources

! Doctor found issues in 1 category.
gabor@Gabors-MacBook-Pro envel % fvm flutter doctor -v
 [!] Flutter (Channel stable, 3.10.0, on macOS 13.2.1 22D68 darwin-arm64, locale en-HU)
    • Flutter version 3.10.0 on channel stable at /Users/gabor/fvm/versions/3.10.0
    ! Warning: `dart` on your path resolves to /opt/homebrew/Cellar/dart/2.16.1/libexec/bin/dart, which is not inside your current Flutter SDK checkout at /Users/gabor/fvm/versions/3.10.0. Consider adding /Users/gabor/fvm/versions/3.10.0/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 84a1e904f4 (7 days ago), 2023-05-09 07:41:44 -0700
    • Engine revision d44b5a94c9
    • Dart version 3.0.0
    • DevTools version 2.23.1
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0-rc2)
    • Android SDK at /Users/gabor/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0-rc2
    • ANDROID_HOME = /Users/gabor/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14C18
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)

[✓] IntelliJ IDEA Ultimate Edition (version 2023.1)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 73.0.4
    • Dart plugin version 231.8109.91

[✓] Connected device (3 available)
    • iPhone 14 Pro (mobile) • 9D300B65-0077-46D5-A60B-5E824BEC1B33 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-16-2 (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64   • macOS 13.2.1 22D68 darwin-arm64
    • Chrome (web)           • chrome                               • web-javascript • Google Chrome 113.0.5672.92

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

@szantogab
Can you provide complete reproducible code sample that shows the reported behavior ?
Usually, below is an implementation / usage of widgetsbindings class:
void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  runApp(const MyApp());
}

If you use above in your app and run on web, can you check if you still get the reported error ?

@darshankawar basically all you have to do is create a new project and use the latest version of the https://pub.dev/packages/flutter_sms library. The main method doesn't even get called, so no matter what I put in main, because the web app crashes even before we get there. You can see in the stack trace that when the app is starting up and it tries to register the plugins, that's when it crashes with a null ptr exception. The plugin calls WidgetsFlutterBinding.ensureInitialized() in its registerWith() method, and then a bunch of methods in it finally crashed in this method (because implicitView is null):
  ViewConfiguration createViewConfiguration() {
    final FlutterView view = platformDispatcher.implicitView!;
    final double devicePixelRatio = view.devicePixelRatio;
    return ViewConfiguration(
      size: view.physicalSize / devicePixelRatio,
      devicePixelRatio: devicePixelRatio,
    );
  }

errors.dart:288 Uncaught (in promise) Error: Unexpected null value.
    at Object.throw_ [as throw] (errors.dart:288:49)
    at Object.nullCheck (operations.dart:606:63)
    at binding$5.WidgetsFlutterBinding.new.createViewConfiguration (binding.dart:303:61)
    at binding$5.WidgetsFlutterBinding.new.initRenderView (binding.dart:215:44)
    at binding$5.WidgetsFlutterBinding.new.initInstances (binding.dart:41:5)
    at binding$5.WidgetsFlutterBinding.new.initInstances (binding.dart:263:11)
    at binding.BindingBase.new (binding.dart:151:5)
    at BindingBase_GestureBinding$36$.new (binding.dart:1189:37)
    at BindingBase_SchedulerBinding$36$.new (binding.dart:1189:37)
    at BindingBase_ServicesBinding$36$.new (binding.dart:1189:37)
    at BindingBase_PaintingBinding$36$.new (binding.dart:1189:37)
    at BindingBase_SemanticsBinding$36$.new (binding.dart:1189:37)
    at BindingBase_RendererBinding$36$.new (binding.dart:1189:37)
    at BindingBase_WidgetsBinding$36.new (binding.dart:1189:37)
    at new binding$5.WidgetsFlutterBinding.new (binding.dart:1309:3)
    at WidgetsFlutterBinding.ensureInitialized (binding.dart:1306:7)
    at FlutterSmsPlugin.registerWith (flutter_sms_web.dart:10:5)
    at Object.registerPlugins (web_plugin_registrant.dart:53:27)
    at web_entrypoint.dart:27:24

@szantogab
This seems to be an issue with the package you mentioned which is third party. I see a similar issue reported in dedicated repo: https://github.com/fluttercommunity/flutter_sms/issues/80 so please follow-up in it for further updates.
Closing from here.


fix(listview): tmdb can return duplicate movies from it's api, this c…

…hange filters out duplicates
Description
Screenshot (if UI-related)
To-Dos

[ ] Successful build yarn build
[ ] Translation keys yarn i18n:extract
[ ] Database migration (if required)

Issues Fixed or Closed

Fixes #XXXX

Do you have a movie to test this PR which appear duplicated, or the step to reproduce this error ?

@Gauvino I'm surprised nobody has raised this. It's coming from the upstream TMDB API (https://api.themoviedb.org/3/discover/movie).
It seems to be inconsistent and not always reproducible because it's coming from them. The best thing jellyseerr can do on it's side is to guard against duplicates in API responses.
I have screenshots I can show but that's really the best I can do. I were to be like, "look it's happening right now with this movie" it would likely be different by the time you read my message lol.

I'm guessing it stems from some bug TMBD has in their pagination code as when I was messing around with it, it was typically the last item in a page, and the first item in the next page.

Here's an API example that I can show that's happening currently.

If you look at the last result of the first page and the first result of the the second page you can see the duplicates coming from them.
GET https://api.themoviedb.org/3/discover/movie?api_key=db55323b8d3e4154498498a75642b381&page=1
{
  "page": 1,
  "results": [
    {
      "adult": false,
      "backdrop_path": "/4woSOUD0equAYzvwhWBHIJDCM88.jpg",
      "genre_ids": [
        28,
        27,
        53
      ],
      "id": 1096197,
      "original_language": "en",
      "original_title": "No Way Up",
      "overview": "Characters from different backgrounds are thrown together when the plane they're travelling on crashes into the Pacific Ocean. A nightmare fight for survival ensues with the air supply running out and dangers creeping in from all sides.",
      "popularity": 2111.241,
      "poster_path": "/hu40Uxp9WtpL34jv3zyWLb5zEVY.jpg",
      "release_date": "2024-01-18",
      "title": "No Way Up",
      "video": false,
      "vote_average": 6.3,
      "vote_count": 432
    },
    {
      "adult": false,
      "backdrop_path": "/qrGtVFxaD8c7et0jUtaYhyTzzPg.jpg",
      "genre_ids": [
        28,
        878,
        12,
        14
      ],
      "id": 823464,
      "original_language": "en",
      "original_title": "Godzilla x Kong: The New Empire",
      "overview": "Following their explosive showdown, Godzilla and Kong must reunite against a colossal undiscovered threat hidden within our world, challenging their very existence – and our own.",
      "popularity": 1754.673,
      "poster_path": "/gmGK5Gw5CIGMPhOmTO0bNA9Q66c.jpg",
      "release_date": "2024-03-27",
      "title": "Godzilla x Kong: The New Empire",
      "video": false,
      "vote_average": 6.606,
      "vote_count": 750
    },
    {
      "adult": false,
      "backdrop_path": "/FUnAVgaTs5xZWXcVzPJNxd9qGA.jpg",
      "genre_ids": [
        878,
        28,
        18,
        12
      ],
      "id": 934632,
      "original_language": "en",
      "original_title": "Rebel Moon — Part Two: The Scargiver",
      "overview": "The rebels gear up for battle against the ruthless forces of the Motherworld as unbreakable bonds are forged, heroes emerge — and legends are made.",
      "popularity": 1575.948,
      "poster_path": "/lV70XeG15PNNg3S1mwaoNk3LVHk.jpg",
      "release_date": "2024-04-19",
      "title": "Rebel Moon — Part Two: The Scargiver",
      "video": false,
      "vote_average": 6.179,
      "vote_count": 425
    },
    {
      "adult": false,
      "backdrop_path": "/1XDDXPXGiI8id7MrUxK36ke7gkX.jpg",
      "genre_ids": [
        16,
        28,
        10751,
        35,
        14
      ],
      "id": 1011985,
      "original_language": "en",
      "original_title": "Kung Fu Panda 4",
      "overview": "Po is gearing up to become the spiritual leader of his Valley of Peace, but also needs someone to take his place as Dragon Warrior. As such, he will train a new kung fu practitioner for the spot and will encounter a villain called the Chameleon who conjures villains from the past.",
      "popularity": 1513.697,
      "poster_path": "/kDp1vUBnMpe8ak4rjgl3cLELqjU.jpg",
      "release_date": "2024-03-02",
      "title": "Kung Fu Panda 4",
      "video": false,
      "vote_average": 7.139,
      "vote_count": 1283
    },
    {
      "adult": false,
      "backdrop_path": "/8uVKfOJUhmybNsVh089EqLHUYEG.jpg",
      "genre_ids": [
        878,
        12
      ],
      "id": 693134,
      "original_language": "en",
      "original_title": "Dune: Part Two",
      "overview": "Follow the mythic journey of Paul Atreides as he unites with Chani and the Fremen while on a path of revenge against the conspirators who destroyed his family. Facing a choice between the love of his life and the fate of the known universe, Paul endeavors to prevent a terrible future only he can foresee.",
      "popularity": 1395.205,
      "poster_path": "/1pdfLvkbY9ohJlCjQH2CZjjYVvJ.jpg",
      "release_date": "2024-02-27",
      "title": "Dune: Part Two",
      "video": false,
      "vote_average": 8.264,
      "vote_count": 3330
    },
    {
      "adult": false,
      "backdrop_path": "/pIFGZRCWjdQwECoXcphCCe1tl0B.jpg",
      "genre_ids": [
        27,
        9648,
        53
      ],
      "id": 1041613,
      "original_language": "en",
      "original_title": "Immaculate",
      "overview": "An American nun embarks on a new journey when she joins a remote convent in the Italian countryside. However, her warm welcome quickly turns into a living nightmare when she discovers her new home harbours a sinister secret and unspeakable horrors.",
      "popularity": 1271.662,
      "poster_path": "/fdZpvODTX5wwkD0ikZNaClE4AoW.jpg",
      "release_date": "2024-03-20",
      "title": "Immaculate",
      "video": false,
      "vote_average": 6.15,
      "vote_count": 264
    },
    {
      "adult": false,
      "backdrop_path": "/qnVm19Vu2Sc14LoEj82pmqAYr3p.jpg",
      "genre_ids": [
        12,
        28,
        18
      ],
      "id": 845111,
      "original_language": "fr",
      "original_title": "Les trois mousquetaires : Milady",
      "overview": "D'Artagnan, on a quest to rescue the abducted Constance, runs into the mysterious Milady de Winter again. The tension between the Catholics and the Protestants finally escalates, as the king declares war — forcing the now four musketeers into battle. But as the war goes on, they are tested physically, mentally and emotionally.",
      "popularity": 1025.73,
      "poster_path": "/rtosxP5sXuoRFPH4sVbMccLIPiV.jpg",
      "release_date": "2023-12-13",
      "title": "The Three Musketeers: Milady",
      "video": false,
      "vote_average": 6.535,
      "vote_count": 324
    },
    {
      "adult": false,
      "backdrop_path": "/fUC5VsQcU3m6zmYMD96R7RqPuMn.jpg",
      "genre_ids": [
        28,
        80,
        53
      ],
      "id": 1105407,
      "original_language": "en",
      "original_title": "Damaged",
      "overview": "A Chicago detective travels to Scotland after an emerging serial killer’s crimes match those that he investigated five years earlier, one of which was the crime scene of his murdered girlfriend.",
      "popularity": 873.261,
      "poster_path": "/tMO0YLXgJZBnIAjoTSz26zE33YN.jpg",
      "release_date": "2024-04-12",
      "title": "Damaged",
      "video": false,
      "vote_average": 4.9,
      "vote_count": 37
    },
    {
      "adult": false,
      "backdrop_path": "/keVfqCMKmJ55nHzmqR2Q5K7LwJt.jpg",
      "genre_ids": [
        28,
        53,
        10752
      ],
      "id": 784651,
      "original_language": "hi",
      "original_title": "फाइटर",
      "overview": "Top IAF aviators come together in the face of imminent danger, to form Air Dragons. Fighter unfolds their camaraderie, brotherhood and battles, internal and external.",
      "popularity": 751.861,
      "poster_path": "/zDZowwb9GZGEctAu2PCpjiPQAMM.jpg",
      "release_date": "2024-01-24",
      "title": "Fighter",
      "video": false,
      "vote_average": 5.07,
      "vote_count": 43
    },
    {
      "adult": false,
      "backdrop_path": "/7ZP8HtgOIDaBs12krXgUIygqEsy.jpg",
      "genre_ids": [
        878,
        28,
        14,
        12
      ],
      "id": 601796,
      "original_language": "ko",
      "original_title": "외계+인 1부",
      "overview": "Gurus in the late Goryeo dynasty try to obtain a fabled, holy sword, and humans in 2022 hunt down an alien prisoner that is locked in a human's body. The two parties cross paths when a time-traveling portal opens up.",
      "popularity": 731.743,
      "poster_path": "/8QVDXDiOGHRcAD4oM6MXjE0osSj.jpg",
      "release_date": "2022-07-20",
      "title": "Alienoid",
      "video": false,
      "vote_average": 6.84,
      "vote_count": 287
    },
    {
      "adult": false,
      "backdrop_path": "/lP0G6f00CjOKdRECyGrT0kaMSrL.jpg",
      "genre_ids": [
        18
      ],
      "id": 383634,
      "original_language": "ja",
      "original_title": "肉体の門",
      "overview": "Prostitutes in burnt out Tokyo ghetto of post-WWII Japan peddle their flesh and save one-third of their money for a proposed dancehall to be named Paradise. The hookers live in a bombed-out building, but they accept the precarious situation with typical resolve.",
      "popularity": 563.498,
      "poster_path": "/raNbLci95MJ3L3dMnG7L7bD37lY.jpg",
      "release_date": "1988-04-09",
      "title": "Carmen 1945",
      "video": false,
      "vote_average": 3,
      "vote_count": 7
    },
    {
      "adult": false,
      "backdrop_path": "/pwGmXVKUgKN13psUjlhC9zBcq1o.jpg",
      "genre_ids": [
        28,
        14
      ],
      "id": 634492,
      "original_language": "en",
      "original_title": "Madame Web",
      "overview": "Forced to confront revelations about her past, paramedic Cassandra Webb forges a relationship with three young women destined for powerful futures...if they can all survive a deadly present.",
      "popularity": 717.893,
      "poster_path": "/rULWuutDcN5NvtiZi4FRPzRYWSh.jpg",
      "release_date": "2024-02-14",
      "title": "Madame Web",
      "video": false,
      "vote_average": 5.618,
      "vote_count": 1134
    },
    {
      "adult": false,
      "backdrop_path": "/oe7mWkvYhK4PLRNAVSvonzyUXNy.jpg",
      "genre_ids": [
        28,
        53
      ],
      "id": 359410,
      "original_language": "en",
      "original_title": "Road House",
      "overview": "Ex-UFC fighter Dalton takes a job as a bouncer at a Florida Keys roadhouse, only to discover that this paradise is not all it seems.",
      "popularity": 706.13,
      "poster_path": "/bXi6IQiQDHD00JFio5ZSZOeRSBh.jpg",
      "release_date": "2024-03-08",
      "title": "Road House",
      "video": false,
      "vote_average": 7.025,
      "vote_count": 1554
    },
    {
      "adult": false,
      "backdrop_path": "/cIztAxDn3H8JylRaJwiHHpkGe53.jpg",
      "genre_ids": [
        10751,
        35,
        16
      ],
      "id": 1239146,
      "original_language": "en",
      "original_title": "Woody Woodpecker Goes to Camp",
      "overview": "After getting kicked out of the forest, Woody thinks he's found a forever home at Camp Woo Hoo — until an inspector threatens to shut down the camp.",
      "popularity": 644.046,
      "poster_path": "/mMnzNYvpqLLLdgF5TMmXfuy6wzx.jpg",
      "release_date": "2024-04-12",
      "title": "Woody Woodpecker Goes to Camp",
      "video": false,
      "vote_average": 6.61,
      "vote_count": 82
    },
    {
      "adult": false,
      "backdrop_path": "/2KGxQFV9Wp1MshPBf8BuqWUgVAz.jpg",
      "genre_ids": [
        16,
        28,
        12,
        35,
        10751
      ],
      "id": 940551,
      "original_language": "en",
      "original_title": "Migration",
      "overview": "After a migrating duck family alights on their pond with thrilling tales of far-flung places, the Mallard family embarks on a family road trip, from New England, to New York City, to tropical Jamaica.",
      "popularity": 637.694,
      "poster_path": "/ldfCF9RhR40mppkzmftxapaHeTo.jpg",
      "release_date": "2023-12-06",
      "title": "Migration",
      "video": false,
      "vote_average": 7.524,
      "vote_count": 1233
    },
    {
      "adult": false,
      "backdrop_path": "/unCdljyU2FuUBDUcdZezeI9yaaj.jpg",
      "genre_ids": [
        878,
        9648,
        53,
        28
      ],
      "id": 720321,
      "original_language": "en",
      "original_title": "Breathe",
      "overview": "Air-supply is scarce in the near future, forcing a mother and daughter to fight for survival when two strangers arrive desperate for an oxygenated haven.",
      "popularity": 620.367,
      "poster_path": "/wTW2t8ocWDlHns8I7vQxuqkyK58.jpg",
      "release_date": "2024-04-04",
      "title": "Breathe",
      "video": false,
      "vote_average": 5.136,
      "vote_count": 55
    },
    {
      "adult": false,
      "backdrop_path": "/uv2twFGMk2qBdyJBJAVcrpRtSa9.jpg",
      "genre_ids": [
        10752,
        28,
        18
      ],
      "id": 929590,
      "original_language": "en",
      "original_title": "Civil War",
      "overview": "In the near future, a group of war journalists attempt to survive while reporting the truth as the United States stands on the brink of civil war.",
      "popularity": 561.261,
      "poster_path": "/sh7Rg8Er3tFcN9BpKIPOMvALgZd.jpg",
      "release_date": "2024-04-10",
      "title": "Civil War",
      "video": false,
      "vote_average": 7.444,
      "vote_count": 390
    },
    {
      "adult": false,
      "backdrop_path": "/qekky2LbtT1wtbD5MDgQvjfZQ24.jpg",
      "genre_ids": [
        28,
        53
      ],
      "id": 984324,
      "original_language": "fr",
      "original_title": "Le salaire de la peur",
      "overview": "When an explosion at an oil well threatens hundreds of lives, a crack team is called upon to make a deadly desert crossing with nitroglycerine in tow.",
      "popularity": 530.225,
      "poster_path": "/jFK2ZLQUzo9pea0jfMCHDfvWsx7.jpg",
      "release_date": "2024-03-28",
      "title": "The Wages of Fear",
      "video": false,
      "vote_average": 5.717,
      "vote_count": 189
    },
    {
      "adult": false,
      "backdrop_path": "/dcnSWFCtk4b2aIzkhq6IDbzoIf1.jpg",
      "genre_ids": [
        28,
        35
      ],
      "id": 942047,
      "original_language": "en",
      "original_title": "Outsource",
      "overview": "A police chief hires an old friend, who is an international spy, to help him search for a wanted suspect in the Philippines. When the chief dies, all evidence points towards the spy, and he must go to extremes to defend himself.",
      "popularity": 529.557,
      "poster_path": "/zIAF0UXtCJTJOYNYWiBfyifaaOi.jpg",
      "release_date": "2022-01-18",
      "title": "Outsource",
      "video": false,
      "vote_average": 2,
      "vote_count": 5
    },
    {
      "adult": false,
      "backdrop_path": "/5cCfqeUH2f5Gnu7Lh9xepY9TB6x.jpg",
      "genre_ids": [
        14,
        12,
        35
      ],
      "id": 967847,
      "original_language": "en",
      "original_title": "Ghostbusters: Frozen Empire",
      "overview": "The Spengler family returns to where it all started – the iconic New York City firehouse – to team up with the original Ghostbusters, who've developed a top-secret research lab to take busting ghosts to the next level. But when the discovery of an ancient artifact unleashes an evil force, Ghostbusters new and old must join forces to protect their home and save the world from a second Ice Age.",
      "popularity": 507.139,
      "poster_path": "/6faYaQyiBPhqAizldJKq21mIVaE.jpg",
      "release_date": "2024-03-20",
      "title": "Ghostbusters: Frozen Empire",
      "video": false,
      "vote_average": 6.409,
      "vote_count": 331
    }
  ],
  "total_pages": 43777,
  "total_results": 875527
}

GET https://api.themoviedb.org/3/discover/movie?api_key=db55323b8d3e4154498498a75642b381&page=2
{
  "page": 2,
  "results": [
    {
      "adult": false,
      "backdrop_path": "/5cCfqeUH2f5Gnu7Lh9xepY9TB6x.jpg",
      "genre_ids": [
        14,
        12,
        35
      ],
      "id": 967847,
      "original_language": "en",
      "original_title": "Ghostbusters: Frozen Empire",
      "overview": "The Spengler family returns to where it all started – the iconic New York City firehouse – to team up with the original Ghostbusters, who've developed a top-secret research lab to take busting ghosts to the next level. But when the discovery of an ancient artifact unleashes an evil force, Ghostbusters new and old must join forces to protect their home and save the world from a second Ice Age.",
      "popularity": 381.355,
      "poster_path": "/6faYaQyiBPhqAizldJKq21mIVaE.jpg",
      "release_date": "2024-03-20",
      "title": "Ghostbusters: Frozen Empire",
      "video": false,
      "vote_average": 6.405,
      "vote_count": 330
    },
    {
      "adult": false,
      "backdrop_path": "/umyOinNa6vqqnqoVc9QqzyaapUz.jpg",
      "genre_ids": [
        27
      ],
      "id": 938614,
      "original_language": "en",
      "original_title": "Late Night with the Devil",
      "overview": "A live broadcast of a late-night talk show in 1977 goes horribly wrong, unleashing evil into the nation's living rooms.",
      "popularity": 632.951,
      "poster_path": "/u3YQJctMzFN2wAvnkmXy41bXhFv.jpg",
      "release_date": "2024-03-19",
      "title": "Late Night with the Devil",
      "video": false,
      "vote_average": 7.23,
      "vote_count": 178
    },
    {
      "adult": false,
      "backdrop_path": "/fypydCipcWDKDTTCoPucBsdGYXW.jpg",
      "genre_ids": [
        878,
        12,
        28
      ],
      "id": 653346,
      "original_language": "en",
      "original_title": "Kingdom of the Planet of the Apes",
      "overview": "Several generations in the future following Caesar's reign, apes are now the dominant species and live harmoniously while humans have been reduced to living in the shadows. As a new tyrannical ape leader builds his empire, one young ape undertakes a harrowing journey that will cause him to question all that he has known about the past and to make choices that will define a future for apes and humans alike.",
      "popularity": 471.896,
      "poster_path": "/fAjyUDKABSehK6pHWvh9ket5X3z.jpg",
      "release_date": "2024-05-08",
      "title": "Kingdom of the Planet of the Apes",
      "video": false,
      "vote_average": 0,
      "vote_count": 0
    },
    {
      "adult": false,
      "backdrop_path": "/e3gVl1gnxEFKLTF6pn6KRqUPi9K.jpg",
      "genre_ids": [
        10749,
        18
      ],
      "id": 1127166,
      "original_language": "it",
      "original_title": "Fabbricante di lacrime",
      "overview": "Adopted together after a tough childhood in an orphanage, Nica and Rigel realize that unexpected but irresistible feelings pull them together.",
      "popularity": 396.158,
      "poster_path": "/uoBHsxSgfc3PQsSn98RfnbePHOy.jpg",
      "release_date": "2024-04-03",
      "title": "The Tearsmith",
      "video": false,
      "vote_average": 6.538,
      "vote_count": 436
    },
    {
      "adult": false,
      "backdrop_path": "/atPlFdUrQl2U9MtUwujrrjnQHBA.jpg",
      "genre_ids": [
        28,
        80,
        18,
        53
      ],
      "id": 654739,
      "original_language": "ko",
      "original_title": "발신제한",
      "overview": "On his way to work, a bank manager receives an anonymous call claiming there's a bomb under his car seat, and if anyone exits the car, it will explode unless he can pay a ransom.",
      "popularity": 389.651,
      "poster_path": "/y2Aimt8isimtigec3e4kB2G9FMR.jpg",
      "release_date": "2021-06-23",
      "title": "Hard Hit",
      "video": false,
      "vote_average": 7.654,
      "vote_count": 172
    },
    {
      "adult": false,
      "backdrop_path": "/qwK9soQmmJ7kRdjLZVXblw3g7AQ.jpg",
      "genre_ids": [
        28,
        12,
        53,
        80
      ],
      "id": 7451,
      "original_language": "en",
      "original_title": "xXx",
      "overview": "Xander Cage is your standard adrenaline junkie with no fear and a lousy attitude. When the US Government \"recruits\" him to go on a mission, he's not exactly thrilled. His mission: to gather information on an organization that may just be planning the destruction of the world, led by the nihilistic Yorgi.",
      "popularity": 409.57,
      "poster_path": "/xeEw3eLeSFmJgXZzmF2Efww0q3s.jpg",
      "release_date": "2002-08-09",
      "title": "xXx",
      "video": false,
      "vote_average": 5.929,
      "vote_count": 4015
    },
    {
      "adult": false,
      "backdrop_path": "/nb3xI8XI3w4pMVZ38VijbsyBqP4.jpg",
      "genre_ids": [
        18,
        36
      ],
      "id": 872585,
      "original_language": "en",
      "original_title": "Oppenheimer",
      "overview": "The story of J. Robert Oppenheimer's role in the development of the atomic bomb during World War II.",
      "popularity": 406.163,
      "poster_path": "/8Gxv8gSFCU0XGDykEGv7zR1n2ua.jpg",
      "release_date": "2023-07-19",
      "title": "Oppenheimer",
      "video": false,
      "vote_average": 8.11,
      "vote_count": 7777
    },
    {
      "adult": false,
      "backdrop_path": "/9c0lHTXRqDBxeOToVzRu0GArSne.jpg",
      "genre_ids": [
        878,
        28
      ],
      "id": 935271,
      "original_language": "en",
      "original_title": "After the Pandemic",
      "overview": "Set in a post-apocalyptic world where a global airborne pandemic has wiped out 90% of the Earth's population and only the young and immune have endured as scavengers. For Ellie and Quinn, the daily challenges to stay alive are compounded when they become hunted by the merciless Stalkers.",
      "popularity": 409.79,
      "poster_path": "/p1LbrdJ53dGfEhRopG71akfzOVu.jpg",
      "release_date": "2022-03-01",
      "title": "After the Pandemic",
      "video": false,
      "vote_average": 4.798,
      "vote_count": 57
    },
    {
      "adult": false,
      "backdrop_path": "/lzWHmYdfeFiMIY4JaMmtR7GEli3.jpg",
      "genre_ids": [
        878,
        12
      ],
      "id": 438631,
      "original_language": "en",
      "original_title": "Dune",
      "overview": "Paul Atreides, a brilliant and gifted young man born into a great destiny beyond his understanding, must travel to the most dangerous planet in the universe to ensure the future of his family and his people. As malevolent forces explode into conflict over the planet's exclusive supply of the most precious resource in existence-a commodity capable of unlocking humanity's greatest potential-only those who can conquer their fear will survive.",
      "popularity": 430.737,
      "poster_path": "/d5NXSklXo0qyIYkgV94XAgMIckC.jpg",
      "release_date": "2021-09-15",
      "title": "Dune",
      "video": false,
      "vote_average": 7.789,
      "vote_count": 11390
    },
    {
      "adult": false,
      "backdrop_path": "/oBIQDKcqNxKckjugtmzpIIOgoc4.jpg",
      "genre_ids": [
        28,
        53,
        10752
      ],
      "id": 969492,
      "original_language": "en",
      "original_title": "Land of Bad",
      "overview": "When a Delta Force special ops mission goes terribly wrong, Air Force drone pilot Reaper has 48 hours to remedy what has devolved into a wild rescue operation. With no weapons and no communication other than the drone above, the ground mission suddenly becomes a full-scale battle when the team is discovered by the enemy.",
      "popularity": 374.146,
      "poster_path": "/h3jYanWMEJq6JJsCopy1h7cT2Hs.jpg",
      "release_date": "2024-01-25",
      "title": "Land of Bad",
      "video": false,
      "vote_average": 7.25,
      "vote_count": 640
    },
    {
      "adult": false,
      "backdrop_path": "/aINel9503ompOlGKn4sIVMg09Un.jpg",
      "genre_ids": [
        9648,
        27,
        53
      ],
      "id": 838209,
      "original_language": "ko",
      "original_title": "파묘",
      "overview": "After tracing the origin of a disturbing supernatural affliction to a wealthy family's ancestral gravesite, a team of paranormal experts relocates the remains—and soon discovers what happens to those who dare to mess with the wrong grave.",
      "popularity": 430.058,
      "poster_path": "/m4xzX3yuroKerFOltY1yY05nqcQ.jpg",
      "release_date": "2024-02-22",
      "title": "Exhuma",
      "video": false,
      "vote_average": 7.8,
      "vote_count": 50
    },
    {
      "adult": false,
      "backdrop_path": "/ilK1JRbMjo4sMJtNKLOKnqRf1RH.jpg",
      "genre_ids": [
        10752,
        28,
        36
      ],
      "id": 976906,
      "original_language": "en",
      "original_title": "Spitfire Over Berlin",
      "overview": "August 1944. With the American Eighth Air Force poised to strike over Nazi Germany, British Intelligence learns that they could be flying into a deadly trap. With only hours to spare, Flight Lieutenant Edward Barnes must fly a life and death mission over Berlin in his unarmed Spitfire to obtain photographic evidence and save the lives of 1200 men.",
      "popularity": 547.208,
      "poster_path": "/xtPPOPTad1qopK6uDe3VlYUa22o.jpg",
      "release_date": "2022-05-13",
      "title": "Spitfire Over Berlin",
      "video": false,
      "vote_average": 3.4,
      "vote_count": 11
    },
    {
      "adult": false,
      "backdrop_path": "/cJiZwrwHiU9edbHEDDqCsna0xtS.jpg",
      "genre_ids": [
        35,
        878,
        28
      ],
      "id": 533535,
      "original_language": "en",
      "original_title": "Deadpool & Wolverine",
      "overview": "Third entry in the \"Deadpool\" franchise. Plot TBA.",
      "popularity": 353.303,
      "poster_path": "/7cvdeitoAiDtcpWXxOTAb44OFNn.jpg",
      "release_date": "2024-07-24",
      "title": "Deadpool & Wolverine",
      "video": false,
      "vote_average": 0,
      "vote_count": 0
    },
    {
      "adult": false,
      "backdrop_path": "/sRLC052ieEzkQs9dEtPMfFxYkej.jpg",
      "genre_ids": [
        878,
        18,
        28
      ],
      "id": 848326,
      "original_language": "en",
      "original_title": "Rebel Moon — Part One: A Child of Fire",
      "overview": "When the ruthless forces of the Motherworld threaten a quiet farming village on a distant moon, a mysterious outsider becomes its best hope for survival.",
      "popularity": 315.12,
      "poster_path": "/ui4DrH1cKk2vkHshcUcGt2lKxCm.jpg",
      "release_date": "2023-12-15",
      "title": "Rebel Moon — Part One: A Child of Fire",
      "video": false,
      "vote_average": 6.372,
      "vote_count": 1730
    },
    {
      "adult": false,
      "backdrop_path": "/ySgY4jBvZ6qchrxKnBg4M8tZp8V.jpg",
      "genre_ids": [
        27,
        53,
        35
      ],
      "id": 1111873,
      "original_language": "en",
      "original_title": "Abigail",
      "overview": "After a group of would-be criminals kidnap the 12 year old ballerina daughter of a powerful underworld figure, all they have to do to collect a $50 million ransom is watch the girl overnight. In an isolated mansion, the captors start to dwindle, one by one, and they discover, to their mounting horror, that they’re locked inside with no normal little girl.",
      "popularity": 378.658,
      "poster_path": "/5Uq8P6MPj9Ppsns5t82AiCiUaWE.jpg",
      "release_date": "2024-04-18",
      "title": "Abigail",
      "video": false,
      "vote_average": 6.892,
      "vote_count": 51
    },
    {
      "adult": false,
      "backdrop_path": "/4CcUgdiGe83MeqJW1NyJVmZqRrF.jpg",
      "genre_ids": [
        18,
        10749
      ],
      "id": 937287,
      "original_language": "en",
      "original_title": "Challengers",
      "overview": "Tennis player turned coach Tashi has taken her husband, Art, and transformed him into a world-famous Grand Slam champion. To jolt him out of his recent losing streak, she signs him up for a \"Challenger\" event — close to the lowest level of pro tournament — where he finds himself standing across the net from his former best friend and Tashi's former boyfriend.",
      "popularity": 361.52,
      "poster_path": "/esLooowdB92I3dVI3ENlPPpTuWT.jpg",
      "release_date": "2024-04-18",
      "title": "Challengers",
      "video": false,
      "vote_average": 7.2,
      "vote_count": 61
    },
    {
      "adult": false,
      "backdrop_path": "/yyFc8Iclt2jxPmLztbP617xXllT.jpg",
      "genre_ids": [
        35,
        10751,
        14
      ],
      "id": 787699,
      "original_language": "en",
      "original_title": "Wonka",
      "overview": "Willy Wonka – chock-full of ideas and determined to change the world one delectable bite at a time – is proof that the best things in life begin with a dream, and if you’re lucky enough to meet Willy Wonka, anything is possible.",
      "popularity": 354.288,
      "poster_path": "/qhb1qOilapbapxWQn9jtRCMwXJF.jpg",
      "release_date": "2023-12-06",
      "title": "Wonka",
      "video": false,
      "vote_average": 7.191,
      "vote_count": 2873
    },
    {
      "adult": false,
      "backdrop_path": "/4XM8DUTQb3lhLemJC51Jx4a2EuA.jpg",
      "genre_ids": [
        28,
        80,
        53
      ],
      "id": 385687,
      "original_language": "en",
      "original_title": "Fast X",
      "overview": "Over many missions and against impossible odds, Dom Toretto and his family have outsmarted, out-nerved and outdriven every foe in their path. Now, they confront the most lethal opponent they've ever faced: A terrifying threat emerging from the shadows of the past who's fueled by blood revenge, and who is determined to shatter this family and destroy everything—and everyone—that Dom loves, forever.",
      "popularity": 364.855,
      "poster_path": "/fiVW06jE7z9YnO4trhaMEdclSiC.jpg",
      "release_date": "2023-05-17",
      "title": "Fast X",
      "video": false,
      "vote_average": 7.13,
      "vote_count": 5069
    },
    {
      "adult": false,
      "backdrop_path": "/deLWkOLZmBNkm8p16igfapQyqeq.jpg",
      "genre_ids": [
        14,
        28,
        12
      ],
      "id": 763215,
      "original_language": "en",
      "original_title": "Damsel",
      "overview": "A young woman's marriage to a charming prince turns into a fierce fight for survival when she's offered up as a sacrifice to a fire-breathing dragon.",
      "popularity": 385.276,
      "poster_path": "/AgHbB9DCE9aE57zkHjSmseszh6e.jpg",
      "release_date": "2024-03-07",
      "title": "Damsel",
      "video": false,
      "vote_average": 7.141,
      "vote_count": 1668
    },
    {
      "adult": false,
      "backdrop_path": "/kaIfm5ryEOwYg8mLbq8HkPuM1Fo.jpg",
      "genre_ids": [
        28,
        12,
        878
      ],
      "id": 284053,
      "original_language": "en",
      "original_title": "Thor: Ragnarok",
      "overview": "Thor is imprisoned on the other side of the universe and finds himself in a race against time to get back to Asgard to stop Ragnarok, the destruction of his home-world and the end of Asgardian civilization, at the hands of a powerful new threat, the ruthless Hela.",
      "popularity": 278.547,
      "poster_path": "/rzRwTcFvttcN1ZpX2xv4j3tSdJu.jpg",
      "release_date": "2017-10-02",
      "title": "Thor: Ragnarok",
      "video": false,
      "vote_average": 7.593,
      "vote_count": 20136
    }
  ],
  "total_pages": 43777,
  "total_results": 875540
}

At a quick glance, you probably want to add that filter to the useDiscover hook instead of the ListView, which seems like it's a bit more generic.
Disclaimer I do not work in this repo

Is this related to:
https://github.com/sct/overseerr/pull/3500

Seems like it. I only noticed the issue when looking for something to watch and checked the issues here, but not at overseerr.. I will say feels like a lazy response in that issue.

@allcontributors please add @gageorsburn for code

:tada: This PR is included in version 2.2.0 :tada:
The release is available on:

v2.2.0
GitHub release

Your semantic-release bot :package::rocket:


Move Camuda 8.3 Docker Compose from camunda/camunda-platform to this repo

Move Camuda 8.3 Docker Compose from camunda/camunda-platform to this.
### Tasks
- [ ] Move it from the `camunda/camunda-platform` branch [stable/8.3](https://github.com/camunda/camunda-platform/tree/stable/8.3) the dir `docker-compose/camunda-8.3`.
- [ ] Ensure Docker Compose works locally as expected.
- [ ] Ensure the related GitHub Actions workflows are moved to this repo and work as expected.

hey i would love to work on this but i noticed there is no docker-compose/camunda-8.3 in the stable/8.3 branch of camunda/camunda-platform

@Dhruvnotfound Thanks for your interest :raised_hands:
The files are in the root of the stable/8.3 branch of camunda/camunda-platform, and they should be moved to docker-compose/camunda-8.3 dir in the current repo camunda/camunda-distribution.

@aabouzaid
Hey, when I am trying to run docker-compose-web-modeler.yaml locally, I am getting the following error:
✘ modeler-webapp Error
✘ modeler-websockets Error
Error response from daemon: unauthorized: unauthorized to access repository: web-modeler-ee/modeler-restapi, action: pull: unauthorized to access repository: web-modeler-ee/modeler-restapi, action: pull

similarly when checking the related GitHub Actions workflows it cant login to the private registry which is making me unable to test them.
its giving the following error message Error: Cannot perform an interactive login from a non TTY device


raft: fix deadlock during PreVote migration process

refer https://github.com/coreos/etcd/pull/8525

The pre_vote field of Raft is private:
pub struct Raft<T: Storage> {
    ...
    pub check_quorum: bool,
    pre_vote: bool,
    ...

but pre_vote was changed directly in https://github.com/coreos/etcd/pull/8525 :
func newPreVoteMigrationCluster(t *testing.T) *network {
    ...
    n1.preVote = true
    ...

I couldn't find any methods to change the value of pre_vote after a raft was  instantiated, how can I reset the pre_vote field of a raft?

Hi @csmoe
Seem you can make the field public like check_quorum does


Could not connect to development server. Ensure node server is running

I run the 2048 example on Xcode and run the IOS simulator, an error occurs:

Did you try running npm start from react-native directory?

I get this error as well when I try to run on real ios device through xcode. Is that expected?

Run npm start on local machine to start the development server. React Native relies on a development server to communicate with the app running in the simulator.

Ok, I will try it, I see the AppDelegate.m :
 // Loading JavaScript code - uncomment the one you want.

  // OPTION 1
  // Load from development server. Start the server from the repository root:
  //
  // $ npm start
  //
  // To run on device, change `localhost` to the IP address of your computer, and make sure your computer and
  // iOS device are on the same Wi-Fi network.

Maybe you should write in a wiki. It's easy to freshman.

I see this error even after running 'npm start'. Do I need to make any changes to AppDelegate.m file?

OK. fixed the issue. I had to change the port from 8081 to 8881 as the default port is used by another process on my mac. Modifying AppDelegate.m to point to the new port worked.
  // OPTION 1
  // Load from development server. Start the server from the repository root:
  //
  // $ npm start
  //
  // To run on device, change `localhost` to the IP address of your computer, and make sure your computer and
  // iOS device are on the same Wi-Fi network.
  jsCodeLocation = [NSURL URLWithString:@"http://localhost:8881/index.ios.bundle"];

where is react-native directory?

@ikallen
The "react-native directory" refers to the folder where your own source-code is located.

I think react-native root within the  error could be more clear which just as @brownieboy  said, refers to the folder where the source code located.

It worked for me -> open the APP folder in the terminal and running "react-native start". Here you can also check on which port it is running and set the same.

I can load this URL just fine in my browser: http://localhost:8081/index.ios.bundle?platform=ios&dev=true but I still get this error.

In iOS 9.0+ Apple by default blocks non secure (https) requests. I had to add this to my Info.plist

James I have the same issue as you, I dont understund, how do you add that to plist?  Is plist not a text file?

jamesfzhang I am having the same error as you,
Currently that part of my plist looks as follows
NSAppTransportSecurity

<!--See http://ste.vn/2015/06/10/configuring-app-transport-security-ios-9-osx-10-11/-->
<key>NSAllowsArbitraryLoads</key>
<true/>

I tried changing it to
NSAppTransportSecurity

NSExceptionDomains

localhost

NSIncludesSubdomains

NSTemporaryExceptionAllowsInsecureHTTPLoads

But I am still getting the same error.  Any ideas?

I also tried this but the error survived yet again
NSAppTransportSecurity

NSAllowsArbitraryLoads

NSAppTransportSecuritySetting

NSExceptionDomains

localhost

NSTemporaryExceptionAllowsInsecureHTTPLoads

Jamesfzhang I am having the same error as you, what is the full name of the boolean you added at the end?
And does the app transport security settings dictionary live in the information list dictionary?
Thanks

@adamsythe The boolean is YES, and yes this is in the information list dictionary.

Thanks my error disappeared when I updated my operating system :)

I can also load the dev server resource in my browser, and also updated my info.plist as jamesfzhang suggested. But I'm still getting the red screen connection error message.
Now I tried to to access the dev server resource (http://[my ip]:8081/index.ios.bundle?platform=ios&dev=true ) through a browser on my device, and that page doesn't load. I'm sure my workstation and device is on the same network. Could this be a closed port issue?

Getting the exact same error. No problem loading from browser, can't fetch from simulator. tried @jamesfzhang solution, but still having same error. Anyone found a solution?

I had to change the address of the dev server in the following file as well:
Libraries/RTCWebSocket.xcodeproj/RTCWebSocketExecutor.m
Pungsnigel, can you load the dev server resource from a browser in your device?

I fixed this with using npm start in my project directory

Have you tried adding your IP to list of NSExceptionDomains?

@jamesfzhang Following your instruction, I was finally able to resolve the "Could not connect to development server" issue on the simulator.  Thanks!

@tkfeng Great, no problem!

I had two problems, solutions below:
1: Could not Connect to development Server
2: Could not start server due to missing dependencies
Problem 1:
Could not Connect to development Server
Solution
Adding this to your xcode project plist.
<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSExceptionDomains</key>
        <dict>
            <key>localhost</key>
            <dict>
                <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
                <true/>
            </dict>
        </dict>
    </dict>

Problem 2:
Could not start server due to missing dependencies
Solution
For some reason npm install was not installing the submodule dependencies for the react native package. So I ran npm install from the root of the react-native package which was inside my node_modules dir
$ cd node_modules/react-native
$ npm install

Then when running npm start from the root of my new react native project directory I got the following output:
===============================================================
 |  Running packager on port 8081.
 |  Keep this packager running while developing on any JS
 |  projects. Feel free to close this tab and run your own
 |  packager instance if you prefer.
 |
 |     https://github.com/facebook/react-native
 |
 ===============================================================

Looking for JS files in
   /Users/user/Dev/examples/react-native/new-react-project

React packager ready.

Note: make sure the the port from this line:
Running packager on port 8081.
matches the port referenced in your app delegate
jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle"];

@jamesfzhang I added localhost to my list of exceptions and it runs well on the simulator. I also added my local IP address 192.168.XXX.XXX but I can't get it to work on my device. Any thoughts ?

I also had this problem ,but I had more question ,

anyone can help me?

I also had this problem (where I could access the URL from the browser on the device fine, but the app could not).  I tried adding the solution 1 mentioned in @phoenixbox (originally suggested by @jamesfzhang) but that didn't work.  Then I instead of using localhost as jamesfzhang suggested, I engered my IP address and put my IP in the jsCodeLocation line in AppDelegate.m and then it worked.

Upgrading to RN 0.18 fixed this for me...

I am getting this error on only one of my projects. I loaded the project on to my phone yesterday and today I am getting the error for only this one project. My other projects do not get this error. The odd thing is that the power went out last night and my computer restarted while the project in question was running. Has anyone heard of anything like this happening?
React-native - 0.21.0
NPM 3.8.0
I've checked my info.plist and it is accurate and same as my other projects. It was working fine from last night and nothing changed from then until when I tried today..... so confusing.

@jcsjohnson so am I !!

@fakefish are you running on iPhone or simulator?

@jcsjohnson on simulator

@fakefish pressuming you have used iPhone at some point then the fix may have to do with the port you have set in appDelegate.m file. For me for some reason when the power went out the port changed.

I had run npm start command on the example directory.
Then enabled App Transport Security in info.plist.

Just shut your firewall or add an exception rule for tcp port 8080 (which is the default port setting in ./server/server.js) or for your terminal app.
My problem solved, you can just have a try.

If somebody else is running into this issue on a device, there are two places where you have to replace localhost with the IP packager is running on

in the ios/<project_name>/AppDelegate.m (which is documented)
AND
in ios/<project_name>/Libraries/WebSocket/RCTWebSocketExecutor.m#L54

The error massage sucks, because its saying that 192.168.XX.XX is not reachable, but it is actually requesting localhost for some debugger stuff
connect with #883

Hey,
I have the same problem when using the emulator.

I got it!
For everyone else, here is what I did:
Instead of allowing my specific IP address, I disabled the NSAppTransportSecurity feature.
<key>NSAppTransportSecurity</key>
<dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
</dict>

Thanks @PhillippOhlandt now I am able to test on simulator and device at the same time!

@PhillippOhlandt I am new to xcode, where should I put that code? Thanks!

@rickycpadilla you put that in your_project_name/ios/your_project_name/info.plist. I also got this problem, but what I did  to solve the issue were run npm start on root directory of my project and then run react-native run-ios on a separate tab.

I had the same error as @jcsjohnson, and unfortunately none of the suggestions in this thread did anything for me. I completely wiped my machine's npm/node installation and every module folder I could find. After I reinstalled the necessary react-native dependencies, the skeleton app booted up in the iOS simulator with no other modifications necessary.
OSX 10.11.2
Xcode 7.3.1
npm 2.14.12
node v4.3.0

Same problem here, um, I've checked every solutions mentioned before, but none of them work for me. What I have done is init a project with react-native and react-native run-ios, that's all! I've already upgraded my node from 5.6.0 to 6.2.2. Have any other solutions?
OSX 10.11.1
Xcode 7.3.1
npm v3.9.5
node v6.2.2

@robert-spurrier seemed to be the same problem to yours

@robert-spurrier everything works fine after I update my system to 10.11.5

"Could not connect to development server", Android, 4.2.2
Server is running, http://localhost:8081/index.android.bundle?platform=android returns a bundle, a device (not an emulator) is online and is visible for my computer when I type in command line "adb devices".
Have the solutions?

At this time I found the solution here: http://stackoverflow.com/a/37188827/5149064
ngrok allows to run an application, but still I have not found the normal solution. The question is still opened.

After having success launching my AwesomeProject in the simulator, it was annoying seeing this red error when trying to launch on iPad. I tried adding my MBP's IP to the info.plist under NSExceptionDomains however had no success. The only thing that appears to work for me is https://github.com/facebook/react-native/issues/304#issuecomment-222639207

What is an analogue for NSAppTransportSecurity on Windows? How I can disable such security on it?

I try to connect to my local developer server: www.dev.ology.com.br which is linked to localhost through a hosts file, and fail: "The resource could not be loaded because the App Transport Security policy requires the use of a secure connection."

Check your hosts file:
<IP_ADDRESS> localhost

I fixed this with using npm start in my project directory

Is anyone getting this again with Xcode 8.0 + iOS 10.0? I've modified RTWebsocketExecutor.m with something like,
- (void)setUp
{
  if (!_url) {
    NSUserDefaults *standardDefaults = [NSUserDefaults standardUserDefaults];
    NSInteger port = [standardDefaults integerForKey:@"websocket-executor-port"] ?: 8081;
    NSString *host = [[_bridge bundleURL] host];

#if TARGET_IPHONE_SIMULATOR
    host = @"localhost";
#else
    host = @"<IP_ADDRESS>";
#endif

    NSLog(@"Setting host to: %@", host);
    NSString *URLString = [NSString stringWithFormat:@"http://%@:%zd/debugger-proxy?role=client", host, port];
    _url = [RCTConvert NSURL:URLString];

    NSLog(@"url is %@", _url);
  }

I've also set exceptions in my Info.plist
  <key>NSAppTransportSecurity</key>
        <dict>
                <key>NSAllowsArbitraryLoads</key>
                <true/>
                <key>NSExceptionDomains</key>
                <dict>
                        <key><IP_ADDRESS></key>
                        <dict>
                                <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
                                <true/>
                        </dict>
                        <key><IP_ADDRESS></key>
                        <dict>
                                <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
                                <true/>
                        </dict>
                        <key>localhost</key>
                        <dict>
                                <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
                                <true/>
                        </dict>
                </dict>
        </dict>

But on my phone I never hit my package server. I know it responds at that ip:port as I can hit my machine in a chrome browser on the phone and it responds and I can see that it hits in the log on the package server.

Thank you so much @PhillippOhlandt! Why I need to do this on one computer and not the other baffles me, but it works!

@dazziola yeah, after some time, it worked even without that.

Putting this here for others.
If you're debugging on a physical phone and trying to connect to the local network the xip.io domain must be DNS resolvable. Turns out my modem, a Fritzbox, blocks such DNS lookups for local domain ip addresses and I had to add an exception in my modem settings. Now I can reach my dev server on my laptop.
To test if you have such a problem - dig .xio.ip if it time's out you have an issue.
More information in this script, https://github.com/facebook/react-native/blob/master/packager/react-native-xcode.sh#L83
Also if you're running on a phone, you'll see in that script that NSTemporaryExceptionAllowsInsecureHTTPLoads are added for your test domain also - so you don't need to manually add them.

check your hosts file if it lost a line <IP_ADDRESS>   localhost

I have had this problem all day using the simulator. Can not find a solution. I've tried every recommendation in this thread and it's still happening. I've even checked out what's going on with Wireshark and I'm stumped!
I can navigate in the browser, but the simulator can't connect. The host, and port are the same. I've modified AppDelegate with the correct information. I've modified the plist file. No firewall.
Absolutely stumped here.

Fixed. In AppDelegate.m find:
jsCodeLocation = [[RCTBundleURLProvider sharedSettings]<EMAIL_ADDRESS>fallbackResource:nil];

And replace with:
jsCodeLocation = [NSURL URLWithString:@"http://<IP_ADDRESS>:8006/index.ios.bundle"];

Note the <IP_ADDRESS> instead of localhost.
I'm not sure if this is the correct way to do this, but it's the only way to solve my issue. No idea why because the locahost issue is a bug from an older XCode, but I'm using 8.0.

Getting same error as @jamesfzhang on the simulator too; RN 0.39 and Xcode 8.1.  Tried everything here but nothing seems to be working.  The packager is running but when I try to start the app through Xcode or react-native run-ios I still end up with the error.  @JamesTheHacker I tried your method with both port 8081 (my default) and 8006 but not working either.  Been stuck on this all day; any other options?

@kadzier did you change localhost to <IP_ADDRESS> in AppDelegate.m. That's what fixed it for me.

@JamesTheHacker no dice.  Still got the exact same error.  Ended up completely uninstalling the react native cli and watchman, as well as also uninstalling npm AND node, deleting the references everywhere I could find them as per http://stackoverflow.com/questions/11177954/how-do-i-completely-uninstall-node-js-and-reinstall-from-beginning-mac-os-x  and completely starting over from the beginning.  After reinstalling everything fresh that seems to have fixed the problem as I'm no longer getting this issue.   I cannot even fathom what was going wrong but my guess was some sort of weird unintended dependency I created was messing things up.

@dvabolta How to you fix isssue by ngrok? Could you please guide me step by step?

@toanfet I just got dev bundles loading over ngrok at a coffee shop by temporarily modifying this line in AppDelegate.m like so:
  //jsCodeLocation = [[RCTBundleURLProvider sharedSettings]<EMAIL_ADDRESS>fallbackResource:nil];
  jsCodeLocation = [NSURL URLWithString:@"https://4af8888.ngrok.io/index.ios.bundle"];

thanks everyone

@lealife your solution saved me from night stay at office 💃 . Thankx a lot.
It worked for me after hours of unsuccessful attempts.

Here's the simple command
go tho the directory     ~/android/sdk/platform-tools and run
adb reverse tcp:8081 tcp:8081

@PhillippOhlandt
Could not connect to development server !  Can you help me solved my problem?

Thank

I got this error when trying to run on my device.  Fought it for 6+ hours and tried EVERYTHING.  Turns out the wifi on my phone was off.

This can be resolved by the dev settings inside the android emulator , please visit my site for more information,
http://gadoth.com/react-native-series-post-1-installation-setup/

@bighitbiker3
in AppDelegate.m file find this code line:

jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle?platform=ios&dev=true"];

change the **localhost ** to your ip address ,if you have mac run Network Utility App and find your IP Address .
Be Sure your Computer And Device Use same Network .

Device is not connect to 8081 port server.
How can be fix ?

Go to android/sdk/platform-tools and try running
adb reverse tcp:8081 tcp:8081 . If it works , set your platform-tools directory in environment variables so that you can run adb command from anywhere.

If you are trying to run on a device, then change the URL from localhost to your computer's IP address, like this http://xxx.xxx.xxx.xxx:8081/index.bundle?platform=ios.
On mac find IP by running command ifconfig | grep "inet " | grep -v <IP_ADDRESS> or find manually in network preferences. Hope that helps!

We faced this issue, In order to fix this, solution is dead simple is below.

Cancel the current process of“react-native run-android” by CTRL + C
or CMD + C
Close metro bundler window command line which opened
automatically.
Run the command again, “react-native run-android”.

Basically this error tells that your current build got failed due to reasons like Code issue or dependency issue.

Click here for more details

yes, you should change <IP_ADDRESS> to your real computer ip like <IP_ADDRESS>. this will work as a magic on your real device, <IP_ADDRESS> works on your simulator only.

it depends on some point
1- kill terminal and simulator and react-native run-ios again
if error again
2-

if error like that just check out app.json may be you mistakly copy your source code and forgot to change name ,display name instade app.json and it show this error
if error show again
3-may be your reacyt native confused !!! BTW  download this packages  remove  rm -rf ~/.rncache  and unzip to ~/.rncache
if error again :|
4-some times is i face restart my computer works :) because if your computer runs day after days this may RN make  dumb to process
if error exist
5- create new project , npm install all pakckages ,relink all dependecies , copy source code be ware off app.json


Feat:In canteen The canteen should able to see the items they have added plus they can remove them #252

-ADDED A MINI NAV BAR ON CANTEEN INTERFACE
-ADDED UI FOR PRODUCT LIST
-ADDED AND UPDATED BACKEND FOR DELETING FOOD ITEM
Fixes # 252
Type of change
Please give a X on it which is applicable

[ ] Bug fix (non-breaking change which fixes an issue)
[X ] New feature (non-breaking change which adds functionality)
[ ] Refactor Code
[ ] A documentation update
[ ] Others(mentioned in the issue number)

How Has This Been Tested?
Log in as canteen add item in menu go on product list and try to remove them
Screenshorts and Vedios:
https://github.com/VanshKing30/FoodiesWeb/assets/101548649/67f6f6a9-979f-4862-aee3-5559769d1939
Checklist:
give a X on it which is applicable

[ X] My code follows the style guidelines of this project
[ X] I have performed a self-review of my code
[X ] I have commented my code, particularly in hard-to-understand areas
[X ] I have made corresponding changes to the documentation
[ X] My changes generate no new warnings
[X ] I have added tests that prove my fix is effective or that my feature works
[X ] New and existing unit tests pass locally with my changes
[X ] Any dependent changes have been merged and published in downstream modules

hey @hustlerZzZ  Please review this pr and let me know changes if any


[boost-modular-build-helper] Fix multiple compiler and linker options…

… support in boost #7159

/azp run

looks like boost-type-erasure was missing a dependency in the CONTROL file for arm, but because it was for boot-thread it just happened to always get installed in the CI tests so it was finding it anyway.  Fixing this in #7325.


at android Unable to resolve module ./lib/WebView

Bug description:

To Reproduce:

Expected behavior:

Screenshots/Videos:

Environment:

OS: Mac
OS version:
react-native version: 6.0
react-native-webview version: ^8.0.4

I had to do the same thing as HusseinElGanzory to get a fork of react-native-webview to work in a react-native init project. I've been following along with the instructions on the Contributing.md page of the docs, but could not get any of this to work until I renamed "lib" to "src" in my fork of react-native-webview.


IOS - Bank account- Error message nor displayed for incorrect validation code/ incorrect account number

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:
Scenario 1:

Log in with a applause.expensifail account (that does not have any bank account already added)
Enable staging Web secure server in Account Preferences if disabled
Navigate to the add bank account modal
Verify the Add bank account modal is displayed with 2 options to add bank accounts (Log in and Manual)
Select the Manual method to add a bank account
Use the "Pending State Withdrawal Account" credentials (available below)
Verify that when you finish the flow - the modal asks for 3 amounts of test transactions
Submit three random amounts

Scenario 2

Log in with a applause.expensifail account (that does not have any bank account already added)
Enable staging Web secure server in Account Preferences if disabled
Navigate to the add bank account modal
Verify the Add bank account modal is displayed with 2 options to add bank accounts (Log in and Manual)
Select the Connect with plaid method to add a bank account
On the bank account list select "Chase"
You'll be redirected to the "First Platypus Bank"
Enter the credentials "user_good / pass_good"
Continue until you're redirected to the choose an account screen in NewDot
Select the bank account ending in 1111
Verify you're redirected to the enter back account details manually (this is a special case for the Chase bank account selection)
Enter a incorrect bank account number (e.g<PHONE_NUMBER>334444

Expected Result:
Scenario 1: Verify that you see the following error: The validate code you entered is incorrect, please try again
Scenario 2: Error for entering the wrong bank account and in which number should the bank account end with.
Actual Result:
No validation error message displayed
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[x] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: yes
Reproducible in production?: n/a
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Incorrect validation code
https://github.com/Expensify/App/assets/93399543/a640dd46-b4d9-4e72-bac5-6e07d4ba31c9
Incorrect account number issue
https://github.com/Expensify/App/assets/93399543/defe31c3-be1d-4bce-b77c-11406ed63ec9
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

Hello@AndrewGable  We cannot check the issue in production

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

The reproducible steps don't match the videos shared. So I'm not sure which one is correct. FWIW I can reproduce what's shown in the video on prod too, so it wouldn't be a blocker. I'm waiting for applause to confirm.

I can reproduce what's shown in the video on prod too

I think we should lean on this and investigate it as a normal bug

Sounds good!

Uploaded correct videos! Apologies for the confusion with this one

The first scenario: on step 11 error message not displayed for validation.
TR link https://expensify.testrail.io/index.php?/tests/view/3482503
https://github.com/Expensify/App/assets/93399543/64320ec6-4608-4f8b-94f6-0e2469274505
The second scenario: step 19.  error for entering the wrong bank account is not displayed.
TR link https://expensify.testrail.io/index.php?/tests/view/3482507
https://github.com/Expensify/App/assets/93399543/5313c1d9-5b2b-4a68-bb2c-56db0cc10753

Hm this is looking like a regression from my Form hook refactor PR - https://github.com/Expensify/App/pull/19633. But I tested this flow thoroughly and didn't have any issues. I'll check again.

yup, thanks!! 🙇

@luacmartins looks like you've got a PR up for this. Do you expect to complete it this week?

Yea, it's actively being reviewed. Hopefully, we'll get it merged soon.

Checklist complete

Waiting on payment

@tjferriss did we pay @rushatgabhane for the PR review?

Hello @luacmartins , I've noticed that the application doesn't display an error message when we input "XXXXX6789" as the account number. In my testing scenario, this seems to be a unique case. Before closing this issue, I kindly request you to take a look at our conversation on Slack: Slack Conversation Link. It might provide some helpful insights. Thank you!

Replied in thread

@rushatgabhane did the manual request go through?

I just sent @rushatgabhane an offer: https://www.upwork.com/jobs/~013d27f378e338aa91.
Sorry for the delay, I should have re-assigned before heading out on vacation.


Implement base of project

[x] Implement base of project
[x] Add relations and entities
[x] Implement SimpleQuery for all services and validations
[x] Add relational "get" services

#2


chore Fix linkage errors on macOS (arm64)

Proposed changes
Issue Number: close #15923
Problem summary
macOS with Apple Silicon chip doesn't support AVX2 instructions, we should build CLucene without AVX2 support.
Checklist(Required)

Does it affect the original behavior:

[ ] Yes
[x] No
[ ] I don't know

Has unit tests been added:

[ ] Yes
[ ] No
[x] No Need

Has document been added or modified:

[ ] Yes
[ ] No
[x] No Need

Does it need to update dependencies:

[x] Yes
[ ] No

Are there any changes that cannot be rolled back:

[ ] Yes (If Yes, please explain WHY)
[x] No

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 35.54 seconds
load time: 483 seconds
storage size:<PHONE_NUMBER>7 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230114024536_clickbench_pr_80204.html


Fix rules for when metadata token should be used in mapping tables

New code from TFS changed the way we refer to members from field/method
reflection mapping tables. It conservatively chose to not use tokens,
but fall back to full signatures at all times (these are normally only
needed for crossmodule references).
Fixing the logic up because this was causing failures in the rolling
build (one of the negative tests that deliberately uses bad types was
crashing the compiler because the bad type can't be used in a native
layout signature).
This fix also recovers a file size/throughput regression.
The bigger picture problem is that we need to do something about
resiliency against bad inputs at the native layout writing phase.

@davidwrighton PTAL


Sketch prototype that lifts ordinary Scala code to ZFlow / Remote using Scala 3 macros

A prototype that is incomplete could demonstrate the feasibility of lifting ordinary Scala code into ZFlow:
ZFlow.define {
  if (2 + 2 == 4) "foo" else "bar"
} : ZFlow[Any, Nothing, String]

Depends on https://github.com/zio/zio-flow/issues/225


[firebase_messaging] undesired auto cleaning notifications when entering foreground (iOS)

Describe the bug
Hi, I found a undesired auto cleaning notifications scenario when application entering foreground. It is at line 159 in
https://github.com/FirebaseExtended/flutterfire/blob/master/packages/firebase_messaging/ios/Classes/FirebaseMessagingPlugin.m
- (void)applicationDidBecomeActive:(UIApplication *)application {
  _resumingFromBackground = NO;
  // Clears push notifications from the notification center, with the
  // side effect of resetting the badge count. We need to clear notifications
  // because otherwise the user could tap notifications in the notification
  // center while the app is in the foreground, and we wouldn't be able to
  // distinguish that case from the case where a message came in and the
  // user dismissed the notification center without tapping anything.
  // TODO(goderbauer): Revisit this behavior once we provide an API for managing
  // the badge number, or if we add support for running Dart in the background.
  // Setting badgeNumber to 0 is a no-op (= notifications will not be cleared)
  // if it is already 0,
  // therefore the next line is setting it to 1 first before clearing it again
  // to remove all
  // notifications.
  application.applicationIconBadgeNumber = 1;
  application.applicationIconBadgeNumber = 0;
}

To Reproduce

get >=2 remote notifications on iPhone
enter foreground
all notifications & badges be unexpectedly removed

Expected behavior
Just remove the notification we clicked. Thanks!

same problem, I don't want notifications to disappear after launching app, even when launching app  without clicking the notification makes it disappear and I lose info from notification

@JasperShih and @izabekz thanks for pointing this out. As you have noted this is currently WAI for the plugin, I'm going to re-label this as a feature request and we will update the behaviour.

@kroikie thanks, what does WAI mean? And another question, when the update will be available? This is very crucial for us.

when this update will be available? this is important for us.

@jigarfumakiya I agree that the current implementation of automatically clearing the notifications is something that does not work for all cases. I'm investigating the best way to provide the option to clear notifications by the developer.

thank you so much @kroikie but still, there is any date when this will be solved.

Thanks for the great work, but sorry to be insistent: why is this the expected/default behaviour?

@kroikie the code causes another problem by clearing out notifications that might not have originated from firebase as well (see https://github.com/MaikuB/flutter_local_notifications/issues/134). An app may display a local notification and reference the firebase_messaging plugin. If they pull down the notification centre, the notification is automatically removed. This occurs even if an app only references the firebase_messaging plugin in the pubspec but doesn't use any of the APIs in the Flutter side.
Perhaps this behaviour could be something is opted in as. The comments in the code also mention removal of the code if there's an API to manage the badge number. There's a plugin on pub for it https://pub.dev/packages/flutter_app_badger. The logic there could potentially be replaced my leavi g it to applications to check the state of the app and using the badge plugin to change the number

any updates on this issue? it becomes really annoying when you're trying to control the badge from the server and the app is continuously resetting the counter

Would love to know if there is an update here.
I am facing the exact same use case @MaikuB is referencing.
The idea being that when I want notifications received when the app is in the foreground to behave like when the app is in the background. So as soon as firebase received a foreground notification, I am sending it back with flutter_local_notifications.
So the combination of both flutter_local_notifications and firebase_messaging is causing the notification to disappear automatically from the system tray without me doing anything.
Like this:

@jlhour

@jlhour @kroikie  : or is there a way to let foreground notifications behave like background notification with using only firebase_messaging ?
Basically, I don't want to have to do any special treatment in my app for foreground notification. I want a regular notification to show up at the top and then be put in the system tray like any other notification and then let my user manage when/if he wants to deal with them.
For now the only solution I found for this was to use flutter_local_notifications (catch the foreground notificaton from firebase and dispatch it right away with flutter_local_notifications), but maybe there is an easier way?

@jlhour @kroikie : or is there a way to let foreground notifications behave like background notification with using only firebase_messaging ?
Basically, I don't want to have to do any special treatment in my app for foreground notification. I want a regular notification to show up at the top and then be put in the system tray like any other notification and then let my user manage when/if he wants to deal with them.
For now the only solution I found for this was to use flutter_local_notifications (catch the foreground notificaton from firebase and dispatch it right away with flutter_local_notifications), but maybe there is an easier way?

Hey - I've been working on something like this yesterday. flutter_local_notifications won't work, because this package is designed not to work in the foreground on iOS (You can find more info about it in package's readme).
You can add this line to your AppDelegate.swift after you make the UNUserNotificationCenter delegate reference your app delegate by adding this:
        if #available(iOS 10.0, *) {
          UNUserNotificationCenter.current().delegate = self
        }

    override func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
        completionHandler([.alert, .badge, .sound])
    }

Reference: https://stackoverflow.com/a/37844312

because this package is designed not to work in the foreground on iOS (You can find more info about it in package's readme).

@mhnowak which package are you referring to here? If you're referring to flutter_local_notifications then it does work in the foreground. The note in the readme is that iOS requires extra steps (this is how the native APIs work) and the plugin exposes properties that map to the presentation options. There is already code in the plugin to do what you've described.
Another thing to note that @dprophete has gotten flutter_local_notifications  to work together with firebase_messaging . Unfortunately there's an issue in firebase_messaging where pulling down the notifications tray and returning to the app clears all of the notifications because of the code around changing the application's badge number

because this package is designed not to work in the foreground on iOS (You can find more info about it in package's readme).

@mhnowak which package are you referring to here? If you're referring to flutter_local_notifications then it does work in the foreground. The note in the readme is that iOS requires extra steps (this is how the native APIs work) and the plugin exposes properties that map to the presentation options. There is already code in the plugin to do what you've described.
Another thing to note that @dprophete has gotten flutter_local_notifications  to work together with firebase_messaging . Unfortunately there's an issue in firebase_messaging where pulling down the notifications tray and returning to the app clears all of the notifications because of the code around changing the application's badge number

Ahh ok. You might be right I didn’t read deeply enough there.

No worries. I probably should've added that I maintain flutter_local_notifications and referred @dprophete to this issue after he reported the problem on the flutter_local_notifications's repository  :)

Any updates ?

Hey Guys, any updates on this, it is a frustrating behaviour.

This needs to be fixed but if you need a quick fix just search for and comment out these 2 lines:
//application.applicationIconBadgeNumber = 1;
//  application.applicationIconBadgeNumber = 0;
Then make sure to do it every time if you upgrade the package

@FirebaseExtended/invertase any chance this could be prioritised? Some solutions have been discussed here, including the removal of code that is causing this to happen

Messaging is being started in the next couple of weeks and we are aware of this issue. We've also started adding docs for messaging, e.g. https://firebase.flutter.dev/docs/messaging/ios-integration

Thanks @Salakar, did see that page today :)

Looks like this was actually fixed recently:
https://github.com/FirebaseExtended/flutterfire/pull/227

Missed that as the changelog entry sounded like it was for a different issue as it mentions app launch. If it is fixed then shouldn't the change be classified as a breaking change? Previously it was mentioned that this was working as intended

Not one we looked at ourselves but I think you're right probably should have been a breaking change.
We're most likely going to remove this entirely in the rework anyway and expose badge APIs to Dart like we did here: https://notifee.app/react-native/docs/ios/badges (JavaScript of course, but API applies).

Given there's already this package https://pub.dev/packages/flutter_app_badger, I wonder if it's perhaps better to promote existing work done by others in community

That is also definitely an option of course, nothing set in stone yet :) That one looks pretty well maintained
I'm going to go ahead and close this issue now at least as there has been a fix published.

I have project with firebase messaging 7.0.0 and when I received notification with badge when I opened the app without click on notification , the notification automatically removed from notifications tray


for what minecraft version is the latest release?

oh nevermind sorry tell me rftm i really should have.


Link Projects to homepage x2

Add projects from THIS FILE in the projects section of the Main Home Page of the website, such that a cover of the deployment is linked to it: -
This Section -

Like this -

Rules -

Must Follow all the steps from Instructions
The PR should be valid and have no Merge Conflicts
DON'T spoil the Code indentations with any formatting tools such as prettier or VSC format
The PR Should be sent within 24 hours of Assignment, else will get reassigned to the next person.

@fykaa You can assign this to me

done

#73
Please review it


Pulseaudio: system-wide installation support

Pulseaudio can be run system-wide, in which case it runs aspulse user. This is useful for allowing different sessions/headless sessions to access the same pulseaudio daemon.
x11docker asks pactl to create a socket for communicating with container client but this socket resides in <cwd>/.cache/x11docker/<image-name-container-id>/share and providing <cwd> is something like /home/someuser it appears inaccessible for pulseaudio running as pulse. So pactl fails and x11docker falls back to enable ALSA integration.
I suggest making an ability to provide path for pulseaudio socket or just create it under /tmp.

May be creating a socket in /tmp/<random-number>.pulseaudio.soket and then symlinking it to $Sharefolder/$Pulseaudiosocket would work?

Thank you for reporting this!
I assume user pulse cannot access files from other users, and therefore fails.
Your suggestion with a symlink might work. However, I think of possibilities to keep the socket within x11docker cache to avoid file spreading.
I just checked, the socket already allows arbitrary access:
srwxrwxrwx 1 lauscher lauscher     0 Jul 24 22:32 pulseaudio.socket

Likely pulse cannot access the user owned folders below /home.
Let me think about this. If you have further ideas, please let me know!

Yes, socket allows arbitrary access, but pactl can not create it under /home/somebody/.cache/.../share when pulseaudio is run as pulse and not as somebody.
At least I'm gonna fork it now and make a nasty patch with:
Pulseaudiosocket="x11docker.$$.pulseaudio.socket"
Pulseaudiosockethost="/tmp/$Pulseaudiosocket"

unpriv "pactl load-module module-native-protocol-unix socket=$Pulseaudiosockethost 2>&1" >>$Messagelogfile && {
        ln -s "$Pulseaudiosockethost $Pulseaudiosocket"
        store_runoption env "PULSE_SERVER=unix:$(convertpath share $Pulseaudiosocket)"
        store_runoption env "PULSE_COOKIE=$(convertpath share $Pulseaudiocookie)"
      }

  # remove cache files
  [ "$Preservecachefiles" = "no" ] && grep -q cache <<<$Cachefolder && grep -q x11docker <<<$Cachefolder && [ "x11docker" != "$(basename "$Cachefolder")" ] && unpriv "rm -f -R '$Cachefolder'"
  rm "$Pulseaudiosockethost" -f

Oh, just found out that it does not unload module from pulseaudio upon exit...

Oh, just found out that it does not unload module from pulseaudio upon exit...

IIRC there was a bug when unloading the module and pulseaudio crashed or freezed entirely. I remember that I once dropped unloading the module and just deleted the socket to make it unuseable.
One idea: Maybe system-wide pulseaudio works with --pulseaudio=tcp

Yes it works with tcp, thats how I found it does not unload modules :) I have 12 instances of module-native-protocol-tcp.
BUT! --pulseaudio=tcp does not work when I use --hostnet lol. Still no idea why.

Hmm, system-wide setup of pulseaudio recommends disabling module loading at runtime, so the better idea is to specify system-wide socket /var/run/pulse/native and not to create one for each container I think

--pulseaudio=tcp does not work when I use --hostnet

Fixed, thanks for the observation. x11docker now sets the host IP to <IP_ADDRESS> if using --hostnet.

system-wide setup of pulseaudio recommends disabling module loading at runtime

Is there a good reason for this? What issues causes it otherwise? Some setups only work over TCP and need a module, e.g. --runtime=kata-runtime.

OR just find default socket by pactl info | grep 'Server String' | cut -f 3 -d' '

That might be a way for the default socket setup. Could you show me your full output of pactl info?

Could you show me your full output of pactl info?

Server String: /var/run/pulse/native
Library Protocol Version: 33
Server Protocol Version: 33
Is Local: yes
Client Index: 175
Tile Size: 65472
User Name: pulse
Host Name: home
Server Name: pulseaudio
Server Version: 13.99.1
Default Sample Specification: s16le 2ch 44100Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.pci-0000_01_00.1.hdmi-stereo-extra3
Default Source: alsa_input.firewire-0x00148603bd2bb5a1.multichannel-input
Cookie: 9864:d186

Is there a good reason for this?
They say, it might be exploited if any local user with access to pulseaudio (being added to pulse-access group) is able to alter system-wide config and modules, hence theoretically have access to any audio/data/sinks/etc used by other users.

https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/WhatIsWrongWithSystemWide/
But I'm building a home server with several applications running simultaneously which must be able to share the same audio output, so I decided to use pulseaudio this peculiar way.

I just found out that pactl's output is system-language dependent... So grep might not work on non-english locales.

I think the better is to not alter default behavior and let user choose --pulseaudio=system or even --pulseaudio=system,/path/to/socket in case of we are not able to extract it from pactl due to locale or someth.

I just found out that pactl's output is system-language dependent... So grep might not work on non-english locales.

This is an issue with many commands. It can be solved with:
LC_ALL=C pactl [...]
x11docker could check for User Name: pulse and automatically use the TCP setup in that case. That would be a straightforward solution with low code change.

automatically use the TCP setup in that case

That would be ok as a default behavior, I think

That would be ok as a default behavior, I think

Is done and uploaded yet. I might try out to use Server String from pactl. But if I remember correctly, there has been an issue, too. Maybe with the cookie, or because the container has a different IP..

I tried to implement system option I described, but this way fails as symlink stays just a symlink in container too:
victor@home:~$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS
     NAMES
6d43c5b3f301        erichough/kodi      "env /usr/local/bin/…"   3 minutes ago       Up 3 minutes
     x11docker_X107_erichough-kodi_29970254284
victor@home:~$ docker exec -it 6d43c5b3f301 bash
victor@home:/tmp$ ll /x11docker/
total 168
drwxrwxr-x 2 victor victor   4096 Jul 25 01:32 ./
drwxr-xr-x 1 root   root     4096 Jul 25 01:32 ../
-rw-r--r-- 1 victor victor    102 Jul 25 01:32 Xauthority.client
-rw-rw-rw- 1 victor victor    347 Jul 25 01:32 container.environment
-rw-rw-rw- 1 victor victor   1251 Jul 25 01:32 container.log
-rw-r--r-- 1 victor victor   5382 Jul 25 01:32 containerrc
-rw-r--r-- 1 victor victor   6666 Jul 25 01:32 containerrootrc
-rw-r--r-- 1 victor victor   1535 Jul 25 01:32 libc.localtime
prw-rw-rw- 1 victor victor      0 Jul 25 01:32 message.fifo|
lrwxrwxrwx 1 victor victor     21 Jul 25 01:32 pulseaudio.socket -> /var/run/pulse/native
-rw-rw-rw- 1 victor victor      0 Jul 25 01:32 stderr
-rw-rw-rw- 1 victor victor    609 Jul 25 01:33 stdout
-rw-rw-rw- 1 victor victor    902 Jul 25 01:32 store.info
-rw-r--r-- 1 victor victor      0 Jul 25 01:32 timetosaygoodbye
prw-rw-r-- 1 victor victor      0 Jul 25 01:32 timetosaygoodbye.fifo|
-rw-rw-rw- 1 victor victor 122028 Jul 25 01:33 x11docker.log
victor@home:/tmp$ ll /var/run/pulse/native
ls: cannot access '/var/run/pulse/native': No such file or directory
victor@home:/tmp$

So it won't work this way, because symlinks work only on host. See https://stackoverflow.com/questions/38485607/mount-host-directory-with-a-symbolic-link-inside-in-docker-container

To check for now, you could also add --share /var/run/pulse/native to have a target for the symlink.

To check for now

Of course it works this way.
NB: after your latest patch container hostname when --hostnet now resolves to my machine hostname instead of container id (see the prompt after docker exec). This may have some side-effects...

#267

after your latest patch container hostname when --hostnet now resolves to my machine hostname instead of container id (see the prompt after docker exec). This may have some side-effects...

I just checked, this is regular docker behaviour and is not related to the patch. The same happens without x11docker and setting docker run --net=host.
Thank you for the pull request! It looks well integrated.
I have some questions:

What is the advantage of using the socket, compared to the default tcp connection? Theoretically the socket is more performant, but likely there is no notable difference.
When should one need to specify the socket path? pactl provides it already.
Does your pulseaudio setup somehow use cookies? Or are cookies disabled to ease access? I remember some authentication issues when I developed the --pulseaudio option and tried to use the socket from pactl info. E.g. your PR might fail without --hostnet.

I just fear that the PR might add complexity and new issues that I could not debug myself without setting up pulseaudio the same way.

I just checked, this is regular docker behaviour and is not related to the patch. The same happens without x11docker and setting docker run --net=host.

Didn't know that, thanks.

What is the advantage of using the socket, compared to the default tcp connection? Theoretically the socket is more performant, but likely there is no notable difference.

I'm trying to mitigate the need to load-module. And also just "why not" :) I don't know about TCP method, but system-wide socket as long as I see in docs (https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SystemWide/) requires user to be in pulse-access group to work. So you need to provide valid --user or use USER xxxx in Dockerfile which corresponds to right host user allowed to access pulseaudio.
I just tested my container with an unknown UID and it fails to connect to pulseaudio server.

When should one need to specify the socket path? pactl provides it already.

Knowing that pactl is not specifically intended for scripting we may expect some breaking changes in its output, so I decided to add ability to explicitly specify socket address just in case the default flow breaks unexpectedly.

Does your pulseaudio setup somehow use cookies? Or are cookies disabled to ease access?

As I tested, there's no need for cookie in system-wide setup, pulseaudio checks if connecting user is in pulse-access group.

I remember some authentication issues when I developed the --pulseaudio option and tried to use the socket from pactl info. E.g. your PR might fail without --hostnet.

Tested without --hostnet, it works perfectly.

requires user to be in pulse-access group to work. So you need to provide valid --user or use USER xxxx in Dockerfile which corresponds to right host user allowed to access pulseaudio.
I just tested my container with an unknown UID and it fails to connect to pulseaudio server.

It might work for unknown UIDs with --group-add pulse-access.

I'm trying to mitigate the need to load-module

It might be worth to try out unload-module again. Maybe the pulseaudio bugs are fixed meanwhile.

pulseaudio checks if connecting user is in pulse-access group.

Likely pulseaudio does not check itself, but the socket file has belongs to pulse-access.

Right you are. I was wondering about the magic around how pulseaudio checks client access, I thought it was something in it's native protocol :)

I've commited a change that unloads the pulseaudio module on exit.
My current tests on Debian bullseye/testing show no pulseaudio bugs after unload-module yet. Hopefully they are fixed in other distributions and releases, too.
IIRC pulseaudio clients that are connected over a module cannot load modules on their own. I'll have to re-check that.

I finally decided not to merge your PR:

The new default TCP setup for system-wide pulseaudio works well.
The PR with system socket support would add complexity.
The unload-module issue is solved.

Your PR was well integrated, and your investigation and report helped to improve and fix x11docker. Thank you very much!


compute = 'local' doesn't work in command() or pipeline job

Package Name:  azure-ai-ml
Package Version:  1.21.0
Operating System: Windows 10
Python Version: 3.10

Describe the bug
Using local compute throws error The value provided is not a valid enum value. Field: queueSettings.jobTier. Allowed values: Spot,Basic,Standard,Premium.
To Reproduce
Steps to reproduce the behavior:
from azure.identity import DefaultAzureCredential

from azure.ai.ml import MLClient
from azure.ai.ml import command
from azure.ai.ml import Input, Output

ml_client = MLClient.from_config(DefaultAzureCredential(), path="config.json")

compute = 'local'
env = ml_client.environments.get('some-registered-env', version="6")

load_data = command(
    name="Download-Data-local1",
    display_name="Create Iris Dataset",
    description="Download and Register Data",
    is_deterministic=False, # to force rerun the step
    inputs={

        "url": Input(
            path='https://gist.github.com/netj/8836201/raw/6f9306ad21398ea43cba4f7d537619d0e07d5ae3/iris.csv',
            type="uri_file"),
    },
    outputs={
        "output_path": Output(type="uri_file", mode='rw_mount'), # a directory will be attached to the compute
    },
    # The source folder of the component
    code="tmp",
    command="""python data_prep.py \
            --url ${{inputs.url}} \
            --output_path ${{outputs.output_path}}
            """,
    environment=f"{env.name}:{env.version}",
    compute=compute
)

returned_job = ml_client.jobs.create_or_update(load_data, compute='local')
returned_job

tmp/data_prep.py :
import argparse

__all__ = ['df', 'load_data']

# %% ../nbs/experiments/data_prep_azmlish.ipynb 1
import pandas as pd
import numpy as np

# %% ../nbs/experiments/data_prep_azmlish.ipynb 3
def load_data(url):
    return pd.read_csv(url)

# Parse command-line arguments
parser = argparse.ArgumentParser(description='Data preparation script')
parser.add_argument('--url', type=str, required=True, help='URL of the CSV file to load')
parser.add_argument('--output_path', type=str, required=True, help='Path to save the output CSV file')
args = parser.parse_args()

# %% ../nbs/experiments/data_prep_azmlish.ipynb 4
df = load_data(args.url)

# %% ../nbs/experiments/data_prep_azmlish.ipynb 8
df.to_csv(args.output_path, index=False)

Expected behavior
The command should run as when using compute = 'cpu-cluster'
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
The exact code snippet works on Azure ML Compute.

I tested version 1.16.1 and it works, however I would keep the issue open since the default version is 1.21.0

Yes, it's a regression thanks for reporting, raising a fix and it will be available in next upcoming release.