Devices unavailable on 3.0.0

Hello,
I just upgraded to 3.0.0 and all but 1 of my plugs are unavailable. Downgrading to 2.6.2 fixed the issue. I am just using http so no mqtt.
Ignore the vintage bulb, it is off at the moment.
Logger: custom_components.meross_lan
Source: custom_components/meross_lan/helpers.py:27
Integration: Meross LAN (documentation, issues)
First occurred: 14:28:31 (12 occurrences)
Last logged: 14:28:34
MerossDevice(Smart Plug Washing Machine) MerossKeyError in async_http_request:
MerossDevice(Smart Plug Study Fire) MerossKeyError in async_http_request:
MerossDevice(Smart Plug Dishwasher) MerossKeyError in async_http_request:
MerossDevice(Smart Plug Solar Charger Block 1) ServerDisconnectedError in async_http_request: Server disconnected
MerossDevice(Smart Bulb Study Vintage) ClientConnectorError in async_http_request: Cannot connect to host <IP_ADDRESS>:80 ssl:default [Connect call failed ('<IP_ADDRESS>', 80)]

Hello
me to
update to 3 and all devices become unavailable
roll back to 2.6.2 and all device are all on ! :-(
wbr

Hello @pops106  and @Cippo2019,
I think you were using your devices with a 'wrong' configuration that is, the device key you are using is likely set to 'empty' and the device is working with the 'key-hack'
This is no more allowed on 3.0.0 sinc eit can cause random issues and disconnection so I've decided to completely disable this feature.
On 3.0.0 you should enter the integration configuration for each device and set the proper key.
From meross_lan readme:
device key: this is used to sign messages according to the official Meross protocol behaviour. This should be prefilled with a known key from other devices if you already configured any before. If you enter a wrong or empty key a menu will ask you if you want to manually retry entering a different key or if you want to recover the key from your Meross account. If your device is still paired to the Meross App, this is the way to recover the device key since it is managed by the Meross App and saved in your cloud profile.
I apologize for not clearly stating this sort of 'breaking change' coming with 3.0.0 and I'm going to better clarify this on the release page.
Thank you for submitting the issue so I can 'repair' the docs with more info!

ops..:-(
thanks Krahabb
could yu help me into the steps to get the value and use to maitenin the device id and so on and not loose the device into HA ?
thanks a lot

@Cippo2019
That was exactly it, I always thought it was just doing the cloud retrieve in the background.
Cheers

How do you find the key? I'm looking on the meross app ?

Where in the Meross App do you find the device key? I have a bunch of switch not working after updating and likely need to add the key as well

Hello @Joshndroid,
It's not in the Meross App (even if maybe last versions of the app allow you to see the device key).
Simply go to the integrations page for your devices and re-configure them. When you submit the configuration it will check if the key is good and if not it will prompt you for the cloud retrieve

Hi, I'm not able to use device key.
After update to 3.0.0 all my devices (msh300 + 6 valves) were unavailable.
I just re-pair hub with meross cloud to get device key, then and re-paired with local broker but when adding hub to home assistant using the key, I get "key invalid" and all valves goes offline.
Roll back to previous and it worked.
Am I doing something wrong?

If your device is not paired to the meross cloud you have to use the key used to reprogram the device pairing (likely 'empty') for your local broker.
So you have to use the key you used when re-pairing and not the meross key. The cloud one is valid when devices are paired to the meross app

If your device is not paired to the meross cloud you have to use the key used to reprogram the device pairing (likely 'empty') for your local broker. So you have to use the key you used when re-pairing and not the meross key. The cloud one is valid when devices are paired to the meross app

Thanks for reply. Where  can I found the key I used when re-pairing? I just used the hack mode

well..if you have not set anything specific while re-pairing for your local broker that should be empty. In meross_lan just try with the key field empty. The @bytespider utilities worked with a default empty key (which you could change on the command line when re-programming the device)

empty value does not work with 2.7.0.
Do you suggest to update again to 3.0.0 and try use empty value as well?

As far as the key is correct any version should work but...versions pre 3.0.0 where able to use a key hack in case the key was wrong but this was configured in meross_lan by using no value for the key (This is a bit confusing..that's why I've removed this 'trick')
Which tool you used to pair the msh300 to your local broker ?

As far as the key is correct any version should work but...versions pre 3.0.0 where able to use a key hack in case the key was wrong but this was configured in meross_lan by using no value for the key (This is a bit confusing..that's why I've removed this 'trick') Which tool you used to pair the msh300 to your local broker ?

The custom pairer app

Upgrading to 3.0.1 also made my devices unavailable. Tried re configuring them but didn't work. If I try to configure the integration from scratch I get an error Config flow could not be loaded: {"message":"Invalid handler specified"}

Hey @guivazcabral,
This kind of issue looks like related to a corrupted download from HACS. I've retested the config flows and they work ok both on 2023.1 and on 2023.3 (development). I need more time to install the 2023.2 (actual) release and test it there but I strongly suggest you to redownload the meross_lan integration from HACS (this is not the first time this kind of 'everything is broken' errors come up and usually resolve with redownloading..maybe there are some issue in HACS which is not able to guarantee a reliable installation..dunno since HACS is a good piece of software but 'trust no one' is always safe)

Hi krahabb
so are you suggesting to wait until you test on 2023.2 before uprade t0 3.0.0 or 3.0.1 ?
just to be sure becuase after problem i roll back to previuos release and i collect all keys.
now i am ready to upgrade againi to new meross lan version.
:-)
thanks

hi
update now t 3.0.1 with correct key inserted. it works for me. thanks a lot @krahabb

Hello @Cippo2019,
I don't think there's a general issue with 3.0.0 nor 3.0.1 since a lot of testers confirmed it working correctly and upgrading with no issues.
Beside a very specific bug in #254 all other issues should be related to 'incomplete' configurations which were working on previous versions just because of some 'woodo magic' which is now gone.
In some way the new version is stricter in setup and so the issues for those configurations lacking the correct key. But this should be just a little pain for the good since, once fixed, the devices should work more reliably than before

h a 'wrong' c

Hello @Joshndroid, It's not in the Meross App (even if maybe last versions of the app allow you to see the device key). Simply go to the integrations page for your devices and re-configure them. When you submit the configuration it will check if the key is good and if not it will prompt you for the cloud retrieve

Hello @Joshndroid, It's not in the Meross App (even if maybe last versions of the app allow you to see the device key). Simply go to the integrations page for your devices and re-configure them. When you submit the configuration it will check if the key is good and if not it will prompt you for the cloud retrieve

Thanks mate, this worked perfectly!

How could one retrieve the Device Keys if their devices were not registered with the official Meross Account?

If you've used any of the tools to bind your devices to a private MQTT broker, the key is usually configured during pairing.
It could have a default of null or empty so you could try that...if not you should check the documentation for the pairing tool you've used


Enhancement: Static site generation

I'd love to index a package set and host the results on e.g. Github's static site feature. Is that at all realistic? I see that the app/ folder contains quite a bit of server code, so this might be out of reach.

Most features of HCE (cross-package 'go to definition', 'find references', identifier search,...) rely on server-side logic, so currently it's not possible to deploy the app as a collection of static files.
The server (app/Server.hs) responds to HTTP requests from the JS app. There are 11 HTTP endpoints: https://github.com/alexwl/haskell-code-explorer/blob/d65f02107a6adce4b45ba9b8ecebf78571612a65/javascript/app/utils/api-urls.js#L18-L50  3 endpoints are "static": the server simply sends a file. 8 endpoints are "dynamic": the server needs to do multiple lookups in an in-memory data structures and to paginate the results if needed.
In principle, it's possible to create a version of HCE without features that require server-side logic, but I'm not sure if such a limited version will be useful.


Add search on list page

I think it will be a great addition to the app if we can add a search bar on the top which will allow user to search for conference from the list.
It will be a local search based on conference name to start with. We can add later based on location if it's a bit easy to do.

#22


How to resolve conflict keybindings (in vintage context)?

Hello, thanks for this very useful package! I am using vintage in sublime, and my vintage setup using  as leader key.
Somehow this created a problem using sublime_terminal, it seems working with vintage, it's always at command mode, therefore everytime I type , the terminal would pause to see what I will press as when using leader key.
Ideas and suggestions for setup to resolve this conflict? Thanks!

I don't entirely follow your explanation. In other keybinding conflict scenarios, we recommend defining keybindings that don't conflict and do what you want. Here's my dump of the built-in Sublime Text keybindings for Vintange:
https://github.com/twolfson/sublime-files/blob/3176.0.0/Packages/Vintage/Default (Linux).sublime-keymap
Here's the keybindings we use for Sublime Terminal:
https://github.com/wbond/sublime_terminal/blob/1.18.0/Default (Linux).sublime-keymap
New key bindings can be set/override existing ones via "Preferences: Key Bindings" in the Command Palette (alt+shift+p)


Explicit JDK Tag and Newer Java Compatibility

It looks like the jruby docker tag ending in "jdk", which is currently used in the Dockerfile, defaults to OpenJDK 8, so I think we should probably investigate compatibility with new java versions, and at least specify a version to be explicit (i.e. 9.3.6-jdk8, 9.3.6-jdk11 or 9.3.6-jdk17)

Fixed in https://github.com/puppetlabs/vmpooler-deployment/pull/97


Can you share a make file for lenet5 architecture

Ive tried regenerating . Tcl files from lenet5 directories, however its not showinf the design and shows an ip error... It would be useful if we could get a make file for lenet5 architecture...
Thanks

Hi could you send me the error message and explain what steps you have taken to regenerate that example? Although I am no longer actively maintaining this old repo and will not add new features to it, I can try to help you with your problem via this issue thread

Im sorry for the bad picture quality. I actually ran lenet.tcl file from the bitstreams directory in the tcl console of vivado. The command i gave was: source lenet.tcl in vivado... Then i waited for some while and got the above errors

Did you run vivado hls to generate the rtl for lenet? The error message is saying that vivado cannot find the lenet rtl.  Please follow the instructions given in /hw/readme.md

Did you run vivado hls to generate the rtl for lenet? The error message is saying that vivado cannot find the lenet rtl. Please follow the instructions given in /hw/readme.md

Yes, I had done the vivado hls regeneration already. Is there any other possible ways of regenerating the lenet5 design?

Can you send c/c++ codes for the ip blocks of lenet5, so that we can regenerate the cnn lenet project.
Thanks

vivado_hls -f run_lenet.tcl generates lenet ip in verilog using high level synthesis (HLS). The c++ source code for HLS is located under PYNQ-Classification/hw/script_design_flow/LeNet_wrapper/.
If you have done HLS, the it should've already generated a lenet ip (HLS-generated verilog).
After HLS, you should run vivado -source pynq_arch.tcl which auto generates the vivado project for the DMA, interconnect to ARM, etc. Looking at your error message, it appears that you have successfully generated the vivado project (right?) but the project does not link to the lenet ip. Based on other users' feedback the pynq_arch is able to automatically link to the ip with no problem, so I need more info on how you generated the vivado project.
One thing you can also try out is to manually link the lenet ip from vivado project.

vivado_hls -f run_lenet.tcl generates lenet ip in verilog using high level synthesis (HLS). The c++ source code for HLS is located under PYNQ-Classification/hw/script_design_flow/LeNet_wrapper/.
If you have done HLS, then it should've already generated a lenet ip (HLS-generated verilog).
After HLS, you should run vivado -source pynq_arch.tcl which auto generates the vivado project for the DMA, interconnect to ARM, etc. Looking at your error message, it appears that you have successfully generated the vivado project (right?) but the project does not link to the lenet ip. Based on other users' feedback the pynq_arch is able to automatically link to the ip with no problem, so I need more info on how you generated the vivado project.
One thing you can also try out is to manually link the lenet ip from vivado project.

Sure, I shall try and let you know
Thanks

Hi, Could you share the design image or any snapshot of the lenet5 design you have designed and shown in: page 26 of PYNQ_CLASSIFICATION. pdf, the ip blocks in the pdf file arent clearly visible.
Thanks


problem UI/UX Design

Challenge Build a Personal Portfolio Webpage has an issue.
User Agent is: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.81 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.

@mkjn184 thanks for the issue. Can you elaborate on what you mean by "problem UI/UX design"? Do you mean the example portfolio page? Or do you mean the freeCodeCamp page itself? The example is simply an example to build your portfolio. Please give us more information on what your issue is.


New Keyword Support

Hi,
Please add support for the "new" keyword in the POCO properties.
Keyword Reference

What do you expect?


update security contacts

What this PR does / why we need it:
Which issue this PR fixes(if applicable):
fixes #
Special notes for reviewers:

Release note:

NONE

ping @kayrus @jichenjc @dulek

/hold

/lgtm
/approve

/hold cancel


Update how-to-set-up-access-control.md

Updated to reflect latest Synapse workspace UI.

@abdale : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@meenalsri
Can you review the proposed changes? IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"


@hongyu-zxj Does it still exist in the latest version 2.7.15

@hongyu-zxj Does it still exist in the latest version 2.7.15
@CrazyHZM 能说一下之前的版本具体的问题是什么吗？在哪里做了修复？

Originally posted by @hongyu-zxj in https://github.com/apache/dubbo/issues/7554#issuecomment-1107680109

You can discuss it under the original issue.


Skip automatic event fetching for unsupported cameras

Improve handling for cameras that don't support snapshots (such as the new outdoor battery cam or the indoor wired camera).

Codecov Report

Merging #122 (fe25393) into main (2c3eea0) will decrease coverage by 0.05%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #122      +/-   ##
==========================================
- Coverage   91.51%   91.45%   -0.06%
==========================================
  Files          16       16
  Lines        1614     1615       +1
==========================================
  Hits         1477     1477
- Misses        137      138       +1

Impacted Files
Coverage Δ

google_nest_sdm/device.py
93.96% <100.00%> (+0.05%)
:arrow_up:

google_nest_sdm/event_media.py
96.36% <100.00%> (-0.36%)
:arrow_down:

google_nest_sdm/google_nest_subscriber.py
62.33% <0.00%> (-0.17%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2c3eea0...fe25393. Read the comment docs.


Add a button on new product addition card

Hi there :wave: has this been added to the app already?

Hey @alistairholmes, no it hasn't, and you're welcome to claim it 👍

Great thanks. Just so that I understand correctly, I have to add a button on activity_add_product.xml. What is the expected behavior when the button is clicked?

@alistairholmes Not sure about the proper layout file. @deniger ?
the current behaviour is located at :
https://github.com/openfoodfacts/openfoodfacts-androidapp/blob/346f26018817bad1fddcb62ad12b8de7a3c8bc7e/app/src/main/java/openfoodfacts/github/scrachx/openfood/views/ContinuousScanActivity.java#L383
It's about making it more intuitive with a button.

@teolemon Earlier we had this button, instead of the tick icon we displayed the (+) icon on the floating action button. Why did we remove that? Any specific reason or just design improvements?

It wasn't working. I got a lot of feedback it was confusing people. The new design seems to work better, no confusion possible (you click on the button because it says "Add a new product")

Ohh okay


Can't handle promise with .then()

I'm playing v8-sandbox with below js code:
const { default: Sandbox } = require("v8-sandbox");

const sandbox = new Sandbox();
const code = `
new Promise(resolve => {
  setTimeout(() => {
    resolve();
  }, 2000);
}).then(() => {
  while (true) {}
  setResult({value: 1});
})
`;

const result = await sandbox.execute({code, timeout: 10000});
console.log(result);
sandbox.shutdown();

It seems that sandbox.execute() will return the result ({error: {}, output: []}) after 2000ms, which means that code inside .then() is ignored.
Is this a feature or a bug?

Thank you for taking the time to report this bug. I fixed it in 0.4.3 and it's published on npm. Apologies for the delayed response.


Does Sidekiq-limit_fetch swallow Redis timeout errors?

Seeing some weird issues about jobs getting re-queued multiple times when we don't expect that to happen.
The particular line where the error handling could be swallowing a connection exception looks like https://github.com/brainopia/sidekiq-limit_fetch/blob/master/lib/sidekiq/limit_fetch.rb#L35.
Is it possible redis_retryable method is re-running timeout-ed job enqueues?

Hey, thanks for your issue! I've just taken over this project/gem and am going through the PRs and issues. I see this issue is stale so I'm going to close it but if you are still experiencing issues, please feel free to re-open.


Add prettier for doc

I found there are many unused imports in doc source code, so I tried to add prettier.
And I think we need pre-commit too, we can use raw pre-commit or add a project.json at root and then use husky. so before we make a decision, just add prettier for now.

i dont think we need a precommit hook for this. just prettier is fine imo

i dont think we need a precommit hook for this. just prettier is fine imo

if we dont add rust lint and format I think that's ok, because only railway people may modify the doc source code 🤔

We should add a prettier config as the rest of the repo uses 4 spaces so we should stay consistent here .
Agree with Milo here, pre commit hooks are nasty, we should check files are formatted correctly in ci instead.

Are you sure 4 spaces? because all the doc source code is 2 spaces based..

We should add a prettier config as the rest of the repo uses 4 spaces so we should stay consistent here .

Are you sure 4 spaces? because all the doc source code is 2 spaces based..

We should add a prettier config as the rest of the repo uses 4 spaces so we should stay consistent here .

Are you sure 4 spaces? because all the doc source code is 2 spaces based..

was referring to the rust side of the codebase. But if the doc's are already 2 i guess its fine? will see what milo and jr thinks

cc @Milo123459 @coffee-cup

BTW, if we want indentation consistent, we also can add .editorconfig.
IMO, 2 spaces is fine. (actually I love 2 spaces, lol)


Android emulator using API 34 fails to draw on resume sometimes.

Description
Launch this simple in app webview app on an Android emulator using API 34. It will fail to render once resumed from the background if you run some other "heavy" app between.
import 'dart:io';

import 'package:flutter/material.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.dart';

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

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  late InAppWebViewController webViewController;

  InAppWebViewSettings settings = InAppWebViewSettings(
    clearCache: true,
    useHybridComposition: false,
  );

  @override
  void initState() {
    super.initState();
    if (Platform.isAndroid) {
      InAppWebViewController.setWebContentsDebuggingEnabled(false);
    }
  }

  @override
  Widget build(BuildContext context) {
    return Container(
      color: Colors.black,
      child: InAppWebView(
        initialSettings: settings,
        onWebViewCreated: (controller) => webViewController = controller,
        initialUrlRequest: URLRequest(url: WebUri.uri(Uri.parse('https://pub.dev'))),
      ),
    );
  }
}

Expected behavior:
Run the app, place it in the background, run youtube, re-launch the app from its icon. It should render as normal.
Current behavior:
The app renders a black screen. This does not appear to be due to a bug in the Flutter engine, and does not reproduce with e.g. webview_flutter.

See some additional context in comments starting from https://github.com/flutter/flutter/issues/139630#issuecomment-1890594127.
I've hidden them in that issue because they're not relly relevant to it.
/cc @xoldevx fyi

It could be caused by not using Hybrid Composition on Android?
@xOldeVx If you set useHybridComposition: true, does it work?

@pichillilorenzo When not using hybrid composition, this does not reproduce with other platforms views.

useHybridComposition is only specific to Android: https://pub.dev/documentation/flutter_inappwebview/latest/flutter_inappwebview/InAppWebViewSettings/useHybridComposition.html

Here is the usage of that setting:
https://github.com/pichillilorenzo/flutter_inappwebview/blame/751a104716b2c5158b5cad58347430d01965f00d/flutter_inappwebview_android/lib/src/in_app_webview/in_app_webview.dart#L374-L389

We do not recommend using hybrid composition on Android.

@johnmccutchan as stated here https://github.com/flutter/flutter/wiki/Hybrid-Composition#android:

Starting from Flutter 1.20.0, hybrid composition can be used on Android. This new feature fixes most of the issues with the preview platform view approach (Virtual Display); in particular, accessibility and keyboard related issues. See also Android Platform Views for an overview of modes.

I think that, for WebViews, having "accessibility and keyboard related issues" fixed is kind of a MUST to have it working properly for end-users.
Have you any advice? Something better? Thanks.

@johnmccutchan as stated here https://github.com/flutter/flutter/wiki/Hybrid-Composition#android:

Starting from Flutter 1.20.0, hybrid composition can be used on Android. This new feature fixes most of the issues with the preview platform view approach (Virtual Display); in particular, accessibility and keyboard related issues. See also Android Platform Views for an overview of modes.

Flutter has changed a lot since Flutter 1.2 (we are now on 3.16). Today, we recommend that you use Texture Layer Hybrid Composition (TLHC) mode and not Hybrid Composition or Virtual Display modes.

I think that, for WebViews, having "accessibility and keyboard related issues" fixed is kind of a MUST to have it working properly for end-users.

If you encounter issues with TLHC mode please file specific bugs with reproduction steps.

Ok, I should play a little bit using initAndroidView to see how it behaves.
In this case, I should add a new option to select which Android platform view mode a developer wants to use, based on: https://github.com/flutter/flutter/wiki/Android-Platform-Views#selecting-a-mode
Also, one important thing I remember was related to the native view performances.
What I mean is that, at that time, when Hybrid Composition was introduced, it guaranteed greater performance, especially when the user scrolled, the animations were much more fluid.
Hope it will be the same using TLHC.
By the way, the official webview_flutter plugin is using the same logic currently.
It differs by the fact that hybrid composition is disabled by default:
https://github.com/flutter/packages/blob/807c2fcf433e26913b4336a44233cfd639836e3c/packages/webview_flutter/webview_flutter_android/lib/src/android_webview_controller.dart#L1057-L1072
Here is also some useful links about HC in that file:
https://github.com/flutter/packages/blob/807c2fcf433e26913b4336a44233cfd639836e3c/packages/webview_flutter/webview_flutter_android/lib/src/android_webview_controller.dart#L860-L871
The issues mentioned in there are not closed yet.
I don't know if TLHC will fix that or not.

I had done some debugging on this yesterday and the issue seems to be that when the Flutter engine asks the subview to draw itself, it's just not drawing anything. But I've only reproduced this issue on an API 34 emulator, and only with this particular webview plugin. I started trying to understand the way the Android views are setup in this plugin, but I think one of the authors here more familiar with the Android code would be better suited.
My suspicion is that something in this plugin is getting the view hierarchy confused in this resume case. If you can boil things down to a smaller reproduction that points to a bug in the engine, I'm happy to take another look at it.

@dnfield I didn't take a look at the issue itself yet unfortunately.
By the way:
This is the Android PlatformViewFactory Java class implementation: https://github.com/pichillilorenzo/flutter_inappwebview/blob/master/flutter_inappwebview_android/android/src/main/java/com/pichillilorenzo/flutter_inappwebview_android/webview/FlutterWebViewFactory.java
The Android PlatformView Java class is implemented by: https://github.com/pichillilorenzo/flutter_inappwebview/blob/master/flutter_inappwebview_android/android/src/main/java/com/pichillilorenzo/flutter_inappwebview_android/webview/in_app_webview/FlutterWebView.java
that wraps up my current Android native WebView implementation.

in this resume case

"Resume" is something related to the activity, am I right?
This is the main class of the plugin that extends also io.flutter.embedding.engine.plugins.activity.ActivityAware: https://github.com/pichillilorenzo/flutter_inappwebview/blob/master/flutter_inappwebview_android/android/src/main/java/com/pichillilorenzo/flutter_inappwebview_android/InAppWebViewFlutterPlugin.java
but there isn't any code specific to resume/pause lifecycles.
A developer can handle that on the Flutter side by calling InAppWebViewController.resume and InAppWebViewController.pause respectively.
In this case, on the Flutter side, the developer should use WidgetsBindingObserver to listen to the lifecycle events and call the methods manually.

What we are saying:

Don't use hybrid composition. Use TLHC mode (this is now the default for flutter_google_maps and flutter_webview).
The official flutter webview has no issues after resume.
Other platform view plugins (e.g. google maps) also have no issues after resume.
flutter_inappwebview stops drawing after a resume. Specifically, we call the PlatformView's draw method and it doesn't draw anything after a resume.

We don't know why (3) is happening but it is unlikely to be an issue in Flutter itself given all the other platform view plugins work fine. So it is very likely an issue in flutter_inappwebview that you will need to debug and fix. We can't provide guidance on where your bug is or how you should fix it as we don't know your code.

We can't provide guidance on where your bug is or how you should fix it as we don't know your code.

Indeed, I'm not asking that! As I said, I will take a look at the issue as soon as possible by myself (any help would be appreciated anyway).
My questions are about TLHC and possible issues that should I be aware of!
For example performance issues or accessibility and keyboard issues, etc. I talked about in my previous comments.
Anyway, I will let you know when I have news, thanks for the moment.

I am not aware of any major bugs or gotchas in TLHC mode. If you encounter specific issues, please file bugs.

@dnfield
I found the root cause of the "resume" issue when Hybrid Composition is disabled and it is related to enabling Hardware Acceleration for the Android WebView by default by the plugin (using the current Java API setLayerType(View.LAYER_TYPE_HARDWARE, null);).
The option is InAppWebViewSettings.hardwareAcceleration.
Currently, setting that option to false will impact performance when not using HC because it will use setLayerType(View.LAYER_TYPE_SOFTWARE, null);.
This is the current implementation: https://github.com/pichillilorenzo/flutter_inappwebview/blob/751a104716b2c5158b5cad58347430d01965f00d/flutter_inappwebview_android/android/src/main/java/com/pichillilorenzo/flutter_inappwebview_android/webview/in_app_webview/InAppWebView.java#L392-L395
@johnmccutchan
Honestly, I don't know why enabling Hardware Acceleration on Android native Views will cause this "resume" issue if you don't use Hybrid Composition.
So, could it be an issue with the current Flutter Platform View Android implementation?
A workaround that I can implement would be to use it only when Hybrid Composition is enabled.

I am not aware of any major bugs or gotchas in TLHC mode.

Indeed, I tested again now just to check if something changed about rendering performance, but using HC for rendering Android native views still guarantees better rendering performance.
I tried with the official webview_flutter plugin and mine.
Flutter version used for the test:
Flutter (Channel stable, 3.16.1, on macOS 14.0 23A344 darwin-x64, locale it-IT)

Plugins version:
- webview_flutter: ^4.4.4
- flutter_inappwebview: ^6.0.0

Screen record:
https://github.com/pichillilorenzo/flutter_inappwebview/assets/5956938/9faed56e-207d-4c32-92e0-dc9b673d4567
This is the code that you can use to test it by yourself:
import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';
import 'package:webview_flutter_android/webview_flutter_android.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.dart';

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

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  late WebViewController? controller;
  late InAppWebViewController? webViewController;

  bool displayWithHybridComposition = false;
  bool useOfficialWebViewFlutter = true;

  @override
  void initState() {
    super.initState();
    if (useOfficialWebViewFlutter) {
      controller = WebViewController()
        ..setJavaScriptMode(JavaScriptMode.unrestricted)
        ..loadRequest(Uri.parse('https://pub.dev'));
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Using: ' + (useOfficialWebViewFlutter
                ? 'webview_flutter'
                : 'flutter_inappwebview')),

        actions: [
          PopupMenuButton(itemBuilder: (context) {
            return [
              PopupMenuItem<int>(
                value: 0,
                child: Text("webview_flutter"),
              ),
              PopupMenuItem<int>(
                value: 1,
                child: Text("flutter_inappwebview"),
              ),
            ];
          }, onSelected: (value) {
            setState(() {
              useOfficialWebViewFlutter = value == 0;
            });
          }),
        ],
      ),
      floatingActionButton: ElevatedButton(
        child: Text('HC enabled: $displayWithHybridComposition'),
        onPressed: () {
          setState(() {
            displayWithHybridComposition = !displayWithHybridComposition;
          });
        },
      ),
      body: Container(
        color: Colors.black,
        child: useOfficialWebViewFlutter
            ? WebViewWidget.fromPlatformCreationParams(
                params: AndroidWebViewWidgetCreationParams(
                    key: GlobalKey(),
                    controller: controller!.platform,
                    displayWithHybridComposition: displayWithHybridComposition))
            : InAppWebView(
                key: GlobalKey(),
                initialSettings: InAppWebViewSettings(
                  useHybridComposition: displayWithHybridComposition,
                ),
                onWebViewCreated: (controller) =>
                    webViewController = controller,
                initialUrlRequest:
                    URLRequest(url: WebUri.uri(Uri.parse('https://pub.dev'))),
              ),
      ),
    );
  }
}

