ConfigurationProperties class should use the @Validated annotation

Since Spring 1.5, ConfigurationProperties that use validation annotations should add the @Validated annotation, see release notes.
I'm currently using Spring Boot 1.5.2 with Spring Cloud Camden.RELEASE and ZooKeeper integration, which should be compatible. However, a lot of warnings are logged on startup (the following is only an excerpt):
2017-03-09 10:10:07.349  WARN 19788 --- [  restartedMain] figurationPropertiesBindingPostProcessor : The @ConfigurationProperties bean class org.springframework.cloud.zookeeper.ZookeeperProperties contains validation constraints but had not been annotated with @Validated.
2017-03-09 10:10:07.987  WARN 19788 --- [  restartedMain] figurationPropertiesBindingPostProcessor : The @ConfigurationProperties bean class org.springframework.cloud.zookeeper.config.ZookeeperConfigProperties contains validation constraints but had not been annotated with @Validated.

Currently, this seems to be an cosmetic issue only, but according to Spring Boot release notes, this will become mandatory in the future.

Hello everyone!
The warning still present:
2017-05-03 19:40:51.587  WARN 6734 --- [           main] figurationPropertiesBindingPostProcessor : The @ConfigurationProperties bean class org.springframework.cloud.zookeeper.config.ZookeeperConfigProperties contains validation constraints but had not been annotated with @Validated.
Spring Boot: 1.5.2.RELEASE
Spring Cloud: Dalston.RELEASE
See ZookeeperTest.zip

Hmm https://github.com/spring-cloud/spring-cloud-zookeeper/blob/v1.1.0.RELEASE/spring-cloud-zookeeper-core/src/main/java/org/springframework/cloud/zookeeper/ZookeeperProperties.java#L31

But doesn't look like it is in the jar :-(

Different class

Here's a reference to the Spring Boot release notes mentioned by @JulianEberius.
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-1.5-Release-Notes#configurationproperties-validation


Update woodstox-core to 6.2.4

Updates com.fasterxml.woodstox:woodstox-core from 6.2.3 to 6.2.4.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.fasterxml.woodstox", artifactId = "woodstox-core" } ]

labels: library-update, semver-patch

I've downloaded woodstox-woodstox-core-6.2.3.tar.gz and woodstox-woodstox-core-6.2.4.tar.gz, diff'ed them, and checked their LICENSE files (they don't have any NOTICE files).  I found no significant changes; this PR is good to merge once it gets another +1.

+1


Fix wrong internal children usage in BoxContainer

Fixes this bug:

The method isn't used outside of editor (except the FileDialog, where it shouldn't use internal nodes). I wonder how it didn't break anything else 🤔

Thanks!


API tests fail when setting actual resource owner when creating share

When creating a share, we assume the current user to be the owner of the resource, which won't always be the case, for example, when sharing an already shared resource. The owner should be derived from the ResourceInfo passed (md.Owner).
I tried to change this in #1051, but the API tests didn't pass. So is this expected or should we correct the tests?
@labkode @butonic @individual-it @phil-davis

https://cloud.drone.io/cs3org/reva/2133/4/6
  Scenario: orphaned shares                                                               # /drone/src/tmp/testrunner/tests/acceptance/features/apiShareManagementBasic/deleteShare.feature:54
    Given using OCS API version "1"                                                       # FeatureContext::usingOcsApiVersion()
    And these users have been created with default attributes and without skeleton files: # FeatureContext::theseUsersHaveBeenCreatedWithDefaultAttributesAndWithoutSkeletonFiles()
      | username |
      | Alice    |
      | Brian    |
    And user "Alice" has created folder "/common"                                         # FeatureContext::userHasCreatedFolder()
    And user "Alice" has created folder "/common/sub"                                     # FeatureContext::userHasCreatedFolder()
    And user "Alice" has shared folder "/common/sub" with user "Brian"                    # FeatureContext::userHasSharedFileWithUserUsingTheSharingApi()
      User Alice failed to share /common/sub with user Brian
      Failed asserting that false is true.
    When user "Alice" deletes folder "/common" using the WebDAV API                       # FeatureContext::userDeletesFile()
    Then the HTTP status code should be "204"                                             # FeatureContext::thenTheHTTPStatusCodeShouldBe()
    And as "Brian" folder "/sub" should not exist

That is failing in the Given step that sets up the shares for the scenario. That should not fail. After sending the API  request to create the share, it checks the response and expects to find a "user" type share and the share_with field in the response data should have "Brian".

@phil-davis thanks for the help!
The issue is that owncloud fs returns the prefix of the path as the owner when statting a file, which currently is the username, instead of the opaque ID.
type:RESOURCE_TYPE_FILE id:<storage_id:"123e4567-e89b-12d3-a456-426655440000" opaque_id:"576efd80-2f39-4511-a3c6-1cfd2dee636b" > owner:<opaque_id:"einstein" > ...
This is then passed to the share, which results in something like
"owner":{"opaque_id":"einstein"},"creator":{"idp":"localhost:20080","opaque_id":"4c510ada-c86b-4815-8820-42cdf82c3d51"}
This wouldn't raise any problems when creating the shares, but since we list the shares also on the basis of the owner rather than the creator, share retrieval fails. This should be fixed by #1052, but ideally, we should be able to filter shares both by creator as well as owner, so I've made that change in my PR #1051, and this ensures that all the tests pass.


Upgrade to Wagtail 2.9

Fixes https://github.com/OpenTechFund/hypha/issues/2011
In order to upgrade to Wagtail 2.9:

We need to use Site.find_for_request(request) in place of request.site in Python files and tag {% wagtail_site %} in templates.

And then remove wagtail.core.middleware.SiteMiddleware from the settings.

Thanks @frjo.


Add configuration for optional IPFS gateway url

See: https://github.com/fission-suite/ghost-storage-adapter-ipfs/pull/6

@MCTaylor17 so, the default gateway URL should be https://ipfs.runfission.com. It's also part of the reason for the images downloading automatically when visiting the URL.
The https://runfission.com is actually our Web API, not our gateway. It CAN serve up individual hashes for files, but doesn't do anything for directories.

@MCTaylor17 I merged your PR, but please do the following:

[ ] Make ipfs.runfission.com the default
[ ] Ask for the env variable without /ipfs -- should be just top level path -- e.g. gateway.ipfs.io or ipfs.runfission.com

@bmann I checked a list of gateways (the "normal" list is currently 404) and only 1 out 29 didn't use /ipfs.   That makes it almost standard spec (if it isn't already).
With that said, I can check/append /ipfs either here or in the adapter itself.  I'm already doing some minor URL normalization over there so I'm inclined to do it there.
Do you have any thoughts on that?

Yes, they all use /ipfs -- but that's the server path, not the host, and yes, /ipfs should be appended in the storage adapter.

Just to make sure I'm making the right changes, the storage adapter currently uses ipfs.io as the default based on a requirement pulled out of the original discourse description.  I can:

Change the default in the storage adapter
Change the default in the config file

    if(!!process.env.IPFS_GATEWAY_URL) {
      storageOptions.gatewayURL = process.env.IPFS_GATEWAY_URL;
    } else {
      storageOptions.gatewayURL = "https://ipfs.runfission.com"
    }

Change the default in app.json

    "IPFS_GATEWAY_URL": {
      "description": "The HTTPS URL of your prefered IPFS gateway.  Defaults to https://ipfs.io/ipfs",
      "value": "https://ipfs.runfission.com",
      "required": false
    }

Some combination of the above

I'm guessing 3, but the discourse specs were drafted back in June.

Yes, fine to edit in just app.json for now.
The storage adapter won’t work with anything other than our API so someone will have to add support for other APIs or run their own copy of our Web API.

Oops!  This was resolved in commit caa991b


[AppConfig]Fix test bug

Description

Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change.
[Component Name 2] az command b: Add some customer-facing feature.

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

Build timed out after 10 min . Is there a way to retry? @bim-msft

/azp run


Icons on main page cards should only appear when the value is > 0

Colored status icons appear even when value is 0, so there is no contrast in these conditions. For example, only show failed icon if there are >=1 failures.  See mockup.

Is this what we are looking for?

@ibolton336 Yup, exactly. Thanks.


(WIP) Initial code dump for dynamically loading pinot plugins

Submitting the PR for early review/feedback.
Here is how we want the end state of Pinot distribution

Pinot-distribution

bin/<all_launchers>
repo/<all_jars_needed_for_pinot>
plugins/

record_readers

pinot-avro/pinot-avro-shaded.jar
pinot-parquet/pinot-avro-parquet.jar
...

connectors

pinot-kafka-0.9/pinot-kafka-0.9-shaded.jar
pinot-kafka-2.0/pinot-kafka-2.0-shaded.jar
...

file-sytem

pinot-hdfs/pinot-hdfs-shaded.jar
pinot-s3/pinot-s3-shaded.jar
pinot-azure/pinot-azure-shaded.jar
...

All launchers will take two parameters plugin.directory and plugin.includes. These two parameters can be set as a system property and PluginManager will iterate recursively through the plugin directory and loaded them.
As of now, Pinot will load all the plugin jars into system/App Classloader.  I tried loading into separate classloaders but some libraries don't work (e.g. Parquet) since it depends on Hadoop (Hadoop has Class.forName all over the code).

Codecov Report

Merging #4899 into master will decrease coverage by 0.04%.
The diff coverage is 0%.

@@             Coverage Diff              @@
##             master    #4899      +/-   ##
============================================
- Coverage     56.58%   56.54%   -0.05%
  Complexity       53       53
============================================
  Files          1175     1178       +3
  Lines         62792    62887      +95
  Branches       9208     9225      +17
============================================
+ Hits          35531    35559      +28
- Misses        24630    24694      +64
- Partials       2631     2634       +3

Impacted Files
Coverage Δ
Complexity Δ

...org/apache/pinot/spi/plugin/PluginClassLoader.java
0% <0%> (ø)
0 <0> (?)

...ava/org/apache/pinot/spi/plugin/PluginManager.java
0% <0%> (ø)
0 <0> (?)

.../main/java/org/apache/pinot/spi/plugin/Plugin.java
0% <0%> (ø)
0 <0> (?)

...a/manager/realtime/RealtimeSegmentDataManager.java
50% <0%> (-25%)
0% <0%> (ø)

...impl/dictionary/FloatOffHeapMutableDictionary.java
52.68% <0%> (-7.53%)
0% <0%> (ø)

.../impl/dictionary/FloatOnHeapMutableDictionary.java
48.78% <0%> (-6.1%)
0% <0%> (ø)

...mpl/dictionary/DoubleOffHeapMutableDictionary.java
45.16% <0%> (-4.31%)
0% <0%> (ø)

...impl/dictionary/DoubleOnHeapMutableDictionary.java
35.36% <0%> (-2.44%)
0% <0%> (ø)

...ache/pinot/common/metadata/ZKMetadataProvider.java
67.41% <0%> (-1.69%)
0% <0%> (ø)

...lix/core/realtime/PinotRealtimeSegmentManager.java
82.05% <0%> (-1.03%)
0% <0%> (ø)

... and 17 more

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 aca933f...892c2ff. Read the comment docs.


