IGAPP-1217: Cut loading times

This pull request belongs to an issue on our bugtracker.
You can find it there by looking for an issue with the key which is mentioned in the title of this pull request.
It starts with the keyword IGAPP.

This cuts the loading times by using the single city endpoint for city content routes (IGAPP-1267) and executing requests simultaneously (IGAPP-1217).

@SteffiStuffel we can probably close the epic once this two PRs are merged right? https://issues.tuerantuer.org/browse/IGAPP-1216 Or anything else left to do?

Nice! In five tests of this branch vs main with Lighthouse (on a sketchy train internet connection) I got an improvement of 6%.

hmh, i do not get any improvement.
On this branch loading time of city of Augsburg is: 769ms
on main it is: 715ms
Details: WLAN, disable all caching, reload page for several times and calculate the average.

@SteffiStuffel we can probably close the epic once this two PRs are merged right? https://issues.tuerantuer.org/browse/IGAPP-1216 Or anything else left to do?

Sure we can close it, when we are happy with the loading times for now.

Nice! In five tests of this branch vs main with Lighthouse (on a sketchy train internet connection) I got an improvement of 6%.

hmh, i do not get any improvement. On this branch loading time of city of Augsburg is: 769ms on main it is: 715ms Details: WLAN, disable all caching, reload page for several times and calculate the average.

TBH I think its not really possible to measure the effect in localhost. I tried both lighthouse and @SteffiStuffel's method to look at the loading times in firefox and it seems to be super dependent on the time executed and it fluctuates quite some even with throttling enabled. Without merging main into my feature branch, I could on average verify @SteffiStuffel's result with an average of 662ms for main and 690ms for testumgebung/de, however, with an updated feature branch it was suddenly 687ms on main and 650ms on the feature branch...
What I can see, however, is that on the feature branch the second request (the children endpoint) is executed always around 1.1s while on the main branch its only around 1.5s. In (my simple) theory my feature branch should therefore be 400ms faster, not sure why it is not showing.
Anyway, my conclusion would be to try this out, look at the times in google search console and if it gets worse/doesn't show an improvement we could revert it. Except @sarahsporck or @f1sh1918 have some other ideas.

I'm fine with testing it out and see the result. While testing whether this pr actually reduces simultanieous requests I found that these changes lead to more requests allover than the current main branch. At least for the user story I tested.
For the same actions (navigating to a city, navigating to a leaf category, changing location) this pr makes more requests compared to the main branch. This makes me unsure whether this actually improves loading times. Any opinions?

The main reason why we want to cut the loading times is SEO and that google is rating our loading times as too big. This would not be affected by the use case you tested as google is always just indexing single pages without changing between pages/cities and inside one city, the amount of requests stays exactly the same.
The additional requests in your screenshot are:

lkaugsburg in the start (not an additional request, on main the sites endpoint is loaded instead which is not on your screenshot)
sites after going to city change
aichach-friedberg after selecting that city

Therefore, the only additional requests are related to changing a city which is, at least in my opinion, not a normal or even frequent use case for normal users (except selecting the wrong city) or SEO.
Conclusion: In my opinion, we should merge this if we expect or hope for a loading time improvement while staying inside one city and should ignore the use case of changing cities.


Defender for Cloud and new plans

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Description
New plans available in Defender for Cloud:

We use policies / settings from the module to enable MDFC on subscriptions. Using the parameters for configuring management resources: https://github.com/Azure/terraform-azurerm-caf-enterprise-scale/blob/main/README.md#-configure_management_resources.
Is there any plan on when/if you will switch the policies to use new plans?

Would it be possible to have all available plans in the input parameter for configuring management resources?
enable_defender_for_storage_oldplan                           = optional(bool, true)
enable_defender_for_storage_newplan                           = optional(bool, false)

Additional context
I have checked and can confirm that builtin policy definitions exists for both plans:

@Springstone Can you take a look at this one.

Defender for Storage is an annoying one. The new plan (priced per storage account) can be 10x more expensive than the classic plan (price based on transactions) for small low-usage storage accounts (Cloud Shell is a good case!). It'd be nice to still maintain that option to pick and choose between.

We are actively trying to find a way to basically revert what was done in https://github.com/Azure/terraform-azurerm-caf-enterprise-scale/blob/997225947299e1b130555ee29a1b60d1ad32b3e0/modules/archetypes/lib/policy_set_definitions/policy_set_definition_es_deploy_mdfc_config.tmpl.json#L297 due to a concern about the cost of the newer plan.
It seems like the most straightforward way for me to do that right now, barring some other way to configure this in the future, would be to set 'enable_defender_for_storage' to false in custom management settings and then extend the root archetype to include custom policy set that's referencing the classic policy instead.
I'm not a guru with this stuff by any means, so really hoping someone more experienced could let me know if what I'm thinking of doing makes sense :)


Promise to Future transformation isn't happening with new builds.

Going to wait until repository is moved to dglogik/calzone.dart.


What if src and dst are the same when calling a kernel?

Quick behavior question on what happen in OpenCL (or CUDA?) if your input and output are the same data.
e.g.:
cle::tier1::gaussian_blur(device, data1, data1, sigma_x=3, sigma_y=3, sigma_z=3);

@haesleinhuepf  :wave:

I just tried it with the prototype and I got the same result if I used the source image as destination or if I used a new image as destination. See the attached notebook.
test.ipynb.zip
@StRigaud maybe you could run the notebook with the clic backend and check if the result is the same?

Yes I have the same results too, although I am also wandering about possible bad behaviour of doing this.

Guassian works, but I assume other function may not like it
Modification of the input
other?

I ask this because I am thinking about data slicing and creating sub buffer view for region processing.
This can be done using the clCreateSubBuffer() from OpenCL which return a sub pointer of a buffer region.
This means that I could run a Gaussian blur a sub-region or do any other kind of kernel operation, however this I have yet to determine how to manage the output procedure in this case:

giving the sub-buffer as input and output
saving the result in a new output buffer and then copy it back into the original buffer.
other?

thanks for the feedback @thawn :)

Guassian works, but I assume other function may not like it

if the input was modified in-place, I would expect that also the output of a gaussian blur is different. For example, if the first pixel used to be a 1 and then is replaced by 2.4, before the gaussian blur of the second pixel is calculated, that should affect the result of the gaussian for the second pixel etc.

I guess this is not happening because in the test case, the entire data fit the available computational ressources.
But we would see this type of errors if the data size is bigger than the GPU threats.

Question is voided.
clCreateSubBuffer only works in 1D. So it is not direct usable for our application. sub buffer processing will have to go through temporary buffer creation and sub region data copy, read, and write
for example, sub region processing will have to follow this pattern:

create subA
copy A region into subA
create subB
call kernel(subA, subB)
copy subB into A region


Ispn 13687 feature bounded

@dipguptaredhat Hey, I'm sorry but I've got lost with the PRs and commits. I was worried about losing changes. I'll close this PR now. Sorry for the noise.


Observer documentation and example.

This adds the observer pattern and an example application.

Clean and simple implementation, good job :+1:

Hi @tmrts -- not sure what the nbsp instance is in the file... I did, however, use — for a medium dash. Let me know what I should do if I'm missing something.
I've resolved the merge conflicts. :)

@sha1sum you're right, its not nbsp 😄  LGTM thank you 👍


To enhance the Career page

Is your feature request related to a problem? Please describe.
I want to enhance the Career page by doing following changes : -

Adding fade up animation
Implementing dark mode for the website
Adding navbar to it
Fix email field in career advice
Enhance the button on hovering
Increase some size of the text written

Describe the solution you'd like
I want to do all these changes
https://github.com/Counselllor/Counsellor-Web/assets/118350936/5476f9ae-675f-4eaa-b406-ab6cc2c3863c

We want simple as possible !


Change label of "Mark Read" toolbar item to "Toggle Read"

For #738.

@Wevah, could you file an issue for this and see if @brentsimmons agrees that this should be changed?  Changes like this that might be subjective are best done by creating an issue and waiting to see if it gets added to a release before doing a pull request.

Already have; sorry for not checking what the protocal was for PRs first.


Feature/add api

This branch added the models and static web page.

:+1: Let's get 'er goin'.  Go ahead and merge to master.  We can make changes along the way if we want to alter our schema.


Get.offAllNamed() removes destination's controller

Describe the bug
Get.offAllNamed(destination) cleans up destination controller immediately, when going from HomePage to OtherPage and back to HomePage.
i.e currently at /home and call Get.toNamed('/other') will bring me to /other and initializes OtherController. On OtherPage Get.offAllNamed('/home'), brings me to Route /home, removes Route /other, removes Route /home, creates an instance of HomeController, immediately deletes HomeController and deletes OtherController. Setting the fenix flag to true in the bindings doesn't change behaviour.