Both plugins call PlatformViewsService.initExpensiveAndroidView when HC is enabled, otherwise PlatformViewsService.initSurfaceAndroidView.
Furthermore, for my plugin, I tried to use explicitly PlatformViewsService.initAndroidView changing manually my dart code to see if it could behave better, but I didn't get any rendering performance boost over PlatformViewsService.initSurfaceAndroidView.
It seems to have the same rendering performance.
Without HC enabled, the scroll is more sluggish and there are more frame drops.
Also, native view resizing is sluggish (see when the keyboard opens and disappears).
So, I'm not saying that HC should be used or not, at least for WebViews.
I'm just reporting facts.
The APIs are there, the choice ultimately falls to the developer who will use them.
Am I missing something? Is there something else that could boost rendering performance without using HC? Any advice or it is just as it is for now?
In the meantime, thanks for the support to all of you!

Here is more info about the issue with the native view Hardware acceleration enabled: if you rotate the device or open the keyboard or somehow you manage to get the Flutter widget that contains the native view to be resized, it draws it back correctly.
By the way, the native view itself stills there and gestures still work correctly as the view was visible, it just doesn’t draw the “texture” or whatever it is for Android Flutter Platform View.

My s22 Ultra got new firmware update and I can't reproduce this bug anymore, by the way if setting hardwareAcceleration to false (In InAppWebViewSettings) the webview is black like the current bug.
How can I select mode? I mean initAndroidView or initSurfaceAndroidView