Crash to launcher - Exit code 0, caused by vanillafix specifically

So I was assembling a personal modpack, until I put in valk skies, and then it started crashing
Narrowed down what the mods causing this are, and it turns out that somehow vanillafix is causing this
Crash log:latest.log
Mod list^

you can "fix" that problem by downgrading vanillafix to 1.0.10-99

Try to rename the vanillafix's jar to "VanillaFix-1.0..blablabla", that is to say, add a "". Should be working.

ah yeah i did that a while back


Research Django Admin Libraries

Problem: Current admin setup has a learning curve that may be decreased through a rework of the admin. i.e. translation admin pages
Background:
In it's current state, some functionality in the main Dashboard page has been migrated to a separate portion of the application.
In an effort to improve our UX for the admin side. This ticket handles some initial research towards feasibility and potential solutions for a replacement/supplemental library for our Django admin.
Mo: Has done some initial recommendation
https://django-jazzmin.readthedocs.io/

https://unfoldadmin.com/


HL-678 | New looks for handler front page view

Description :sparkles:
Add a tiny bit of contrast with background color on table views. There was a mechanism already in place to change background color per context but wires were not fully connected.
Before

After

Codecov Report

Merging #1914 (178c0b0) into develop (516cc8a) will decrease coverage by 42.86%.
The diff coverage is 27.77%.

@@             Coverage Diff              @@
##           develop    #1914       +/-   ##
============================================
- Coverage    66.18%   23.33%   -42.86%
============================================
  Files         1044      463      -581
  Lines        29372     8941    -20431
  Branches      2869     2176      -693
============================================
- Hits         19440     2086    -17354
+ Misses        9473     6586     -2887
+ Partials       459      269      -190

Impacted Files
Coverage Δ

...onents/applicationsArchive/ApplicationsArchive.tsx
0.00% <0.00%> (ø)

...benefit/handler/src/components/footer/Footer.sc.ts
0.00% <0.00%> (ø)

...d/benefit/handler/src/components/footer/Footer.tsx
0.00% <0.00%> (ø)

...rontend/benefit/handler/src/context/AppContext.tsx
100.00% <ø> (ø)

frontend/shared/src/components/table/Table.sc.ts
0.00% <0.00%> (ø)

...src/components/applicationList/ApplicationList.tsx
61.11% <42.85%> (-3.60%)
:arrow_down:

...c/components/applicationList/ApplicationList.sc.ts
60.00% <66.66%> (+10.00%)
:arrow_up:

... and 645 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Issue when start playing video

Would you please specify your which version of node, npm and raspbian you are ussing?
I'm not able to reproduce this error.
node --version
npm --version
cat /etc/os-release


Merge pull request #1 from twilio-labs/master

feat(pixels): add my new pixel (23, 12)

Checklist

[ ] I ran npm test locally and it passed without errors.

[ ] I only edited the _data/pixels.json file.

[ ] I entered the username in the pixels.json that I'm also using to create this pull request.
[ ] I acknowledge that all my contributions will be made under the project's license.

This seems to be an empty PR so I'm closing this one. Thank you!


Replacing const char* arguments with std::string in error functions

Submission Checklist

[x] Run unit tests: ./runTests.py test/unit
[x] Run cpplint: make cpplint
[x] Declare copyright holder and open-source license: see below

Summary:
Cleaning up code by replacing uses of const char* with const std::string&.
This shouldn't affect the behavior of the code.
Intended Effect:
Make our code base more idiomatic C++ and more consistent.
How to Verify:
Check the diff. Most of it is going to be very repetitive.
Side Effects:
None.
Documentation:
None.
Copyright and Licensing
Please list the copyright holder for the work you are submitting (this will be you or your assignee, such as a university or company):
Stan Group
By submitting this pull request, the copyright holder is agreeing to license the submitted work under the following licenses:

Code: BSD 3-clause (https://opensource.org/licenses/BSD-3-Clause)
Documentation: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

@seantalts  Yes, we definitely want to make this change.
I'm pretty sure all those %1% things are holdovers from back when we were using boost formatting that just got code transformed along with everything else.  We stopped using Boost formatting because it has the same awful runtime error behavior as printf.

+1 to Bob's comment.
The %1% was from when we used boost's formatting for output messages (when we had boost's policies in place too). I thought we had removed it, but I found a dangling instance, so cleaned it up in the process.

@seantalts thanks for picking up on that accidentally deleted paren. Fixed, pushed. Waiting on tests now.


Added Backtracking Algorithm (NQueen) [Java]

Closed #103
Fixed #119

By submitting this pull request I confirm I've read and complied with the below requirements.

[x] I have read the Contribution guidelines and I am confident that my PR reflects them.
[x] I have followed the coding guidelines for this project.
[x] My code follows the skeleton code structure.
[x] This pull request has a descriptive title. For example, Added {Algorithm/DS name} [{Language}], not Update README.md or Added new code.

@singhpratyush unable to print in main function, need suggestion here 😕

@varunbafna: Since you are passing board by reference from main, it will achieve it's final state while backtracking the recursion and results will reflect in main.

@singhpratyush The algorithm he is using isn't printing only 1 possibility but all the possibilities of solving the question. Hence, at every end of recursion we will have a answer which is a possibility.

In that case, the function should return a number of board configurations. Passing a single board and making changes in it at every stage seems to be unfair.

Closing due to inactivity.


Dropping an image on page doesn't respect filename

Describe the Bug
Drag-N-Drop filenames are only respected in the rich gallery.
If I drag the image directly onto the page, a filename "image-"+Date.now()+"."+ext is chosen instead.
Steps to Reproduce

Drag image to page directly
open image details to see filename

Expected Behaviour
same as rich gallery
I don't know how to compile this js code in laravel, so didn't test, but I guess it's in public/dist/app.js.
Suggestion:
/**
 * Upload an image file to the server
 * @param {File} file
 * @param {int} pageId
 */
async function uploadImageFile(file, pageId) {
    if (file === null || file.type.indexOf('image') !== 0) {
        throw new Error(`Not an image file`);
    }

    let ext = 'png';
    let chosen_filename = "image-";

    if (file.name) {
        let fileNameMatches = file.name.match(/\.(.+)$/);
        if (fileNameMatches.length > 1) ext = fileNameMatches[1];

        chosen_filename = file.name.replace(/\.[^/.]+$/, "");

    } else {

        chosen_filename = chosen_filename + Date.now();

    }

    const remoteFilename = chosen_filename + "." + ext;
    const formData = new FormData();
    formData.append('file', file, remoteFilename);
    formData.append('uploaded_to', pageId);

    const resp = await window.$http.post(window.baseUrl('/images/gallery'), formData);
    return resp.data;
}

Screenshots or Additional Context
No response
Browser Details
No response
Exact BookStack Version
BookStack v22.04.2
PHP Version
8.0
Hosting Environment
apache2+php-fpm

Thanks for this request @labor4.
I've now updated this to use the original file name where existing, in commit 3fe666f36a7642c7910e6e0dc2f44916931a00b1.
This will be part of the next feature release.


don't use FREE_PORT to get unique container name

When we use ${FREE_PORT} to get a ~random container name, without also running something on that port to "claim" it, we end up getting name conflicts and flaky tests.
Instead of relying on ${FREE_PORT} when we're not going to ~immediately run on that port, just use ${RANDOM}.

Can you send the same to the downstream repo? 🙏

https://github.com/chainguard-images/images-private/pull/465


♻ Refactor rename ModelsOut to ModelsPublic

Just a though, I've seen some codebase that uses ItemRead instead, but Public sounds good to me too 😊

Sebastian just asked for it to be ModelsPublic for the output model which is exposing the response from services

Great, thanks! :rocket:


Specified code to insert in onEnable method to close #2

If you change from your plugin to in your plugin's I'll merge this.


Cannot save image but can save it via ssh

I have a Pi4 8Gb with an HQ camera which is freshly installed with bulleye 64 bits version. When I issue on console a command like
Libcamera-jpeg -o test.jpg
I see the preview, but nothing is saved and got a segmentation fault. This is with -hello or -still but with -raw it is working.  Got the following output
libcamera-still -o test.jpeg
Made X/EGL preview window
[7:27:30.404813112] [270605]  INFO Camera camera_manager.cpp:293 libcamera v0.0.0+3406-e96d0201
[7:27:30.431437328] [270606]  WARN CameraSensorProperties camera_sensor_properties.cpp:141 No static properties available for 'imx477'
[7:27:30.431503977] [270606]  WARN CameraSensorProperties camera_sensor_properties.cpp:143 Please consider updating the camera sensor properties database
[7:27:30.431537978] [270606] ERROR CameraSensor camera_sensor.cpp:551 'imx477 10-001a': Camera sensor does not support test pattern modes.
[7:27:30.455088523] [270606]  INFO RPI raspberrypi.cpp:1326 Registered camera /base/soc/i2c0mux/i2c@1/imx477@1a to Unicam device /dev/media0 and ISP device /dev/media1
[7:27:30.456139481] [270605]  INFO Camera camera.cpp:1028 configuring streams: (0) 2028x1520-YUV420
[7:27:30.456612580] [270606]  INFO RPI raspberrypi.cpp:747 Sensor: /base/soc/i2c0mux/i2c@1/imx477@1a - Selected sensor format: 2028x1520-SBGGR12_1X12 - Selected unicam format: 2028x1520-pBCC
[7:27:30.519573424] [270611]  INFO IPARPI raspberrypi.cpp:626 Request ctrl: Saturation = 1.000000
[7:27:30.519683166] [270611]  INFO IPARPI raspberrypi.cpp:626 Request ctrl: Contrast = 1.000000
[7:27:30.519808575] [270611]  INFO IPARPI raspberrypi.cpp:626 Request ctrl: Brightness = 0.000000
[7:27:30.519839742] [270611]  INFO IPARPI raspberrypi.cpp:626 Request ctrl: AwbMode = 0
[7:27:30.519868372] [270611]  INFO IPARPI raspberrypi.cpp:626 Request ctrl: Sharpness = 1.000000
[7:27:30.519897928] [270611]  INFO IPARPI raspberrypi.cpp:626 Request ctrl: ExposureValue = 0.000000
[7:27:30.519947985] [270611]  INFO IPARPI raspberrypi.cpp:626 Request ctrl: AeExposureMode = 0
[7:27:30.519976596] [270611]  INFO IPARPI raspberrypi.cpp:626 Request ctrl: FrameDurationLimits = [ 33333, 33333 ]
[7:27:30.520046004] [270611]  INFO IPARPI raspberrypi.cpp:626 Request ctrl: AeMeteringMode = 0
[7:27:30.520076635] [270611]  INFO IPARPI raspberrypi.cpp:626 Request ctrl: NoiseReductionMode = 3
[7:27:37.008048879] [270605]  INFO Camera camera.cpp:1028 configuring streams: (0) 4056x3040-YUV420 (1) 4056x3040-SBGGR12_CSI2P
[7:27:37.008399217] [270606]  INFO RPI raspberrypi.cpp:747 Sensor: /base/soc/i2c0mux/i2c@1/imx477@1a - Selected sensor format: 4056x3040-SBGGR12_1X12 - Selected unicam format: 4056x3040-pBCC
Segmentation fault
However, when I connect to the Pi via ssh, all is ok?!!? Really do not know what is going on!!!!
Version installed
Linux MotionEye 5.10.92-v8+ #1514 SMP PREEMPT Mon Jan 17 17:39:38 GMT 2022 aarch64 GNU/Linux
libcamera-hello --version
libcamera-apps build: 7ac5197216ea 01-02-2022 (14:53:46)
libcamera build: v0.0.0+3406-e96d0201