[GETX] GOING TO ROUTE /home
[GETX] Instance "HomeController" has been created
[GETX] Instance "HomeController" has been initialized
[GETX] GOING TO ROUTE /other
[GETX] Instance "OtherController" has been created
[GETX] Instance "OtherController" has been initialized
[GETX] GOING TO ROUTE /home
[GETX] REMOVING ROUTE /other
[GETX] REMOVING ROUTE /home
[GETX] Instance "HomeController" has been created
[GETX] Instance "HomeController" has been initialized
[GETX] "HomeController" onDelete() called
[GETX] "HomeController" deleted from memory
[GETX] "OtherController" onDelete() called
[GETX] "OtherController" deleted from memory

**Reproduction code
example:
void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return GetMaterialApp(
      title: 'Flutter Demo',
      initialRoute: '/home',
      getPages: _getPages(),
    );
  }

  List<GetPage> _getPages() {
    return [
      GetPage(
        name: '/home',
        page: () => const HomePage(),
        binding: HomeBindings(),
      ),
      GetPage(
        name: '/other',
        page: () => const OtherPage(),
        binding: OtherBindings(),
      ),
    ];
  }
}

class HomePage extends GetView<HomeController> {
  const HomePage({
    Key? key,
  }) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Text(controller.title),
            Obx(() => Text('HomeCounter: ${controller.count.value}')),
            ElevatedButton(
              onPressed: () => controller.count.value++,
              child: const Text('+'),
            ),
            ElevatedButton(
              onPressed: () {
                Get.toNamed('/other');
              },
              child: const Text('Go to Other page'),
            )
          ],
        ),
      ),
    );
  }
}

class OtherPage extends GetView<OtherController> {
  const OtherPage({
    Key? key,
  }) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        body: Center(
      child: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: [
          Obx(() => Text('OtherPageCounter: ${controller.count.value}')),
          ElevatedButton(
            onPressed: () => controller.count.value++,
            child: const Text('+'),
          ),
          ElevatedButton(
            onPressed: () => Get.offAllNamed('/home'),
            child: const Text('Go Back'),
          ),
        ],
      ),
    ));
  }
}

class HomeBindings implements Bindings {
  @override
  void dependencies() {
    Get.put(HomeController());
  }
}

class OtherBindings implements Bindings {
  @override
  void dependencies() {
    Get.put(OtherController());
  }
}

class HomeController extends RxController {
  final String title = "Home";
  RxInt count = 0.obs;
}

class OtherController extends RxController {
  RxInt count = 0.obs;
}

To Reproduce
Steps to reproduce the behavior:

Click 'Go to Other page'
Click on 'Go back'

Expected behavior
I expect that if I go back with Get.offAllNamed('/home') HomeController does not get deleted or old instance gets deleted and new instance is created with all lifecycle methodes (e.g. onInit, onReady).
Flutter Version:
2.5.0-5.2.pre
Get Version:
4.3.8
Describe on which device you found the bug:
Pixel 4XL

I have a same issue, and i'm still waiting for it fixed,I'm using setState instead

Just to explain what is happening:
Get.offAllNamed will take all pages off the Stack, and open the named route next.
You see the following in the logs:
[GETX] Instance "HomeController" has been created
[GETX] Instance "HomeController" has been initialized
[GETX] "HomeController" onDelete() called
[GETX] "HomeController" deleted from memory
[GETX] "OtherController" onDelete() called
[GETX] "OtherController" deleted from memory
Another instance of HomeController was created, and the old one received onDelete and was deleted from memory.
That's what Get.offAllNamed does. However, what you are looking for is the "until" method. That would solve your problem:
 Get.until((route) => Get.currentRoute == '/home');

Just to explain what is happening:
Get.offAllNamed will take all pages off the Stack, and open the named route next.
You see the following in the logs:
[GETX] Instance "HomeController" has been created [GETX] Instance "HomeController" has been initialized [GETX] "HomeController" onDelete() called [GETX] "HomeController" deleted from memory [GETX] "OtherController" onDelete() called [GETX] "OtherController" deleted from memory
Another instance of HomeController was created, and the old one received onDelete and was deleted from memory.
That's what Get.offAllNamed does. However, what you are looking for is the "until" method. That would solve your problem:
 Get.until((route) => Get.currentRoute == '/home');

So we still don't have a solution for this right? i'm using until instead for my project, but because the controller not refresh or created again, so when i'm comeback to first page with offAll or offAllName(from login->signup->login and remove all page previous), i need manually refresh variable of my login controller because this controller not deleted and created again.
And i have to face a issue when i comeback to login with offAllName or offAll, the login controller as you say is a new controller still being deleted with old login controller, and when i'm click on my page to run function in controller, a new controller was created, but my page create more problem relate to controller like click login but nothing is active, and the form not display error message,...

Just to explain what is happening:
Get.offAllNamed will take all pages off the Stack, and open the named route next.
You see the following in the logs:
[GETX] Instance "HomeController" has been created [GETX] Instance "HomeController" has been initialized [GETX] "HomeController" onDelete() called [GETX] "HomeController" deleted from memory [GETX] "OtherController" onDelete() called [GETX] "OtherController" deleted from memory
Another instance of HomeController was created, and the old one received onDelete and was deleted from memory.
That's what Get.offAllNamed does. However, what you are looking for is the "until" method. That would solve your problem:
 Get.until((route) => Get.currentRoute == '/home');

So we still don't have a solution for this right? i'm using until instead for my project, but because the controller not refresh or created again, so when i'm comeback to first page with offAll or offAllName(from login->signup->login and remove all page previous), i need manually refresh variable of my login controller because this controller not deleted and created again.
And i have to face a issue when i comeback to login with offAllName or offAll, the login controller as you say is a new controller still being deleted with old login controller, and when i'm click on my page to run function in controller, a new controller was created, but my page create more problem relate to controller like click login but nothing is active, and the form not display error message,...

There's actually no problem with that.
until -> back until the predicate is true, then you can use a page selector inside the function
offAllNamed -> All pages will be deleted (all non-permanent controllers too), and the new page will enter the Stack, with a new controller (unless the controller is permanent)

I also thought that this was an issue, because the state of a controller wasn't updating while using offAllNamed. I also made a small project with minimal code. You can try it out and you'll see, that my CounterController will be a new instance with the default value of 0, which means that offAllNamed works correctly even if the logs are a bit misleading.
import 'package:flutter/material.dart';
import 'package:get/get.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return GetMaterialApp(
      title: 'Flutter Demo',
      initialRoute: '/counter',
      getPages: [
        GetPage(
          name: '/counter',
          page: () => const CounterPage(),
          binding: CounterBinding(),
          children: [
            GetPage(
              name: '/profile',
              page: () => const ProfilePage(),
            ),
          ],
        ),
      ],
    );
  }
}

class CounterBinding implements Bindings {
  @override
  void dependencies() {
    Get.put(CounterController());
  }
}

class CounterController extends GetxController {
  final counter = 0.obs;
}

class CounterPage extends GetView<CounterController> {
  const CounterPage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Counter')),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            const Text(
              'You have pushed the button this many times:',
            ),
            Obx(() => Text(
                  '${controller.counter.value}',
                  style: Theme.of(context).textTheme.headline4,
                )),
          ],
        ),
      ),
      floatingActionButton: Column(
        mainAxisAlignment: MainAxisAlignment.end,
        children: [
          FloatingActionButton(
            onPressed: () => Get.toNamed('/counter/profile'),
            heroTag: 'Profile',
            child: const Icon(Icons.person),
          ),
          const SizedBox(height: 8.0),
          FloatingActionButton(
            onPressed: () => controller.counter.value++,
            child: const Icon(Icons.add),
          ),
        ],
      ),
    );
  }
}

class ProfilePage extends StatelessWidget {
  const ProfilePage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Profile')),
      floatingActionButton: FloatingActionButton(
        onPressed: () => Get.offAllNamed('/counter'),
        child: const Icon(Icons.clear),
      ),
    );
  }
}

I also thought that this was an issue, because the state of a controller wasn't updating while using offAllNamed. I also made a small project with minimal code. You can try it out and you'll see, that my CounterController will be a new instance with the default value of 0, which means that offAllNamed works correctly even if the logs are a bit misleading.
import 'package:flutter/material.dart';
import 'package:get/get.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return GetMaterialApp(
      title: 'Flutter Demo',
      initialRoute: '/counter',
      getPages: [
        GetPage(
          name: '/counter',
          page: () => const CounterPage(),
          binding: CounterBinding(),
          children: [
            GetPage(
              name: '/profile',
              page: () => const ProfilePage(),
            ),
          ],
        ),
      ],
    );
  }
}

class CounterBinding implements Bindings {
  @override
  void dependencies() {
    Get.put(CounterController());
  }
}

class CounterController extends GetxController {
  final counter = 0.obs;
}

class CounterPage extends GetView<CounterController> {
  const CounterPage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Counter')),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            const Text(
              'You have pushed the button this many times:',
            ),
            Obx(() => Text(
                  '${controller.counter.value}',
                  style: Theme.of(context).textTheme.headline4,
                )),
          ],
        ),
      ),
      floatingActionButton: Column(
        mainAxisAlignment: MainAxisAlignment.end,
        children: [
          FloatingActionButton(
            onPressed: () => Get.toNamed('/counter/profile'),
            heroTag: 'Profile',
            child: const Icon(Icons.person),
          ),
          const SizedBox(height: 8.0),
          FloatingActionButton(
            onPressed: () => controller.counter.value++,
            child: const Icon(Icons.add),
          ),
        ],
      ),
    );
  }
}