@xOldeVx you can’t now. That logic is not implemented, it was just a test of mine locally.
Currently, because of this issue, changing hardwareAcceleration or not, will not resolve the issue.
This is something that needs a new plugin version to be released when not using HC on Android.

I'm updating again again, the problem is still here, for some reason it's worked without any problem for few days, and now it's occurs almost every time.
By the way, the Hybrid Composition option is very bad, it's make the widgets AND the WebView very lag, especially if it's video in the WebView, I'm using s22 Ultra, I tried this option on Samsung SM-A245F too, and playing video is really really lag.
Any solution/workaround to this problem?

@xOldeVx as I said, this is not fixed yet! It requires a new version to be published when it is fixed.
Currently, I'm focused on other tasks.
Unfortunately, Hybrid Composition comes with trade-offs on Flutter side animations, check: https://github.com/flutter/flutter/wiki/Hybrid-Composition#performance
You should enable HC or not based on your App use cases.
If you don't need it, then don't use HC.
But, currently, as I said, the "resume" issue is not fixed yet.

@pichillilorenzo Does it have an estimated date or a temporary solution, even not hermetic but only for Samsung Android 14 owners, because this problem is gaining momentum (more and more users update to Android 14) and I will probably have to move to another library in the meantime

@xOldeVx sorry but I was focused on other things.
I’m planning to release a new version with the fix, other fixes and also Windows plugin initial support next weak, probably in 2/3 days.
The current workaround, in the meantime, is to just use Hybrid Composition.

@xOldeVx I have released the new flutter_inappwebview_android implementation version 1.0.13 with the fix.
You can just run flutter upgrade to upgrade the plugin's Android-specific platform implementation.