HI, thanks for the bug report. Are you able to use gdb to capture a stack trace of the crash? That might be helpful. In any case I see a couple of crash reports have appeared while I've been away so I'll try to look at them as soon as I can.
In the meantime one might guess that the crash could be to do with the preview window. Maybe try adding the -n ("no preview") option and see if the crash disappears. Obviously that's not ideal because you won't see a preview, but it would be interesting to know.

bingo! -n is working! I guess explain why with ssh or Libcamera-raw were working because on ssh or raw you do not have a preview!

just a remark. I noticed that sometimes you get one working without -n, but if you repeat after you got the bug  all the time. If you wait a couple of hour, again work once and then bugging....

Hi, we've pusted a new version to our apt repo that fixes a segfault. Would you be able to give that a try? Thanks.

Sorry but do not understand what I shall do? Update my system will download the new version and implement it? Thanks if you can tell me what I need to do.
I will be happy to give a try but I need to access the PI and I am traveling currently. So be patient. The reason I need to physically access the PI is because I used an external PoE splitter so without the need to use a PoE HAT on the Pi itself.  That’s work fine. To test I will need to revert to the old setup.
Thanks for your assistance to that matter!
Kind regards,
=-= Jacques Masson =-=

On 6 Mar 2022, at 17:54, davidplowman @.***> wrote:
Hi, we've pusted a new version to our apt repo that fixes a segfault. Would you be able to give that a try? Thanks.
—
Reply to this email directly, view it on GitHub https://github.com/raspberrypi/libcamera-apps/issues/254#issuecomment-1059997994, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQW4B72SG647AEXNTBDTGW3U6TPNVANCNFSM5O3YRMXA.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.

Yes, if you do a system update (sudo apt update and sudo apt upgrade) that should fetch all the new stuff.

👍😎

On 8 Mar 2022, at 18:01, davidplowman @.***> wrote:
Yes, if you do a system update (sudo apt update and sudo apt upgrade) that should fetch all the new stuff.
—
Reply to this email directly, view it on GitHub https://github.com/raspberrypi/libcamera-apps/issues/254#issuecomment-1061997873, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQW4B72FURDUGL6JFMX6VPLU66BU7ANCNFSM5O3YRMXA.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.

I'll close this one down now.  If you are still having problems with the updated code, feel free to re-open.

👍
=-= Jacques =-=
Proudly sent from my iPad Pro 11!

On 18 Mar 2022, at 09:07, naushir @.***> wrote:

I'll close this one down now. If you are still having problems with the updated code, feel free to re-open.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.


[ISV-1880] Write new value for build_categories

SSIA

@Allda Could you please take a look? Should be a simple change and it'd be great if it could go to stage today.


Missing optimizerG checkpoints

Hi, thanks for your nice work. I found that the optimizerG_state_dict、optimizer_highRes_state_dict and optimizer_lowResFineTune missing. Can you share them?

These three weights are most useful when you are training IntegratedPIFu from scratch. You can comment the code parts that try to load these three weights if you are just doing inference with our pre-trained weights.


add spring configuration metadata for property names cache

What's the purpose of this PR
add spring configuration metadata for apollo.property.names.cache.enable
Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Read the Contributing Guide before making this pull request.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Write necessary unit tests to verify the code.
[x] Run mvn clean test to make sure this pull request doesn't break anything.
[x] Update the CHANGES log.

Codecov Report

Merging #3879 (82287cf) into master (7ede9d8) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #3879   +/-   ##
=========================================
  Coverage     50.14%   50.14%
  Complexity     2464     2464
=========================================
  Files           483      483
  Lines         14919    14919
  Branches       1519     1519
=========================================
  Hits           7481     7481
  Misses         6910     6910
  Partials        528      528

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 7ede9d8...82287cf. Read the comment docs.


Update rollup packages

Description
This PR update rollup packages 🎉
Upgrade to rollup v1
https://github.com/rollup/rollup/blob/master/CHANGELOG.md#breaking-changes
Changed terser
https://github.com/TrySound/rollup-plugin-uglify/releases/tag/v4.0.0
Types of changes

[x] ncu -i -u
[x] Renamed option to rollup.config.js
[x] npm install --save-dev rollup-plugin-terser
[x] npm uninstall rollup-plugin-uglify

Merged in new version.


Add Zephyr support

The zephyr project  uses kconfig similar to linux with extensions. (Both are part of the linux foundation)
This PR aims to support the zephyr extensions and increase testing coverage.
As the test shows, not everything is covered yet, but I wanted to create the PR already for some feedback.
Fixes #8

I would totally be for adding support for Zephyr's Kconfig extensions, do you still want to rebase and continue working on this @pdgendt? If not, I can finish this up

I would totally be for adding support for Zephyr's Kconfig extensions, do you still want to rebase and continue working on this @pdgendt? If not, I can finish this up

If you'd be able to help, that'd be great, I lack some experience in this area..

Done, with updated packages to crates/npm/pypi :slightly_smiling_face:


Add caching mechanism to translation process

Added an optional caching mechanism to avoid translating the same keys multiple times.
The cache key is generated using the getKey function, which creates a unique identifier for each translation based on the source string, source language and target language

Hi @nikitok, Thank you so much for your great contribution!
I will merge it soon after proper testing! Also can you please take a look at the conflicts?
Thanks.


Input characters may be garbled when running the installation interactively.

When running the installation interactively, the following input has been confirmed to be garbled

鶴ヶ島ー＞鶴ヶ��
ｱｲｳｴｵー＞ｱｲ��ｴｵ

If only garbled characters are entered, no garbling occurs.

The cause may be the process of reading from Cliffy's standard output.
The buffer size for reading a character is 8 bytes, and when reading a character that exceeds this size, it seems that the character is split in the middle of one character.
https://github.com/c4spar/deno-cliffy/blob/main/prompt/_generic_prompt.ts#L294-L305
const buffer = new Uint8Array(8);
～～～～
const nread: number | null = await Deno.stdin.read(buffer);

Proposals:
As a countermeasure, we propose to clone Deno-cliffy and use its modified version.
We have the following two suggestions for modification.

Keep buffer size large enough.

There is no standard for how much increase is sufficient, so this is only a palliative measure

Modify code to work even when split in the middle of a character.

The conversion process to keycode using parse implemented in keycode/key_code.ts of deno-cliffy exists in between. The degree of difficulty of modification is considered to be quite high.


New PR to test SignCLA at 2019-07-18 17:29:42.062249264 -0700 PDT m=+4.486025361

Body of PR

indiv-pass-staging: test succeeded


rbac\BaseManager methods visibility

Hello!
At the moment I'm working on rbac web-interface, and I've stumbled upon following problems:

I want to get all available roles and permissions and show them to user. The problem is that there is no method that can return me both permisions and roles in one array. Currently I can do this only by merging two arrays of roles and permissions:

array_merge(Yii::$app->authManager->getRoles(), Yii::$app->authManager->getPermissions());

I'm suggesting to make rbac\BaseManager::getItems($type) public and make its' argument optional, so we will be able to get all roles and permissions via Yii::$app->authManager->getItems().

The similar problem is with getItem method. If I want to get either role or permission I need to do two method call:

// try to find out if there is either role or permission with given name
if ($auth->getRole('admin') !== null && $auth->getRole('admin') !== null) {
  echo 'There is neither role nor permission with name "admin"';
}

So I'm suggesting to make rbac\BaseManager::getItem() public.

Reviewed it and decided not to make it public. Permissions and roles should be assigned separately so there should be no need to get these all on one go. Calling two methods should be fine if there's still such a need.


fix: remove socat image patch

The image setting should be done via linker at build time instead.
Signed-off-by: Matej Vasek<EMAIL_ADDRESS>

/approve

/lgtm


Common Lisp first scratch

It's outputting the time in seconds and doesn't have decimals.
 Maybe install the deps outside of the script?
   source: (ERROR "Quicklisp has already been installed. Load ~S instead."
                  SETUP-FILE)

Also getting an error on subsequent runs. Maybe install the deps outside of the script?
   source: (ERROR "Quicklisp has already been installed. Load ~S instead."
                  SETUP-FILE)

hm.. how? i run many times ./run.sh cl and all ok. We may move quicklisp installation to user and just expect it installed, but i want make it little easy.

Which OS are you on? Still having issues:
This is SBCL 2.3.11, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses.  See the CREDITS and COPYING files in the
distribution for more information.

  ==== quicklisp quickstart 2015-01-28 loaded ====

    To continue with installation, evaluate: (quicklisp-quickstart:install)

    For installation options, evaluate: (quicklisp-quickstart:help)

While evaluating the form starting at line 5, column 0
  of #P"/home/dev/projects/go/lisp/common-lisp/related.lisp":
Unhandled SIMPLE-ERROR in thread #<SB-THREAD:THREAD tid=189140 "main thread" RUNNING
                                    {10047F81D3}>:
  Quicklisp has already been installed. Load #P"/home/dev/quicklisp/setup.lisp" instead.