class ProfilePage extends StatelessWidget {
  const ProfilePage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Profile')),
      floatingActionButton: FloatingActionButton(
        onPressed: () => Get.offAllNamed('/counter'),
        child: const Icon(Icons.clear),
      ),
    );
  }
}

So I have checked your code, turn out this issue because i'm using lazyPut with fenix true, if i change to get.put, everything is working fine, you can try it out, first change to lazyput with fenix true, then click increase the number, go to profile page and click floating button to go back counter page, then click again the floating in counter page, you will see the counter controller recreate again, so the controller recreate twice, and the number is not increase.

Just to explain what is happening:
Get.offAllNamed will take all pages off the Stack, and open the named route next.
You see the following in the logs:
[GETX] Instance "HomeController" has been created [GETX] Instance "HomeController" has been initialized [GETX] "HomeController" onDelete() called [GETX] "HomeController" deleted from memory [GETX] "OtherController" onDelete() called [GETX] "OtherController" deleted from memory
Another instance of HomeController was created, and the old one received onDelete and was deleted from memory.
That's what Get.offAllNamed does. However, what you are looking for is the "until" method. That would solve your problem:
 Get.until((route) => Get.currentRoute == '/home');

So we still don't have a solution for this right? i'm using until instead for my project, but because the controller not refresh or created again, so when i'm comeback to first page with offAll or offAllName(from login->signup->login and remove all page previous), i need manually refresh variable of my login controller because this controller not deleted and created again.
And i have to face a issue when i comeback to login with offAllName or offAll, the login controller as you say is a new controller still being deleted with old login controller, and when i'm click on my page to run function in controller, a new controller was created, but my page create more problem relate to controller like click login but nothing is active, and the form not display error message,...

There's actually no problem with that. until -> back until the predicate is true, then you can use a page selector inside the function offAllNamed -> All pages will be deleted (all non-permanent controllers too), and the new page will enter the Stack, with a new controller (unless the controller is permanent)

offAllNamed pushes a new page to the history stack and removes the others. In case a page that has a same name as the new(pushed) page in the history stack, it does not delete the older controller instance but a new one.
For example,
PageA --(Get.toNamed(PageB))--> PageB --(Get.offAllNamed(PageA))--> PageA
when Get.offAllNamed(PageA) is called,  onClose() of new PageAController is called.
I/flutter (26062): ### onInit() of PageAController(hashCode: 575403058) is called    // initial controller is initialized
I/flutter (26062): ### onInit() of PageAController(hashCode: 443901899) is called    // new controller is initialized
I/flutter (26062): ### onClose() of PageAController(hashCode: 443901899) is called    // new controller is closed(NOT an initial one)
When I use Navigator.pushNamedAndRemoveUntil() instead, it works correctly.

Same error here... any solutions?

+1

i found the solution
If you want to keep a specific controller in memory even after calling Get.offAll(), you can use the permanent parameter when binding the controller to a route. This will prevent the controller from being removed when the route is popped or replaced.

sir, please release a fix for this @jonataslaw

Just to explain what is happening:
Get.offAllNamed will take all pages off the Stack, and open the named route next.
You see the following in the logs:
[GETX] Instance "HomeController" has been created [GETX] Instance "HomeController" has been initialized [GETX] "HomeController" onDelete() called [GETX] "HomeController" deleted from memory [GETX] "OtherController" onDelete() called [GETX] "OtherController" deleted from memory
Another instance of HomeController was created, and the old one received onDelete and was deleted from memory.
That's what Get.offAllNamed does. However, what you are looking for is the "until" method. That would solve your problem:
 Get.until((route) => Get.currentRoute == '/home');

Until is not safe. If there are a Flutter-web app, some user start from an URL that direct to PageA, and PageA hope remove all routes and to HomePage. In this case, if we want adapt all case, we have to  use .offAllNamed.

I have the same issue, anyone have a solution ?

if(Get.isRegistered<LoginEmailController>()){
  Get.until((route) => route.settings.name == RouteNames.systemLoginEmail);
}else{
  Get.offAllNamed(RouteNames.systemLoginEmail);
}

完满解决！！！

if(Get.isRegistered<LoginEmailController>()){
  Get.until((route) => route.settings.name == RouteNames.systemLoginEmail);
}else{
  Get.offAllNamed(RouteNames.systemLoginEmail);
}

完满解决！！！

I'm leaving a comment for anyone who might see this issue in the future.
Unfortunately, my problem was not solved when i use this solution.
And i had the same problem when i use another routing method(like Get.offToNamed).
When i use my own dependency manage code, the problem was solved.
(sorry for jonataslaw, i suggest please to use another di package...)
Flutter Version:
3.13.4
Get Version:
4.5.5
Describe on which device you found the bug:
iPhone XS Max, iOS 16.6

If you want the controller not to be deleted and to work permanently, use permanent:true: when first instantiating example: Home_Controller home_controller =
Get.put(Home_Controller(), permanent: true);


Interactive Measurement Design

High-level design for Interactive Measurements from the framework paper:

[x] Work out type signatures for queryables and responses
[ ] Define Rust data structures
[x] Develop an approach for state management
[ ] Prototype a few examples

Based on feedback from Salil, we didn't quite get this right. The issue is that we modeled InteractiveMeasurement as a special case of (non-interactive) Measurement. (Just because of development history and convenience.) This breaks down with things like adaptive composition, where (for the sequential case), we need to make sure that queries are only non-interactive Measurements.
A better approach is to have InteractiveMeasurement be the general case. This would allow enforcing the constraints we need. However, it'll require some extra glue to represent non-interactive Measurement.
Reopening for new design work.


EC2 Unallocated Elastic IP cost optimitzation query

Issue #, if available:
Unallocated Elastic IP Cost
Description of changes:
added EC2 Unallocated Elastic IP Query to Cost Optimization Section
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Needs to be reviewed in fork - will reopen when ready


Insert images into draft.js articles?

1- Since draft.js is being pitched as a long form article writing editor, how can we include images (both uploaded from local or URL)?
2- Is react-native support coming soon?

hi @vikramjakkampudi - thanks for opening the issue.
For 2, React-Native support is not currently being prioritized; for more info, see https://github.com/facebook/draft-js/issues/138
For 1, a good example is medium-draft. This code snippet shows a button that uploads the image, and here's where the custom block rendering is delegated to an ImageBlock component.
I hope this helps. I'm going to close, but feel free to reopen if you have further questions.

And also check https://www.draft-js-plugins.com/plugin/image

The draft js plugin image library is as of today not working correctly. draft-js-drag-n-drop-upload-plugin does not exist and therefore you cannot upload.


ios 11  share error

error message
2017-11-07 11:36:27.727303+0800 hongbao111[1027:507731] THREAD WARNING: ['SocialSharing'] took '17.169922' ms. Plugin should use a background thread.
2017-11-07 11:36:27.731360+0800 hongbao111[1027:507731] [core] Sheet not being presented, calling premature completion
Thank you,
Eddy

I have no idea what that "Sheet not being presented, calling premature completion" means.

i have the probrom too


Newest release won't start

I saw that you added 4 button remote support and was excited to update.
Unfortunately it no longer works at all and sends homebridge into a crash reboot cycle.
It all starts with - failed to get buttons from button group.... And then names pico remotes that used to work in the plug in.
I'm on my iPad right now and can't seem to copy paste but let me know if you need more info.

Can you try restarting Homebridge? (Maybe more than once). I suspect you’re seeing #10

I've restarted homebridge and the Pi several times and even cleared the accessory cache.

Darn. Okay, when you can, please attach debug logs. I'll need to trace what's happening.