You mean flutter pub upgrade
I checked it, it's working, thank you!!

Sorry, I checked it again, it's still happening.
Upgraded as you can see:

I’m not able to reproduce it anymore using the emulator.
Could you share minimum code to reproduce the issue?
Also, it could be useful a screen record of what is happening.
Are you using an emulator or a real device? Are you experiencing the same issue also on emulator?

I checked it in the emulator (Pixel) and it's not reproduce anymore, right, but in real device Ultra S22 it's reproduce easy.
Code:
import 'dart:io';

import 'package:flutter/material.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.dart';

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

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  late InAppWebViewController webViewController;

  InAppWebViewSettings settings = InAppWebViewSettings(
    clearCache: true,
    useHybridComposition: false,
  );

  @override
  void initState() {
    super.initState();
    if (Platform.isAndroid) {
      InAppWebViewController.setWebContentsDebuggingEnabled(false);
    }
  }

  @override
  Widget build(BuildContext context) {
    return Container(
      color: Colors.black,
      child: InAppWebView(
        initialSettings: settings,
        onWebViewCreated: (controller) => webViewController = controller,
        initialUrlRequest: URLRequest(url: WebUri.uri(Uri.parse('https://pub.dev'))),
      ),
    );
  }
}

A screenshot exactly like here:
Screen_recording_20240103_094558.webm
You need to switch to another app like in the video, and then back to your app by clicking on the icon (I recheck it, not only by clicking on the icon, also if you switch again to your app you see a black screen)

The reproduction on the Samsung phone is probably a different bug.  We're trying to work with Samsung to get it fixed.

@dnfield do you mean that it's a bug of Flutter PlatformView?

@xOldeVx When the black screen appears, if you change the phone orientation, does the WewbView become visible again?

@pichillilorenzo Samsung broke something in their Android 14 release. They've told us it's fixed in their upcoming update 🤞

Is there a way to set useHybridComposition through the InAppWebViewController? because there are quite a few customers with this problem that is only increasing, I would be happy to solve this even temporarily


[BUG] github/pypi release possible wrong date?

[x] I've checked docs and closed issues for possible solutions.
[x] I can't find my issue in the FAQ.

Describe the bug
Hello,
This is not essentially a bug but just found that a merged commit https://github.com/Textualize/rich/commit/2a33a77eb78298cbed2ec0e4d9b007510caa882f from more than a year ago was actually not included in the latest release in Feb 2024.
And, for the date - since the release comment says 2023-02-28, may I know if that was just an old release drafted at 2023-02-28 and published a year later due to some reason, or it's simply a typo.
If it's the former case then that commit shouldn't be included indeed which is okay, but as it seems to me more like a typo I'm submitting this issue to ask about it.
Platform

Click to expand
What platform (Win/Linux/Mac) are you running on? What terminal software are you using?
I may ask you to copy and paste the output of the following commands. It may save some time if you do it now.
If you're using Rich in a terminal:
python -m rich.diagnose
pip freeze | grep rich

If you're using Rich in a Jupyter Notebook, run the following snippet in a cell
and paste the output in your bug report.
from rich.diagnose import report
report()

The commit was merged in July 2024 and the Changelog shows this change is unreleased?

There was a large backlog, we're just getting caught up. Might have taken a while to be merged.


Add graph instance attribute to nx.Graph

NetworkX graphs support graph attributes: https://networkx.org/documentation/stable/tutorial.html#graph-attributes
Initialized like this in the constructor of nx.Graph and nx.DiGraph.
However, this doesn't exist in the graph.pyi or digraph.pyi stubs, resulting in a Cannot access member error from type checking.
I saw the README comment that these stub files were automatically generated with docs2stubs. Perhaps this should be understood as a limitation of docs2stubs, and the appropriate fix would be to first upstream a fix to docs2stubs and then re-generate the stubs here. I'll leave this decision to the maintainers. I don't have the bandwidth to do that at the moment.

@microsoft-github-policy-service agree

Thanks @jaywonchung. I wonder if users will want a type annotation for graph at some point (some sort of dictionary?). But if this fixes things on your side, I'm fine with a minimalist change for now.

The thing is, NetworkX allows users to subclass nx.Graph or nx.DiGraph and set the class variable graph_attr_dict_factory, which is used to instantiate self.graph. NetworkX just requires (ref):

graph_attr_dict_factory function, (default: dict)
Factory function to be used to create the graph attribute dict which holds attribute values keyed by attribute name. It should require no arguments and return a dict-like object.

One immediate way I can think of is to make nx.Graph a Generic[GA] with GA = TypeVar("GA") (whether bound=dict is appropriate is unclear) and annotate graph_attr_dict_factory: Callable[[], GA], but then we'll have to do it for all node_dict_factory, node_attr_dict_factory, adjlist_outer_dict_factory, adjlist_inner_dict_factory, and edge_attr_dict_factory, which is.... a hell lot of generics. What do you think?

Is it common to set a custom graph_attr_dict_factory? Maybe it would be simpler to not support that scenario?
Either way, I don't think it makes sense to do this unless you're personally motivated or more users express a need for this.

I can't say much about the common use case of NetworkX, but regardless I agree. Let's not think about it now.


coveralls.io: source not available

The owner of this repo needs to re-authorize with github; their OAuth credentials are no longer valid so the file cannot be pulled from the github API.

I don't know why, but now all is OK.
Sorry, this can be closed


Can you get a DTGE node by ID? (Umbraco 7)

I have two issues at the moment:

There seems to be no way to get the current node's GUID. I saw .GetKey() being mentioned but it gives me an empty GUID.
There seems to be no way to get the IPublishedContent node by using Umbraco.TypedContent() or something similar.

I need to access a node's properties from a controller called via AJAX. Is it possible?

Hi @AckmanDESU
DTGE nodes is not content nodes, so you can't get them by their id's.
You need to get the containing node (the one with the grid, that has the DTGE inside), and then traverse the property to find the right node.
Their ids is not part of the IPublishedElement, but is located on the parent object in the grid editor.

So I would have to manually parse the grid's JSON and find the node? In that case, how would one identify the component I'm looking for? There's no ID nor GUID I can look for anyway. Would there be a  way to convert that data to an IPublishedContent node if I found it?

You can get it in your grid rendering, it is a property on the control object IIRC.
You can't get it in the DTGE partial though, unless you do some ViewDataDictionary magic :)

That would work I guess, shame there isn't a less workaround-ish way to do it.
But what about getting a PublishedNode out of it and being able to get properties without manually doing all the work? Is there a way or should I put it together?
Thanks for the quick replies.

There is methods in DTGE for getting IPublishedElement from the object in grid. Open up the source code, and see what you can do :)
Remember to share, someone might need it too :)


Add support for CloudFront invalidating

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

81 of 114 (71.05%)  changed or added relevant lines in 8 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.6%) to 67.485%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

charon/config.py
2
3
66.67%

charon/pkgs/pkg_utils.py
9
10
90.0%

charon/cmd/internal.py
0
2
0.0%

charon/cache.py
45
51
88.24%

charon/pkgs/maven.py
13
24
54.17%

charon/cmd/cmd_index.py
0
12
0.0%

Files with Coverage Reduction
New Missed Lines
%

charon/cmd/internal.py
1
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.6%

Covered Lines:
1731

Relevant Lines:
2565

💛  - Coveralls


FLIRT real data - followup after algorithms.md update

I think the real data for FLIRT falls under scenario 2 (no ground truth). However, I don't understand how discriminability plays a role here. The registration result for an input and a reference brain doesn't really relate to data-set wide discriminability, and if anything it decreases the discriminability, right? Because once registered, the input and reference are more similar.

the question is whether two scans from the same person are more similar to each other after FLIRT than they are before FLIRT.
does that help clarify?
perhaps you can propose language that makes that clear to you (assuming it does)

I think what tanay is saying is that, with FLIRT, let's say one subject has some anomaly that leads to failure regardless of the x,y,z and rotations for a particular subject. That is, any scan of the particular subject's head registers identically poorly. Propogate this over a dataset, and you have a bunch of scans that register identically to the other scans for that subject, but still ineffectively in the scope that they are just qualitatively a bad registration. When you perform timeseries analysis, the timeseries "per ROI" will just reflect such that each ROI for that subject may not actually be the ROI it's supposed to, so the difference you pick up when you do discriminability is not even necessarily the same brain tissue being compared. Does that make sense?

hm, not to me.  "identical" doesn't ever hold true in real data.
let's discuss tomorrow via skype.


Functions for composing colors

Currently we have functions to create colors (e.g., hsv_color), and we have graphics function that use colors, but we have no function that combine colors.
I suggest to add functions to access the components (of different color spaces) of a Color:

rgb_red(color: Color) -> int
rgb_green(color: Color) -> int
rgb_blue(color: Color) -> int
hsv_hue(color: Color) -> float
hsv_saturation(color: Color) -> float
hsv_value(color: Color) -> float
hsl_hue(color: Color) -> float (the same as hsv_hue)
hsl_saturation(color: Color) -> float (NOT the same as hsv_saturation)
hsl_lightness(color: Color) -> float
color_opacity(color: Color) -> int

These functions would allow it for users to create their own color combinators and converters.
Moreover, similar to having a beside, above, and overlay, in addition to compose, we should have a couple of key high-level color combinators:

blend(weightA: float, colorA: Color, colorB: Color) -> Color -- this mixes the two colors (within the HSV color space to produce nice results) -- this can be used to do nice gradients
darken(factor: float, color: Color) -> Color -- this produces a darker/brighter version (not sure about the name) by multiplying the lightness
translucent(alpha: int, color: Color) -> Color -- this produces a more or less transparent/opaque version of the given color

Currently, if we want to create a function that takes a color, but we want to then produce multiple shades of that color (e.g., to produce a darker/briger version for shadows or highlights), we cannot do that. We have to pass the components of the color around (e.g., hue, saturation, lightness), with is counter to the idea of having a type for colors.

I knew about the Haskell colour library, and their statement:

Most software does not properly blend colours because they fail to
gamma-correct the colours before blending.  Hopefully by using this library,
Haskell programs dealing with colour blending will avoid this problem.

I don't really understand yet why one needs to gamma-correct before mixing two colors. E.g., why is taking the weighted average of all the color's components, with code similar to the following, not appropriate?
def blend(w: float, ca: Color, cb: Color) -> Color:
  return hsv_color(
    hsv_hue(ca) * w + hsv_hue(cb) * (1 - w),
    hsv_saturation(ca) * w + hsv_saturation(cb) * (1 - w),
    hsv_value(ca) * w + hsv_value(cb) * (1 - w),
    color_opacity(ca) * w + color_opacity(cb) * (1 - w)
  )