Backtrace for: #<SB-THREAD:THREAD tid=189140 "main thread" RUNNING {10047F81D3}>
0: (SB-DEBUG::DEBUGGER-DISABLED-HOOK #<SIMPLE-ERROR "Quicklisp has already been installed. Load ~S instead." {1002459563}> #<unused argument> :QUIT T)
1: (SB-DEBUG::RUN-HOOK *INVOKE-DEBUGGER-HOOK* #<SIMPLE-ERROR "Quicklisp has already been installed. Load ~S instead." {1002459563}>)
2: (INVOKE-DEBUGGER #<SIMPLE-ERROR "Quicklisp has already been installed. Load ~S instead." {1002459563}>)
3: (ERROR #<SIMPLE-ERROR "Quicklisp has already been installed. Load ~S instead." {1002459563}>)
4: (SB-KERNEL:WITH-SIMPLE-CONDITION-RESTARTS ERROR NIL "Quicklisp has already been installed. Load ~S instead." #P"/home/dev/quicklisp/setup.lisp")
5: (QUICKLISP-QUICKSTART:INSTALL :PATH NIL :PROXY NIL :CLIENT-URL NIL :CLIENT-VERSION NIL :DIST-URL NIL :DIST-VERSION NIL)
6: (SB-INT:SIMPLE-EVAL-IN-LEXENV (QUICKLISP-QUICKSTART:INSTALL) #<NULL-LEXENV>)
7: (SB-INT:SIMPLE-EVAL-IN-LEXENV (UNLESS (FIND-PACKAGE (QUOTE #:QL)) (QUICKLISP-QUICKSTART:INSTALL)) #<NULL-LEXENV>)
8: (EVAL-TLF (UNLESS (FIND-PACKAGE (QUOTE #:QL)) (QUICKLISP-QUICKSTART:INSTALL)) 1 NIL)
9: ((LABELS SB-FASL::EVAL-FORM :IN SB-INT:LOAD-AS-SOURCE) (UNLESS (FIND-PACKAGE (QUOTE #:QL)) (QUICKLISP-QUICKSTART:INSTALL)) 1)
10: ((LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-INT:LOAD-AS-SOURCE) (UNLESS (FIND-PACKAGE (QUOTE #:QL)) (QUICKLISP-QUICKSTART:INSTALL)) :CURRENT-INDEX 1)
11: (SB-C::%DO-FORMS-FROM-INFO #<FUNCTION (LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-INT:LOAD-AS-SOURCE) {7F449A9874CB}> #<SB-C::SOURCE-INFO {100144DE33}> SB-C::INPUT-ERROR-IN-LOAD)
12: (SB-INT:LOAD-AS-SOURCE #<SB-INT:FORM-TRACKING-STREAM for "file /home/dev/projects/go/lisp/common-lisp/related.lisp" {10014412D3}> :VERBOSE NIL :PRINT NIL :CONTEXT "loading")
13: ((LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) #<SB-INT:FORM-TRACKING-STREAM for "file /home/dev/projects/go/lisp/common-lisp/related.lisp" {10014412D3}> NIL)
14: (SB-FASL::CALL-WITH-LOAD-BINDINGS #<FUNCTION (LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) {7F449A98788B}> #<SB-INT:FORM-TRACKING-STREAM for "file /home/dev/projects/go/lisp/common-lisp/related.lisp" {10014412D3}> NIL #<SB-INT:FORM-TRACKING-STREAM for "file /home/dev/projects/go/lisp/common-lisp/related.lisp" {10014412D3}>)
15: (LOAD #P"related.lisp" :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST :ERROR :EXTERNAL-FORMAT :DEFAULT)
16: (SB-IMPL::PROCESS-EVAL/LOAD-OPTIONS ((:LOAD . "related.lisp") (:QUIT)))
17: (SB-IMPL::TOPLEVEL-INIT)
18: ((FLET SB-UNIX::BODY :IN SB-IMPL::START-LISP))
19: ((FLET "WITHOUT-INTERRUPTS-BODY-3" :IN SB-IMPL::START-LISP))
20: (SB-IMPL::%START-LISP)

unhandled condition in --disable-debugger mode, quitting

Ok, let just expect quicklisp in user machine. I update README.md and remove quicklisp and related logic from script

Sorry for the delay, I couldn't get this to work in linux so I will merge and add it to the table when I get docker working.

@jinyus did you try
> wget https://beta.quicklisp.org/quicklisp.lisp &&
> sbcl --load quicklisp.lisp --non-interactive --eval '(quicklisp-quickstart:install)' --eval '(ql:add-to-init-file)'
<Enter>

?

Got it working. But getting a stackoverflow error on last round: #493

how generate 60k posts? Or, send it here plz. I just copy content of original 5k posts upto 60k - works fine @jinyus

python gen_fake_posts.py 60000


Update NetPeer.MessagePools.cs

Added a null check. Had been experiencing exception throws by the internal network thread due to null-reference in this method.

Thanks!


Time Dimension with Leaflet Git version and non integer zoom cause flicker

Dear All,
the new beta of leaflet introduces some parameter to change granularity of zoom level (zoomDelta) and allow you to have zoom with fractional value.
When a fractional zoom level is set, the time dimension animation flicker when change step. You can see and example in the following image.

I update the Leaflet libray to 1.0.0 Rc1 but the issue still present.
Thanks

Hi all, are there any updates about this issue?
May I create a jsfiddle to show the issue?

Hi @ClaudioCas , can you check if you still have this issue?
I can't reproduce it. Example 2 now has a fractional zoom and zoomDelta, and its working.

Dear Bielfrontera,
thanks for your reply (and your great plugin).
I do some other several test and seems that the issue is not strictly releated with the fractional zoom, but probably is some bug with Leaflet/TimeDimensione and Firefox.
I have a pc with Firefox 48 and Windows 7.
In my system the issue can be reproduce with the following steps:

open example 7 with firefox http://apps.socib.es/Leaflet.TimeDimension/examples/example7.html
disable all overlay layers
enable WMOP - Salinity
click on fullscreen button
click on play button

Let me know if you can reproduce the issue and what is your opinion abut that...
Thanks
Claudio


Check dependencies license

Check all dependencies to be Apache Foundations acceptable and include discoclient source code in plugin.

I think all the non-Apache external licenses are accounted for, including the discoclient BSD license.
Closing.


Upload build early without waiting for tests on release

This is safe at least in this branch, we check the tests & we manually test.

Maybe eliminate the code coverage step too?


Add ReadTheDocs Integration using Sphinx

The Docstrings use ReStructured text to document the library, and hence should be easily parsed by
Sphinx.

Docs are now online here


README.md

fixed grammars and punctuations

@jarede-dev thanks for your PR! However, there were some reviews that requested changes and/or clarification. Could you take a look and reply or adjust your PR?

I pushed some of this in 48b77f3.


cherry-picking translations

Summary
Cherry-picking translations from master
Related Pull Requests
https://github.com/mattermost/mattermost-webapp/pull/12322/files
Screenshots
Release Note
NONE

Hello @ctlaltdieliet,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.

E2E tests not automatically triggered, because PR has no approval yet. Please ask a developer to review and then try again to attach the QA label.

@m1lt0n Please help merge this PR.


Design System > Elements > Text changes in element name

1] Text changes in element Name -
dropdown =  dropdown button
Illustration  = Empty State

Text changes in element Name -
Verified on dropdown = Dropdown Button

Empty State stories naming issue element name and stories name is different.

@trivenikulkarni  @rameshwarkamandar
I have updated the illustraion to Empty State in both the position.

Fixed on staging


refactor: use generics to improve type declarations for async/if then

Resolves #1096
Description

What is the purpose of this pull request?

This pull request:

Adds generics for improved type safety for the ifthenAsync function.
Uses generic parameter defaults for optional generic types U & V.

Related Issues

Does this pull request have any related issues?

This pull request:

resolves #1096

Questions

Any questions for reviewers of this pull request?

No.
Other

Any other information relevant to this pull request? This may include screenshots, references, and/or implementation notes.

No.
Checklist

Please ensure the following tasks are completed before submitting this pull request.

[x] Read, understood, and followed the contributing guidelines.

@stdlib-js/reviewers

@Planeshifter Would you mind reviewing this?


Fix: Request Streaming back pressure

Fixes #1187

Codecov Report

Merging #1188 (57a180f) into main (fe757b0) will decrease coverage by 0.14%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main    #1188      +/-   ##
==========================================
- Coverage   58.42%   58.28%   -0.15%
==========================================
  Files          74       74
  Lines        2456     2462       +6
  Branches       78       82       +4
==========================================
  Hits         1435     1435
- Misses       1021     1027       +6

Impacted Files
Coverage Δ

zio-http/src/main/scala/zhttp/http/HttpData.scala
66.66% <0.00%> (-6.67%)
: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 fe757b0...57a180f. Read the comment docs.

I tried this PR with this test code —

object RequestStreaming extends App {

  // Create HTTP route which echos back the request body
  val app = Http.collectZIO[Request] { case req @ Method.PUT -> !! / "echo" =>
    // Returns a stream of bytes from the request
    // The stream supports back-pressure
    // val stream = req.bodyAsStream

    // Creating HttpData from the stream
    // This works for file of any size
    // val data = HttpData.fromStream(stream)

    for {
      byteCount <- req.bodyAsStream.run(
        ZSink.fromOutputStream(
          new BufferedOutputStream(new FileOutputStream("target/test")),
        ),
      )

    } yield Response.text(s"$byteCount stored")
  }
  // Run it like any simple app
  override def run(args: List[String]): URIO[zio.ZEnv, ExitCode] =
    Server.start(8090, app).exitCode
}

The source file uploaded and the final file that's created had different checksums @gciuloaica we might have to debug this further I think.

@tusharmath based on some debug, the issue is not in zio-http but in zio I guess:
ZStream       .fromFile(Paths.get("/Users/gciuloaica/1g.img"))       .run(ZSink.fromOutputStream(new BufferedOutputStream(new FileOutputStream("target/test"))))
This code will generate a file with a different size than original and implicitly a different hash.

I tried this PR with this test code —
  val app = Http.collectZIO[Request] { case req @ Method.PUT -> !! / "echo" =>
    for {
      byteCount <- req.bodyAsStream.run(
        ZSink.fromOutputStream(
          new BufferedOutputStream(new FileOutputStream("target/test")),
        ),
      )

    } yield Response.text(s"$byteCount stored")
  }

The source file uploaded and the final file that's created had different checksums @gciuloaica we might have to debug this further I think. I tried it with a 1GB file.

@tusharmath the issue is generated by usage of BufferedOutputStream. If you remove it or replace it with ZSink.fromFile or either provide a buffer size to it equal with the Chunk size, then the size and hash of the output file will be identical with the input file.


Graph Editor cannot be dragged.

Enviroment: Unity 2019.2.1f1
Question: When there are many objects in UnityEvent, I want to drag to see the event notification channel, but I can't do it.

Hi!
You should be able to drag the window using the Middle Mouse Button. I tested in 2017 and 2019.4 as well and never seen this not working.
https://i.gyazo.com/43b4dcd1a8ce5948fb82050b90034d55.mp4

Thank you! I just know how to use this.


"TRex" can access this computer's screen and audio

permission granted, but the error still comes out.
macOS Version 15.0 Beta (24A5279h)

All apps that access screen recording APIs are doing this on BETA now, I didn't have time to look into it and not planning to until later in the BETA cycle.

Documenting the story https://sixcolors.com/post/2024/08/apples-permissions-features-are-out-of-balance/

The issue became less jarring as of the latest beta; now you have an option "Allow for a Month". Keeping my fingers crossed for a better solution from Apple
https://9to5mac.com/2024/08/14/macos-sequoia-screen-recording-prompt-monthly/

Closing, nothing I can do here


Allow hosting as sub-directory on nginx

The project can only be hosted as root. (https://my-website.io/) or as root of a sub-domain (https://appliweb.my-website.io).
It should be possible to host it as sub-directory (https://my-webiste.io/appliweb). This is not working, as the links are referencing relatively, but still from the root. E.g.: The locales are expected to be found at ./locales/en/... = https://my-website.io/appliweb .

$PUBLIC_URL is set via the variable package.json#homepage
18next is now looking for the locales at $PUBLIC_URL/locales...
Routes are generated at $PUBLIC_URL/<route>
Footer-Navigation will follow the $PUBLIC_URL, too

With those changes, it is possible to change package.json#homepage to include the sub-directory, where appliweb is deployed.


Steam Two Factor Code

Check if the Code is transmitted in lowercase/uppercase in requests. Probably some steam related error.

Not transmitted uppercase so its fine.


Initial update for commerceguys/intl v1.0.0

Hi,
commerceguys/intl v1.0.0 is now out, and has breaking changes. Sorry about that.
I've had trouble understanding the full structure of your code, but I've made some initial fixes for you to use as a base:

Countries have moved to commerceguys/addressing, so I've added that library, and updated the references.

Repositories now take the default locale and fallback locale as constructor params, the methods have been removed. The locale can also be given to the individual methods. I've updated the service provider, but the individual facades will also need updating.

NumberFormatter has been split into NumberFormatter and CurrencyFormatter. I've updated the usage, but didn't know how to get the locale that needs to be passed along.

Thanks. This will provide a good starting point.


Update programming.md

Added Flutter Topic and Github Resource list in Programming.md file

{Write down the list of resources or topics you have added.}
{If you have added a resource, please explain your experience with the resource in context of why you have added it.}

By submitting this pull request I confirm I've read and complied with the below requirements.
Failure to properly do so will just result in the pull request being closed and everyone's time wasted.

[ ] I have read the Contribution guidelines and made sure my pull request follows it, specifically the part about promotions and markdown format.
[ ] Any resources I am adding in this PR have been used by me and I can personally vouch for their quality.
[ ] This pull request has a descriptive title. For example, Add [Resource Name] or Add [Topic Name], not Added new entries or update.
[ ] I have double checked that I have only updated the minimum files that are required by this PR.

Updated


Selective re-rendering for multi vector layer maps for high performance animations.

I'm building an animation where thousands of points move along thousands of multi segment paths
My animation tweening for moving points in a vector layer is working well in isolation and rendering at a good ~60fps in isolation.
However, when I add another vector layer to show the paths (static LineStrings), the performance drops.
My path LineStrings are unchanging, and from looking at the performance drop I'm guessing my path layer is being re-rendered along with my moving points layer. I haven't found anything in the docs yet that could let me decouple the need for these layers to re-render. Is there an approach that I've missed?
If this decoupling is currently unsupported, perhaps there's a route forward using layer rasterization/caching.
Static vector layers we could be rastered and stored in into a reused image buffer (with alpha). Then when another layer is re-rendering rapidly without any change in viewport, we can pull from this cache during the multilayer render process.
Would anyone like to collaborate in trying this out?

One thing you can do is render the layer with the LineStrings with an ol/layer/VectorImage instead of ol/layer/Vector. This will cache the rendered linestrings on a canvas that can be drawn much faster.

Many thanks ahocevar. I'll give this a try!

This has done the trick, Excellent suggestion!
Is there any documentation I missed on the different vector layer types / their use cases? I'd be interested to read about the pro-cons of the different options!


Image Crop+ not working

Image Crop+ not working as you can see in the screenshot.

the image might be smaller than 1024 on any side maybe

let me see

Yes, looks like the image was too small, thanks!


Handle assumed_state switches

Fixes esphome/issues#4001
Correctly handle assumed_state switches in Web UI
Note:
Could not find propper symbols for 'on' / 'off' so had to settle for the cross & checkmark emoji, as text in the buttons also does not seem to look right. Open to other suggestions of course! ;)

Latest deploy log | https://app.netlify.com/sites/esphome-webserver/deploys/63b56b4da6cf8500096ad44a
Looking here there is an error in the deploy:
1:04:49 AM: > bash -c './scripts/make_header.sh _static/v2 server_index.h web_server'
1:04:49 AM: ./scripts/make_header.sh: line 12: xxd: command not found
xxd is used to make the v2 server_index.h file used for making self-container versions of the server without external links - so this should be investigated!

@wilberforce, That looks like a separate issue since no changes were made to that script. Though it's quite interesting that the build checks pass when the script is failing 🤔.
In the meantime, would you be so kind to review the proposed changes?

@wilberforce, could you review these proposed changes and perhaps enlighten me about the workflows used as requested in #26?


Persistent caching errors when a packfile is > 2GB

Bug report

What is the current behavior?
We have a large app in a monorepo. Turning on filesystem caching for the client bundle is fine and shows great speed improvement. With SSR, we have ~100 entrypoints - the first run appears to cache without error, but on warm runs (with no code changes) we've observed errors thrown from a number of different places (seeming to depend on the size and state of master, and perhaps other settings/package bumps). I would guess however that all are the same root cause having to do with the caching going bad somewhere.
Example errors - in each case I'm just posting the first of thousands that spam the console:
<t> [webpack.cache.PackFileCacheStrategy] restore cache content 1 (78.5 MiB): 1139.633175 ms
    [webpack.cache.PackFileCacheStrategy] starting to restore cache content 2 (2.03 GiB) because of request to: Compilation/codeGeneration|/PATH/TO/PROJECT/node_modules/babel-loader/lib/index.js??ruleSet[1].rules[0]!/PATH/TO/PROJECT/packages/react-component/src/components/Component/index.js|ssr-0
<w> [webpack.cache.PackFileCacheStrategy] Restoring failed for Compilation/codeGeneration|/PATH/TO/PROJECT/node_modules/babel-loader/lib/index.js??ruleSet[1].rules[0]!/PATH/TO/PROJECT/packages/react-component/src/components/Component/index.js|ssr-0 from pack: TypeError: Cannot read property 'map' of undefined
    [webpack.cache.PackFileCacheStrategy] TypeError: Cannot read property 'map' of undefined
        at /PATH/TO/PROJECT/node_modules/webpack5/lib/cache/PackFileCacheStrategy.js:787:22

<t> [webpack.cache.PackFileCacheStrategy] restore cache content 3 (112 MiB): 450.47154 ms
    [webpack.cache.PackFileCacheStrategy] starting to restore cache content 4 (6.01 GiB) because of request to: Compilation/codeGeneration|/PATH/TO/PROJECT/node_modules/cache-loader/dist/cjs.js??ruleSet[1].rules[3].oneOf[2].use[0]!/PATH/TO/PROJECT/node_modules/css-loader-for-wp5/dist/cjs.js??ruleSet[1].rules[3].oneOf[2].use[1]!/PATH/TO/PROJECT/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].oneOf[2].use[2]!/PATH/TO/PROJECT/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[3].oneOf[2].use[3]!/PATH/TO/PROJECT/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[3].oneOf[2].use[4]!/PATH/TO/PROJECT/node_modules/LIB/lib/FILE.scss|ssr-0
<w> [webpack.cache.PackFileCacheStrategy] Restoring failed for Compilation/codeGeneration|/PATH/TO/PROJECT/node_modules/cache-loader/dist/cjs.js??ruleSet[1].rules[3].oneOf[2].use[0]!/PATH/TO/PROJECT/node_modules/css-loader-for-wp5/dist/cjs.js??ruleSet[1].rules[3].oneOf[2].use[1]!/PATH/TO/PROJECT/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].oneOf[2].use[2]!/PATH/TO/PROJECT/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[3].oneOf[2].use[3]!/PATH/TO/PROJECT/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[3].oneOf[2].use[4]!/PATH/TO/PROJECT/node_modules/LIB/lib/FILE.scss|ssr-0 from pack: Error: Unexpected end of stream
    [webpack.cache.PackFileCacheStrategy] Error: Unexpected end of stream
        at ensureBuffer (/PATH/TO/PROJECT/node_modules/webpack5/lib/serialization/BinaryMiddleware.js:588:11)
        at read (/PATH/TO/PROJECT/node_modules/webpack5/lib/serialization/BinaryMiddleware.js:601:4)
        at Array.<anonymous> (/PATH/TO/PROJECT/node_modules/webpack5/lib/serialization/BinaryMiddleware.js:909:21)
        at BinaryMiddleware._deserialize (/PATH/TO/PROJECT/node_modules/webpack5/lib/serialization/BinaryMiddleware.js:936:26)
        at /PATH/TO/PROJECT/node_modules/webpack5/lib/serialization/BinaryMiddleware.js:557:9
        at /PATH/TO/PROJECT/node_modules/webpack5/lib/serialization/SerializerMiddleware.js:123:27

<t> [webpack.cache.PackFileCacheStrategy] restore cache content 3 (109 MiB): 445.1846 ms
    [webpack.cache.PackFileCacheStrategy] starting to restore cache content 4 (5.94 GiB) because of request to: Compilation/codeGeneration|/PATH/TO/PROJECT/node_modules/cache-loader/dist/cjs.js??ruleSet[1].rules[3].oneOf[2].use[0]!/PATH/TO/PROJECT/node_modules/css-loader-for-wp5/dist/cjs.js??ruleSet[1].rules[3].oneOf[2].use[1]!/PATH/TO/PROJECT/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].oneOf[2].use[2]!/PATH/TO/PROJECT/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[3].oneOf[2].use[3]!/PATH/TO/PROJECT/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[3].oneOf[2].use[4]!/PATH/TO/PROJECT/packages/react-component/src/components/Icon/Icon.scss|ssr-1
<w> [webpack.cache.PackFileCacheStrategy] Restoring failed for Compilation/codeGeneration|/PATH/TO/PROJECT/node_modules/cache-loader/dist/cjs.js??ruleSet[1].rules[3].oneOf[2].use[0]!/PATH/TO/PROJECT/node_modules/css-loader-for-wp5/dist/cjs.js??ruleSet[1].rules[3].oneOf[2].use[1]!/PATH/TO/PROJECT/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].oneOf[2].use[2]!/PATH/TO/PROJECT/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[3].oneOf[2].use[3]!/PATH/TO/PROJECT/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[3].oneOf[2].use[4]!/PATH/TO/PROJECT/packages/react-component/src/components/Icon/Icon.scss|ssr-1 from pack: Error: Unexpected end of object at position 1621788
    [webpack.cache.PackFileCacheStrategy] Error: Unexpected end of object at position 1621788
        at decodeValue (/PATH/TO/PROJECT/node_modules/webpack5/lib/serialization/ObjectMiddleware.js:608:12)
        at ObjectMiddleware.deserialize (/PATH/TO/PROJECT/node_modules/webpack5/lib/serialization/ObjectMiddleware.js:720:17)
        at /PATH/TO/PROJECT/node_modules/webpack5/lib/serialization/ObjectMiddleware.js:711:19
        at /PATH/TO/PROJECT/node_modules/webpack5/lib/serialization/SerializerMiddleware.js:123:27

<w> [webpack.cache.PackFileCacheStrategy] Restoring failed for RealContentHashPlugin|generate|page-title.HASH.INCOMPLETE.js from pack: Error: Unexpected header byte 0x1c
    [webpack.cache.PackFileCacheStrategy] Error: Unexpected header byte 0x1c
        at Array.<anonymous> (/PATH/TO/PROJECT/node_modules/webpack5/lib/serialization/BinaryMiddleware.js:917:14)
        at BinaryMiddleware._deserialize (/PATH/TO/PROJECT/node_modules/webpack5/lib/serialization/BinaryMiddleware.js:936:26)
        at /PATH/TO/PROJECT/node_modules/webpack5/lib/serialization/BinaryMiddleware.js:557:9

Believe we also got a TypeError: Cannot read property 'deserialize' of undefined at some point.
I tried bisecting our bundles to see if there was a bad one. As far I can tell there is not, but this did reveal that when we build a "small" enough number of bundles (25-40 out of the 100 depending on size) everything seems to be fine. Finally I tracked down what I think is a big clue; if one of the pack files is > 2GB, that's when we get a problem.
webpack_saved_good_cache/default-production$ ls -s
total 1930004
  67008 0.pack   101596 2.pack     7752 4.pack    35160 index.pack
  98896 1.pack  1571280 3.pack    13168 5.pack    35144 index.pack.old

webpack_saved_bad_cache/default-production$ ls -s
total 6592188
  53128 0.pack    25004 2.pack  6302896 4.pack
  49540 1.pack   114892 3.pack    46712 index.pack

I did experiment with the number of entrypoints to make a packfile just over or under 2GB (the examples above are more extreme) and that seems to be the key factor. Note also in console errors that the preceding starting to restore cache content 2 (2.03 GiB) line is always > 2GB. This all seems like it could be closely related to https://github.com/webpack/webpack/issues/12126 and https://github.com/webpack/webpack/pull/12191. However it is certainly possible this is a coincidence or red herring.
If the current behavior is a bug, please provide the steps to reproduce.
Given the complexity/size of our app and config I'm not sure I'll be able to provide a repro but I'll give what I can if you need it.
What is the expected behavior?
Persistent caching on a large app should work with no or minimal errors
Other relevant information:
webpack version:  5.62.1 (also tried out 5.64.4)
Node.js version: 14.9.0
Operating System: MacOS
Originally posted by @jpm4 in https://github.com/webpack/webpack/discussions/14906

@jpm4 When you do initial run, do you have any warnings/errors in console?

@alexander-akait Here's all the snipped output that has warnings. Only including part of the Serialization timings for the one chunk that gets an "e". All seems okay?
    [webpack.cache.PackFileCacheStrategy] No pack exists at /PATH/TO/PROJECT/node_modules/.cache/webpack/default-production.pack: Error: ENOENT: no such file or directory, stat '/PATH/TO/PROJECT/node_modules/.cache/webpack/default-production/index.pack'
<t> [webpack.cache.PackFileCacheStrategy] restore cache container: 28.606084 ms
(node:27499) [DEP_WEBPACK_CHUNK_ENTRY_MODULE] DeprecationWarning: Chunk.entryModule: Use new ChunkGraph API
(Use `node --trace-deprecation ...` to show where the warning was created)
    [IdleFileCachePlugin] Initial cache was generated and cache will be persisted in 5s.
104 assets
webpack 5.62.1 compiled successfully in 333560 ms
    [webpack.cache.PackFileCacheStrategy] Pack got invalid because of write to: ResolverCachePlugin|normal|dependencyType=|esm|path=|/PATH/TO/PROJECT|request=|/PATH/TO/PROJECT/ssr_build/bundle.entrypoint.js
    [webpack.cache.PackFileCacheStrategy] Storing pack...

...

<i> [webpack.cache.PackFileCacheStrategy] Serialization of 'Compilation/assets|chunk2740': 23.411811 ms
<w> [webpack.cache.PackFileCacheStrategy] Serialization of 'Compilation/assets|chunk7474': 67.347718 ms
<i> [webpack.cache.PackFileCacheStrategy] Serialization of 'Compilation/assets|chunk4404': 33.046051 ms
<i> [webpack.cache.PackFileCacheStrategy] Serialization of 'Compilation/assets|chunk7722': 12.504704 ms
<e> [webpack.cache.PackFileCacheStrategy] Serialization of 'Compilation/assets|chunk5582': 687.817502 ms
<w> [webpack.cache.PackFileCacheStrategy] Serialization of 'Compilation/assets|chunk7577': 116.515566 ms
<w> [webpack.cache.PackFileCacheStrategy] Serialization of 'Compilation/assets|chunk2300': 473.816958 ms
<i> [webpack.cache.PackFileCacheStrategy] Serialization of 'Compilation/assets|chunk7192': 28.35929 ms

...

<t> [webpack.cache.PackFileCacheStrategy] store pack: 95405.54266 ms
    [webpack.cache.PackFileCacheStrategy] Stored pack (199849 items, 5 files, 6392 MiB)
(node:27474) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `node --trace-deprecation ...` to show where the warning was created)

DeprecationWarning: Chunk.entryModule: Use new ChunkGraph API

It can be problem... Can you trace deprecation problems? Because using deprecation API can break cache potentially, maybe some plugin(s) doesn't support webpack5?

@jpm4 Oh, I see other problem - cache-loader, remove it, cache-loader is not supported by webpack v5, even more you don't need it, webpack v5 has built-in cache, I try to reproduce the problem locally, but no luck, even with very very very big files

If you set cache: { type: "filesystem" } you should not use cache-loader, it doesn't even make any sense and will lead to big performance losses

This sounds more like a problem in webpack rather than your configuration...

I am afraid that cache-loader can break module, we have a lot of dirty solution in code

@alexander-akait we removed cache-loader entirely and still see the errors

Just for information and ideas, can you run npx webpack-cli info?

@alexander-akait here it is:
$ yarn run webpack-cli info

  System:
    OS: Linux 5.4 Ubuntu 18.04.5 LTS (Bionic Beaver)
    CPU: (32) x64 Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
    Memory: 36.72 GB / 248.97 GB
  Binaries:
    Node: 14.9.0 - /nail/tmp/xfs-11e0c4c2/node
    Yarn: 3.0.0-rc.12 - /nail/tmp/xfs-11e0c4c2/yarn
    npm: 6.14.8 - /opt/nodejs/node-v14.9.0/bin/npm
  Monorepos:
    Yarn Workspaces: 3.0.0-rc.12
    Lerna: 3.18.3
  Packages:
    babel-plugin-smart-webpack-import: ^2.0.0 => 2.0.0
    loader-utils: ^2.0.0 => 2.0.0
    webpack-cli: ^4.9.1 => 4.9.1

(apologies for OS oversight in initial report, hopefully doesn't all come down to that!)

Very strange what you don't have plugins and loaders here, only loader-utils, maybe you have mono repo? If yes, can you go to the main project (where if get the problem with cache) and run the same in this directory?

@alexander-akait yes this is a monorepo however this is already in the main project root. The full list may be hidden because we wrap webpack? Do you want plugin/loader list and versions?

Yes, npx webpack-cli info should collect them, without sensitive information

Also there is one interesting thing - Yarn: 3.0.0-rc.12, can you try npm/yarn/yarn v2, just ensure no problems with yarn

@alexander-akait here are dependencies with webpack or plugin or loader:
    "@loadable/webpack-plugin": "^5.15.1",
    "@mxmul/webpack-s3-plugin": "^1.0.1",
    "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3",
    "@sharkcore/webpack-assets-manifest": "^1.0.0",
    "babel-loader": "^8.2.3",
    "babel-plugin-smart-webpack-import": "^1.5.2",
    "css-loader": "^6.5.1",
    "css-minimizer-webpack-plugin": "^3.2.0",
    "eager-imports-webpack-plugin": "^1.0.0",
    "file-loader": "^6.2.0",
    "mini-css-extract-plugin": "^2.4.5",
    "postcss-loader": "^6.2.1",
    "resolve-url-loader": "^3.1.2",
    "sass-loader": "^12.4.0",
    "style-loader": "^3.3.1",
    "terser-webpack-plugin": "^5.2.5",
    "webpack-assets-manifest": "^5.0.6",
    "webpack-bundle-analyzer": "^4.4.2",
    "webpack-dev-server": "^4.6.0",
    "webpack-inject-plugin": "^1.5.5",
    "webpack-merge": "^4.1.0",
    "webpack-s3-plugin": "^1.2.0-rc.0",
    "webpack": "^5.65.0",
    "webpackbar": "^5.0.2"

Regarding yarn, to clarify - we are not using PnP, just regular node_modules. We could attempt to test a downgrade but might be non-trivial given the number of recent bug fixes etc. we rely on. Is there a specific hypothesis regarding node_modules structure or something similar? I will also look at latest/non-rc version.

Is there a specific hypothesis regarding node_modules structure or something similar?

Should be no, but yarn register own hooks on Node.js side, some things can be different, but if you don't use PnP, all should work without problems, anyway will be great to check it.
Does the problem happen only for development or 'production', or for both? Most of plugins look good and up to day. Anyway we can check them too, just try to disable plugins and check it. We should check it out too.
Also can you add console.log to BinaryMiddleware.js:917:14 and check what data is there. This may give ideas too.

development and production both. Changing settings does produce different errors though, here's a new one that I mentioned but didn't have a full log for above:

<w> (during deserialization of unknown)
<w> (during deserialization of Object)
<w> (during deserialization of webpack/lib/util/registerExternalSerializer webpack-sources/CachedSource)
    [webpack.cache.PackFileCacheStrategy] TypeError: Cannot read property 'deserialize' of undefined
    (during deserialization of unknown)
    (during deserialization of Object)
    (during deserialization of webpack/lib/util/registerExternalSerializer webpack-sources/CachedSource)
        at decodeValue (/PROJ_ROOT/node_modules/webpack5/lib/serialization/ObjectMiddleware.js:660:31)
        at read (/PROJ_ROOT/node_modules/webpack5/lib/serialization/ObjectMiddleware.js:589:12)
        at PlainObjectSerializer.deserialize (/PROJ_ROOT/node_modules/webpack5/lib/serialization/PlainObjectSerializer.js:67:16)
        at decodeValue (/PROJ_ROOT/node_modules/webpack5/lib/serialization/ObjectMiddleware.js:660:31)
        at read (/PROJ_ROOT/node_modules/webpack5/lib/serialization/ObjectMiddleware.js:589:12)
        at CachedSourceSerializer.deserialize (/PROJ_ROOT/node_modules/webpack5/lib/util/registerExternalSerializer.js:58:23)
        at decodeValue (/PROJ_ROOT/node_modules/webpack5/lib/serialization/ObjectMiddleware.js:660:31)
        at ObjectMiddleware.deserialize (/PROJ_ROOT/node_modules/webpack5/lib/serialization/ObjectMiddleware.js:720:17)
        at /PROJ_ROOT/node_modules/webpack5/lib/serialization/ObjectMiddleware.js:711:19
        at /PROJ_ROOT/node_modules/webpack5/lib/serialization/SerializerMiddleware.js:123:27

The line you mentioned logs nothing because I can't repro that particular error at the moment. In the current state the main one I'm seeing is the one from node_modules/webpack5/lib/serialization/BinaryMiddleware.js:588 (pasted in a post above). I logged data and context from there but doesn't seem too useful. Do you want me to drill into any of this or log something else?

data:  [
  <Buffer 02 10 a7 77 65 62 70 61 63 6b 2f 6c 69 62 2f 63 61 63 68 65 2f 50 61 63 6b 46 69 6c 65 43 61 63 68 65 53 74 72 61 74 65 67 79 90 50 61 63 6b 43 6f 6e ...<PHONE_NUMBER> more bytes>,
  <Buffer 2e 65 78 70 6f 72 74 73 2e 70 61 72 73 65 75 6e 64 65 66 69 6e 65 64 31 35 34 38 31 35 36 39 6d 6f 64 75 6c 65 2e 65 78 70 6f 72 74 73 2e 63 6f 6d 70 ...<PHONE_NUMBER> more bytes>
]
context:  {
  filename: '/PROJ_ROOT/node_modules/.cache/webpack/default-production/index.pack',
  extension: '.pack',
  logger: WebpackLogger {
    getChildLogger: [Function (anonymous)],
    [Symbol(webpack logger raw log method)]: [Function (anonymous)],
    [Symbol(webpack logger times)]: Map(1) { 'restore cache content 5 (6.16 GiB)' => [Array] }
  },
  profile: true,
  retainedBuffer: undefined
}

Any particular plugins you would tackle first for disabling?

@jpm4 hm, webpack has webpack5 name, it can be problem with non official plugins... if you have webpack v4 and webpack 5 and some of them use require('webpack') and wait webpack v4, it can be problem...
Can you show data buffer (i.e. run toString on each item in data), I want to look what is stored there

@alexander-akait First item: Uwebpack/lib/cache/PackFileCacheStrategy�PackContentItems
Second item (truncated and sanitized):
gICA<snip tons of characters>iXX0= */"),
    src: src,
    more: props,
    ...

moreReact

...

ReactComponent.defaultProps = {
  default: props
  ...
};
export default ReactComponent;�'

This is all code from a react component library inside the monorepo. This chunk appears to start midway through the module and continues to the end. Anything in particular that could be suspicious in here that I can give more info on? Do you expect this particular piece of data might be a problem, or is this chunk just random?
It might be some time until we can get to your other suggestions with holidays coming up etc.

I think we have some unexpected value in data, maybe related to unicode characters or weird characters (it can be generated by babel or webpack itself), this is why the logging looks strange, let's look on another thing, can you show data from https://github.com/webpack/webpack/blob/main/lib/serialization/BinaryMiddleware.js#L226, because it can be long and can contain sensitive data (I want to look at whole data file on unexpected characters), can send me this file at sheo13666q @ gmail . com, if you can please remove any sensitive data if you have - tokens, access keys and etc

[webpack.cache.PackFileCacheStrategy] TypeError: Cannot read property 'deserialize' of undefined
(during deserialization of unknown)
(during deserialization of Object)

That unknown is interesting here. It means there is not (de)serializer for an entry in the cache file, but that should actually in an error earlier. So it's probably a relative reference to an already used serializer that was somehow messed up and lead to undefined... So maybe the number was messed up at the 2gb boundary...

btw. we have a test case with a 4gb cache file in the test suite that seem to work fine

Yep, sounds like a bug

I think I'm reproduced this bug.. or another one..


Enable Ignored Tests

Co-Authored-By: Georg Berky<EMAIL_ADDRESS>

Codecov Report

Merging #33 (d24bf1e) into master (a47b99b) will increase coverage by 9.63%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master      #33      +/-   ##
============================================
+ Coverage     37.95%   47.59%   +9.63%
- Complexity       24       27       +3
============================================
  Files            10       10
  Lines           166      166
  Branches          9        9
============================================
+ Hits             63       79      +16
+ Misses           98       83      -15
+ Partials          5        4       -1

Impacted Files
Coverage Δ

...erky/maven/plugins/depsupdate/NativeGitProvider.kt
100.00% <0.00%> (+57.14%)
:arrow_up:

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 a47b99b...d24bf1e. Read the comment docs.


Pre-action isn't triggered if sensor is initially above start threshold

Is your feature request related to a problem? Please describe.
The pre-action isn't triggered if sensor is initially above start threshold.
I'm trying to use this automation to detect when my cats unplug their water fountain by pulling the DC cord.
The normal state is for it to consume 1W continuously.
Watts go to 0.1 if the cats unplug the fountain.
I set a post-action to notify me when the fountain has been unplugged.

alias: Cat fountain unplugged
description: ""
use_blueprint:
  path: metbril/appliance_has_finished.yaml
  input:
    power_sensor: sensor.cat_fountain_current_consumption
    starting_hysteresis:
      hours: 0
      minutes: 1
      seconds: 0
    starting_threshold: 1
    finishing_threshold: 0.1
    finishing_hysteresis:
      hours: 0
      minutes: 1
      seconds: 0
    actions:
      - service: notify.mobile_app_sm_s908u
        data:
          message: Cat fountain unplugged.
    pre_actions:
      - service: script.no_op_nop_one_second_delay
        data: {}

The problem is that if the fountain is already on (and consuming >=1W) when the automation is installed, the pre-action doesn't appear to get triggered. And because of this, the post-action cannot get triggered either.
The automation appears to require the watts to cross from <1W to >1W in order to trigger the pre-action. But that doesn't work for something like this pump that's expected to be on all the time.
Describe the solution you'd like
Ideally, in this case, if the watts are above the "starting threshold", the pre-action should be triggered immediately upon installing the automation.
Describe alternatives you've considered
None.
Additional context
Another confusing part is debugging this. When sorting by "last triggered" in HomeAssistant, the date/time shown is that of when the starting_threshold is crossed. But what I really want to see is when the finishing_threshold is crossed.

So, I looked into this some more. It looks like this is because the "numeric_state" trigger only works if the value crosses the threshold. It doesn't work if the initial state is already above/below the threshold that is set.
For my cat's fountain pump, I managed to do what I wanted with this simpler automation that doesn't require your blueprint :
alias: Cat fountain unplugged
description: ""
trigger:
  - platform: numeric_state
    entity_id: sensor.cat_fountain_current_consumption
    for:
      hours: 0
      minutes: 0
      seconds: 1
    below: 1
condition: []
action:
  - service: notify.mobile_app_sm_s908u
    data:
      message: Cat fountain unplugged
mode: single

However, there are other use cases with other appliances that are not so easily resolved.
For example, my dishwasher normally consumes under 1W idle. It'll go anywhere from 2-1500W during the cycle.
If one edits the automation in the middle of the cycle, or restarts Home Assistant in the middle of the cycle, because the sensor is already >2W and isn't crossing the threshold, the automation won't detect that the appliance is on, and won't move to the "pre-action" state at all. And thus, the (post)-"action" can never be run either ...
The same is true for pretty much any other appliance, if you end up restarting HA. If you have a lot of power sensors, as I do, the likelihood that one device is actually running while restarting HA approaches 100%.
What is needed is the ability to check if an appliance stays above a threshold X for duration Y, without also requiring it to be below threshold X to start the count. platform: numeric_state trigger in HA doesn't work this way, as it requires crossing the threshold to trigger. Is there perhaps another trigger that will work ? Or is this really a feature request for HA ?

They're probably multiple ways to do this. One of them is to create a template sensor like this one from my configuration.
https://github.com/metbril/home-assistant-config/blob/main/entities/template/binary_sensor/washing_machine_running.yaml

Thanks. I really appreciate your help ! BTW, I was using the sbyx version until yesterday - your version is much better.
I'm not sure I fully understand the syntax for that binary sensor. It may work for simple cases like my dishwasher that strictly go down to a given threshold after the cycle is complete. Is there a way to create a blueprint with both the binary sensor and the actions ? I was hoping to manage it all through the GUI, in one screen per appliance, like this blueprint purports to allow. I was
For the washing machine, it is a more complicated case, I'm afraid, in part due to the optional Tumblefresh features that keeps it spinning once every 5 minutes for a few seconds at the end of the cycle, to keep the clothes from rotting in the remaining water. I wouldn't want this to be viewed incorrectly as an "appliance has started" event. My rice cooker has the same problem. It starts heating again at the end of the cycle to keep the rice warm.
Using this blueprint, for the clothes washer, I have managed to deal with that by having the finishing_hysteresis set to 4 minutes.
The automation works fine, unless I restart HA in the middle of the wash cycle, and then it fails to pick up the start of the appliance, because the watt sensor is already above the starting watts threshold.

Please let me know if you still need help with this.
To monitor a drop of power (e.g. power = 0 W), you could also use my Actionable Alert blueprint.


Check Even or Odd number

Description
Input  : 3
Output : Odd Number

Program added successfully :tada:
Thanks for your contribution :hugs:


Failed notifications won't disappear

When I have some command that returns a non-zero status, the notification stays on the screen forever, until I manually close it. I'm using done with KDE Plasma, under Arch Linux, and this only happens for notifications of this package.

It's probably because they are tagged as "critical". Look if there is a setting under KDE or the program used to display notifications to change the timeout of critical notifications.

Indeed there's a setting for the notifications timeout in KDE, which is by default configured to 6 seconds, but it doesn't seem to have setting related to "critical". So you believe this is a KDE issue?

The current behavior is defined in the specification. Look at urgency levels. And failed commands being critical seams sane for me, it's actually what i want. I think it's weird KDE does not have a configuration option for that, as every program for notifications I have used have something like that and KDE usually has a lot of customization afaik. I think an option for customization fits well in both sides tho.

Indeed KDE is very customizable, but it doesn't seem to have anything related to critical notifications not disappearing.
These are the options I have on my system settings:

I tried messing around with them but the notification just won't go away by itself. But you are right, this issue is not related to this package. I tested with notify-send -u critical and the same problem happens. I'll ask this on a KDE forum to make sure I'm not missing anything.

Could we close this issue as it is not related to this package?


Codecov Report

Merging #113 (33c2c86) into main (ff752b8) will not change coverage.
Report is 14 commits behind head on main.
The diff coverage is 93.61%.

:exclamation: Current head 33c2c86 differs from pull request most recent head f2a85fd. Consider uploading reports for the commit f2a85fd to get more accurate results

@@           Coverage Diff           @@
##             main     #113   +/-   ##
=======================================
  Coverage   77.42%   77.42%
=======================================
  Files          18       18
  Lines        1869     1869
=======================================
  Hits         1447     1447
  Misses        310      310
  Partials      112      112

Files
Coverage Δ

pkg/cgroups/cgroupblkio.go
91.54% <100.00%> (ø)

pkg/blockio/blockio.go
70.81% <82.35%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

ping @askervin


orphaned app when canceling destroy deployment in Version 0.15.3

steps:

create app
destroy it (removes it from applications view)
cancel its destruction before it completes (removes it from deployments view)

all un-destroyed tasks for the app are currently orphaned, still running in mesos

When the periodic task reconciliation detects this, the orphaned app tasks will be killed. See command line flags.

--reconciliation_initial_delay (Optional. Default: 15000 (15 seconds)): The
delay, in milliseconds, before Marathon begins to periodically perform task
reconciliation operations.
--reconciliation_interval (Optional. Default: 600000 (10 minutes)): The
period, in milliseconds, between task reconciliation operations.

I don't really see how we can do that much better in our current model except disallowing canceling deployments. Or what would you like to see happening?

When I think of cancelling a destructive task, I expect that further destruction will be averted. Would it be quite complex to convert the destroy deployment into a scale-up deployment back to the pre-destroy size, if it gets canceled?

Our terminology with "stop" and "rollback" is confusing and not well defined.
@aquamatthias
"stop" is actually quite unpredictable from a user perspective since it will not change the definition of the goal state back to what was there before the deployment. It will not prevent Marathon from converging to the goal state (as expressed in the app definitions) some time later. A potential fix would be to allow all intermediate states (2 tasks with version A, 3 tasks with version B, ...) be represented as a goal state and therefore "stop" could just define the current state as the goal state. This would be quite a major change and I am not sure if it is the "right" (TM) way.
"rollback" is better defined. It will create a deployment which reverts the effects of the current deployment and therefore the new goal state is the one before the deployment for the affected applications.
I fear that there is some serious thinking necessary how to represent deployments and how to control them. Don't see any quick fixes :( Sorry.

stop is a battleaxe functionality - we have removed it from the UI and we should also think about removing it from the API.

Note: This issue has been migrated to https://jira.mesosphere.com/browse/MARATHON-1707. For more information see https://groups.google.com/forum/#!topic/marathon-framework/khtvf-ifnp8.


XSS vulnerability

The ngModel.$isEmpty function bypass the native froala security cleaning method, by executing the content of value with the JQuery function.
In my case, I just reuse the froala native html.clean method to fix it.
Like this:
ngModel.$isEmpty = function (value) {
	if (!value) {
		return true;
	}

	value = element.froalaEditor('clean.html', value, [], [], false);

	var isEmpty = element.froalaEditor('node.isEmpty', jQuery('
' + value + '
').get(0));
	return isEmpty;
};

Example of XSS injection concerned:
Script URI scheme XSS test
BTW, I have fixed some lint issues to and all your tests are down due to new JQuery version (3.3.1) by the froala dependencies.
AS the change is not invasive, I push it without testing it via grunt. I've made some tests by my side.

@shashankaccolite @stefanneculai hey do you have any comments on this issue?
I work for Snyk, and this seems to be a disclosed and demonstrated security issue, and we would therefore like to add this to our DB - but wondered if you guys had any more context to give before we do that? Thanks!

Closed due to lack of consideration since 5 years. Framework is now deprecated.


Cannot install or rebuild module on OSX 10.10

Hello,
both installing from npm (npm install hdf5) or rebuilding from node-gyp (cloned repo and node-gyp rebuild) return me the same error :
./src/file.h:11:10: fatal error: 'hdf5.h' file not found
#include "hdf5.h"
I have :

node  v0.12.7
node-gyp v2.0.1
OSX 10.10.3

I see that file.h is under ./src/file.h and the only file hdf5.h is under ./legacy/node-v0.10.31/hdf5.h.
Any suggestion? Probably I'm doing something wrong.
If you need more details tell me.
Thanks.
Paolo

Hi @paologf , you need the environment variable  HDF5_HOME=/home/roger/NodeProjects/hdf5 set to your native hdf5 distribution. the include of their hdf5.h will then get picked up
the legacy folder isn't involved, compatible with v0.12.x or supported anymore.
Also check the https://github.com/ryancole/hdf5.node/issues/4 about building on darwin and getting the right gcc compiler version on your computer with homebrew.  the version should be g++ 4.9 at least

Ok, thank you for the reply (and sorry for the delay..).
I follow the link instruction, I download and install the hdf5, then I set my HDF5_HOME variable to the installed hdf5 path.
I had some compiler error so I also do :
brew install gcc49
export CXX=/usr/local/bin/gcc-4.9

as suggest in #4 by @dasantonym .
Then I install hdf5 module using npm install hdf5 .
If I do a require from node the module works.
If I try to do the require from Electron I have the following message error :

Uncaught Error: dlopen(app/node_modules/hdf5/build/Release/hdf5.node, 1): Symbol not found: __ZNSs4_Rep20_S_empty_rep_storageE
Referenced from: app/node_modules/hdf5/build/Release/hdf5.node
Expected in: dynamic lookup

Referenced from: app/node_modules/hdf5/build/Release/hdf5.node
Expected in: dynamic lookup

at Error (native)
at Object.module.(anonymous function) (ATOM_SHELL_ASAR.js:134:20)
at Object.module.(anonymous function) [as .node] (ATOM_SHELL_ASAR.js:134:20)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:298:12)
at Module.require (module.js:353:17)
at require (module.js:372:17)
at Object. (app/node_modules/hdf5/index.js:4:13)
at Module._compile (module.js:418:26)
at Object.Module._extensions..js (module.js:436:10)

Any (other) suggestion?
Thanks.

I am also having trouble building on a Mac. I have tried using npm install hdf5 with HDF5_HOME=*path_to_hdf_directory*, which yields a fatal error due to too many errors being ommitted. The first error in the chain is:
In file included from ../src/file.h:14:
../src/attributes.hpp:24:40: error: no type named 'FunctionCallbackInfo' in namespace 'v8'
        static void Refresh (const v8::FunctionCallbackInfo<v8::Value>& args) {
                                   ~~~~^
../src/attributes.hpp:24:60: error: expected ')'
        static void Refresh (const v8::FunctionCallbackInfo<v8::Value>& args) {
                                                           ^
../src/attributes.hpp:24:29: note: to match this '('
        static void Refresh (const v8::FunctionCallbackInfo<v8::Value>& args) {
                            ^
../src/attributes.hpp:84:38: error: no type named 'FunctionCallbackInfo' in namespace 'v8'
        static void Flush (const v8::FunctionCallbackInfo<v8::Value>& args) {
                                 ~~~~^
../src/attributes.hpp:84:58: error: expected ')'
        static void Flush (const v8::FunctionCallbackInfo<v8::Value>& args) {
                                                         ^
../src/attributes.hpp:84:27: note: to match this '('
        static void Flush (const v8::FunctionCallbackInfo<v8::Value>& args) {
                          ^
../src/attributes.hpp:27:17: error: use of undeclared identifier 'args'; did you mean 'uv_process_options_s::args'?
            if (args.Length() >0 ) {
                ^~~~
                uv_process_options_s::args
/Users/jduckwor/.node-gyp/0.10.35/deps/uv/include/uv.h:1345:10: note: 'uv_process_options_s::args' declared here
  char** args;

I get the same errors when trying to build from the repo using node-gyp. I am a little unclear on what I should be setting my NODE_PATH variable too, since the example seems to suggest there should be a build directory in the main hdf5.node directory, but I don't see one, so this may be the root of the issue.
Any help is much appreciated. I am running OS Mavericks 10.9.5, node v0.10.35, node-gyp v2.0.2.
Thanks very much,
Jon

Hi Jon,
you don't need to set the NODE_PATH as specify here http://rycole.com/hdf5.node/doc/install-setup.html .
I think I had the same problem before updating the gcc, try :
brew install gcc49
export CXX=/usr/local/bin/gcc-4.9

Thanks for the help, that seemed to get me a bit farther along. It's now throwing an error related to the homebrew cellar:
make: /usr/local/Cellar/gcc/4.9.2_1: Permission denied
make: *** [Release/obj.target/h5ds/src/h5ds.o] Error 1

I tried using chmod to give read and write permissions to that directory, but still got the same error. I actually tried giving read and write permission to the whole chain up through /usr/local temporarily and changing the owner of /usr/local to my username, but still got the same thing.
I know this is kind of a separate issue from the node installation, but any thoughts?
Thanks a bunch,
Jon

@jduckworth Hi, this project is nodejs v0.12.x based.  v0.10.x isn't supported.  Developer >=v0.11.14 will probably work but I would go to v0.13.x if in nodejs developer mode.
Your last is a permissions issue with the gcc install of course.  At a terminal what does
which g++
g++ --version
give you?

Note I am working on node-pre-gyp building yet for mac I'm not sure if all OS versions will get supported quickly seeing mac doesn't license well for developers on the cloud; but I'll try and also borrow some machines at work

That's what I suspected for the gcc install...
The system I described above is my work setup, which I think is leading to the permission issues. I tried doing the install on my home computer (OS X Yosemite 10.10.4, Node v0.12.7, node-gyp v2.0.2) and it installed without an error. However, when I try to require it I get the error:
Error: dlopen(/Users/jduckwor/node_modules/hdf5/build/Release/hdf5.node, 1): Symbol not found: __ZN3MPI3Win4FreeEv
Referenced from: /Users/jduckwor/node_modules/hdf5/build/Release/hdf5.node
Expected in: dynamic lookup

It seems like others have had similar errors when installing Python modules and that it has to do with the MPI compiler being used. I'm going to play around with it and I'll let you know if I come up with a solution.


MaterialProgressBar control - Style "Marquee" not work

Property Style = Marquee in MaterialProgressBar control not work. Please fix.

Has Anyone found solution for this


Mistake in SQL under Cross-subscription geo-replication

I think this command 'alter role geodrsetup dbmanager add member geodrsetup' should read 'alter role dbmanager add member geodrsetup'

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 16170e73-99ca-1a2f-b5ba-b4f0396e3e39
Version Independent ID: d83478e0-f123-5fe6-6f17-3d118eb280da
Content: Active geo-replication - Azure SQL Database
Content Source: articles/sql-database/sql-database-active-geo-replication.md
Service: sql-database
Sub-service: high-availability
GitHub Login: @anosov1960
Microsoft Alias: sashan

@icelandgrecian Thank you for the feedback. We are actively investigating and will get back to you soon.

@icelandgrecian Thank you for pointing out the issue and helping us make our documentation better.
I have updated the doc accordingly. The changes should be live by EOD or tomorrow.
We will proceed to close this issue now.


Extract KiCad data

Explore possibilities for extracting data direct from a kicad_pcb file.
Options/ideas:

Create pinout KiCad footprint library for documenting label coordinates and content
Add "pinout-data" to existing footprint instances (modules) as an "fp_text" entry
Extract and draw CutLines and nominated components

Related Note: pcbdraw looks promising as a source for PCB images - as suggested by others. Windows (my dev env) is not well supported by current KiCad release and consequently I've not tried it out yet.

Parser updated for KiCad 6
KiCad parser v2 completed (mostly refactoring) and updated for Kicad 6 (only parsing section relevant to pinout) successfully.
Review v6 features
KiCad 6 provides more layer features and more user layers - From dev perspective changes reduce to additional user defined 'alias' for layer names.
Review of applying pinout label data to existing footprints
This is a neat way to add pinout data to an existing footprint and removes the need for a dedicated additional footprint to be added.
Works really well for footprints that require a single label (or single row of labels) and the desired label origin is also the footprint origin. But...

Pin header footprint was an early failure in testing - requires multiple reference locations on single footprint
Placement of annotation labels are often likely to be centered on a different origin location from footprint
Differentiation between labels types (currently pin-labels and annotations) shift to the user remembering to include markup
An origin point needs to be added to translate coordinates so they match an exported graphic (probably top-left corner of the board)

With the above considered I'm thinking a small footprint library is the way immediately forward. A zero footprint solution is not currently an option and best flexibility is afforded with dedicated footprint lib.
To minimize impact/clutter in KiCad I intend to generate the footprint lib 'on demand' placing all elements on a user nominated layer. This will enable users to select their desired 'pinout layer' and hide the footprints easily.

feature released in 0.0.20


design choice and benchmarks

I observe the usage of lmdb , sqlite , pq codec for hnsw
can you please provide some rationale on design choices here for example : rocksdb instead of lmdb , lucence vs sqlite3 for applying filters , why not use faiss hnsw that already supports quantization schemes like scalar and pq ?

Thanks for your suggestion. We will answer these questions in the FAQ section which will be included in the next release README.