Oh! Also, what does your remote look like? I wonder if my assumption that the Pico4ButtonScene functions the same as the Pico4ButtonZone (a mistake I've made once before...).

Bright - Entertain - Movie - Off
And
Bright - Cooking - Dining - Off
Working on the logs now.

Logs...
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Device type SmartBridge supported natively, skipping setup
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Device type PlugInDimmer not recognized, skipping setup
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Accessory Pico3ButtonRaiseLower 3185a19e-b55d-40a4-bd6f-060c7c15985e Family Room Table Lamp Pico already set up. Skipping.
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Device type WallDimmer supported natively, skipping setup
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Device type WallDimmer supported natively, skipping setup
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Device type WallDimmer supported natively, skipping setup
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Accessory Pico3ButtonRaiseLower 7f99d326-ee8b-4017-ab19-ca794346250b Master Bedroom All Lights already set up. Skipping.
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Device type PlugInDimmer not recognized, skipping setup
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Accessory Pico3ButtonRaiseLower 644ade81-64b8-4dbd-8383-c53e97279b33 Master Bedroom W Table Lamp already set up. Skipping.
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Device type PlugInDimmer not recognized, skipping setup
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Device type WallDimmer supported natively, skipping setup
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Accessory Pico3ButtonRaiseLower 68223235-00d7-4820-87ee-c503f0221278 Chloe's Bedroom Ceiling Light Pico already set up. Skipping.
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Device type WallDimmer supported natively, skipping setup
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Device type WallDimmer supported natively, skipping setup
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Device type WallSwitch supported natively, skipping setup
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Device type WallSwitch supported natively, skipping setup
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Accessory Pico2Button 86728871-74ee-4590-ba72-e760387cbe79 Stairway Middle Pico already set up. Skipping.
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Accessory Pico2Button 14be25ce-79f0-4589-be35-e409f905abdb Stairway Lower Pico already set up. Skipping.
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Device type WallSwitch supported natively, skipping setup
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Device type WallDimmer supported natively, skipping setup
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Device type WallDimmer supported natively, skipping setup
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Accessory Pico2Button 77a29a90-4e68-4528-ae8d-b48205dca43d Stairway Upper Pico already set up. Skipping.
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Device type WallDimmer supported natively, skipping setup
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Accessory Pico3ButtonRaiseLower 607b2a79-34a1-4efe-b6e0-fc8fdd6d56f4 Charlie's Bedroom Ceiling Light Pico already set up. Skipping.
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Accessory Pico3ButtonRaiseLower 93ebd8d5-a85a-453c-b0d1-ddb68185fe8e Kitchen Main Lights Wall Pico already set up. Skipping.
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Device type WallDimmer supported natively, skipping setup
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Device type WallDimmer supported natively, skipping setup
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Device type WallDimmer supported natively, skipping setup
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Accessory Pico3ButtonRaiseLower 1b0667b8-4441-4658-a103-f8949fb0fa69 Master Bathroom Shower Pico 2 already set up. Skipping.
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Device type WallDimmer supported natively, skipping setup
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Device type WallDimmer supported natively, skipping setup
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Accessory Pico2Button 4856df22-9a00-4053-ad15-d1a50cf717e3 Front Foyer Keypad already set up. Skipping.
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Accessory Pico3ButtonRaiseLower 3e23da2b-9265-4a55-a181-b9e85603148a Dining Room Chandelier Ped Pico already set up. Skipping.
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Device type WallDimmer supported natively, skipping setup
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Accessory Pico3ButtonRaiseLower 101e28f0-7b0b-43c1-ba39-d009ce8a421b Dining Room Chandelier Wall Pico already set up. Skipping.
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Device type PlugInDimmer not recognized, skipping setup
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Accessory Pico3ButtonRaiseLower 2a889e45-bc35-47f3-a1db-f77479234941 Living Room Floor Lamp Pico already set up. Skipping.
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Device type WallDimmer supported natively, skipping setup
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Device type WallDimmer supported natively, skipping setup
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Accessory Pico3ButtonRaiseLower 8d90daea-f62a-4755-97dd-1e002997f7ed Hallway Middle Pico already set up. Skipping.
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Device type WallDimmer supported natively, skipping setup
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Device type WallDimmer supported natively, skipping setup
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Device type WallDimmer supported natively, skipping setup
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Accessory Pico3ButtonRaiseLower 7a0e2e41-71c2-4cf7-86ed-e67a19e34b28 Master Bathroom Tub Pico already set up. Skipping.
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Accessory Pico3ButtonRaiseLower 4b46ac3b-4707-4c23-b960-567a648030a7 Rooftop Deck Pico already set up.  Skipping.
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Device type WallSwitch supported natively, skipping setup
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Accessory Pico3ButtonRaiseLower ab4c89e5-14da-48fb-b7b1-d7a2877798fd Family Room Table and Spot Wall Pico already set up. Skipping.
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Device type WallSwitch supported natively, skipping setup
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Device type WallDimmer supported natively, skipping setup
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Device type WallDimmer supported natively, skipping setup
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Device type WallDimmer supported natively, skipping setup
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Device type WallDimmer supported natively, skipping setup
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Accessory Pico3ButtonRaiseLower 9cbe20b2-8861-411e-897d-c0b0ca3205c6 Family Room Audio Pico already set up. Skipping.
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Accessory Pico3ButtonRaiseLower 96691db7-f081-423f-bf4b-4f85e315b860 Master Bathroom Shower Pico 1 already set up. Skipping.
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Accessory Pico2Button 5f6f7c1c-0750-406b-9728-e08c7018b1ae Garage Home Away already set up. Skipping.
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Accessory Pico4ButtonScene 0a273879-afba-4b94-9869-8062680e7587 Kitchen Keypad already set up. Skipping.
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Accessory Pico4ButtonScene a894e84f-d6bc-4df9-a20c-e8f96f123b95 Family Room Keypad already set up. Skipping.
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Accessory Pico4ButtonScene 650d8d33-9397-4047-8b88-ef8e8bea70fa Master Bedroom W Keypad already set up. Skipping.
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Accessory Pico4ButtonScene c00a3019-3fc1-4052-beac-3d8ff60df6d3 Master Bedroom C Keypad already set up. Skipping.
[5/7/2022, 11:37:29 AM] [LutronCasetaLeap] Accessory Pico3ButtonRaiseLower b164ef5a-520c-4a2d-9ea2-5236aa46c81c Master Bedroom C Table Lamp already set up. Skipping.
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed to get button group(s) belonging to Kitchen Main Lights Wall Pico Error: request with tag0d403e95-2893-44bd-a7cf-807a29738867timed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed setting up Pico remote: Error: request with tag0d403e95-2893-44bd-a7cf-807a29738867timed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed to get button group(s) belonging to Master Bathroom Shower Pico 2 Error: request with tag1e7d9ada-f157-4fe1-83ef-91692281c52etimed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed setting up Pico remote: Error: request with tag1e7d9ada-f157-4fe1-83ef-91692281c52etimed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed to get button group(s) belonging to Front Foyer Keypad Error: request with tag4ed95be2-abe6-4a60-addf-3aafc60e6be1timed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed setting up Pico remote: Error: request with tag4ed95be2-abe6-4a60-addf-3aafc60e6be1timed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed to get button group(s) belonging to Dining Room Chandelier Ped Pico Error: request with tag3e24d8f3-5a23-4496-b6ae-b3a0835bc0e4timed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed setting up Pico remote: Error: request with tag3e24d8f3-5a23-4496-b6ae-b3a0835bc0e4timed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed to get button group(s) belonging to Dining Room Chandelier Wall Pico Error: request with tag6187c02d-c98f-491c-8b6a-4205b7bfe6bdtimed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed setting up Pico remote: Error: request with tag6187c02d-c98f-491c-8b6a-4205b7bfe6bdtimed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed to get button group(s) belonging to Living Room Floor Lamp Pico Error: request with tagb6198760-53a5-46d1-8b8f-7b14ed79649ftimed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed setting up Pico remote: Error: request with tagb6198760-53a5-46d1-8b8f-7b14ed79649ftimed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed to get button group(s) belonging to Hallway Middle Pico Error: request with tagb67abf22-7549-493c-9a3a-1623e7c775d1timed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed setting up Pico remote: Error: request with tagb67abf22-7549-493c-9a3a-1623e7c775d1timed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed to get button group(s) belonging to Master Bathroom Tub Pico Error: request with tagc52a2e2d-3e22-4116-aad5-eee4488ee8batimed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed setting up Pico remote: Error: request with tagc52a2e2d-3e22-4116-aad5-eee4488ee8batimed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed to get button group(s) belonging to Rooftop Deck Pico Error: request with tag00e706d7-e423-4587-b6dd-de51b053cc8btimed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed setting up Pico remote: Error: request with tag00e706d7-e423-4587-b6dd-de51b053cc8btimed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed to get button group(s) belonging to Master Bathroom Tub Pico All Error: request with tag617af0ba-bb16-42d8-bc3f-dbdb66236ebftimed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed setting up Pico remote: Error: request with tag617af0ba-bb16-42d8-bc3f-dbdb66236ebftimed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed to get button group(s) belonging to Family Room Table and Spot Wall Pico Error: request with tag84a7c0f7-89ec-49b3-9dc7-6a32198ed4datimed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed setting up Pico remote: Error: request with tag84a7c0f7-89ec-49b3-9dc7-6a32198ed4datimed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed to get button group(s) belonging to Family Room Audio Pico Error: request with tag6a33e03a-a3bb-46bc-be5f-cdb91d525f7btimed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed setting up Pico remote: Error: request with tag6a33e03a-a3bb-46bc-be5f-cdb91d525f7btimed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed to get button group(s) belonging to Master Bathroom Shower Pico 1 Error: request with tag85e862c0-dbdb-4c35-aed8-1735d92bac7dtimed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed setting up Pico remote: Error: request with tag85e862c0-dbdb-4c35-aed8-1735d92bac7dtimed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed to get button group(s) belonging to Garage Home Away Error: request with tag6376062a-ea6c-4c79-a881-2f1de7518061timed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed setting up Pico remote: Error: request with tag6376062a-ea6c-4c79-a881-2f1de7518061timed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed to get button group(s) belonging to Kitchen Keypad Error: request with tagdb03c741-38e2-4055-a843-d2beded6e2ectimed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed setting up Pico remote: Error: request with tagdb03c741-38e2-4055-a843-d2beded6e2ectimed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed to get button group(s) belonging to Family Room Keypad Error: request with tag1db44913-0e02-45f3-9d92-238f41ea3a14timed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed setting up Pico remote: Error: request with tag1db44913-0e02-45f3-9d92-238f41ea3a14timed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed to get button group(s) belonging to Master Bedroom W Keypad Error: request with tag569d363f-37c5-4d85-979f-466448de2bf5timed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed setting up Pico remote: Error: request with tag569d363f-37c5-4d85-979f-466448de2bf5timed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed to get button group(s) belonging to Master Bedroom C Keypad Error: request with tagaeb23ead-d14f-45f7-b2b6-935aac459b85timed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed setting up Pico remote: Error: request with tagaeb23ead-d14f-45f7-b2b6-935aac459b85timed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed to get button group(s) belonging to Master Bedroom C Table Lamp Error: request with tagdb749e79-b8bc-427a-8475-b8c54140c87ftimed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:32 AM] [LutronCasetaLeap] Failed setting up Pico remote: Error: request with tagdb749e79-b8bc-427a-8475-b8c54140c87ftimed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:34 AM] [LutronCasetaLeap] Failed to get buttons from button group /buttongroup/19
[5/7/2022, 11:37:34 AM] [LutronCasetaLeap] Failed setting up Pico remote: Error: request with tagb5e2c645-a9ee-4a07-ab26-ce7508df804atimed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:34 AM] [LutronCasetaLeap] Failed to get buttons from button group /buttongroup/22
[5/7/2022, 11:37:34 AM] [LutronCasetaLeap] Failed setting up Pico remote: Error: request with tagc853cc2b-4538-4a1f-81bf-70e5a68e4bc6timed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:35 AM] [LutronCasetaLeap] Failed to get buttons from button group /buttongroup/24
[5/7/2022, 11:37:35 AM] [LutronCasetaLeap] Failed setting up Pico remote: Error: request with tag60f5af4f-4a87-4c6d-9466-0b61a3ba2104timed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:35 AM] [LutronCasetaLeap] Failed to get buttons from button group /buttongroup/28
[5/7/2022, 11:37:35 AM] [LutronCasetaLeap] Failed setting up Pico remote: Error: request with tag2b3549f5-57e9-44b6-8720-a505543ebcbatimed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:36 AM] [LutronCasetaLeap] Failed to get buttons from button group /buttongroup/30
[5/7/2022, 11:37:36 AM] [LutronCasetaLeap] Failed setting up Pico remote: Error: request with tag5dd55a50-17a4-4fdc-9063-a3f30053773ctimed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:36 AM] [LutronCasetaLeap] Failed to get buttons from button group /buttongroup/31
[5/7/2022, 11:37:36 AM] [LutronCasetaLeap] Failed setting up Pico remote: Error: request with tag8adf2f70-4e66-4b71-a16d-2752e9f3cc8dtimed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:37 AM] [LutronCasetaLeap] Failed to get buttons from button group /buttongroup/32
[5/7/2022, 11:37:37 AM] [LutronCasetaLeap] Failed setting up Pico remote: Error: request with tag6e7b2768-fa80-443e-856c-560ed7dce192timed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
[5/7/2022, 11:37:37 AM] [LutronCasetaLeap] Failed to get buttons from button group /buttongroup/33
[5/7/2022, 11:37:37 AM] [LutronCasetaLeap] Failed setting up Pico remote: Error: request with tag54f74855-d97a-45a1-8e4a-ece6aa2b95aatimed out
at Timeout._onTimeout (/usr/lib/node_modules/homebridge-lutron-caseta-leap/node_modules/lutron-leap/src/LeapClient.ts:114:31)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)