Maybe once I read the Porter paper this will clear up that need to transform to a color space that's different?


Customize Layout doesn't close when losing focus

I think this is intentional, so you can explore the effects of your changes without having to reopen the interface. There's an "X" in the upper right to dismiss it.


drwill/vsts build agent artifact

Adding a public artifact for configuring a VSTS build agent. Script originally provided by ChrisPat from VSTS team, but updated for artifact parameters and error handling.

Can one of the admins verify this patch?

Also includes other artifacts formatted. The only meaningful change on any other artifact is removing the customscriptextension goop and just using runCommand

Can one of the admins verify this patch?


Sandbox S3 image access denied

On the Quickstart Tutorial page, the link to VirtualBox_HDP_Geowave_Sandbox_1.0.0-SNAPSHOT.ova is broken.
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<Error>
AccessDenied
<Message>Access Denied</Message>
<RequestId>C6139114EB0E0D9B</RequestId>
<HostId>
hMV92sfNJZGoqo1rUFKBHaAjwD/lYvUlheGjcliFczcqV7xDIa8EzxsxLCz1UjNk7Gd5z0VlLSo=
</HostId>
</Error>

it actually doesn't exist - we haven't been building dev sandbox VMs off of SNAPSHOT.  It used to link to the most recent release, but instead you can simply follow along with the most recent release here: http://s3.amazonaws.com/geowave/0.9.8/docs/quickstart.html
the links to the VM are versioned accordingly, so 0.9.8 is here
the sandbox VM is going to be deprecated soon, particularly because its based off of Hortonworks Data Platform which is going away (Hortonworks was acquired by Cloudera and the last I heard they will merge their offerings into Cloudera Data Platform).  Instead we plan to keep the EMR quickstart guide as is, and streamline the local quickstart guide to just run on any OS, but without the entire Hadoop ecosystem.  With the support for Redis and RocksDB that is in 1.0.0-SNAPSHOT it is actually very easy and lightweight to run things locally on any OS.

Thanks for your reply!
I thought I'd get the 1.0.0 since it's the latest and greatest. But 0.9.8 could do for playing around.
Once the VM is deprecated, would that be replaced with docker images? I found prebuilt docker images such as geodocker and geodocker-accumulo-geowave but they both seems a little outdated.
My main use case is actually do play around in the sandbox, ingress with a small amount of data with PDAL reader/writer. PDAL supports Entwine as well, so I wanted to do performance benchmarks. I have several TBs of point cloud data, so I'm not sure if Entwine data store is high performance enough. I don't have a well defined metric of what it means to be "high performance" but I suspect being able to handle geospatial bounding box queries quickly. Entwine supports Potree which makes like it a bit more, simply because I haven't figured out how to get Geowave/Geomesa to work with Potree.

That makes sense.  Unfortunately we also stopped producing the C++ binaries at 0.9.7 if you look at "c++" under release RPMs here, which is required for the PDAL writer.  Its not hard to produce but could be a challenge without deeper geowave experience.
Also, I wouldn't say the VM has ever been a good opportunity to "benchmark" anything.  On the plus side, its an opportunity to "play with" everything but it is the entire Hortonworks/Hadoop ecosystem on a single host. For that "play with" concept we're switching to simply using RocksDB or Redis which we could include in docker, but is also very simple to run with directly on any host OS (RocksDB is just embedded, no separate install, and geowave merely requires a JVM).
If you have access to AWS and EMR, the most straightforward approach for real-world, distributed experience (eg. for benchmarking) rather than the "easy play" experience would be to just use our EMR bootstrap scripts to layer geowave on top of EMR.

Thanks for your detailed reply!
I setup EMR with Geowave last week and followed the vector examples, just to see things worked out. But I prefer to develop offline to avoid the cost of keeping an EMR cluster running when I don't need (they don't have shutdown/pause, only terminate... and that means I have to bootstrap again re-copy over data, which takes like half hour to setup).
Regarding C++ binaries, I probably won't be affected as long as the PDAL Geowave writer continues to work with future Geowave versions > 0.9.7.
I am writing an adapter of my point cloud data format to PDAL reader/writer, so that I can store it in Geowave (possibly geomesa) or Entwine Point Format in the future with just a pdal command.

A few things to just be aware of to keep cost down is

you can request spot instances for EMR which is often a fraction of the cost
you can run HBase on S3 rather than HDFS which means you can terminate the cluster and bring another pointing at the same S3 URL and all of the data will be there, although for this option keep in mind S3 I/O performance is surprisingly pretty decent, but sometimes dramatically fluctuating and never as good as HDFS performance where the ephemeral storage is local (particularly if you use instance types with SSDs)
HBase and Accumulo both have table export and import options so you can likely script it to store data on S3 regardless before terminating a cluster and always re-import tables from S3, but you'd have to put in some time to get that working right.

The quickstart guide us updated to discontinue sandbox usage and instead use the new standalone installer


A church should not be able to have >1 fast on one day