That does indeed look a lot like #10, especially since older, already-supported Picos are not working. I'm going to close this in favor of continuing there, but ask that you enable debug logging (see the README for instructions) and add it to that thread so I can keep investigating. Could you also leave a comment there with more info about your hardware setup?


TestBlueprintWizard.testCreateAndDeleteBlueprint is broken

This test has been flaky for a long time, and on F38 it now fails 100%. example 1, example 2.
Fixing it requires domain specific knowledge, I gave some hints in https://github.com/cockpit-project/cockpit/issues/20138#issuecomment-1982817505
As this keeps blocking image refreshes and causing irritation, I am going to add a bots naughty pattern now to ignore the failure.

This also started to affect CentOS 9 now: https://cockpit-logs.us-east-1.linodeobjects.com/pull-6443-c359eb35-20240602-151746-centos-9-stream-osbuild-cockpit-composer/log.html , see https://github.com/cockpit-project/bots/pull/6443

This was fixed a while ago.


Minor edits for optimization service usage

This is part of a terminology scrub to clarify the use of "service" in the content. Specifically, there is no "optimization service" or "QIO service", only the "Azure Quantum service", which uses quantum-inspired optimization solvers, etc.
Edits were only made to the readme.md files, and not to the Juptyer notebook files, as the readme files primarily affect search results. We will most likely want to fix the notebook files sometime in the future.

Thank you @Bradben for updating these and the info on naming! Tagging @anraman for awareness.


test/helpers: dump rbac information on k8s test failure

Dump clusterrole, serviceaccount and clusterrolebinding objects when
k8s test fails.
Dump ciliumclusterwidenetworkpolicy CRD similar to ciliumnetworkpolicy
on k8s test failure.

Coverage increased (+0.008%) to 37.122% when pulling e8f7bd0a13b935c0e05f81ab3fdc005c14bbd893 on pr/fristonio/dump-rbac-test-failures into d4205b0b56edfd57b634fb78e48d5118602d9731 on master.


Added Customize Panther Demo

Look at the readme of the demo

Waiting for https://github.com/husarion/panther_ros/pull/470


Improve fallback when python is unable to import magic module

I use a motioneyeos distribution on a rPi and installed pushbullet.py using easy_install on it
When I try to import pushbullet.py from a custom script, I face the following exception
Traceback (most recent call last):
  File "eventstart.py", line 7, in <module>
    from pushbullet import Pushbullet
  File "/usr/lib/python2.7/site-packages/pushbullet.py-0.10.0-py2.7.egg/pushbullet/__init__.py", line 2, in <module>
    from .pushbullet import Pushbullet
  File "/usr/lib/python2.7/site-packages/pushbullet.py-0.10.0-py2.7.egg/pushbullet/pushbullet.py", line 8, in <module>
    from .filetype import get_file_type
  File "/usr/lib/python2.7/site-packages/pushbullet.py-0.10.0-py2.7.egg/pushbullet/filetype.py", line 12, in <module>
    import magic
  File "build/bdist.linux-armv6l/egg/magic.py", line 150, in <module>
  File "/usr/lib/python2.7/ctypes/util.py", line 242, in find_library
  File "/usr/lib/python2.7/ctypes/util.py", line 235, in _findSoname_ldconfig
IOError: [Errno 10] No child processes

I don't know why magic import fails but it's a very small distribution based on BuildRoot and probably a component required by magic is missing.
I extended the except fallback to IOError to fix the issue:
In filetypes.py
try:
    import magic
except (ImportError, IOError):
    import mimetypes
    get_file_type = _guess_file_type

Hi @gpailler,
as I can see the main problem is the missing ldconfig.
Are you sure, this code fix your problem?


The slot shows information one step from the past

Version
2.5.13
Reproduction link
https://codesandbox.io/s/zxjk2k3nkm
Steps to reproduce
Click on the radio buttons and see that the checked state has the previous one
What is expected?
Just pressed button has the checked state
What is actually happening?
Previous pressed button has the checked state

You're modifying .active on the array
setTab (idx) {
  this.tabs[this.activeTab].active = false
  this.tabs[idx].active = true
  this.activeTab = idx
}

which doesn't work on vue's reactivity
You must use Vue.set on that one
Vue.set(this.tabs[idx],"active",true)

Please fork and test your solution first.

switching tabs works fine, the problem is not related to it
your code breaks what works

I think that I'm doing something wrong with the key. Vue's reactivity thinks that it does not need to be rerendered (this.$slots.input), but in fact it is necessary.

Hi, thanks for filling this issue.
The direct reason is that $slots is only updated after child component's render function call.

(The modified demo: https://codesandbox.io/s/q824l05l24)
This is due to how vue updates view - render function gets called from parent to child.

So in your example, when selectedUser is updated, root render function is called first, then tabs's render function which calls tab.renderTitle (while tab's $slots.input is outdated),  and lastly tab's render function, that finally updates $slots.input.
Therefore, there's nothing vue could do here - your code is actually working against vue's fundamental update logic, that is, trying to get child's render result inside parent, before child can be rendered. Please consider changing your implementation.


Spyder slows internet 20mps -> 1mps

Hey team - This has started to happen to me, but in version 5.05 (via anaconda) on Win 10. My internet speed is going from 20ish mps to 1mps . I've killed everything else except Windows Defender (can't as company SOE) and when I try to downgrade Spyder to 4.0 it now has the same issue - despite working on v4 previously. The only thing I can think of is I did an update to v5.03 recently, then today while debugging up to v5.05. Jupyter hub works fine.
Originally posted by @amandamiotto in https://github.com/spyder-ide/spyder/issues/3601#issuecomment-905057804
When testing, I was using my personal ISP from home and not using the institute VPN. I have used Spyder previously on that computer with no problems, it seemed to start when I did an update to v5.03 from v4. I had tried rolling back the update but no luck.

At work, the speed goes from 240mps-> 200mps (so less of an issue, but still a drop).

Hi @amandamiotto,
This seems weird because Spyder doesn't create any process related to networks. Are you trying to download a lot of things in the scripts you are writing?

This isn't when I'm running a script- this is literally only while the program spyder is running. It slows down after a second or two of the Spyder application being open and takes about 10 seconds to hit minimum internet speed.
I've tried running while anaconda is in 'offline' mode, no change. Running Jupyter notebooks seems to work fine.

This is weird because Spyder doesn't create or depend in any network connection, can you try connecting via cable? I'm afraid we are not able to help you any further because we cannot reproduce this issue on our end.

I think this could be be solved by Pyzmq 22.2

Any version of pyzmq should with with ipc on Windows if libzmq was built to support it. What 22.2 changed is how libzmq is built when it's bundled with pyzmq in a wheel or built from source with bundled libzmq (rare).

is that support available in conda-forge packages?

it's a libzmq question, and my initial guess is no, because the build needs to be done on a sufficiently recent Windows toolkit and run on a sufficiently recent Windows. I don't know the minimum versions, but based on the pyzmq issues, it seems like vc142 is required (vs2019), and the conda-forge package is built with vs2017. Bumping to vs2019 might work? I don't know what the compatibility implications of that would be.
The quickest way to check is zmq.has('ipc'), which you can do at runtime and should be able to use if available. I don't know if has('ipc') gives the right answer if libzmq was built with ipc support, but is running on an old enough Windows that it doesn't have it available. My hunch is it will return True, but binding sockets will raise with EINVAL or similar (hopefully not crash).
This is a pretty wild behavior. I can't imagine how binding a few localhost sockets would change your external network bandwidth so much. Is there a lot of traffic going through the zmq sockets with Spyder, or is it just the fact that sockets are bound? If Jupyter doesn't have this effect, I don't quite understand how Spyder's use of sockets could be different in a relevant way, but this is a big mystery to me so I wouldn't rule anything out. Could Qt also be the culprit?

it's a libzmq question, and my initial guess is no, because the build needs to be done on a sufficiently recent Windows toolkit and run on a sufficiently recent Windows

Thanks for the explanation @minrk.

My hunch is it will return True, but binding sockets will raise with EINVAL or similar (hopefully not crash).

Ok. But now that I remember IPykernel uses TCP by default, so we'd need to select IPC and (as you mentioned) that's not assured to work because it requires a very recent Windows version.

This is a pretty wild behavior. I can't imagine how binding a few localhost sockets would change your external network bandwidth so much

This is a wild guess of mine too, but based on the fact that we found that switching VPN's causes this error: https://github.com/spyder-ide/spyder/issues/14355#issuecomment-738947894, which I found avoidable if IPC is used instead of TCP.

Is there a lot of traffic going through the zmq sockets with Spyder

I think so. I mean, we constantly send the contents of the files being edited to the process them in the Python language server (our LSP client uses Pyzmq for communications). But @amandamiotto said that only by opening Spyder this odd behavior shows up.

If Jupyter doesn't have this effect, I don't quite understand how Spyder's use of sockets could be different in a relevant way, but this is a big mystery to me so I wouldn't rule anything out

Right, I haven't heard of anything like that reported for Jupyter, just for Spyder. It's not that frequent though, so it could be caused by a combination of things (VPN + proxy, or something like that).

Could Qt also be the culprit?

It could, but we use very very little of Qt's network functionality.

@amandamiotto, let's try the following things one by one (not all at the same time) to see if which one solves your problem (if any):

Go to the menu Tools > Preferences > Application > Advanced settings and deactivate Single instance mode:

The close Spyder and reopen it again. If that doesn't work, please activate that option back.
Note: We use a simple socket server to detect if a previous instance is running and send file name to open them with it.

Go to Tools > Preferences > Completion and linting > General and deactivate Enable code completion and linting in the editor

The close Spyder and reopen it again. If that doesn't work, you need to run in a terminal (i.e. cmd.exe) spyder --reset and start it again.
Note: Our completion architecture uses PyZmq sockets, as I mentioned above.

Go to the Options (or hamburger) menu of the IPython console and select Close

The close Spyder and reopen it again.
Note: That uses the Jupyter frontend-kernel architecture to run code.

One of those three should be the culprit because that's all the inter-process communications we do in Spyder. Good luck with that!

Hey team,
Sorry for the radio silence. I went to test this out at home today and ...... turns out without changing anything on Spyder, it seems to have fixed itself? I'm wondering if there's been a forced update on the OS (we're on an SOE so there's little visibility on what they change).
Thank you for the time- I'll try to find out what OS updates my organization have pushed and report back.


6.x ToggleButtons behavior needs review.

The ToggleButtons behavior needs some UX review. In the newly reimplemented 6.x version of ToggleButtons, when the set of toggles is instantiated, they all have the button_style they were given at instantiation. Immediately upon one of the toggles being activated, all buttons are reset to the default button style and the set of toggles works as expected. This behavior is loosely based on the earlier 5.x behavior, but it seems without precedent in other widgets, so it may need some review.
cc: @ellisonbg @jasongrout @jdfreder @SylvainCorlay
cf: https://github.com/ipython/ipywidgets/issues/223

FYI, there is a static instance of ToggleButtons in cell [7] of this page:
http://afshin.github.io/jupyter-js-bbwidget/

Fixed in #645


Test discovery blocks VSCode Testing GUI completely

Brief Issue Summary
In my project, I have several thousands of tests. Most of them come from around 10 GoogleTest binaries via gtest_discover_tests. Each time I save one of my CMake files, CMake: Configure step is triggered (which is fine), configuration is performed pretty quickly:
...
[cmake] -- Configuring done (0.1s)
[cmake] -- Generating done (0.1s)

but then seems that extension populates test list and this takes noticeable amount of time (around 3 seconds) and during this process VSCode GUI is completely blocked, I can't press any button or edit the code. I work on this project for a while and I'm almost sure that it didn't work like this before.
VSCode version: 1.93.1
CMake tools version: v1.19.52
OS: Darwin arm64 23.5.0
CMake Tools Diagnostics
No response
Debug Log
No response
Additional Information
No response

Hi @OleksandrKvl, thank you for reporting issue here!
We have a simple project with gtest_discover_tests try to repro your issue, unfortunately, we cannot repro it, we didn't find "VSCode GUI is completely blocked" on our end. However, we have attached our test project and repro video, please correct us if we have done something incorrect. Thank you in advanced!
ctest-project.zip

@Amy-Li03 your project doesn't reproduce the problem, I think that's because you have only 2 tests there. After checking the log, I figured out that problematic command is cmake.refreshTestsAll. I've attached the video where I click Refresh Tests button and you can see that for 1-2 seconds I moved the cursor over the test list and it was not responsible (as the whole VSCode window). I'd say that the "stuck" time is proportional to the number of tests.
https://github.com/user-attachments/assets/e4ddefba-a8c8-447c-aff6-4eb9438570bb
The project is open source, you can try it on your side but it requires some extra steps to install the deps (I use Conan but anything else should work as long as find_package can find the deps).
Repo: https://github.com/OleksandrKvl/sbepp
Instructions: https://oleksandrkvl.github.io/sbepp/1.4.1/installation.html
You'll need at least C++17, fmt, pugixml, googletest, SBEPP_DEV_MODE=ON and SBEPP_BUILD_TESTS=ON to enable the tests.

@OleksandrKvl Thanks for reporting this, we will put it On Deck and hope to prioritize it as soon as we can

@OleksandrKvl Before I begin investigation on this bug, could you please tell me what you have set for these settings?
cmake.ctest.allowParallelJobs
cmake.ctest.testExplorerIntegrationEnabled
Thanks!

Maybe another not exactly correct behavior: test discovery is triggered even when CMake configuration (triggered by Save file) fails.

Maybe another not exactly correct behavior: test discovery is triggered even when CMake configuration (triggered by Save file) fails.

Hi @OleksandrKvl , thanks for your info here! In order to better track issue, please create a separate GitHub issue for this.

@OleksandrKvl Thanks for the additional information and context, I've assigned myself and hope to get to it as soon as I can

@gcampbell-msft it's the VS Code UI.

@OleksandrKvl Could you provide an example or gif of that being showcased? In the video you pasted in an earlier comment, it's only the Test Explorer UI

I can try to do that in future days (a bit busy right now) but I'm sure about it because that was how I noticed it at the first place. I have a habit of pressing Cmd+S frequently and doing this while editing CMake files became a big problem because the editor was unresponsive during test discovery so I had to press Cmd+S very carefully to avoid those moments.