There is no constraint on creating multiples fasts on the same day that belong to the same church. Because fast <-> day is a many2many relation, Django constraints are not suitable. One possible fix is to use a the m2m_connect action and check for duplicate fasts for a single church when adding fasts to a day (see here.

The idea I suggested to use signals can be difficult to parse (signals are not defined in the models.py file by convention, so it's not immediately obvious which signals affect which model creations).
Instead, it seems like a creating through tables will simplify this constraint. This would require restructuring the database (e.g., replace m2m b/w fast and profile with a Participation model with foreign keys to profile and fast + replace Day model with a ChurchDay model with foreign keys to Church and Fast).

Partially resolved by restricting admin form not to allow multiple fasts for the same church on a given day.

Resolved with db migration where fasts have their church as a foreign key in this PR


Bug Report: o jogo da erro e aparece um mensagem e entao o jogo desliga

Please check for duplicates, similar issues or closed issues with the same problem, as well performing simple troubleshooting steps (such as deleting the export folder if it's an issue with compiling, reinstalling Doki Doki Takeover) before submitting an issue.
If you are playing a downloaded version of the game, what operating system are you using?
Windows (x86), Windows (x86_64), Linux, or macOS? Specify below.
What version of the game are you using? Look in the bottom left corner of the main menu.
Have you identified any steps to reproduce the bug? If so, please describe them below. Use images if possible.
Please describe your issue. Provide extensive detail and images if possible.

can you send the file that's in the crash folder?


fatal: bad numeric config value

How to resolve this issue?

$ cd ~/.cocoapods/repos/REPO_NAME
$ pod repo lint .

$ cd ~/.cocoapods/repos/wop_525
$ pod repo lint .


Start container from the images list

Description
As a user, I should be start a container from the list of images, provide an image and port mapping information.
Acceptance criteria

On hover on one of the image, we'll display an icon allowing to Start a container from that image
When the user clicks on the "Start" Button, a small popup is displayed to allow the user to provide a name for the container as well as the port mapping information

Implemented


Combining Server Side Rendering and Static Site Generation

Is your feature request related to a problem? Please describe.
Is there a way to use SSR and SSG in combination?
Lets assume my web app has two main areas:

area 1 has very dynamic content
area 2 has very static content.

Using SSG is not possible, because it would not allow to use all the features from the dynamic area 1 (e.g. bookmarks, likes, followings, etc.), but using pure SSR would be very inefficient since the static area 2 has high traffic on their routes.
Describe the solution you'd like
It would be great if it would be possible to configure certain routes as static content and other ones as dynamic content, so the static content would be pre-rendered at build time and the dynamic content would use a web server to compile HTML on-the-fly :
{
    path: '/static-sites/:id',
    name: 'SomeName',
    component: SomeComponent,
    contentType: 'static'
},
{
    path: '/dynamic-area/:id',
    name: 'SomeName',
    component: SomeComponent,
    contentType: 'dynamic'
},

If there is already a solution to this, I would be thankful if somebody could provide a link

I found recently this: https://github.com/nuxt/vercel-builder#generatestaticroutes

To pre-render routes during the build using nuxt generate set this to true. Routes that are not generated will fallback to the server lambda. You will need to specify the routes to be generated in your nuxt.config.

I'm not sure if that helps?

I think next is adding something similar to this. Fireship did a video on it and its called ISR https://www.youtube.com/watch?v=Sklc_fQBmcs not sure if its the exact same thing but it looks close.

@Cpaczek Thank you for the link, I think ISR (Incremental Static Regenerating) is something else, it allows you to configure a certain timeline after which Next regenerates the page at most 1 time for every x seconds. But in Next.js as far as I understand from this video you are not limited to the static OR the server target, you can combine those paradigms.
@silvio-e Thank you for the link. I have to check vercel-builder... can it only be used with Vercel?

+1 for this feature

Duplicate of https://github.com/nuxt/nuxt.js/issues/7813

@baermathias @danielroe wrote me recently on following on Twitter:

You're right, it can be done. @nuxt/vercel-builder does it for you, but you can also do the same thing in your own project (assuming you're not using target: static).

I would do it outside of Nuxt. 2 possible solutions:

In generate.routes specify static pages, deploy it to a static hosting supporting dynamic 404 response (Firebase, can call Cloud Functions or Cloud Run).
Deploy Nuxt in Node server in SSR mode and add reverse proxy cache (Varnish), which will cache e.g. some pages for a week, some for a 5 minutes, some do not cache.

+1 for this feature @danielroe 🙏

With nitro, the team surely have to be working on a distributed persistent rendering right? Would love confirmation on whether Nuxt 3 plans to support this @danielroe

is this ticket still relevant and being discussed? Would love to see some progress here.

Just FYI: This is already possible in Nuxt 3 but not in Nuxt 2

Yes, imho, this issue can be closed, makes no sense to add it to nuxt 2 as nuxt 3 supports it.
Nuxt plugins need to be pushed to be available in nuxt 3 to make it easier to switch from nuxt 2 to 3 🙏

Closing here then ☺

@manniL could you please provide a docs link in regard to this nuxt 3 feature?

Sure. Please check https://nuxt.com/docs/guide/concepts/rendering#route-rules for mixing SSR/SPA/SWR/... and check https://nuxt.com/docs/getting-started/deployment#static-hosting regarding SSR + SSG


Add support for the new cluster tag API methods

Add the new 'provisioning_tags' field to the deploymentParams struct so that new deployments can be created using tags
Expose the new 'tags' field on the Cluster struct
Add tags.go with methods for the new POST, PATCH and DELETE api calls on the /clusters/:cluster_id/tags endpoint

I tested the API methods using this gist which adds tags, makes a deployment using tags, changes tags, and then deletes them.

LGTM, Merged


Add support for new extension categories

New extension categories have been added in the marketplace and need to be added in various places for VS Code.

Data Science
Machine Learning
Visualization
Testing
Notebooks

Areas that need updated

[ ] Adopt in vsce @joaomoreno
[x] Update completions for package.json @sandy081
[x] Update completions for extensions view @sandy081
[x] Update completions for cli @sandy081
[ ] Update documentation @fiveisprime

@fiveisprime There is no adoption in VSCE. The Marketplace does the category validation.

@fiveisprime Only pending here is updating documentation. Guess you are taking care of this?

To verify:

Make sure new categories are shown in the suggestions in the Extensions Viewlet input box and while editing categories in package.json
Make sure new categories are shown while running following command code-insiders --list-extensions --category

Yeah, I'll take care of the documentation today. Also, the marketplace team let me know that they weren't able to get "testing" in as a category after all. This has to do with how the categories are structured for VS where there is already a "testing" top level category.

...and the doc change has been merged.


Add Sequencer Service

This PR adds the definition of the sequencer (backend) gRPC service which will be used by frontends to get all newly created epoch mutations.

Codecov Report

Merging #793 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #793   +/-   ##
=======================================
  Coverage   47.04%   47.04%
=======================================
  Files          32       32
  Lines        2553     2553
=======================================
  Hits         1201     1201
  Misses       1166     1166
  Partials      186      186

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 22edf69...fe7bdd0. Read the comment docs.


Fix two compiler warnings in memory.c

First warning:
[4339/5327] Building C object driver/others/CMakeFiles/driver_others.dir/memory.c.o
.../OpenBLAS/driver/others/memory.c: In function 'blas_shutdown':
.../OpenBLAS/driver/others/memory.c:3257:10: warning: passing argument 1 of 'free' discards 'volatile' qualifier from pointer target type [-Wdiscarded-qualifiers]
 3257 |     free(newmemory);
      |          ^~~~~~~~~
In file included from .../OpenBLAS/common.h:83,
                 from .../OpenBLAS/driver/others/memory.c:74:
.../.pixi/envs/default/x86_64-conda-linux-gnu/sysroot/usr/include/stdlib.h:482:25: note: expected 'void *' but argument is of type 'volatile struct newmemstruct *'
  482 | extern void free (void *__ptr) __THROW;
      |                   ~~~~~~^~~~~

The use of volatile for newmemstruct seems on purpose, and there are more such constructs in this file. The warning appeared after gh-4451 and is correct. The free prototype doesn't expect a volatile pointer, hence this change adds a cast to silence the warning.
Second warning:
...OpenBLAS/driver/others/memory.c:2565:14: warning: 'alloc_hugetlb' defined but not used [-Wunused-function]
 2565 | static void *alloc_hugetlb(void *address){

The added define is the same as is already present in the TLS part of memory.c. This follows up on gh-4681.

Thanks, had seen those and planned to address them together with some Windows Clang noise.


libtensorflowlite_c is slower than tf.lite

Issue type
Performance
Have you reproduced the bug with TensorFlow Nightly?
No
Source
binary
TensorFlow version
v2.9.1
Custom code
No
OS platform and distribution
Linux NixOs
Mobile device
No response
Python version
3.10
Bazel version
5
GCC/compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current behavior?
Running a model on my linux x86_64 machine in Python is two times faster than running the same model through symbols exposed by compiled libtensorflowlite_c.so. Why is the code exposed in Python's tensorflow.lite.Interpreter faster?
Standalone code to reproduce the issue
Bazel Build Command: "bazel" "--output_base=/target/x86_64-unknown-linux-gnu/release/build/tflitec-d675effdd7095bee/out/tensorflow_v2.9.1_output_base" "build" "-c" "opt" "--config=linux" "//tensorflow/lite/c/tmp:tensorflowlite_c" "--copt=-O3"

Relevant log output
No response

Hi @Manuel030 ,
Can you please provide me the script for both the cases so that i can replicate and debug your specific case?

Hi @sawantkumar,
sure, you can replicate the performance difference with the official tensorflow lite example from here: https://github.com/tensorflow/tensorflow/tree/master/tensorflow/lite/examples/python
The example runs inference on a mobilenet model for an example image. On my machine I get this performance:
time: 12.286ms
On the other side, we have the runtime provided by the compiled libtensorflowlite_c.so. To run inference on the same model and image you can use this script:
import ctypes
import numpy as np
from pathlib import Path
from PIL import Image
import time

# Load the shared library. This assumes the .so is in the same dir as this python script
lib_path = Path(__file__).parent / 'libtensorflowlite_c.so'
if not lib_path.exists():
    exit(1)
tflite_lib = ctypes.CDLL(str(lib_path))

# Define function prototypes
# tflite_model_create_from_file
tflite_lib.TfLiteModelCreateFromFile.restype = ctypes.POINTER(ctypes.c_void_p)
tflite_lib.TfLiteModelCreateFromFile.argtypes = [ctypes.c_char_p]

# tflite_interpreter_create
tflite_lib.TfLiteInterpreterCreate.restype = ctypes.POINTER(ctypes.c_void_p)
tflite_lib.TfLiteInterpreterCreate.argtypes = [ctypes.POINTER(ctypes.c_void_p), ctypes.POINTER(ctypes.c_void_p)]

# tflite_interpreter_allocate_tensors
tflite_lib.TfLiteInterpreterAllocateTensors.restype = ctypes.c_int
tflite_lib.TfLiteInterpreterAllocateTensors.argtypes = [ctypes.POINTER(ctypes.c_void_p)]

# tflite_interpreter_invoke
tflite_lib.TfLiteInterpreterInvoke.restype = ctypes.c_int
tflite_lib.TfLiteInterpreterInvoke.argtypes = [ctypes.POINTER(ctypes.c_void_p)]

# tflite_interpreter_get_input_tensor
tflite_lib.TfLiteInterpreterGetInputTensor.restype = ctypes.POINTER(ctypes.c_void_p)
tflite_lib.TfLiteInterpreterGetInputTensor.argtypes = [ctypes.POINTER(ctypes.c_void_p), ctypes.c_int]

# tflite_tensor_copy_from_buffer
tflite_lib.TfLiteTensorCopyFromBuffer.restype = ctypes.c_int
tflite_lib.TfLiteTensorCopyFromBuffer.argtypes = [ctypes.POINTER(ctypes.c_void_p), ctypes.POINTER(ctypes.c_void_p), ctypes.c_size_t]

# tflite_tensor_copy_to_buffer
tflite_lib.TfLiteTensorCopyToBuffer.restype = ctypes.c_int
tflite_lib.TfLiteTensorCopyToBuffer.argtypes = [ctypes.POINTER(ctypes.c_void_p), ctypes.POINTER(ctypes.c_void_p), ctypes.c_size_t]

def load_model(model_path):
    model_path_bytes = model_path.encode('utf-8')
    model = tflite_lib.TfLiteModelCreateFromFile(model_path_bytes)
    return model

def create_interpreter(model):
    interpreter = tflite_lib.TfLiteInterpreterCreate(model, None)
    return interpreter

def allocate_tensors(interpreter):
    status = tflite_lib.TfLiteInterpreterAllocateTensors(interpreter)
    if status != 0:
        raise RuntimeError("Failed to allocate tensors")

def set_input_tensor(interpreter, input_data):
    input_tensor = tflite_lib.TfLiteInterpreterGetInputTensor(interpreter, 0)
    input_data = np.array(input_data, dtype=np.float32)
    input_data_ptr = input_data.ctypes.data_as(ctypes.POINTER(ctypes.c_void_p))
    size = input_data.nbytes
    status = tflite_lib.TfLiteTensorCopyFromBuffer(input_tensor, ctypes.cast(input_data_ptr, ctypes.POINTER(ctypes.c_void_p)), size)
    if status != 0:
        raise RuntimeError("Failed to copy data to input tensor")

def invoke(interpreter):
    status = tflite_lib.TfLiteInterpreterInvoke(interpreter)
    if status != 0:
        raise RuntimeError("Failed to invoke the interpreter")

def get_output_tensor(interpreter):
    output_tensor = tflite_lib.TfLiteInterpreterGetOutputTensor(interpreter, 0)
    output_shape = (1, 1001)
    output_data = np.empty(output_shape, dtype=np.float32)
    output_data_ptr = output_data.ctypes.data_as(ctypes.POINTER(ctypes.c_void_p))
    size = output_data.nbytes

    status = tflite_lib.TfLiteTensorCopyToBuffer(ctypes.cast(output_tensor, ctypes.POINTER(ctypes.c_void_p)),
                                                 ctypes.cast(output_data_ptr, ctypes.POINTER(ctypes.c_void_p)),
                                                 size)
    if status != 0:
        raise RuntimeError("Failed to copy data from output tensor")

    return output_data

model = load_model("mobilenet_v1_1.0_224.tflite")
interpreter = create_interpreter(model)
allocate_tensors(interpreter)

img = Image.open("grace_hopper.bmp").resize((224, 224))

# add N dim
input_data = np.expand_dims(img, axis=0)

set_input_tensor(interpreter, input_data)
start_time = time.time()
invoke(interpreter)
stop_time = time.time()
output_data = get_output_tensor(interpreter)

print("Output data:", output_data)
print('time: {:.3f}ms'.format((stop_time - start_time) * 1000))

The model pass in this case takes time: 35.514ms which is 2x slower.

Hi @Manuel030 ,
I replicated your issue and my timings for the python interpreter and  runtime provided by the compiled libtensorflowlite_c.so were 18 seconds and 41 seconds respectively which is more than double . I want to know the command that you used to compile the libtensorflowlite_c.so , did you compile it with xnnpack support or without it?

I've compiled via:
Bazel Build Command: "bazel" "--output_base=/target/x86_64-unknown-linux-gnu/release/build/tflitec-d675effdd7095bee/out/tensorflow_v2.9.1_output_base" "build" "-c" "opt" "--config=linux" "//tensorflow/lite/c/tmp:tensorflowlite_c" "--copt=-O3"

Hi @pkgoogle ,
I replicated the issue and got almost the same numbers. Could you please take a look?

Hi @Manuel030, I don't necessarily dispute these numbers .. but is this a realistic use case? Generally the .so would be used directly in a mobile environment, not loaded via ctypes in Python. If you notice poor performance in a real setting, we can definitely take a look at that, but I'm not sure how useful solving this would be.

It is a use case for me since I distribute software for mobile and desktop with a dependency on libtensorflowlite_c and have to distribute the shared library too. Also, the numbers are interesting as they show that the runtime could be theoretically way faster.
Why is there such a big performance gap and is it feasible to match the performance of the Python package?

So I dug a little deeper...
If I use the benchmark model tool: https://github.com/tensorflow/tensorflow/tree/master/tensorflow/lite/tools/benchmark
#in root TF source
bazel build tensorflow/lite/tools/benchmark:benchmark_model
# after it's done compiling
cd bazel-bin/tensorflow/lite/tools/benchmark
# copy the model file here
./benchmark_model --graph=mobilenet_v1_1.0_224.tflite
INFO: STARTING!
INFO: Log parameter values verbosely: [0]
INFO: Graph: [mobilenet_v1_1.0_224.tflite]
INFO: Signature to run: []
INFO: Loaded model mobilenet_v1_1.0_224.tflite
INFO: Created TensorFlow Lite XNNPACK delegate for CPU.
INFO: The input model file size (MB): 16.9008
INFO: Initialized session in 12.75ms.
INFO: Running benchmark for at least 1 iterations and at least 0.5 seconds but terminate if exceeding 150 seconds.
INFO: count=37 first=14744 curr=15520 min=13164 max=18295 avg=13764.3 std=967

INFO: Running benchmark for at least 50 iterations and at least 1 seconds but terminate if exceeding 150 seconds.
INFO: count=74 first=14850 curr=13315 min=13105 max=15765 avg=13520.2 std=470

INFO: Inference timings in us: Init: 12750, First inference: 14744, Warmup (avg): 13764.3, Inference (avg): 13520.2
INFO: Note: as the benchmark tool itself affects memory footprint, the following is only APPROXIMATE to the actual memory footprint of the model at runtime. Take the information at your discretion.
INFO: Memory footprint delta from the start of the tool (MB): init=40.7148 overall=42.2148

which is about 13.5 ms on average... If you go through the dependencies, it doesn't quite build against the entire tflite library: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/tools/benchmark/BUILD#L151
So I wasn't satisfied with this answer... so I timed it in the minimal example, which builds against tensorflow-lite library: https://github.com/tensorflow/tensorflow/tree/master/tensorflow/lite/examples/minimal
minimal.cc with my edits:
/* Copyright 2018 The TensorFlow Authors. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
==============================================================================*/
#include <cstdio>
#include <chrono>
#include <iostream>

#include "tensorflow/lite/core/interpreter_builder.h"
#include "tensorflow/lite/interpreter.h"
#include "tensorflow/lite/kernels/register.h"
#include "tensorflow/lite/model_builder.h"
#include "tensorflow/lite/optional_debug_tools.h"

// This is an example that is minimal to read a model
// from disk and perform inference. There is no data being loaded
// that is up to you to add as a user.
//
// NOTE: Do not add any dependencies to this that cannot be built with
// the minimal makefile. This example must remain trivial to build with
// the minimal build tool.
//
// Usage: minimal <tflite model>

#define TFLITE_MINIMAL_CHECK(x)                              \
  if (!(x)) {                                                \
    fprintf(stderr, "Error at %s:%d\n", __FILE__, __LINE__); \
    exit(1);                                                 \
  }

int main(int argc, char* argv[]) {
  if (argc != 2) {
    fprintf(stderr, "minimal <tflite model>\n");
    return 1;
  }
  const char* filename = argv[1];

  // Load model
  std::unique_ptr<tflite::FlatBufferModel> model =
      tflite::FlatBufferModel::BuildFromFile(filename);
  TFLITE_MINIMAL_CHECK(model != nullptr);

  // Build the interpreter with the InterpreterBuilder.
  // Note: all Interpreters should be built with the InterpreterBuilder,
  // which allocates memory for the Interpreter and does various set up
  // tasks so that the Interpreter can read the provided model.
  tflite::ops::builtin::BuiltinOpResolver resolver;
  tflite::InterpreterBuilder builder(*model, resolver);
  std::unique_ptr<tflite::Interpreter> interpreter;
  builder(&interpreter);
  TFLITE_MINIMAL_CHECK(interpreter != nullptr);

  // Allocate tensor buffers.
  TFLITE_MINIMAL_CHECK(interpreter->AllocateTensors() == kTfLiteOk);
  printf("=== Pre-invoke Interpreter State ===\n");
  tflite::PrintInterpreterState(interpreter.get());

  // Fill input buffers
  // TODO(user): Insert code to fill input tensors.
  // Note: The buffer of the input tensor with index `i` of type T can
  // be accessed with `T* input = interpreter->typed_input_tensor<T>(i);`

  // Run inference
  auto start = std::chrono::high_resolution_clock::now();
  TFLITE_MINIMAL_CHECK(interpreter->Invoke() == kTfLiteOk);
  auto elapsed = std::chrono::high_resolution_clock::now() - start;

  long long microseconds = std::chrono::duration_cast<std::chrono::microseconds>(elapsed).count();

  printf("\n\n=== Post-invoke Interpreter State ===\n");
  tflite::PrintInterpreterState(interpreter.get());

  // Read output buffers
  // TODO(user): Insert getting data out code.
  // Note: The buffer of the output tensor with index `i` of type T can
  // be accessed with `T* output = interpreter->typed_output_tensor<T>(i);`

  std::cout << "Inference time is: " << microseconds << " microseconds.\n";

  return 0;
}

./minimal mobilenet_v1_1.0_224.tflite
# a lot of output about mobilenet
Inference time is: 33633 microseconds.

Yeah... so something is dropping performance by using the whole library instead of just a subset.
@talumbau, can you please take a look? Thanks.

any updates on this?

Hi, @Manuel030
Thanks for raising this issue. Are you aware of the migration to LiteRT? This transition is aimed at enhancing our project's capabilities and providing improved support and focus for our users. As we believe this issue is still relevant to LiteRT we are moving your issue there. Please follow progress here: https://github.com/google-ai-edge/LiteRT/issues/39
Let us know if you have any questions. Thanks.


MFCC similar to NWaves in librosa

I'm trying to replicate what NWaves does in python librosa lib. I've seen comments around the code so I guess there have been comparisons previously. Do you have any hints on how to generate similar looking mfc in librosa as in NWaves? Any points on what to look out for?
Thanks

Hi!
I guess you should check first this wiki. You'll find a paragraph related to librosa here.
Still, there are couple of important nuances in librosa:

htk = true or false
This parameter essentially defines the weights of mel-filterbank (HTK-style or Slaney-style).
centering
In NWaves, like in many other frameworks, frames are not centered the way they are in librosa (in fact, I don't quite understand its purpose...), so this parameter must be set to False.

Let's just consider an example:
int sr = 22050;                  // sampling rate
int fftSize = 1024;
double lowFreq = 100;     // if not specified, will be 0
double highFreq = 8000; // if not specified, will be samplingRate / 2
int filterbankSize = 40;     // or 24 for htk=true (usually)

// if 'htk' parameter in librosa will be set to False:
var melBank1 = FilterBanks.MelBankSlaney(filterbankSize, fftSize, sr, lowFreq, highFreq);

// if 'htk' parameter in librosa will be set to True:
var melBands = FilterBanks.MelBands(filterbankSize, sr, lowFreq, highFreq);
var melBank2 = FilterBanks.Triangular(fftSize, sr, melBands, null, Scale.HerzToMel);

var opts = new MfccOptions
{
    SamplingRate = sr,
    FrameDuration = (double)fftSize / sr,
    HopDuration = 0.010,
    FeatureCount = 12,
    Filterbank = melBank1,  // or MelBank2
    NonLinearity = NonLinearityType.ToDecibel, // mandatory
    Window = WindowTypes.Hamming,     // in librosa 'hann' is by default
    LogFloor = 1e-10f,  // mandatory
    DctType="2N",
    LifterSize = 0
};
var e = new MfccExtractor(opts);

In librosa:
mfccs = librosa.feature.mfcc(y, sr, n_mfcc=13,
dct_type=2, norm='ortho', window='hamming',
htk=False, n_mels=40, fmin=100, fmax=8000,
n_fft=1024, hop_length=int(0.010*sr), center=False)

Actually there are even more options. Feel free to ask, if you have any questions.

@ar1st0crat  Thank you for the detailed response!


Add support for 2FA

Client tells you 2FA code is needed, but no entry to actually enter the code

Alpha 0.7.2 is being uploaded right now.  I've gone ahead and added 2-step authentication support. Test it out and let me know if it works properly for you, and I'll close this issue 👍

Works like a charm,thanks!

Perfect --


Fix delete memory usage

Do not keep full metadata for all backups in the same time.

Fixed review suggestions and made same changes for  purge command.


Use simeple-file-manager in readOnly mode

Is your feature request related to a problem? Please describe.

We want to see files that are stored onto EFS service.
I need to have a view where I can see list of files/directory present there. I should be able to download them(files/directory).
I want to protect EFS from uploading new files by users using simple file manager. Nobody should be able toperform  upload a new file, delete an existing file or create new directory/ies .
Currently I do not see a way to disable these options.
It would be good if we intorduce the parameters to enable/disable the options (upload file / create new directory / delete file/ download file)

Describe the feature you'd like

Introduce a configuration parameter to disable the upload file option
Introduce a configuration parameter to disable the delete file option
Introduce a configuration parameter to disable the create a directory option.
Introduce a configuration parameter to disable the download option.
When user sets parameter value to false make sure that icon related to the functionality is hidden.

Additional context

An application logic is responsible to store files on EFS service.
We just need a view(UI) to see/download the files present on efs server.

Hi @Shirish-JavaDeveloper,
We will be adding additional permission schemes in the next release of the solution. I will go ahead and tag this feature request in the related issue for you to track.

Closing in lieu of #156
Some updates on this task have been included on #174


Implemented an enhancement by adding overloads to methods, enabling the comparison of images with varying dimensions.

I have read the CLA Document and I hereby sign the CLA


Stacks intro

Edits for stacks intro, @ozan

Looking great, thanks! Just a couple of comments above, feel free to merge when you're happy with it.


UI Updates

UI polishing update.
This PR moves most of the icons that were created in code into QT Resource Files (.qrc) and directly links them in the UI files. I also moved some dynamically created parts of the capture toolbar into the UI file.
I've added a bunch of icons for menu actions and updated the "refresh" icon to make it consistent, and replaced the "<>" arrows on buttons with icons.
Overview:

The "Presets" icon might be up for discussion since it's officially a "bookmark" icon, WDYT?
I also cleaned up a few texts in the UI:

Tabs start with a capital letter
The actions which invoke dialogs end with "..."
Renamed "Save capture" to "Save capture as..." since this is what it does.

@reichlfl , this is beautiful! Thanks for that!

The "Presets" icon might be up for discussion since it's officially a "bookmark" icon, WDYT?

I think it's perfect. Even conceptually, it's as if we were bookmarking functions to instrument.


As an administrator I want to get informed if too many jobs are running

As an administrator I want to get informed if too many jobs are running

Solution
Documentation

Add use case annotation
rest doc tests unnecessary, because we are reusing mapping REST API which is already documented

Configuration
Prepare naming in scheduler

Scheduler domain

introduce scheduler mapping entity (same way as done for scan domain)
Scheduler must handle MAPPING_CONFIGURATION_CHANGED message and persist
all isScheduling() parts (same as done in scan domain)
extend SchedulerCofig to hold scheduler.last.max.job.running.reached.notified where
time stamp of last event sending is stored

scheduler.max.job.running.treshold

Administration domain

introduce new mapping id "scheduler.max.job.running.treshold" + mark it as scheduling relevant inside MappingIdentifier enum (add isScheduling() method) ==> so global configurable by admin

scheduler.max.job.running.notification.interval

Administration domain

introduce new mapping id "scheduler.max.job.running.notification.interval" + mark it as scheduling relevant inside MappingIdentifier enum (add isScheduling() method) ==> so global configurable by admin

Handle treshold reached

Scheduler domain

introduce new messsage SCHEDULER_MAX_JOB_RUNNING_REACHED
send an event with this message, when
max running jobs treshold has been reached AND SchedulerConfig Timestamp is over interval
so its okay to resend the event.. (avoids mass mails...)
event must contain information of amount of running jobs and maximum value as well
when event has been sent, upgrade SchedulerConfig entry scheduler.last.max.job.running.reached.notified with new timestamp

Notification domain

notifiy admins on event SCHEDULER_MAX_JOB_RUNNING_REACHED

With #226 we got a better solution for this, so we will close this in favor for 226


Method to limit and/or paginate docstore

I would love a method to paginate or limit the returned output of a query request to a docstore database.

I believe this can be achieved now with the new iterator and query functions, but if full pagination is still not possible feel free to re-open or create a new issue.


Rotation animation bug when size is not 24.

When size is not 24, as soon as the rotation animation on the ExpandableFab is started, the icon seems to stick into the upper left corner (does also not return after the animation finished). I am setting the icon dynamically using setEfabIcon, and my Fab menu is placed on the bottom left.

Hey @GraxCode,
The examples app covers the use case of using custom sizes. There are a couple of attributes that Android requires you to set, or else you get wonky behavior when the icon is animating.
When you run the examples app, look at the 'Custom Sizes' screen to see if that's the functionality you're looking for. If it is, you'll be interested in the CustomSizesFragment's layout file.
Also, please see the documentation on the FabSize enum, as it shows an example of the attributes you need to set in order to get custom sizes icons to animate properly. This documentation is also captured in both the JavaDoc and KDoc.

Didn't know that. Pretty hidden in the documentation to find that out. You should try making it more obvious and not let it look like a bug.

Hey @GraxCode,
To be fair, the directions for using custom sizes are listed in:

the examples app (as shown in my first message)
the documentation for FabSize enum (as shown in my first message)
the documentation for efabSize when working programmatically
the documentation for fabOptionSize when working programmatically
the documentation for efabSize when working through XML layouts
the documentation for fabOptionSize when working through XML layouts

So whether you're working programmatically or through XML layouts, or even if you're just running the example app without typing a line of code, I figured the steps were pretty clearly stated.
If you have any suggestions on where else it should be stated so it doesn't seem hidden though, let me know!

Wasn't really obvious to me as the fab size is not the same as the icon size and i expected the icon to be scaled according to the fab size, and as a normal lazy developer I am generally too lazy to read the docs for an unknown library to then find out it's unusable anyway in some cases. :)

@GraxCode lol, angry and passive aggressive because you didn't RTFM. It's okay boss. Enjoy your day.


Failed to get AuraContext

Hi, I've got this error when running, why ?
cirrusgo salesforce -u https://xx -cw
[VLN] https://xx/aura Vulnerable
[VLN] https://xx/aura Vulnerable
[VLN] https://xx/aura Vulnerable
[vulnerable Endpoint] [/aura,/s/sfsites/aura,/sfsites/aura]
[FTL] Failed to get AuraContext
Thank you!

Hello
try  use a manual method
with flaq "cirrusgo salesforce --payload"
sometimes if you guest you an exploit

how to specify the url ?

hello
open page with burpsuite
then go to login form
send request
then you will see
in request paramter "massage"
use payload from tool


⚠ Bofrost.at has degraded performance

In 744c8a8, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1063 ms

Resolved: Bofrost.at performance has improved in 653ed72 after 52 minutes.


CAMEL-12317: Added AWS StepFunctions Component

Description
Added AWS Step Functions Component
Target

[x] I checked that the commit is targeting the correct branch (note that Camel 3 uses camel-3.x, whereas Camel 4 uses the main branch)

Tracking

[x] If this is a large change, bug fix, or code improvement, I checked there is a JIRA issue filed for the change (usually before you start working on it).

Apache Camel coding standards and style

[x] I checked that each commit in the pull request has a meaningful subject line and body.

[x] I have run mvn clean install -DskipTests locally and I have committed all auto-generated changes

Appreciate if someone would review this PR and suggest if this is in right direction, and mention changes if any, post that I will be writing test cases and component doc.

Looks good to me, great work.

Are you able to add docs and tests within the next couple of days? We have deadline wednesday for source code going into 4.0 GA

@davsclaus I have added test cases,doc and some auto generated files, pls review.

LGTM

After this PR then we need a SB starter for this
https://github.com/apache/camel-spring-boot

[camel-package-maven-plugin] [INFO] --- invoker:3.6.0:integration-test (default) @ camel-package-maven-plugin ---
[INFO] Building: HeaderSupport/pom.xml
[INFO] run post-build script verify.groovy
[INFO]   The build exited with code 1. See /home/runner/work/camel/camel/tooling/maven/camel-package-maven-plugin/target/it/HeaderSupport/build.log for details.
[INFO]           HeaderSupport/pom.xml ............................ FAILED (11.55 s)
[camel-package-maven-plugin] [INFO]
[camel-package-maven-plugin] [INFO] --- invoker:3.6.0:verify (default) @ camel-package-maven-plugin ---
[camel-package-maven-plugin] [INFO] -------------------------------------------------
[camel-package-maven-plugin] [INFO] Build Summary:
[camel-package-maven-plugin] [INFO]   Passed: 0, Failed: 1, Errors: 0, Skipped: 0
[camel-package-maven-plugin] [INFO] -------------------------------------------------
[camel-package-maven-plugin] [ERROR] The following builds failed:
[camel-package-maven-plugin] [ERROR] *  HeaderSupport/pom.xml
[camel-package-maven-plugin] [INFO] -------------------------------------------------

Will check today

Tested this locally and this is okay. The camel-package-maven-plugin error is not related to this and the tests works fine locally.

@vignesh-manel can you do the PR for camel-spring-boot thanks

@davsclaus I see you have already added it, thanks


[Jira] - Set / Store project for create issue command

Extension
https://www.raycast.com/raycast/jira
Description
First of all thank you very much for your Jira plugin. It makes my life much easier.
Using the plugin together with Jira Cloud, as a user I have to change the "Project" to my project, every time when I run the "Create issue" command.
It would save me some time, when I could either:

set my default project in the plugins configuration
if the plugin would stores the last project in which I created a ticket

I do not know if this is possible, but I think it would be great addition. What do you think about that.
Who will benefit from this feature?
No response
Anything else?
No response

Setting the default project in the plugin's configuration won't be possible because we can only set predefined values there, not dynamic ones. But the last project in which you created a ticket should work. If not, could you send a recording?

Sounds good to me.
To reproduce:

connect Jira Plugin to Jira Cloud
Select "Create Issue"
Search Project and Create an issue
Press ESC
Select "Create Issue"
Search project again

https://github.com/raycast/extensions/assets/46848026/a60954e5-386f-449f-895c-0548085ee0e3

Thanks for the recording, I see what's happening. I've updated the title to reflect that 🙂


Asdivine Hearts II [PCSE01335]

App summary

App name: Asdivine Hearts II
App serial: PCSE01335
App version: 1.00

Vita3K summary

Version: v0.1.5
Build number: 2692
Commit hash: https://github.com/vita3k/vita3k/commit/067135d2
CPU backend: Dynarmic

Test environment summary

Tested by: gymzatan
OS: Windows 11
CPU: AMD Ryzen 7 5800H
GPU: AMD Radeon(TM) Graphics
RAM: 16 GB

Issues
Game stays at the intro screen.
Screenshots

Log
vita3k.log
Recommended labels

Intro
unity

as of https://github.com/Vita3K/Vita3K/commit/4280bea5906fdabf90cbb8493a31cf33c96b0b9b, the game got ingame with slowdowns (although i had a weak CPU).
Screenshots

Logs
vita3k.log
Recommeded Labels

Playable (if you had a good CPU)


Uncaught TypeError: Cannot read property 'call' of undefined

I thought I made a mistake so I wiped my folder and cloned this repo again, switch to branch feature/0312-webpack-dev-server ran yarn install and then ran yarn dev.
no errors in the terminal, but on the page in the console nothing is happening and the following error appears.
Uncaught TypeError: Cannot read property 'call' of undefined     at __webpack_require__ (index.js:20)     at eval (index.js:2)     at Object../src/index.js (index.js:357)     at __webpack_require__ (index.js:20)     at eval (webpack:///multi_(:8080/webpack)-dev-server/client?:2:18)     at Object.0 (index.js:368)     at __webpack_require__ (index.js:20)     at index.js:69     at index.js:72
Really hope you can help, as I desperately want to follow along, so far this course has been a life saver.

removing all  ^ from the package.json file and then doing npm i fixed the error for me.

Course was published June 29, 2018, and it's typical with webpack is fickle, and this the course no longer works.
( I ran into the exact same thing this evening )
I did:
yarn upgrade-interactive

Check everything - upgrade everything and re-run the dev server.

I will have to upgrade and test out all of the branches at some point -- thanks all for pointing me in the right direction.

Had the same issue. Upgrading webpack and webpack-dev-server fixed it for me.
    "webpack": "^4.33.0",
    "webpack-dev-server": "^3.7.1",

Sorry for the delay, but the dependencies for the feature/0312-webpack-dev-server branch have been updated! https://github.com/TheLarkInn/webpack-workshop-2018/commit/9a7defb6494ab747ff72a2068e6f9551b63f8aa8


Testing CI secrets

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 81.462%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
5005

Relevant Lines:
6144

💛  - Coveralls