@OleksandrKvl I wanted to update you that I've been able to reproduce the issue and will be investigating as soon as I can, we are currently doing our best to target this for our next release. Thanks!

cmake-tools.zip

cmake-tools.zip

@OleksandrKvl Have you noticed this problem on Windows ever?
I'm only able to get your repro opened up on Linux/Mac, and I also am only noticing the issue on Linux/mac. Thanks

@gcampbell-msft no, I'm on macOS, don't know how to behaves on other systems.

A quick update. I've made some progress, but I don't currently have any plans on how to fix it.
It seems like it's hanging when the ctest executable is being run here https://github.com/microsoft/vscode-cmake-tools/blob/07b97938c8392b8a811972f349c6b420fcaf8cea/src/ctest.ts#L768.
Unfortunately, we have to execute this command in order to get the list of tests, so I'm not currently sure of how to get around this. I'm not sure if there is a difference but I haven't been able to get this to repro on Windows.
@paulmaybee @moyo1997 @itodirel FYI.

Sure, some commands are required to be executed to get that list but why should it be synchronous and block the whole UI (actually looks like it's async)?

@OleksandrKvl Oh, I completely agree, sorry I didn't make that clear, was just trying to provide some context and update on my investigation.
As you pointed out, we're currently trying to investigate and understand why it's blocking the UI despite being async. Thanks


Added my gym website project

gym website project made using HTML,CSS and JavaScript

Hi @AayushSolanki,
We are so happy with your PR, it sounds good but you need one step to make it valid.
Please follow our PR format below.
Thank you 🙏!

@harrytran103 how can i do that could you please guide?

@harrytran103 how can i do that could you please guide?

Please follow Readme to make your pull request is valid


Location "cards" should be the same height

Just for consistency, it'd be nice if all of the cards were the same height

fixed


Implement Debouncing for Approve Button Clicks in Gitea Pull Requests

Description
I have discovered that Gitea lacks debouncing functionality for the approve button, which can result in repeated approvals if users click quickly before the website responds. Additionally, this can lead to multiple webhook calls being triggered.
To solve this issue, I suggest implementing a debounce mechanism in Gitea. Debouncing would effectively merge and handle multiple rapid approve actions performed by a user during a single interaction.
Here is a screenshot illustrating the problem:

I kindly request the Gitea development team to consider adding this feature to enhance the user experience and prevent unintended repeated approvals.
Thank you for your attention to this matter, and I appreciate your efforts in continually improving Gitea.
Gitea Version
1.19.3
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
No response
Screenshots
No response
Git Version
No response
Operating System
No response
How are you running Gitea?
Self-hosted in docker container
Database
None

I think to improve this, we should first change the form submit to submit by fetch, and then do debounce or add flag like loading, and if the flag is there, do not post until the post is done.

Many related issues like https://github.com/go-gitea/gitea/issues/20402
AJAX is the answer to the problem.

Thanks! @lunny


Google search not working on v0.0.1

Hello,
Came here from the post on dev.to - very interresting !
I just tried the tool on 2 computers (windows), and I can't get any result from Google.
I managed to have some from stackoverflow with the mode: option.
The query just remains stuck when using the default google.

Hi, Thank you for your interest, Can you elaborate on the issue, like what command you used, and what is the terminal output you see?

Tried this on a linux and windows env, same result.
I did a quick debug session, it seems that the program gets lost around return chromedp.Tasks in searchQuery() in chromedp.go.
Would you have a working binary on your side I could test on my own env ?


Fixes a bug in eraseUsesOfInstruction's iterator

radar rdar://problem/34145918
Fixes a bug in the recursive eraser's logic that, in rare occasions, deletes a "user" that is yet to be iterated over in the Instruction’s users loop.
Consider the following example:
  %5 = alloc_stack $String.UnicodeScalarView.Iterator // users: %168, %166, %162, %158, %173, %113, %60, %36, %31, %29, %24, %19, %16, %13
  %166 = struct_element_addr %5 : $*String.UnicodeScalarView.Iterator, #String.UnicodeScalarView.Iterator._asciiBase // user: %167
  %167 = load %166 : $*Optional<UnsafeBufferPointerIterator<UInt8>> // user: %170
  %168 = struct_element_addr %5 : $*String.UnicodeScalarView.Iterator, #String.UnicodeScalarView.Iterator._base // user: %169
  %169 = load %168 : $*Optional<UnsafeBufferPointerIterator<UInt16>> // user: %170
  %170 = struct $String.UnicodeScalarView.Iterator (%12 : $Unicode.UTF16, %161 : $Bool, %165 : $Bool, %167 : $Optional<UnsafeBufferPointerIterator<UInt8>>, %169 : $Optional<UnsafeBufferPointerIterator<UInt16>>, %23 : $IndexingIterator<_StringCore>) // user: %172
  retain_value %2 : $Optional<AnyObject>          // id: %171
  release_value %170 : $String.UnicodeScalarView.Iterator // id: %172

we start by deleting %168, which, at some point in the recursion, will delete %170.
%170 is the only user of %167 so that gets deleted
%167 is the only user of %166 so that gets deleted
going back to %5, %166 has already been deleted -> Invalid iterator.
This PR fixes this problem by making sure we don't use a stale users list

@swift-ci Please smoke test and merge

@shajrawi test case?

@swift-ci please smoke test and merge

@gottesmm Can we do it later to unblock the bots? there's no simple / straightforward test-case to trigger this corner-case. would take a while to create one that's not unreasonably long / 99% noise.

@shajrawi Sounds reasonable. Thanks!

Failure is unrelated bot problem. will test again

@swift-ci Please smoke test and merge


WIP: Adding support for annotations coordinate transform in OD

TuriCore expects each OD annotation to specify a bounding box as a dictionary with four keys: x, y, width, height. Currently, the code assumes annotations to be in pixel scale, centered at origin, with top-left image origin. We want to support conversion from any given coordinate system to one which the code consumes.
Annotation options added:

annotation_scale with valuespixel or normalized
annotation_origin with values top_left or bottom_left
annotation_position with values center, top_left or bottom_left

Default values are annotation_scale:pixel, annotation_origin:top_left and annotation_position:center, which is the currently assumed annotations input format.
These options can be added in the opts dictionary passed in OD train(). At the backend, od_data_iterator parses these options and updates the annotation values in each batch.

Note that to avoid the merge conflict identified by GitHub, I would recommend rebasing from master and omitting the commits from my original PR branch. So
git rebase -i master nick_od_seed_branch

And in the resulting editor, delete the two commits of mine. Then git will give you the result of applying the remaining commit (yours) to master.


IME won't work before switching to a new IME

Describe the bug
IME won't work before switching IME
To Reproduce
Steps to reproduce the behavior:

Run CC.NetCore
Switch to a CJK IME
Navigate to the TextBox page and try to type something in a TextBox without switching IME again
You will observe that the IME input doesn't work

Desktop (please complete the following information):

OS: Windows 11
Version 11.0.0 preview 6

Additional context
Add any other context about the problem here.

I can't find any issue. When I switch to traditional Chinese IME I always had to press shift first to be able to compose something. This works the same with all applications.

It seems that it doesn't repro again in preview 7. I'm closing the issue.


CCU-72 - Local audio meter should never rely on VoxeetSDK.conference.…

…audioLevel

Just tested the branch, the Vu meter has a weird UI when increasing, it's like it doesn't fit in the right panel and has a scroll, can you check please ?


Twitter fix + countdown clock

Mitigate the twitter error #142
Set count down clock to January 5, 2021 for the Ga senate runoff

@davidnixon feel free to add this to stable-branch and build


Restore rootless isolation test for from volume ro test

Signed-off-by: TomSweeneyRedHat<EMAIL_ADDRESS>When rushing around recently to get the papr tests back and working, I removed the "from volume ro test" from the rootless isolation streams of tests when I should not have.  Adding it back in.

LGTM

bot, retest this please.

bot hates me, closing and reopening

bot, retest this please

Looks like valid failures.

@TomSweeneyRedHat Would like to see this test reenabled?

@TomSweeneyRedHat What do you want to do?

Completely forgot about this one, will rebase and see where we're at.

Somehow messed up git and got a secondary submitted for this.  #1093 replaces this.


remove extraneous exclamation marks from URL's

Hi,
These url's are broken on the Rust docs website:
https://docs.rs/soloud/0.4.0/soloud/
Thanks!

Thank you


[image_picker] Document that gradle version may need to be updated when working with a project that was created on flutter 2.10.5 or lower

When generating a project with 2.10.5, image_picker throws when building apk
Steps to Reproduce

Generate a project with 2.10.5. If you're using fvm, you can use fvm spawn 2.10.5 create image_picker_build_test
Add image_picker: ^0.8.5+3 to pubspec.yaml. You can also run flutter pub add image_picker
Run flutter build apk with 3.0.1 (stable) or 3.1 (master)

Expected results: Flutter apk should be built
Actual results: Gradle build throws. See logs

Logs
* What went wrong:
Execution failed for task ':app:lintVitalRelease'.
> Could not resolve all artifacts for configuration ':image_picker_android:debugUnitTestRuntimeClasspath'.
   > Failed to transform bcprov-jdk15on-1.68.jar (org.bouncycastle:bcprov-jdk15on:1.68) to match attributes {artifactType=processed-jar, org.gradle.category=library, org.gradle.libraryelements=jar, org.gradle.status=release, org.gradle.usage=java-runtime}.
      > Execution failed for JetifyTransform: /Users/nabeelparkar/.gradle/caches/modules-2/files-2.1/org.bouncycastle/bcprov-jdk15on/1.68/46a080368d38b428d237a59458f9bc915222894d/bcprov-jdk15on-1.68.jar.
         > Failed to transform '/Users/nabeelparkar/.gradle/caches/modules-2/files-2.1/org.bouncycastle/bcprov-jdk15on/1.68/46a080368d38b428d237a59458f9bc915222894d/bcprov-jdk15on-1.68.jar' using Jetifier. Reason: IllegalArgumentException, message: Unsupported class file major version 59. (Run with --stacktrace for more details.)

flutter doctor -v (Stable)
[✓] Flutter (Channel stable, 3.0.1, on macOS 12.4 21F79 darwin-arm, locale en-US)
    • Flutter version 3.0.1 at /Users/nabeelparkar/fvm/versions/stable
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision fb57da5f94 (3 weeks ago), 2022-05-19 15:50:29 -0700
    • Engine revision caaafc5604
    • Dart version 2.17.1
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
    • Android SDK at /Users/nabeelparkar/Library/Android/sdk/
    • Platform android-32, build-tools 32.1.0-rc1
    • ANDROID_SDK_ROOT = /Users/nabeelparkar/Library/Android/sdk/
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.4.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • CHROME_EXECUTABLE = /Applications/Brave Browser.app/Contents/MacOS/Brave Browser

[✓] Android Studio (version 2021.2)
    • 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.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Ultimate Edition (version 2022.1.2)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 68.1.4
    • Dart plugin version 221.5787.37

[✓] VS Code (version 1.67.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.42.0

[✓] Connected device (3 available)
    • iPhone SE (3rd generation) (mobile) • F1533A3D-9920-4961-BE93-D0915BA5D392 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-5 (simulator)
    • macOS (desktop)                     • macos                                • darwin-arm64   • macOS 12.4 21F79 darwin-arm
    • Chrome (web)                        • chrome                               • web-javascript • Brave Browser <IP_ADDRESS>

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

flutter doctor -v (Master)
[✓] Flutter (Channel master, 3.1.0-0.0.pre.1161, on macOS 12.4 21F79 darwin-arm, locale en-US)
    • Flutter version 3.1.0-0.0.pre.1161 at /Users/nabeelparkar/fvm/versions/master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 1e53ad4efb (2 hours ago), 2022-06-08 00:33:07 -0400
    • Engine revision b60a46cf25
    • Dart version 2.18.0 (build 2.18.0-170.0.dev)
    • DevTools version 2.14.0

[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
    • Android SDK at /Users/nabeelparkar/Library/Android/sdk/
    • Platform android-32, build-tools 32.1.0-rc1
    • ANDROID_SDK_ROOT = /Users/nabeelparkar/Library/Android/sdk/
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.4.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • CHROME_EXECUTABLE = /Applications/Brave Browser.app/Contents/MacOS/Brave Browser

[✓] Android Studio (version 2021.2)
    • 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.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Ultimate Edition (version 2022.1.2)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 68.1.4
    • Dart plugin version 221.5787.37

[✓] VS Code (version 1.67.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.42.0

[✓] Connected device (3 available)
    • iPhone SE (3rd generation) (mobile) • F1533A3D-9920-4961-BE93-D0915BA5D392 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-5 (simulator)
    • macOS (desktop)                     • macos                                • darwin-arm64   • macOS 12.4 21F79 darwin-arm
    • Chrome (web)                        • chrome                               • web-javascript • Brave Browser <IP_ADDRESS>

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

Hi @exaby73, thanks for reporting this.
This seems to be caused by incompatible gradle versions.
You should be able to fix this by upgrading your version of gradle to at least 7.2
Kindly confirm if updating your gradle-wrapper.properties and build.gradle to the following resolves the issue.
in gradle-wrapper.properties update your distributionUrl to
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip

and in
android/build.gradle change the gradle version from 4.1.0 to
classpath 'com.android.tools.build:gradle:7.1.2'

Thank you

Got it. Though I think this should be documented, at least on the changelog, for image_picker

In general we don't track native tool requirements (Xcode version, gradle version, etc.) at the plugin level. It's also problematic because this is based on the requirements of transient dependencies, not something in the plugin itself.
While I can see an argument for documenting this in theory, in practice we're not going to know when this needs to be done reliably in advance, and documenting it after the fact isn't generally useful.


SnipeAgent.exe crashes

Dear team,
I tried your SnipeAgent. intalled it OK and set the URL and apiKey all right.
The thing is. When I run the SnipeAgent.exe it opens the CMD, it does something and shuts it down without a chance of taking a look of it.
Found an error through EventViewer on Windows (I got Win10Pro), and I got the following register:
Deposit with errors , tipo 0
Event name: APPCRASH
Problem signature:
P1: SnipeAgent.exe
P2: <IP_ADDRESS>
P3: 6067351c
P4: KERNELBASE.dll
Any suggestions or idea about where could be the problem related to?
I remain attentive.
Best Regards

Dear team,
First of all. Excelent work with this Agent.
It worked just fine.
Now. I do have an inquiry.
I kinda need, not only the client's notebook info slide ( wich loads the Manufacturer, Category, model and so forth ) info into my snipe-it, but also it's hardware components (Disks, RAM cards, Processor) and the user's current licenses (This one could be optional tho).
This is mandatory for me and my team, 'cause we're gonna have to deploy this agent all through the organization.
I understand this is all opensource and I can dive in and get into the import config.
Still. A guideline from you would help me out big.
Please advice. I remain attentive.
Best regards,
Ordnasil

did you find any solution ?


DL4J/Libnd4j: Add MKL-DNN LSTM support

As per title.
We may be able to add this to lstmBlock op - but I'm not sure if that matches the MKL-DNN API. If not, we might need to add another LSTM op.
Aha! Link: https://skymindai.aha.io/features/ND4J-97

Implemented quite some time ago. LSTM bp is WIP.


SetCluster failing on unmarshalling httptypes.MemberCollection

We've noticed that the go-etcd client is failing on Client.SetCluster() when it is pulling in the latest code from https://github.com/coreos/etcd. Adding some debug logging locally reveals the following error when unmarshalling into an httptypes.MemberCollection variable:
&json.UnmarshalTypeError{Value:"object", Type:(*reflect.rtype)(0x528760)}

The issue seems to be this commit, which removed the UnmarshalJSON method on MemberCollection.
Related issue raised recently on this repo: https://github.com/coreos/go-etcd/issues/188
Thanks,
@ematpl && @atulkc, for the CF Diego team

Thanks for reporting @ematpl and CF Diego team!

Thanks for the fix, @yichengq and @xiang90!


About loss function

Hello, I have a question about the regression loss. Is it feasible to constrain the offsets of the start and end offsets using L1 loss?

We have not tried L1 loss yet, but from the code perspective, it seems relatively easy to implement, as the model ultimately obtains predicted offset values and target offset values.


Redissonspringlocalcache manager in distributed systems

Hi I have read about the redissonspringlocalcache manager that it is keeping a local cache backed by redis. Please correct me if I am wrong. Please tell me how it works in distributed mode.
Eg. If we have 10 ec2 instances deployed connecting to same redis. Suppose there is a case which has been invalidated by one machine. How early can the other 9 machines would be knowing that their local cache is invalid and they need to call the redis to update it.
Do it use background polling to check if it is enabled.?

Hi!
I have just updated Spring Local Cache configuration example on wiki page. As you can see there is a new syncStrategy setting. It has two options:
INVALIDATE - Default. Invalidate cache entry across all LocalCachedMap instances on map entry change
UPDATE - Update cache entry across all LocalCachedMap instances on map entry change
In both cases synchronization works in almost real-time mode using Redis PubSub invoked on each local cache change operation.

So do the application need to allocate resources/connection for these pubsub mechanism? If yes, Is there any recommendations?

One pussub subscription is used per Spring Local Cache instance. Total maximum subscriptions for Redisson are counted as subscriptionsPerConnection*subscriptionConnectionPoolSize

Doe

subscriptionMode setting allows you to select which type of node use for subscription https://github.com/redisson/redisson/wiki/2.-Configuration#subscriptionmode


fix: Strip / characters from the URL

Extra / characters in the URL will deal to errors according to CNATIVE-1260

Thanks @tembleking ! Would this also work when using a configuration file ( /etc/sdc-cli/config.yml in the container) on sdc-cli?

Yeah! I just published v0.4.2 fixing this in the sdc-cli as well.

Awesome!


This is all I need for my coroutines

I would use StackPointer instead of Context. The trampoline for 64-bit is essentially free because no extra writes. The x86 one isn't :/.

CC @nathan7