feat(release): manually release a minor version

What: This adds a manual-releases.md file

Why: Because sometimes weird things happen, and we want to be able to trigger a release in those cases.

How: GitHub :)
There was an issue with a minor release, so this manual-releases.md
change is to release a new minor version.
Reference: #113

Codecov Report

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

@@          Coverage Diff          @@
##           master   #115   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          10     10
  Lines         124    124
  Branches       32     32
=====================================
  Hits          124    124

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 41e5f3f...8441779. Read the comment docs.


Add support for the Xiaomi lumi.plug.mmeu01 plug

Changes:

Fix for the EM cluster being in unknown state https://github.com/dmulcahey/zha-device-handlers/pull/220#issuecomment-568304535
Support for the lumi.plug.mmeu01 plug
Minor refactoring

Thanks for review!

Looks Good! Thanks for the contribution!

Hi, is this change in HA 106.6? i have this ha version and my lumi.plug.mmeu01 shows:

sensor.lumi_lumi_plug_mmeu01_xxxxxx_smartenergy_metering - unknown
sensor.lumi_lumi_plug_mmeu01_939a753c_electrical_measurement - Always 0.0 W (not updating)

Only works Switch. Many thank you for your help.

Seems like it hasn't been included yet.

Thank you for your response. Are there some way to manual update or recommends me wait they include in home assistant?. Ty!

It’s in 107. Beta released yesterday

Unfortunately I can't answer, maybe @dmulcahey can

Thank you both for your quickly responses, i think ill wait for 107 stable release. :)

Hi, is this change in HA 106.6? i have this ha version and my lumi.plug.mmeu01 shows:

sensor.lumi_lumi_plug_mmeu01_xxxxxx_smartenergy_metering - unknown
sensor.lumi_lumi_plug_mmeu01_xxxxxx_electrical_measurement - Always 0.0 W (not updating)

I have 4 of those devices added recently in HA 0.112.2. Toggle and electrical_measurement are working fine, however, the smartenergy_metering sensors for total consumption still have always "unknown" state.


Array(T).new(size) acts like it's unallocated

Getting an out of bounds error with the following:
cr eval 'puts Array(String | Nil).new(4).tap {|a| a[0] = "5" }'
Index out of bounds (IndexError)
[4409443426] *CallStack::unwind:Array(Pointer(Void)) +82
[4409443329] *CallStack#initialize<CallStack>:Array(Pointer(Void)) +17
[4409443288] *CallStack::new:CallStack +40
[4409452545] *Exception@Exception#initialize<IndexError, String>:CallStack +33
[4409452477] *IndexError#initialize<IndexError, String>:CallStack +29
[4409452412] *IndexError::new<String>:IndexError +92
[4409452300] *IndexError::new:IndexError +28
[4409532151] *Array(String?)@Array(T)#check_index_out_of_bounds<Array(String?), Int32>:Int32 +87
[4409532021] *Array(String?)@Array(T)#[]=<Array(String?), Int32, String>:String +37
[4409429007] __crystal_main +2335
[4409436424] main +40

Same issue if I assign the new Array to a var and then attempt to add at any index.

Note, allocating with a default value (say nil) does solve, but it still seems like an unfortunate gotcha.

That's the way it works, and it's similar to other compiled languages. It's only a gotcha if you come from Ruby.
Array(T).new(size) allocates memory but doesn't initialize it. If you need it initialized with a value, pass it, like passing an explicit nil.
Maybe we could make it initialize to nil if the type is nilable, but I'd rather not add special cases.

Definitely a "from Ruby" gotcha. Still working through some of the implications of this. I think I'm okay with this, it just seems a bit strange to be able to allocate the size and not have access to even the zeroth element to assign it.


fix: implment new method of trimming 'data:' from server responses

Closes https://github.com/atsign-foundation/at_c/issues/288
- What I did

fix the issue: 'bytes read had some leading excess bytes'

- How I did it

Introduce a method in string_utils.c named "atclient_string_utils_get_substring_position()" that locates the position of a given substring.
Using the above method to locate the 'data:' substring and then moving the pointer 5 positions ahead to skip the 'data:' substring.
Replaced existing method of trimming 'data:' prefix if a server response starts with 'data:', with the new implementation

- How to verify it

Successful build should indicate no compile-time errors. Yet to do a manual test to verify individual functionalities updated with changes in this PR.

- Description for the changelog

fix: implment new method of trimming 'data:' from server responses

I will merge this once I can test the changes


git仓库删除所有提交历史记录，成为一个干净的新仓库(转) - Fe的博客 | Fe Blog

http://fedemo.top/2017/12/14/git_del-history/
Every failure is leading towards success.

测试


Added python 3.6 to tox and travis

Coverage remained the same at 98.535% when pulling af69b2df577581dd6360bc897a2bfe55eb02c330 on mikeengland:add-tox into 2e101b13760bb783db1d43d7dcd0bf3f0e920e38 on kayak:master.


buildah-sast: buildful SAST scanning with GCC Analyzer

Related: https://issues.redhat.com/browse/STONEBLD-2804
Related: https://issues.redhat.com/browse/OSH-714
Resolves: https://issues.redhat.com/browse/OSH-770
This is based on #1488 and #1525.  Changes specific to GCC Analyzer are in the last but one commit.

/ok-to-test

/ok-to-test


[Question] [iOS] How to reset secure storage on iOS from app settings ?

The secure storage is corrupted on my iOS App (value returned with bad value).
This "bad" value prevents the apps to start
Is it possible to reset the secure storage from iphone general settings ?

At the very top of your app, can you apply a call to await storage.deleteAll(); and clear them all out?

Tx for the quick reply.
The pb is that the app is already on the store :(
When the users are deinstalling / reinstalling the application, the secure storage is not deleted


pkg/report: add min/max latency per second

For https://github.com/coreos/dbtester/issues/221.

lgtm. Thanks!


Add backtracking line search

I add a basic backtracking line search method and add a single test (quadratic function) to validate the correctness of the implementation.

I rewrote the backtracking line search function as you suggest. There is one minor point that is unsatisfactory, and I have not changed that. That is hyperparameters are not put into struct.


Improve TriangularMultiplicativeUpdate stability in fp16 mode

The solution to (observed) fp16 overflow in TriangularMultiplicativeUpdate torch.matmul caused by hugh std of a*b elements. It produces the same output as it's followed by layer norm which performs equivalent std-normalization.
autocast=False mode doesn't seem to solve this in pure fp16 mode unfortunately.
by @adamlerer

Thanks! If you wouldn't mind resolving the inconsistent tabs/spaces issue I can merge this onto main.


Pytorch 1.12 Request

Can you provide Pytorch 1.12 for Tesla K40C?
We are looking forward to it!

You are awesome!


Added config.yml file for Welcome Bot

Issue that this pull request solves
Closes: #127
What is the change?
Created config.yml file for the welcome bot to help first-time contributors. To activate the app you need to go to https://github.com/apps/welcome and click on install and give the app the required permissions  (Pull requests: Read & Write
Issues: Read & Write).
How was it tested?
I have tested the welcome bot with the config.yml file in my personal repository. Here is a link to the repo:
https://github.com/m-code12/WelcomeBot
Submissions guide:

[ ] Have you made corresponding changes to the documentation?
[x] Your submission doesn't break any existing feature.
[ ] Have you lint your code locally prior to submission?

Hey @m-code12

Is this for pull request ? You have written very first issue ?

Hey @m-code12

Is this for pull request ? You have written very first issue ?

That is by mistake, I'll change it.

I have made the changes @Nivedita967

Have you checked its working properly? (Just asking)
This will start working just by merging this pull request ?

Have you checked its working properly? (Just asking)
This will start working just by merging this pull request ?

To activate the app you need to go to https://github.com/apps/welcome and click on install and give the app the required permissions (Pull requests: Read & Write
Issues: Read & Write).
After this, it will be good to go.

Please make one change, Code of Conduct path has been changed in this project.
Update the path in your code.

Please make one change, Code of Conduct path has been changed in this project.
Update the path in your code.

Done

Nice :)


An overpaid tx is currently possible?

Sebastien pointed us towards this: frontend/blob/develop/app/api/ada/adaTransactions/adaNewTransactions.js#L91
This looks like an upstream bug. If it is possible to have a positively weighted tx, then lovelace would effectively be burnt (unless it is considered part of the fee, which may be the case). We should investigate this before changing our implementation of transaction validation.

This does make sense. An "overpaid" transaction represents one with a higher than estimated fee. fee paid = sum of inputs - sum of outputs


timeFormatDefaultLocale to change month abbreviations breaks the calendar

formatDay allows to change the day of week, but there is no function to manipulate the month abbreviation, I tried to change through d3 import and it breaks the calendar. What should be the correct path to achieve this? Should I work in a PR to support formatMonth?

Thanks for your input @maiconcarraro , merged


do not overwrite other calendars data

Hi
I was just using this tile with multiple calendars and noticed that it may be possible it overwrites calendar data by using config('google-calendar.calendar_id') instead of $calendarId.

Can this still be merged? @okaufmann is right by changing that line. Otherwise calendar ID's get overwritten and only the last in the config array gets updated.

If desired, I can open a new PR for this fix...
/cc @freekmurze

Yeah sure, open up a PR.


add 2 konsist test

Reference

https://github.com/LemonAppDev/konsist
https://docs.konsist.lemonappdev.com/getting-started/getting-started
https://docs.konsist.lemonappdev.com/inspiration/snippets/general-snippets#id-10.-no-empty-files-allowed

JaCoCo Code Coverage 81.04% :white_check_mark:

Class
Covered
Meta
Status

  Generated by :no_entry_sign: Danger

Snapshot diff report

File name
Image


Key "CATS UV" not found'

When trying to bake my model i get a Key "CATS UV" not found'                 Any way to fix this?

#440

Make sure you only have one UV on every mesh then bake.


Update migration method in merkle-airdrop contract

What is the status of the PR, we can close if stale


apply filter should only affect the carousel

In GitLab by @lakhoune on Jul 24, 2020, 24:43
apply filter only to carousel not to cards subject

In GitLab by @lakhoune on Jul 28, 2020, 20:17
closed


[BACKLOG-8011] Added expand/collapse shell to takeover transformation…

… tab

Build completed
:x: This pull request has errors. They will need to be addressed before it can be accepted. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands:

ant -Dtestreports.dir=bin/reports/unit-test -f ui/build.xml clean-all resolve jacoco && ant -Dtestreports.dir=bin/reports/integration-test -f ui/build.xml jacoco-integration checkstyle publish-local

Cleanup Commands:
rm -r ~/.ivy2/local || echo no publish local to remove
Changed files:
ui/src/org/pentaho/di/ui/spoon/ExpandedContentManager.java
ui/src/org/pentaho/di/ui/spoon/Spoon.java
ui/test-src/org/pentaho/di/ui/spoon/ExpandedContentManagerTest.java
Unit test coverage change:
org.pentaho.di.ui.spoon.ExpandedContentManager:

Branch New Coverage : 37.50%
Complexity New Coverage : 26.32%
Instruction New Coverage : 34.78%
Line New Coverage : 31.67%
Method New Coverage : 36.36%

org.pentaho.di.ui.spoon.Spoon:

Complexity Change : -.01%
Instruction Change : -.00%
Line Change :  + .04%
Method Change : -.03%

Checkstyle violations:
See: https://github.com/pentaho/pentaho-coding-standards
File /home/buildguy/project/ui/src/org/pentaho/di/ui/spoon/ExpandedContentManager.java

Message: Line has trailing spaces at Line: 56
Message: Line has trailing spaces at Line: 57

File /home/buildguy/project/ui/src/org/pentaho/di/ui/spoon/Spoon.java

Message: Line has trailing spaces at Line: 9,220
Message: Line has trailing spaces at Line: 9,224
Message: Line has trailing spaces at Line: 9,228

@mdamour1976 fixed checkstyle problems

Build completed
:white_check_mark: This pull request has passed all validations.
Build Commands:

ant -Dtestreports.dir=bin/reports/unit-test -f ui/build.xml clean-all resolve jacoco && ant -Dtestreports.dir=bin/reports/integration-test -f ui/build.xml jacoco-integration checkstyle publish-local

Cleanup Commands:
rm -r ~/.ivy2/local || echo no publish local to remove
Changed files:
ui/src/org/pentaho/di/ui/spoon/ExpandedContentManager.java
ui/src/org/pentaho/di/ui/spoon/Spoon.java
ui/test-src/org/pentaho/di/ui/spoon/ExpandedContentManagerTest.java
Unit test coverage change:
org.pentaho.di.ui.spoon.ExpandedContentManager:

Branch New Coverage : 37.50%
Complexity New Coverage : 26.32%
Instruction New Coverage : 34.78%
Line New Coverage : 31.67%
Method New Coverage : 36.36%

org.pentaho.di.ui.spoon.Spoon:

Complexity Change : -.01%
Instruction Change : -.00%
Line Change :  + .04%
Method Change : -.03%

@mdamour1976 @bmorrise Added support for retaining sash size on a per tab instance.  Removed fragile "getParent()" code.  Fixed problem with tabDeselected events.  Added code so that full screen sashforms weight won't be saved when spoon closes (as per conversation with Mike).

Build completed
:x: This pull request has errors. They will need to be addressed before it can be accepted. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands:

ant -Dtestreports.dir=bin/reports/unit-test -f ui/build.xml clean-all resolve jacoco && ant -Dtestreports.dir=bin/reports/integration-test -f ui/build.xml jacoco-integration checkstyle publish-local

Cleanup Commands:
rm -r ~/.ivy2/local || echo no publish local to remove
Changed files:
ui/src/org/pentaho/di/ui/spoon/ExpandedContentManager.java
ui/src/org/pentaho/di/ui/spoon/Spoon.java
ui/src/org/pentaho/di/ui/spoon/delegates/SpoonJobDelegate.java
ui/src/org/pentaho/di/ui/spoon/delegates/SpoonSlaveDelegate.java
ui/src/org/pentaho/di/ui/spoon/delegates/SpoonTabsDelegate.java
ui/src/org/pentaho/di/ui/spoon/delegates/SpoonTransformationDelegate.java
ui/src/org/pentaho/xul/swt/tab/TabItem.java
ui/src/org/pentaho/xul/swt/tab/TabSet.java
ui/test-src/org/pentaho/di/ui/spoon/ExpandedContentManagerTest.java
ui/test-src/org/pentaho/xul/swt/tab/TabSetTest.java
Newly Broken Tests:
org.pentaho.di.ui.spoon.ExpandedContentManagerTest.testHideTransformationBrowser:
java.lang.NullPointerException
java.lang.NullPointerException
	at org.pentaho.di.ui.spoon.ExpandedContentManager.hideExpandedContent(ExpandedContentManager.java:156)
	at org.pentaho.di.ui.spoon.ExpandedContentManagerTest.testHideTransformationBrowser(ExpandedContentManagerTest.java:108)

Unit test coverage change:
org.pentaho.di.ui.spoon.delegates.SpoonJobDelegate:

Instruction Change : -.00%
Line Change : -.00%

org.pentaho.di.ui.spoon.delegates.SpoonTabsDelegate:

Instruction Change : -.00%
Line Change : -.00%

org.pentaho.di.ui.spoon.delegates.SpoonTransformationDelegate:

Instruction Change : -.00%
Line Change : -.00%

org.pentaho.di.ui.spoon.ExpandedContentManager:

Branch New Coverage : 31.25%
Complexity New Coverage : 21.05%
Instruction New Coverage : 20.40%
Line New Coverage : 15.00%
Method New Coverage : 27.27%

org.pentaho.di.ui.spoon.Spoon:

Branch Change : -.00%
Complexity Change :  + .06%
Instruction Change :  + .00%
Line Change :  + .06%
Method Change :  + .21%

org.pentaho.xul.swt.tab.TabItem:

Complexity Change : -1.17%
Instruction Change :  + .15%
Line Change : -.48%
Method Change : -1.89%

org.pentaho.xul.swt.tab.TabSet:

Branch Change :  + 2.89%
Complexity Change :  + 1.40%
Instruction Change :  + 3.55%
Line Change :  + 3.75%
Method Change :  + 3.45%

Build completed
:x: This pull request has errors. They will need to be addressed before it can be accepted. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands:

ant -Dtestreports.dir=bin/reports/unit-test -f ui/build.xml clean-all resolve jacoco && ant -Dtestreports.dir=bin/reports/integration-test -f ui/build.xml jacoco-integration checkstyle publish-local

Cleanup Commands:
rm -r ~/.ivy2/local || echo no publish local to remove
Changed files:
ui/src/org/pentaho/di/ui/spoon/ExpandedContentManager.java
ui/src/org/pentaho/di/ui/spoon/Spoon.java
ui/src/org/pentaho/di/ui/spoon/delegates/SpoonJobDelegate.java
ui/src/org/pentaho/di/ui/spoon/delegates/SpoonSlaveDelegate.java
ui/src/org/pentaho/di/ui/spoon/delegates/SpoonTabsDelegate.java
ui/src/org/pentaho/di/ui/spoon/delegates/SpoonTransformationDelegate.java
ui/src/org/pentaho/xul/swt/tab/TabItem.java
ui/src/org/pentaho/xul/swt/tab/TabSet.java
ui/test-src/org/pentaho/di/ui/spoon/ExpandedContentManagerTest.java
ui/test-src/org/pentaho/xul/swt/tab/TabSetTest.java
Unit test coverage change:
org.pentaho.di.ui.spoon.delegates.SpoonJobDelegate:

Instruction Change : -.00%
Line Change : -.00%

org.pentaho.di.ui.spoon.delegates.SpoonTabsDelegate:

Instruction Change : -.00%
Line Change : -.00%

org.pentaho.di.ui.spoon.delegates.SpoonTransformationDelegate:

Instruction Change : -.00%
Line Change : -.00%

org.pentaho.di.ui.spoon.ExpandedContentManager:

Branch New Coverage : 31.25%
Complexity New Coverage : 21.05%
Instruction New Coverage : 20.40%
Line New Coverage : 15.00%
Method New Coverage : 27.27%

org.pentaho.di.ui.spoon.Spoon:

Branch Change : -.00%
Complexity Change : -.01%
Instruction Change : -.01%
Line Change : -.01%
Method Change : -.04%

org.pentaho.xul.swt.tab.TabItem:

Complexity Change : -1.17%
Instruction Change :  + .15%
Line Change : -.48%
Method Change : -1.89%

org.pentaho.xul.swt.tab.TabSet:

Branch Change :  + 2.89%
Complexity Change :  + 1.40%
Instruction Change :  + 3.55%
Line Change :  + 3.75%
Method Change :  + 3.45%

Checkstyle violations:
See: https://github.com/pentaho/pentaho-coding-standards
File /home/buildguy/project/ui/src/org/pentaho/di/ui/spoon/Spoon.java

Message: Line has trailing spaces at Line: 578

File /home/buildguy/project/ui/test-src/org/pentaho/di/ui/spoon/ExpandedContentManagerTest.java

Message: Unused import - org.junit.Assert.assertEquals. at Line: 25 Column: 15
Message: Unused import - org.junit.Assert.assertNotNull. at Line: 27 Column: 15


[BUG] Registry Requirements Not Showing on Pot Settings

Describe the bug
Registry requirement (which list contract and list id) should show -> deprecate version should show registry.potlock.near
To Reproduce
Steps to reproduce the behavior:

Go to nearian pot
Click on settings https://bos.potlock.org/?tab=pot&potId=nearian.v1.potfactory.potlock.near&nav=settings

Expected behavior
Show a row with application requirements and show which contract
Screenshots

@M-Rb3 Could you add an additional row that says "Registry Provider" and then "<contract_name>: <method_name>" e.g. "lists.potlock.near: is_registered"
this is not super high priority; helping @wpdas with the Além refactor is more important, if you can find a minute to slip this in somewhere over the coming week that would be helpful.


CRL questions

Hello,
We are in the process of implementing WHfB with Key Trust and I had a few questions about the CRL requirements. I see that the CRL is required for WHfB to work, but what happens if the CRL breaks or is unavailable? Does that break enrollment, or all WHfB sign-ins in the organization?
Thanks

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

ID: c47de28c-e44b-ca73-efde-fae303e0d3f8
Version Independent ID: 71202a24-5b2f-844a-acce-d48c46873f2b
Content: Hybrid Key trust Windows Hello for Business Prerequisites (Windows Hello for Business) - Microsoft 365 Security
Content Source: windows/security/identity-protection/hello-for-business/hello-hybrid-key-trust-prereqs.md
Product: w10
Technology: windows
GitHub Login: @mapalko
Microsoft Alias: mapalko

If the CRL is not available or broken, it will result in WHFB authentication failing.


Prepare for 1.0.0, fix some issues

Besides making the tests ready for<EMAIL_ADDRESS>(the production code was already working), this will also fix two issues:

resolves #348 by extending the default export detection logic to search for both export default ... as well as export {... as default}.
resolves #341 by properly setting the CJS promise for filtered and otherwise ignored files

Furthermore, it prevents a default is not exported warning by putting the ESM import wrapper into a function which is not optimized by rollup. Lastly, importing ESM with known default exports will produce more optimized code.

Most of this is about require('x.mjs') cases right? And dealing with the export default x handling to work out ergonomically?

Yes exactly. In case there is a known default export, the generated code will be much shorter.
There are still quite a few cases where the deoptimized wrapper is used. I have an idea how this could be solved while making the CJS detection much more straightforward at the same time. This would require a new plugin context function, e.g. fetchModule, which would allow the transform function to trigger loading, transforming and parsing a module the same way Rollup would (or just return the result if this has already happened) and return the AST (if the result is stored by Rollup, each module would still be fetched and transformed only once). If this is done for every import in a CJS file, we can decide for all but the external imports whether they have a default and produce much better code. But this is just an idea for now which would require quite a bit of work on Rollup's side.


Some questions about DCGAN

I noticed https://github.com/eriklindernoren/PyTorch-GAN/tree/master/implementations/dcgan is different from https://github.com/pytorch/examples/blob/master/dcgan/main.py
And my new PR:
https://github.com/pytorch/examples/pull/815
Which one is correct?

Everybody has a different implementation. PyTorch official vs this one vs https://machinelearningmastery.com/how-to-interpolate-and-perform-vector-arithmetic-with-faces-using-a-generative-adversarial-network/ this one, etc.
The problem is that nobody is commenting on why they deviated from the original paper. PyTorch is for example using 512x4x4 initial volume instead of 1024x4x4 as originally proposed.

https://github.com/d2l-ai/d2l-en/issues/1381

Thanks for your reply. I will check them.

Here is my implemention: http://preview.d2l.ai/d2l-en/master/chapter_generative-adversarial-networks/dcgan.html


Deduplicate getIndexesForPlan and findCoveringIndexes

What changes were proposed in this pull request?

Fixes #51
Deduplicate getIndexesForPlan and findCoveringIndexes functions
Why are the changes needed?

code duplication
Does this PR introduce any user-facing change?

No
How was this patch tested?

sbt test
JoinIndexRuleTest & FilterIndexRuleTest

Hi reviewers! Please just let me know any kind of issues such as style, naming, location and etc. as I'm new to Scala :)
TIA!

Thank you! The coding guide might be of help.


PLANNER-2467 Jenkinsfiles moved to .ci/jenkins

Many thanks for submitting your Pull Request :heart:!
JIRA: https://issues.redhat.com/browse/PLANNER-2467
Depends on:

https://github.com/kiegroup/kogito-pipelines/pull/204
https://github.com/kiegroup/optaplanner/pull/1414

referenced Pull Requests: (please edit the URLs of referenced pullrequests if they exist)

https://github.com/kiegroup/kie-jenkins-scripts/pull/1025
https://github.com/jboss-integration/rhba/pull/42
https://github.com/kiegroup/droolsjbpm-build-bootstrap/pull/1688
https://github.com/kiegroup/optaweb-vehicle-routing/pull/526
https://github.com/kiegroup/optaweb-employee-rostering/pull/651
https://github.com/kiegroup/optaplanner/pull/1414
https://github.com/kiegroup/kogito-runtimes/pull/1423

Please make sure that your PR meets the following requirements:

[ ] You have read the contributors guide
[ ] Your code is properly formatted according to this configuration
[ ] Pull Request title is properly formatted: KOGITO-XYZ Subject
[ ] Pull Request title contains the target branch if not targeting master: [0.9.x] KOGITO-XYZ Subject
[ ] Pull Request contains link to the JIRA issue
[ ] Pull Request contains link to any dependent or related Pull Request
[ ] Pull Request contains description of the issue
[ ] Pull Request does not include fixes for issues other than the main ticket

How to retest this PR or trigger a specific build:

Run all builds
Please add comment: Jenkins retest this

Run (or rerun) specific test(s)
Please add comment: Jenkins (re)run [runtimes|optaplanner|apps|examples] tests

Quarkus LTS checks
Please add comment: Jenkins run LTS

Run (or rerun) LTS specific test(s)
Please add comment: Jenkins (re)run [runtimes|optaplanner|apps|examples] LTS

Native checks
Please add comment: Jenkins run native

Run (or rerun) native specific test(s)
Please add comment: Jenkins (re)run [runtimes|optaplanner|apps|examples] native

Full Kogito testing (with cloud images and operator BDD testing)
Please add comment: Jenkins run BDD
This check should be used only if a big change is done as it takes time to run, need resources and one full BDD tests check can be done at a time ...

The (build) Runtimes check has failed. Please check the logs.

The (build) Apps check has failed. Please check the logs.

The (build) Examples check has failed. Please check the logs.

@radtriste why is this draft? thanks man!

@radtriste why is this draft? thanks man!

sorry forgot to put it as ready after my tests ...


Add support for combined properties

border or background may contain many values in additional to color:
.foo {
  border: 4px solid oklch(100% 0 0);
}

Right now, plugin returns error:
Could not parse 4px solid oklch(100% 0 0) as a color. Missing a plugin?

I suggest finding color in declaration’s value. We can use RegExp or some PostCSS value parser:
if (decl.value.includes('lch(') || decl.value.includes('lab(')) {
  let colors = decl.value.match(/(oklch|oklab|lab|lch)\([^\)]+\)/g)
  if (colors) {
    for (let color of colors) {
      checkColor(color)
    }
  }
}

Note, that some properties has multiple colors.

Great suggestion, will add it asap.

@ai I've added the changes, so you can update your package version to the latest one. Huge thanks for contributing!


Browser Margin Must Be zero

That screen-shot does not actually show PDF.js, but rather shows PDFium (which is the PDF viewer that is embedded in Google Chrome).
Closing as out of scope, since we cannot provide support for another PDF viewer.


properties from higher-order component/HOC are not respected

Describe the bug
The props variable in all callbacks (e.g. beginDrag, canDrop or drop) only contains properties that are actually passed in the original object. If a high-order component is used, the properties from that HOC are missing.
Reproduction
https://codesandbox.io/s/friendly-cdn-9xnwd
Steps to reproduce the behavior:

Open your console
Go to https://codesandbox.io/s/friendly-cdn-9xnwd
Mention that "Source props" contains hocProp since in Source.js is wrapped in an HOC (called slot)
Drag Block A or Block B in the bigger drop zone to the right called a
Mention that the log for drop item is missing the property hocProp

Expected behavior
I expect that the properties of my high order high-order component are also available in props.
Desktop (please complete the following information):

OS: macOS Mojave 10.14.5 (18F203)
Browser Google Chrome Version 76.0.3809.100 (Official Build) (64-bit)

This is still an issue I would like to discuss about. :-)


app interface freeze while transition to the same state

Hello, I try programatically transition to the same state which I was before (just click on same tab in my app with handler that do transition to nextState), and I get app interface freeze, I thinks this case must be prevented by library, as ionic does. I fix this just checking that nextState !== prevState

The fix is included in Rc10. Thanks


Close the calendar on date select

Sorry for the dumb question, but how can we close the widget on date select event, as it does for default non semantic-ui widgets (e.g. Firefox's <input type='date'>)?

It's not implemented yet. In mdehoog's semantic-ui-calendar there is a closable option. If it set to true popup closes on selecting date/time. I'm going to implement same behaviour here.

Wow, that wast fast. Thanks much!


In linux Mint the AppImage file doesn't work

...

I built the linux files with WSL and they don't work. Now I'm building the linux files from my linux computer, and they work. Closing...


SGCluster:set ingress rules to match Scylla ports

Currently SGCluster is open inside for all protocols and ports. This
security group is being used by Scylla internal cluster communication,
let's make sure we only enable relevant tcp ports based on https://docs.scylladb.com/operating-scylla/admin/#id6
Fixes: https://github.com/scylladb/scylla-machine-image/issues/213

Please enable ingress ICMP as well by:
- IpProtocol: icmp
  FromPort: 8
  ToPort: -1
  CidrIp: !Ref CIDR

In addition:

I see no reason for the SGUser section - please double check and remove it.
the SecurityGroupEgress is duplicated (SGCluster & SGAdmin) we might want to take it out for a dedicated one SGExternal - WDYT?

Please enable ingress ICMP as well by:
- IpProtocol: icmp
  FromPort: 8
  ToPort: -1
  CidrIp: !Ref CIDR

In addition:

I see no reason for the SGUser section - please double check and remove it.
the SecurityGroupEgress is duplicated (SGCluster & SGAdmin) we might want to take it out for a dedicated one SGExternal - WDYT?

It looks like SGUser is not being used, so i will remove it.

@benipeled regarding the SecurityGroupEgress, i think that for SGCluster we are currently setting it the wrong way. we should specify CIDR as we do for SecurityGRoupIngress

@benipeled regarding the SecurityGroupEgress, i think that for SGCluster we are currently setting it the wrong way. we should specify CIDR as we do for SecurityGRoupIngress

SecurityGRoupIngress is about inbound traffic so we use the CIDR provides by the user which is the user's private subnet,
but SecurityGroupEgress is about outbound traffic which I'm not sure we care about,
Maybe we can remove it completely but here again we complex the flow, if user will try to import something from internal (or any other outbound communication) he'll have to deal with network "issues" and may give up.


Bug: event_parser decorator catches an irrelevant AttributeError and raises InvalidModelTypeError exception.

Expected Behaviour
The expected behavior is that exceptions related to Powertools do not arise from the event_parser decorator in code like the following:
from aws_lambda_powertools.utilities.parser import event_parser
from pydantic import BaseModel

class EventModel(BaseModel):
    """It's just a sample, so the content can be anything."""
    val: str

@event_parser(model=EventModel)
def lambda_handler(event: EventModel, context):
    print(event)  # correctly parsed

    a = "aaa"
    a.property  # raise AttributeError (**NOT related to event_parser**)

# The following is intended for simple reproduction in a local environment:
if __name__ == "__main__":
    lambda_handler({"val": "hello, lambda"}, None)

Assume that the event is in a format that matches the EventModel by pydantic and is correctly parsed.
Therefore, the exception happening in the above code has nothing to do with powertools event_parser.
Current Behaviour
InvalidModelTypeError occurs within powertools, as shown below:

raise InvalidModelTypeError(f"Error: {str(exc)}. Please ensure the type you're trying to parse into is correct")
aws_lambda_powertools.utilities.parser.exceptions.InvalidModelTypeError: Error: 'str' object has no attribute 'property'. Please ensure the type you're trying to parse into is correct

I consider it very confusing because even if the event validation in the event_parser decorator succeeds, the above exception is raised.
Code snippet
Same as described in “Expected Behaviour”.

Possible Solution
Currently (v3.3.0), AttributeError is caught at the error location in powertools as follows:
https://github.com/aws-powertools/powertools-lambda-python/blob/v3.3.0/aws_lambda_powertools/utilities/parser/parser.py#L114
Is it problematic to rewrite this part to catch Pydantic-derived Exceptions (e.g. pydantic.ValidationError) instead of AttributeError?
Steps to Reproduce

Python version: 3.12
architecture: x86_64
The libraries used are the same versions as those installed by the following requirements.txt file:

# requirements.txt
annotated-types==0.7.0
aws-lambda-powertools==3.3.0
jmespath==1.0.1
pydantic==2.10.3
pydantic-core==2.27.1
typing-extensions==4.12.2

Powertools for AWS Lambda (Python) version
3.3.0
AWS Lambda function runtime
3.12
Packaging format used
PyPi
Debugging logs

Hey @junkor-1011 ! Thank you so much for opening this issue. We'll evaluate and get back to you soo. 🚀


Broken scrolling in UICollectionView with custom layout

Scrolling and pull-to-refresh breaks when I use subclass of UICollectionViewLayout. Any ideas how to fix this?

same for me.


Password reset should always return 200

Reset password should not return 404 if the email doesn't exist. This is kinda serious security vulnerability, since it can be used to check if the email is registered. It should always return 200 regardless if the request was successful or not and the frontend should say something along the lines "If this email is registered, you'll receive a reset link in your inbox"

@raideer Could you please resolve conflict here?


add blobs metrics (TODO: put it under an X flag default off)

adds a metric to count number of blobs in storage
Documentation

[ ] I thought about documentation and added the doc-change-required label to this PR if updates are required.

Changelog

[ ] I thought about adding a changelog entry, and added one if I deemed necessary.

has been merged in the 4844-interop branch


Update RiakNodeSshDriver to use the updated BashCommands.ifExecutable

Update RiakNodeSshDriver to use the updated BashCommands.ifExecutableDoesNotExistElse(String, List, List)

Depends on https://github.com/apache/brooklyn-server/pull/109

Do not merge, testing.

@duncangrant I tested it and it works fine with rebinding.

Please ignore my last comments. They are for another PR.


Muter should look inside the body of forEach

Feel free to update the title if there’s a better way to word this.
Screenshot:

Code:
textViewsAndEncodings.map { $0.key }.forEach {
    $0.enabledTextCheckingTypes = 0
    $0.isAutomaticQuoteSubstitutionEnabled = false
    $0.isAutomaticLinkDetectionEnabled = false
    $0.isAutomaticDataDetectionEnabled = false
    $0.isAutomaticDashSubstitutionEnabled = false
    $0.isAutomaticTextReplacementEnabled = false
    $0.isAutomaticSpellingCorrectionEnabled = false
    $0.isAutomaticTextCompletionEnabled = false
}

In this code example, Muter correctly identifies that removing the whole forEach call, including its entire body, fails to trigger, but it doesn’t test each of the internal $0.isFooEnabled = false lines for un-tested side effects.

Great catch. I'm also struggling on how to word this issue, but your example is clear to me. I've labeled it accordingly and will figure out the scheduling for this change.

 Probably gonna be a UI test, but could also just query those properties and make sure they stay disabled.


Submission @jbachorik

Thanks for a very interesting 'etude' :)
Here is something using just plain Java with a bit of mmapping and direct byte buffers. Didn't use any of the new shiny Panama stuff, though ...
Class: dev.morling.onebrc.CalculateAverage_jbachorik
Specs: Apple M1 Max, 64GiB
Check List:

[x] Tests pass (./test.sh <username>)
[x] All formatting changes by the build are committed
[x] Output matches that of calculate_average_baseline.sh

Execution time:

real    0m5.378s
user    0m40.094s
sys     0m1.362s

Execution time of reference implementation:

real    3m22.003s
user    3m18.195s
sys     0m3.946s

Hey @jbachorik, do the tests pass for you locally?
I'm getting this:
Validating calculate_average_jbachorik.sh -- src/test/resources/samples/measurements-10000-unique-keys.txt
Exception in thread "main" java.lang.IllegalArgumentException: Split size must be at least 128 bytes
	at dev.morling.onebrc.CalculateAverage_jbachorik.mmap(CalculateAverage_jbachorik.java:375)
	at dev.morling.onebrc.CalculateAverage_jbachorik.main(CalculateAverage_jbachorik.java:198)

Still getting the same error. Please run mvn clean verify && ./test.sh jbachorik to make sure they all pass (please rebase to latest main before doing so to have all the latest tests). Thx!

Hi, I apologize for a long reply ... I have been AFK for this week and had just a few moments on internet.
I fixed the test (d'oh) and also took the liberty to directly propose my second iteration I have already been working on - the main point of the second take is to avoid double work. With those changes I really seem to be hitting the bottleneck of the bytebuffer where each access is verified and getLong(idx) shows as the major top consumer on my profiles ....

Hey @jbachorik, so what's your output of ./test.sh jbachorik? I'm still having issues there. I got a warning about using pre-touch, which helped to get rid of one of the unexpected output lines. Still getting this one though:
Validating calculate_average_jbachorik.sh -- src/test/resources/samples/measurements-shortest.txt
java.lang.IndexOutOfBoundsException
	at java.base/java.nio.Buffer$1.apply(Buffer.java:757)
	at java.base/java.nio.Buffer$1.apply(Buffer.java:754)
	at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:213)
	at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:210)
	at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:98)
	at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:106)
	at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:302)
	at java.base/java.nio.Buffer.checkIndex(Buffer.java:779)
	at java.base/java.nio.DirectByteBuffer.getLong(DirectByteBuffer.java:877)
	at dev.morling.onebrc.CalculateAverage_jbachorik.processChunk(CalculateAverage_jbachorik.java:242)
	at dev.morling.onebrc.CalculateAverage_jbachorik.lambda$main$1(CalculateAverage_jbachorik.java:188)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
	at java.base/java.lang.Thread.run(Thread.java:1583)

real	0m0.200s
user	0m0.170s
sys	0m0.067s
1c1
< {}
---
> {a=1.0/1.0/1.0}

Reason probably is that you still need to rebase to current main, so as to make sure all the tests are run and pass (we added some more earlier this week, covering some corner cases of the spec).

Yepp, looking good now. 00:15.752 on the eval machine. Thx for participating!


Fix for SNS subscription confirmations

When a custom (existing) SNS topic name is used in the queue_name option, subscription confirmations fail to fire.
This PR adds an event listener for notifications on the queue_name for the AWS providers to correct this.
Should fix #100 and #102

A new inspection was created.

The inspection completed: 1 updated code elements


fix: automatic decompression of response content

fixes #302

@andrueastman we'll need to remove the obsolete handler from the graph core client factory and bump the required http version as a follow up. Can you take care of it please?


Remove repeated imports of mock

I am not sure why mock is imported multiple times but the tests pass even without them. If there is a good reason to keep them then this could be closed. Otherwise for readability I think they should be removed.

I'm fine with this, I'd guess what happened was:

A single test got written with the inline import
That test got copied everywhere
Someone realized "hey we can global import"
Step 2 never got cleaned up

LGTM


Need to reverse order of null check and equality check when using == with Options

Version: 3.6.0-RC3, 3.5.2
Module: quill-async-postgres
Database: PostgreSQL 13
Expected behavior
I enjoyed the idea with new Scala-idiomatic Option equality a lot, and expected the following to work (this is an excerpt, link to full runnable code below):
case class t(name: Option[String])
import context._

val name: Option[String] = Some("A")
run(query[t].filter(t => t.name == lift(name)))

Actual behavior
PostgreSQL throws an error:
ERROR:  could not determine data type of parameter $1
SELECT t.name FROM t t WHERE t.name IS NULL AND $1 IS NULL OR t.name IS NOT NULL AND $2 IS NOT NULL AND t.name = $3

Steps to reproduce the behavior
Full minimized reproducer project is here: Rogach/quill-issue-2052
createdb test-quill-2052
psql test-quill-2052 -c "create table t(name text)"
git clone https://github.com/Rogach/quill-issue-2052.git
cd quill-issue-2052
# adjust user in Main.scala
sbt run

Workaround
Previously I used "is not distinct from" operator via infix function to achieve the same result:
.filter(t => infix"${t.name} is not distinct from ${lift(name)}".pure.as[Boolean])

By the way, it would probably be nicer if for PostgreSQL option equality compiled into "is distinct from"/"is not distinct from" operators instead of three-parameter "if is null and is null or is not null and is not null".
@getquill/maintainers

I've the same issue with an field whose type is UUID and its an Option[UUID] in scala. The suggested workaround works!

Okay, the solution to this is a bit more involved. It requires changes to a bunch of places.
Basically, we need to do 2 things:

Step 1: Change the way positional parameters work so that lifts that are the same have the same positional parameter name i.e. from this:
SELECT t.name FROM t t
  WHERE
    t.name IS NULL AND $1 IS NULL OR
    t.name IS NOT NULL AND $2 IS NOT NULL AND
    t.name = $3

To this:
SELECT t.name FROM t t
  WHERE
    t.name IS NULL AND $1 IS NULL OR
    t.name IS NOT NULL AND $1 IS NOT NULL AND
    t.name = $1

Step 2: Change the ordering of the clauses so that the to-column comparison t.name = $1 will come first.  Change ScalarValueLift, ScalarQueryLift, ScalarQueryLiftto have an additional uuid: String parameter (add this to the base ScalarLift trait for convenience). This should be assigned in Parser.scala and ignored in all transformation stages. The copy functions ScalarValueLift, ScalarQueryLift, ScalarQueryLift should be modified to copy-over this parameter. Also the Lifter and Unlifter need to be modified to handle this parameter too.
In ReifyStatement.scala, before token2string is called, go through all the ScalarLiftToken  (I think you can ignore ScalarTagToken since that's a ProtoQuill thing) instances and take each unique UUID instance in the ScalaLifts and build a UUID->Index map. Take this map and pass it into token2string. You should then use this UUID->Index map instead of doing liftingPlaceholder(liftingSize), in the ScalarLiftToken(lift) case of token2string you should do something like liftingPlaceholder(map(lift.uuid))
The above steps should ensure that identical lifts get identical positional parameters. Make sure to actually test. You can use the translate method in PostgresJAsyncContext for this purpose.

@deusaquilus i will take this issue

I am getting similar error in a query that is using lift(opt).forall(_ == ???) in combination with an sql"...".asCondition expression.
The generated query looks like
WHERE (? IS NULL OR ? = t.fkid) AND (t.name ILIKE ? OR ...)

and the error is could not determine data type of parameter $2
The only workaround I have found is to rewrite the query as a single combined sql"..." expression
WHERE (t.fkid = ? OR ?::uuid IS NULL) AND (t.name ILIKE ? OR ...)

I guess the parameter in ? IS NULL is not the same as in ? = t.fkid otherwise Postgres should be able to figure its type 🤔

My workaround for the same issue:
.filter{
  case entity =>
    quote(infix"(${lift(optionalParam).orNull}::varchar IS NULL OR ${entity.field} = ${lift(optionalParam).orNull})".as[Boolean])
}


Unable to extract login-form form

Hi,
I try to download a course, but it shows me the following
[] : Downloading webpage..
[] : Extracting course information..
[] : Downloading 'proyecto ecommerce java ee jsp servlet con pagos en linea'.
[] : Trying to login as (nicoyani8@gmail.com)...
[-] Unable to extract login-form form
Traceback (most recent call last):
File "D:/utils/udemy/udemy-dl-master/udemy-dl.py", line 924, in
main()
File "D:/utils/udemy/udemy-dl-master/udemy-dl.py", line 829, in main
udemy.ExtractAndDownload()
File "D:/utils/udemy/udemy-dl-master/udemy-dl.py", line 291, in ExtractAndDownload
self.login()
File "D:/utils/udemy/udemy-dl-master/udemy-dl.py", line 40, in login
extract_info.login(self.username, self.password)
File "D:\utils\udemy\udemy-dl-master\udemy_extractor.py", line 147, in login
login_form      = self._fill_login_form(login_popup, username, password)
File "D:\utils\udemy\udemy-dl-master\udemy_extractor.py", line 98, in _fill_login_form
login_form = self._form_hidden_inputs('login-form', webpage)
File "D:\utils\udemy\udemy-dl-master\udemy_extractor.py", line 88, in _form_hidden_inputs
return _hidden_inputs(form)
File "D:\utils\udemy\udemy-dl-master\udemy_utils.py", line 80, in _hidden_inputs
html = re.sub(r'<!--(?:(?!', '', html)
File "C:\Program Files (x86)\Python36-32\lib\re.py", line 191, in sub
return _compile(pattern, flags).sub(repl, string, count)
TypeError: expected string or bytes-like object

thanks for your help

@Niko7700 check issue #98 the owner have already discussed the solution to this.

@linneudm thank you for your support. @Niko7700 i 'm closing this issue as duplicate you can check the solution in an issue link given by @linneudm .


geometry and energy with n4_improper

It's a bit difficult for me to verify the new pooling logic for impropers "by eye." Tests currently assert that the model is writing into the expected place for impropers without encountering exceptions. We discussed two more stringent integration tests: (1) re-running the entire pipeline with impropers now included and checking if this makes any difference (drawback: lots of moving parts, not specifically reading out if improper torsions are being handled as expected), (2) check if a system containing only improper terms can be recovered. @yuanqing-wang : I just added such a system, if you would like to use it for testing https://github.com/choderalab/espaloma/pull/44/commits/23ccd5e76da4b2ab5e5ba4f6c0ee05f2c7f34a95


Implentmentation of change user command

Hi all,
I have added the possibility of changing the user for a given connection. I have this use case(permissions and user roles related things) and half of my API was in Rust, plus I don't wanna create a new Pool for each query, and since the Mysql allows reusing the socket connection I've done it.
I know that is a weird use case, probably, nobody else will use it, if it is useless for the main repo I will understand.
Thank you all
Nuno

Hi. Sorry for significant delay.
I believe this should mostly go into the mysql_common crate.

Hi @blackbeam,
It's ok and thank you for the answer. I can implement this at mysql_common crate if you see that is the best thing to do.


Update Draw Instructions to Use Bitplanes

With the bitplane selector in place (see issue #27), the various draw functions need to be updated to only update elements on the selected bitplane(s). As mentioned before, the bitplane selector sets which planes are impacted by the draw operations:

0 - means no plane is selected, and thus nothing is updpated.
1 - means the first bitplane is selected - only items on this bitplane are updated.
2 - means the second bitplane selected - only items on this bitplane are updated.
3 - means both bitplanes are selected.

The following instructions need to be updated to obey the bitplane selector:

00Cn - scroll down n lines
00E0 - clear pixels on the current bitplane
00FB - scroll right 4 pixels
00FC - scroll left 4 pixels
Dxy0 - draw sprite

For the instructions above, new rules are inplace when pixels are written or cleared. Where the original Chip8 implementation used XOR to either turn a pixel on or off, now overlapping pixels on bitplanes are introduced. Pixels drawn on the first bitplane use color_1, while pixels drawn on the second bitplane use color_2. If a pixel is to be turned on in both the first bitplane, and its corresponding pixel is turned on in the second bitplane, then color_3 is used. If no pixel is turned on in either bitplane, then color_0 is used.
A special case arises when both bitplanes are selected. First, the VF register should be updated to register a collision if either bitplane results in a zero value being written. Second, the draw command will consume twice as many bytes for pixel information. The first set of bytes will draw to the first plane, and the second set of bytes will draw to the second plane (in the same pixel locations). For example, if the draw command uses a 4-byte value, then the bytes i to i+3 are written to the first bitplane, and i+4 to i+7 are written to the second bitplane.

This issue was closed with PR #46


Add transforms: MosaicDetection

Description
Please include a summary in English, of the changes in this pull request. If it closes an issue, please mention it here.
Closes: #(issue)
You should link at least one existing issue for PR. Before your create a PR, please check to see if there is an issue for this change.
PRs from forked repository not accepted.
Change(s)

Add MosaicDetection class on transforms
This should be refactored

e.g. cv2 library should be replaced with other function

Changelog
If you PR to dev branch, please add a brief summary of the change to the Upcoming Release section of the CHANGELOG.md file and include a link to the PR (formatted in markdown) and a link to your github profile.
For example,
- Added a new feature by `@myusername` in [PR 2023](https://github.com/Nota-NetsPresso/netspresso-trainer/pull/2023)

Code Formatting
If you PR to either master or dev branch, you should follow the code linting process. Please check your code with lint_check.sh in ./scripts directory.
For more information, please read the contribution guide in CONTRIBUTING.md.

This work contains #324


Remove dependency on lodash

Lodash is used in just 2 places as far as I could find. It adds 100kB weight for people who aren't use lodash in their projects. It's easier on the clients to get rid of this extra bulk.

+1

I'll be releasing a new version today I hope. It has the pull request from @almedo. Let me know if you have any problem.


Update README.md

I have updated some grammar error and the migration error for : https://github.com/bolechen/nova-activitylog/issues/37, please peruse let me know if this is copacetic

thx


Regenerating image sizes deletes original images

Bug Report
I'm returning to a project that was paused and was running 1.0.36. I successfully upgraded payload and other packages (also ran the migration script in 1.6.1).
I wanted to add an opengraph size to the imageSizes for an existing images collection, but when running this regenerateMediaSizes script all images are deleted except for:

The transforms for the newly defined opengraph image size, for all images.
Three placeholder images and their transforms (not including new opengraph size) that were uploaded prior to upgrading from 1.0.36.

Before

After

Steps to Reproduce
Don't think I can articulate how to reproduce this, but the CMS data isn't sensitive, so happy to create a reproduction repo and provide a DB dump and archive of the images directory if needed.
Here is my adapted regenerateMediaSizes script that references my collection handle and specifies the correct staticDir:
const payload = require('payload')
const path = require('path')

require('dotenv').config()

const { PAYLOAD_SECRET, MONGODB_URI } = process.env

const regenerateMediaSizes = async () => {
  try {
    await payload.init({
      secret: PAYLOAD_SECRET,
      mongoURL: MONGODB_URI,
      local: true,
    })

    const images = await payload.find({
      collection: 'images',
      depth: 0,
      limit: 300,
    })

    await Promise.all(images.docs.map(async (imageDoc) => {
      try {
        const staticDir = path.resolve(__dirname, './uploads/images')

        await payload.update({
          collection: 'images',
          id: imageDoc.id,
          data: imageDoc,
          filePath: `${staticDir}/${imageDoc.filename}`,
          overwriteExistingFiles: true,
        })

        console.log(`Media ${imageDoc.alt || imageDoc.id} regenerated successfully`)
      } catch (err) {
        console.error(`Media ${imageDoc.alt || imageDoc.id} failed to regenerate`)
        console.error(err)
      }
    }))
  } catch (err) {
    console.log('Unable to find documents with payload')
    console.error(err)
    process.exit(0)
  }

  console.log('Media size regeneration completed!')
  process.exit(0)
}

regenerateMediaSizes()

Other Details
<EMAIL_ADDRESS>

Hey @slavanossar — figured out what was happening here and we will be adding tests / releasing in a patch version shortly.
As always, thank you for the level of information you provide! It makes solving the issue very quick and we appreciate it.

And thank you for the lightning fast responses and fixes!


outputFileSystem.readFile behaves differently than its documented type

Bug report
What is the current behavior?
Using outputFileSystem.readFile with an encoding argument is valid and applies the given encoding over the read content, even though the type definition for it states otherwise:
https://github.com/webpack/webpack/blob/c61466e43895f84ff56fb98e69cbe3f3e19f47c2/types.d.ts#L8189
If the current behavior is a bug, please provide the steps to reproduce.
For example, running this code returns the output file's content as a UTF-8 string, and changing the utf8 argument to hex affects the output's encoding as well:
const path = require("path");
const webpack = require("webpack");

const wp = webpack({
  context: path.resolve(__dirname),
  entry: "./entry.js",
  output: {
    path: path.resolve(__dirname, "dist"),
  },
});

wp.run((err, stats) => {
  wp.outputFileSystem.readFile("./dist/main.js", "utf8", (e, content) => {
    console.log(content);
  });
});

What is the expected behavior?
The readFile function should have to typed overloads:
	readFile: (
		arg0: string,
        arg1: <possible encoding values>
		arg2: (arg0?: null | NodeJS.ErrnoException, arg1?: string | Buffer) => void
	) => void;

and the existing defintion:
	readFile: (
		arg0: string,
		arg1: (arg0?: null | NodeJS.ErrnoException, arg1?: string | Buffer) => void
	) => void;

Other relevant information:
webpack version: 5.51.1
Node.js version: 14.17.0
Operating System: maOS Big Sur 11.4

Feel free to send a PR

That would be a breaking change...

You can provide a custom filesystem which doesn't have to support these undocumented calling variants of these methods. Currently that's fine, but changing the typings would make that invalid.
The filesystem caching would also be a little bit sad if you use the encoding argument as it's only caching calls and doesn't convert between encoding.

@sokra I see, thanks for clearing that out 👍
Closing this, as it's probably more of a memfs thing (which is the FS I used in my case) that needs to be sorted out.


feat: :sparkles: add DeadZonePercentage parameter for binding detection

I had problems with binding using JoystickInputSelector as some of my peripheral have jittering axis.
I added a new Dead Zone Percentage parameter to the widget, to disable detection on exterme values.

-1 (+percentage)
0 (+ / - percentage)
1 (- percentage)

Ok thanks i'll have a look

I would like to add this to the 4.0.0 release - are you able to update your PR with the recommended if statement?

Yes fur sure, i'll do it quickly


Website display issue on Firefox

Created a new Hexo blog and followed the steps in the README.md to install the theme, but it's not displaying correctly. However, the example website in the README.md is displaying properly.
Firefox version: 117.0.1
hexo-theme-yuzu version: v3.2.1
Result of hexo version:
hexo: 6.3.0
hexo-cli: 4.3.1
os: linux 4.4.0-22621-Microsoft Debian GNU/Linux 11 (bullseye) 11 (bullseye)
node: 18.17.0
acorn: 8.8.2
ada: 2.5.0
ares: 1.19.1
brotli: 1.0.9
cldr: 43.0
icu: 73.1
llhttp: 6.0.11
modules: 108
napi: 9
nghttp2: 1.52.0
nghttp3: 0.7.0
ngtcp2: 0.8.1
openssl: 3.0.9+quic
simdutf: 3.2.12
tz: 2023c
undici: 5.22.1
unicode: 15.0
uv: 1.44.2
uvwasi: 0.0.18
v8: <IP_ADDRESS>-node.26
zlib: <IP_ADDRESS>-motley

I've checked the MDN doc for :has() selector, and found it is not compatible with Firefox browsers, unless user enable it themselves.
I may come up with a solution later.
Ref: https://developer.mozilla.org/docs/Web/CSS/:has#browser_compatibility

Thank you!


No compatible GPUs found for path tracing. Cycles will render on the CPU !

Hello to everyone.
I'm using Windows 11 pro Build 22000.co_release.210604-1628 and I have installed the WSL2 with Ubuntu 21.04 on top of it. Inside the Ubuntu OS I have installed Blender 2.82. And then I went on User Preferences / System because I wanted to check if blender cycles was able to render using the GPU exposed by windows 11 while launched within WSL2. This is what happened with my big disappointment :

Is there a fix or a workaround for this problem ? Not being able to render something using blender cycles inside WSL2 is a serious missing.  My graphic card is the Nvidia RTX 2080 ti and blender detects it correctly on Windows 11.

This is likely becuase your WSL Distro version does not have the right Mesa packages to utilize your GPU. Please check out this blog post to see how you can get the Ubuntu Community Preview which does have the right Mesa packages, as well as making sure that you have a WSL GPU ready driver installed!

If you're still seeing this issue please file it over at the WSLg repo at https://github.com/microsoft/wslg , I'll close this out as it's not an actionable item for the WSL team, thanks for filing it!

Please help me. My seem Problem. Please please please 🙏🙏🙏🙏🙏


Commit 71f0593c342 breaks landing gear model

The latest version of landing gear (including before and after @bqpd's most recent improvements) is returning the following error after commit 71f0593c342:
Beginning signomial solve.
ERROR: An unexpected error occurred while tokenizing input
The following traceback may be corrupted or invalid
The error message is: ('EOF in multi-line string', (28, 50))

---------------------------------------------------------------------------
RuntimeWarning                            Traceback (most recent call last)
/Users/philippekirschen/Documents/MIT/Research/GPkit/gpkit/gpkit/models/gpkitmodels/aircraft/landing_gear.py in <module>()
    326
    327 if __name__ == "__main__":
--> 328     LandingGear.test()

/Users/philippekirschen/Documents/MIT/Research/GPkit/gpkit/gpkit/models/gpkitmodels/aircraft/landing_gear.py in test(cls)
    322         """Tests the standalone landing gear model"""
    323         m = cls.standalone737()
--> 324         sol = m.localsolve()
    325         print sol.table()
    326

/Users/philippekirschen/Documents/MIT/Research/GPkit/gpkit/gpkit/constraints/prog_factories.pyc in solvefn(self, solver, verbosity, skipsweepfailures, *args, **kwargs)
     79         else:
     80             self.program, solvefn = genfunction(self, verbosity-1)
---> 81             result = solvefn(solver, verbosity, *args, **kwargs)
     82             solution.append(result)
     83         solution.program = self.program

/Users/philippekirschen/Documents/MIT/Research/GPkit/gpkit/gpkit/constraints/signomial_program.pyc in localsolve(self, solver, verbosity, x0, rel_tol, iteration_limit, **kwargs)
    102     The last result is available in Model.program.gps[-1].result. If the gps
    103     appear to be converging, you may wish to increase the iteration limit by
--> 104     calling .localsolve(..., iteration_limit=NEWLIMIT).""" % len(self.gps))
    105             gp = self.gp(x0, verbosity=verbosity-1)
    106             self.gps.append(gp)  # NOTE: SIDE EFFECTS

RuntimeWarning: problem unsolved after 52 iterations.

    The last result is available in Model.program.gps[-1].result. If the gps
    appear to be converging, you may wish to increase the iteration limit by
    calling .localsolve(..., iteration_limit=NEWLIMIT).

Strangely, the full aircraft models works ok.

Wait it looks like @bqpd already caught this in his comments on 71f0593. But you said you pushed a fix to master, but that fix didn't resolve it?

It got broken again by https://github.com/hoburg/gpkit/commit/571e9cccd4654126a970ddfc8ca3d33b58b4e947 :-/

Fixed by #884


Inconsistent dumping of arrays of text in SQL queries in views

I keep getting this diff in my db/schema.rb:
-            WHERE ((t.type)::text = ANY (ARRAY[('A'::character varying)::text, ('B'::character varying)::text]))) ct ON ((ct.b_id = b.id)))
+            WHERE ((t.type)::text = ANY ((ARRAY['A'::character varying, 'B'::character varying])::text[]))) ct ON ((ct.b_id = b.id)))

From this SQL:
        WHERE t.type in ('A', 'B')) ct ON ct. b_id = b.id

Are you working with a team? Are you all on the same Postgres version?
On Friday, March 31, 2017, Dorian<EMAIL_ADDRESS>wrote:

I keep getting this diff in my db/schema.rb:

       WHERE ((t.type)::text = ANY (ARRAY[('A'::character varying)::text, ('B'::character varying)::text]))) ct ON ((ct.b_id = b.id)))

       WHERE ((t.type)::text = ANY ((ARRAY['A'::character varying, 'B'::character varying])::text[]))) ct ON ((ct.b_id = b.id)))

From this SQL:
    WHERE t.type in ('A', 'B')) ct ON ct. b_id = b.id

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/thoughtbot/scenic/issues/195, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAJSWG16WwxeGELyRYqhPm0-o5nIwcJaks5rrV9MgaJpZM4MwHI5
.

I'm on postgres (PostgreSQL) 9.6.1. The one on Heroku is 9.4.10. I'm gonna ask my coworker later.

But shouldn't this be normalized across postgres versions?

@Dorian

"shouldn't"

probably, but in practice it probably isn't. Did you hear from your coworker?

We don't have a good way of normalizing the output from Postgres versions. One thing we have considered in the past is tracking views and their current version in a metadata table we would maintain. Then, instead of dumping the actual SQL of your view, we could dump: create_view :searches, version: 3 or similar.
This would have a couple of downsides:

There'd no longer be a single file you could review to see a diff of the view definition in a PR. While the view definitions we pull from Postgres aren't the most readable SQL, they're often enough to see major differences. This is complicated if users on the team have differing Postgres versions.

We wouldn't be able to dump views created with anything other than scenic. Right now the schema dumper will handle views you created manually or with a previous gem. That wouldn't be the case if we moved to a metadata table.

@calebthompson What do you think?

I'm :-1: on storing views in metadata. Too much magic and it's going to cost us later I fear. The underlying issue here is array ordering- does Postgres guarantee that? If so, how are these arrays being dumped in different orders?
Seeing an example would help us make sure this doesn't happen any more.

@calebthompson he uses 9.6.1 too

I don't think it's a bug in postgres - I think it's a difference in how the two versions of postgres dump the schema. I think using the same version of postgres locally and on heroku will resolve this.


Custom ignore files

Hi, first of all, thanks for your VSCode extension, it helps me a lot.
I looked at configurations in VSCode and I only have found 2 ignore files which you define it: *.freezed.dart and *.g.dart. I believe this ignores is because they use 'part' and 'part of' inside them, and you don't need to export the other file. So I'm using Bloc and now it uses 'part' and 'part of' and I don't use this generates barrel properly because of these files.
I think, instead of create one more option to ignore a file, is it possible to add a list of files/folders to ignore like as git ignore do?
Suggestion with real examples:
You can find this in VSCode>Settings>User>Commonly Used

Hello @jttuboi! 👋🏼
It is definetely possible, and it is something I was waiting to be requested before made. I will be implementing such feature soon, if you feel like it could be something useful.
I'll keep you noticed 😉

Alright! Changes made 😄
I will release the feature in a couple of days, when I release the v2.0.0 of the extension.

The extension has been updated right now!


.ipynb added even if it is already in the file name.

This happens in my Mac using Chrome, when I drag and drop some files from Finder, it leaves the default text fields as ie:  Fractals/fractals.ipynb.ipynb.

This seemed to be a problem with chrome on osx, doesn't happen anymore.


Limits need to call tag API when explicit version specified

Reduces the need to call the OCI tag API when explicit versions are specified
fixes https://github.com/helm/helm/issues/10557

Does this need to be part of 3.8?

I think so @marckhouzam - ive just placed into milestone

I think so @marckhouzam - ive just placed into milestone

So this will need to be cherry-picked into the release-3.8 branch.  I didn't do it myself because I felt the release manager should give his ok.  I think it's @mattfarina ?


Momentum Updates

Providers By Location - add Dallas and Miami
Locations By Provider - Add NNI locations for Dallas and Miami, adjust to alphabetical order for Silicon Valley; remove Dallas, Miami and Silicon Valley from "Connectivity through additional service providers" section now that direct NNIs are operational in Dallas, Miami and Silicon Valley

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

@duongau --- Any thoughts on the above merge?

@duongau --- updates on this please. I don't want the underlying repo to drift too far before these are applied. We have been in queue for almost a month on a pretty light update. Please let me know blockers here.

@AbdullahBell - Can you review these changes?

Hello, this PR is in review. Thank you for your contribution to the docs!

@AbdullahBell --- do you have an ETA for this review to be completed?

#sign-off


Improve WITec unit tests

In addition to current unit tests, add template #55 for these functions:

[ ] read_dat_WITec
[ ] read_txt_WITec
[ ] read_txt_WITec_Graph
[ ] read_txt_WITec_TrueMatch

(the current test should remain in the files)

@sangttruong, can you do 4 separate PRs for this issue?

one for each file


[model #66] Publisher and PublisherMember object

Coverage decreased (-0.1%) to 84.264% when pulling e97ac14e2c3c2a378f4e8d2034087723824fa69e on subhankarb:dpr-api-66 into 1f9900618c94d29be35b1f8970d37e9d47b977bc on frictionlessdata:master.

@subhankarb looks fine. Note for the future: manager.py needs to be updated appropriately


state of mdc-Components

Documentation Feedback
Hello,
i would be curious if the Angular Components team could give some update on the state of the mdc integration.
I would be interested if the current implementation will be replaced and in which time span this planned. Also if you could give some insights how much breaking changes we will encounter.
At starting angular material you had a table which component is already done and for the missing one, when it is planned. I wonder if something like that would make sense for mdc, to provide more insight how the progress is. I Did see you have a "Project" about it here in github, but i'm unsure how complete it is.
Thanks
Affected documentation page
https://angular.io/guide/roadmap / https://material.angular.io/ / https://github.com/angular/components/tree/master/src/material-experimental

We're currently working towards finalizing our plan to move the MDC components into the stable @angular/material package (how ng update will work, deprecation timeline for the older components, etc.) We're shooting for v14 here, but (like any new feature) there's always a chance that it might end up slipping to a later release if something in our dependency stack ends up blocking. I'll also update the README when we have a more definite idea of whether we can commit to v14.


Refactor published chart

Smallish refactor on the published chart file to prevent code duplication and drift.
Since it can be a bit "invasive" and since I had to had a @ts-ignore, I prefer to keep this commit out of the next release.

I like it thanks ! I think here the problem was that since the usage of chartConfig was not explicited, typescript could not understand that the chart config type was the right one for the component used.


feat: native rest endpoints for agents

Summary
Initial concept of creating native rest endpoint support for agents.
Missing features

[ ] Add support for Bureau for rest endpoints
[ ] Agentverse hosting updates for rest endpoints
[ ] Adding support for agents who are using the Mailbox
[ ] Probably a whole load of additional things too 😁

🎉


After Update not working

i updated the plugin once it was available  but its not working :(

Can you verify the plugin version?


Application of message traits (intentionally) replacing existing attributes

Describe the bug
According to specification, message traits are applied using json-merge-patch protocol.

A list of traits to apply to the message object. Traits MUST be merged into the message object using the JSON Merge Patch algorithm in the same order they are defined here. The resulting object MUST be a valid Message Object.

The implication of this is that properties defined in a trait will "override" those defined in the message itself. I am not sure if this is actually a bug (it is just how json-merge-patch works) but I personally think this is a bit unfortunate.
A concrete scenario where I run into troubles is that I have a trait that is defining some standard message headers where some of them are required. Then I have several messages that include some specific header attributes per message where also some of them are required. Now the problem is, that when the trait is applied, the required attributes from the message are replaced by the ones from the trait (see the examples below for more clarity).
Of course I could also just remove the required array from the trait and add them into the message, but then the trait is not really self-contained anymore... Therefore I wanted to check if this behavior of traits is really the intended one? Or if there are any other mitigations I could take?
To Reproduce
Steps to reproduce the behavior:

Take the sample document below
Parse it with parser-js
Check the resulting message

{
  // ...
  "components": {
    "messages": {
      "channelMessage": {
        "headers": {
          // ...
          "required": [ // ["req-header"] has been replaced by the trait
            "t-req-header"
          ]
        }
      }
    }
    // ...
  }
}

Expected behavior
A clear and concise description of what you expected to happen.
{
  // ...
  "components": {
    "messages": {
      "channelMessage": {
        "headers": {
          // ...
          "required": [
            "req-header",
            "t-req-header"
          ]
        }
      }
    }
    // ...
  }
}

Sample document
asyncapi: 2.0.0
info:
  title: My API
  version: '1.0.0'

channels:
  mychannel:
    publish:
      message:
        $ref: '#/components/messages/channelMessage'

components:
  messages:
    channelMessage:
      traits:
        - $ref: '#/components/messageTraits/some-trait'
      headers:
        type: object
        properties:
          req-header:
            type: integer
          non-req-header:
            type: integer
        required:
          - req-header
  schemas:
    testSchema:
      type: object
      properties:
        name:
          type: string
  messageTraits:
    some-trait:
      headers:
        type: object
        properties:
          t-req-header:
            type: string
          t-non-req-header:
            type: string
        required:
          - t-req-header

Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
Add any other context about the problem here.

Thanks for formulating this @c-pius .
I've also brought this problem up in slack a while ago and discussed it with @derberg .
I'm not sure the link still works, as this message is out of the workspace history for me: https://asyncapi.slack.com/archives/C34F2JV0U/p1588916689469300

In your spec there is the following statement:
"Traits MUST be merged into the message object using the JSON Merge Patch algorithm in the same order they are defined here."
If i interpret this correctly, the trait would overwrite what's already defined in the message itself?
This is where I ran into problems because I assumed this works more like OOP inheritance or mixins where you can have defaults and overwrite them in the concrete place.
Is the behavior that the trait will override attributes on the object where it is applied desired? Or did I oversee something?

Hi @fmvilas,
actually I do like that you've chosen to use a standard for this. The problem is the order of merging beeing done, which is opposite to what you're used to. Effectively, the parent overwrites the properties of the child (the trait overwrites the properties of the object where it is applied to) and not vice versa.
The merging of arrays is indeed complicated. I ran into this issue as well and usually end up with one of the following solutions:

Just accept that an array is always overwritten (like a primitive type). This is very simple and I think what some merging libraris do by default.
Define clear rules how array merging is done. E.g. arrays are merged and duplicates are removed. Please note that this makes it impossible to remove array items.
Devise additional keywords / vocabulary that controls how array merging is done. Then the user can define himself what the rules of array merging are. In one project I used the following "directives" (some of them could also be combined): '@overwrite', '@prepend', '@append', '@unique', '@sorted', '@unsorted'

Regarding a solution. I'm afrait that the specification can't change this behavior without introducing a breaking change and adjusting the various implementations (parser, renderers, etc.). In our internal project we decided to just state a clear warning that makes clear that traits do not behave as you'd expect and give some rules when they can be used and when they shouldn't.
One fallback possibility is also to not use traits at all and if you need it do inheritance with a preprocessor of you own choosing.
Best regards,
Simon

I'd propose to clearly state this behavior (and it's consequences) in the specification and rethink how we want to do information merging / inheritance in the next major version of this specification.

Would any of you mind opening a PR to add it to the spec?

Regarding a solution: I'm afrait that the specification can't change this behavior without introducing a breaking change and adjusting the various implementations (parser, renderers, etc.).

Don't worry about breaking changes. Go ahead and create a proposal on how to solve it. We're currently changing the way to contribute to the spec, in case you're interested: https://github.com/asyncapi/spec/pull/511.

@fmvilas yes, I can create a PR to clarify this (just need to find a bit of time for this).
Here is a very quick draft, but I didn't have time to have a look at the contribution guidelines yet. But I'll catch up on that.
PR: #517
Regardings the proposal how to solve it, this would take a bit more thought and time.

I didn't find time to propose the new behavior via PR, but some first ideas and sketches (still hacky and just a basis for further discussion and refinement):

After some thoughts, I'm not sure it is a good idea to use the JSON Merge Patch standard for trait inheritance. The reason is that this standard is about how an existing document is patched (and therefore partially overwritten) by a patch. When we talk about traits, we would expect the opposite behavior. The trait is inherited, but will never overwrite the initial object. Therefore the semantics / original purpose of the JSON Merge patch standard is different from the traits semantics.
Therefore we could just state how the desired inheritance behavior is and provide a simple reference implementation or rely on existing deep merge implementations like lodash (_.merge()).
The simplest rule of merging could be: The merge function will overwrite primitive types, deep merge objects (recursively) and overwrite (not merge!) arrays. The merge should not mutate its parameters. Merge objects that come later in the parameter list will overwrite those before.

If we want / need a more flexible merge logic, we could add some rules how arrays can be merged. For example: 1. append new items, 2. deduplicate items. If an array gets merged with null it is removed. (therefore we still can overwrite an array by having an intermediary merge with null)

Now we need to define the order in which the merging happens. For traits, this would be: merge(trait1, trait2, trait3, ..., targetObject)

Here is some JavaScript Snippet (See JSFiddle):
const targetObject = {
	// I don't want this to be overwritten when applying traits
  type: 'my message type',
  messageObject: true,
}

const trait1 = {
  source: 'inherited source from trait 1',
  type: 'type from trait1 that I dont want to inherit',
  trait1: true,
  someObject: {
  	trait1: true,
  },
  someArray: ['trait1']
}

const trait2 = {
	source: 'inherited source from trait 2',
  trait2: true,
  someObject: {
  	trait2: true,
  },
  someArray: ['trait2']
}

const currentBehavior = _.merge({}, targetObject, trait1, trait2);

console.log('Current trait inheritance', currentBehavior)

const proposedBehavior = _.merge({}, trait1, trait2, targetObject);
console.log('Proposed trait inheritance', proposedBehavior)

// The _.merge function will overwrite primitive types, deep merge objects (recursively) and overwrite (not merge!) arrays.

To me this proposal looks like it goes in to the direction of what I would intuitively expected from traits. As of the current porposal, is this not just the same as with json-merge-patch but with a different order (as I understood it it also deep merges objects and replaces arrays)?

Traits MUST be merged into the message object using the JSON Merge Patch algorithm in the same order they are defined here.

would change to something like

Starting from an empty object, traits MUST be merged into the object in the same order they are defined here and lastly the operation object is merged. For the merging, the JSON Merge Patch algorithm is used

However, for the given problem with the required array, this would still not actually solve the problem (unless we define how arrays are merged instead of replaced). Still an improvement I guess.

Starting from an empty object, traits MUST be merged into the object in the same order they are defined here and lastly the operation object is merged. For the merging, the JSON Merge Patch algorithm is used

I just skimmed the JSON Merge patch RFC but to me it looked like that arrays get replaced and not merged there as well.

Yes, I also interpreted the JSON Merge patch behavior that arrays get replaced and not merged there as well. This would correspond to the simpler merge algorithm I stated above.
yes I exactly. The point I wanted to make is that the suggested algorithm (without merging arrays) is just the JSON Merge Patched applied in a different order than as of now

I agree with everything here actually, @Fannon your example is plenty enough to work on the general "fix" for the parser 👍 Well explained.
I think it makes sense to alter the definition of traits in the specification 👍
Related function in JS Parser: https://github.com/asyncapi/parser-js/blob/8dc1d6cfb49a6a87732b9bdd996d4092b5e111fe/lib/parser.js#L226

After some fiddling around, I realized that the _.merge() function does also not give the result that I would have expected by default. The issue is that it tries to merge arrays by default and does not even do this by concatenating them, but by iterating the array items and merging each with the source array item of the same index.
This behavior is not what I would have expected at first and is likely not desirable for trait inheritance. As the currently defined JSON Merge Path algorithm overwrites arrays, I'd like to keep this behavior.
Actually merging an array like lodash does by default would be complicated as you always need to keep the array item order in mind. Actually reducing an array wouldn't even be possible, except by setting the items as undefined.
I've updated the JSFiddle to reflect this new insight: https://jsfiddle.net/rb8gafmv/17/
Here is my current WIP idea on how to define the trait inheritance:
Trait Inheritance
When traits (Operation Trait Object and Message Trait Object) are defined, they MUST be merged into the target object according to the following rules:

Traits are merged with a recursive merge algorithm:

Objects are merged recursively
All other types (including arrays) are overwritten

The target object that the trait is applied is the most specific and therefore is never overwritten, only extended.
The order of the trait objects defines its specificity. Subsequent trait objects in the trait array are more specific.
The resulting merge order is the following, with the most specific object to the right:

merge(trait1, trait2, trait3, ..., targetObject)

Code Snippet: (See https://jsfiddle.net/rb8gafmv/17/)
const targetObject = {
	// I don't want this to be overwritten when applying traits
  type: 'my message type',
  messageObject: true,
}

const trait1 = {
  source: 'inherited source from trait 1',
  type: 'type from trait1 that I dont want to inherit',
  trait1: true,
  someObject: {
  	trait1: true,
  },
  someArray: ['trait1', 2],
  testObjectArray: [{arrayObj1: true}]
}

const trait2 = {
	source: 'inherited source from trait 2',
  trait2: true,
  someObject: {
  	trait2: true,
  },
  someArray: ['trait2'],
  testObjectArray: [{arrayObj2: true}]
}

// First merge the targetObject into the most specific trait (trait 2)
const interimResult = merge(targetObject, trait2)
// Now merge the result with the next most specific trait (trait 1)
const proposedBehavior = merge(interimResult, trait1)
// Repeat... (depending on how many traits to apply)
console.log('proposed trait inheritance', proposedBehavior)

/**
 * The source overwrites the target
 * returns the merged result
 */
function merge(target, source) {
  // deep clone the target so we don't mutate the parameter input
  const result = JSON.parse(JSON.stringify(target));
  return _.mergeWith(result, source, customizedMerge);
}

function customizedMerge(objValue, srcValue) {
  if (_.isArray(objValue)) {
  	// Arrays are overwritten and NOT merged.
    return srcValue
  }
}

Here is another example that we can discuss on the AsyncAPI meeting today:
asyncapi: 2.1.0
info:
  title: Animals API
  version: 1.0.0
channels:
  birdchannel:
    publish:
      message:
        $ref: '#/components/messages/birdMessage'
components:
  messages:
    birdMessage:
      traits:
        - $ref: '#/components/messageTraits/animalTrait'
      headers:
        type: object
        description: 'A bird!'
        properties:
          type:
            type: string
            enum: ['Bird']
          chirp:
            type: string
        required:
          - name
          - type
          - chirp
  schemas:
    testSchema:
      type: object
      properties:
        name:
          type: string
  messageTraits:
    animalTrait:
      headers:
        type: object
        description: 'An (abstract) animal'
        properties:
          name:
            type: string
          type:
            type: string
            enum: ['Bird', 'Dog']
        required:
          - name
          - type

And to add a real use-case and not a contrieved one:
If you use AsyncAPI for describing CloudEvents, there will be some standardized header messages for each event. It would be really convenient to create one trait that describes all the CloudEvent typical headers. However, if you do this with a trait with the current behavior, you can never overwrite anything that you inherited, e.g. to make it more specific.
Especially problematic is the required array in JSON schema. If you define it in the trait, it makes it impossible to add / overwrite the required properties at the message level in case you added some additional required property.

Yeah, the CloudEvents example is a good one. We're making some great progress with the publish/subscribe issue that will be fixed in version 3.0.0. I think we should aim for changing this behavior for v3 but would not like to then find out we're breaking other more common use cases. I don't think so but I'm being fear-driven here I guess 😄

No, I totally get you. For a spec it's really important to think this through properly and avoid making rash decisions.

@Fannon as you already are in progress of championing this, do you see this as needing to be considered for 3.0?

@jonaslagoni : Yes, moving this to a 3.0 release makes sense as we have the chance to rethink this without worrying too much about incompatibility.
Right now, it's somewhat undefined behavior. The proposals we discussed and preferred would change the behavior (which would be a breaking change).

@Fannon do you mind if I add you to the list of champions for 3.0? Joining the meetings would give you a good oppotunity to give updates and get feedback with no preasure 🙂

Yes, let's try it :)

At what stage do we have this proposal? I have now encountered this problem myself, and it surprises me that traits have a higher priority than the main object itself 😆 I understand that we want to fix the behaviour of traits in v3. @jonaslagoni @Fannon

@magicmatatjahu : I'm not that actively involved in this anymore, sorry for that. My feeling was that we lacked a bit a consensus on how to move this topic forward. Changing the existing behavior would be a breaking change, so it needs to be done with AsyncAPI 3.
But if we redo this, we have multiple options, I tried to outline my own proposals here: https://github.com/asyncapi/spec/pull/532#issuecomment-1210155411

@Fannon Thanks a lot! You did so much and we are grateful! I also think B2 would be a better option, but if it introduces problems then B1 is good too - the way of apply the traits themselves is more important than the details like the way to apply the arrays but we could improve that too :)

@magicmatatjahu You created the PR on the spec side so I understand you wanted to champion this. The PR has some feedback pending to be addressed.
Also, we would need changes to be reflected in spec-json-schemas and parser-js.
Are you still willing to champion this for v3?

Are you still willing to champion this for v3?

Yes it does. https://github.com/asyncapi/spec/pull/907#issuecomment-1479652013

This one is just missing the JS parser implementation. Anyone volunteering?

Thanks for bringing this in @fmvilas  and @smoya ! And congrats to the AsyncAPI v3 release yesterday!

Thanks for bringing this in @fmvilas and @smoya ! And congrats to the AsyncAPI v3 release yesterday!

Thanks goes to you for your help and follow-up in the issue.
Also pinging other folks involved @magicmatatjahu @jonaslagoni


Fixes #1211 - Full Screen mode

Preview link - https://excalidraw.mbj36.now.sh/ (since zeit is failing to deploy)

I am not sure why tests are failing. Any inputs ?

The tests are failing because the snapshot tests don't match. You are adding a piece of state so you need to re-record all the snapshot tests using -u. Now, I don't think that it's a good idea to use state in the first place so if you fix it, you should be good to go :)

@vjeux Fixed :)

Seems odd.. can we have it as first item and all buttons in one row?

Preview link - https://excalidraw.mbj36.now.sh/

What shortcut we could add?

YouTube has f

yeah

Do we need a UI button what essentially is a browser default (F11)? Or do we plan to make this into a Zen mode later?

When I do browser's fullscreen, I still can see the URL bar and the bookmark's toolbar.. while with real full screen it's like a zen mode :)

@lipis you mean that this PR differs from F11? How can that be since it's using the same API?

Right.. I was doing the full screen of the mac's "maximize", when using's Chrome's full screen it's exactly that..
But still, I think it's good to have a single button for it and easy to find. Other apps do that (YouTube)

Yea, though Youtube's fullscreen is different. It puts the video on fullscren, while F11 puts the website on fullscreen.
I don't mind, I'm just pointing out that we tend to want to have minimalistic UI, and adding a button for what is just a glorified shortcut for a browser behavior goes against that :).
And also the fact we'll end up with 2 buttons next to each other that do similar things: Fullscreen and Zen Mode, which will confuse users.

Looks like the requestFullscreen API is still prefixed in Safari, which does not return a promise.

Hmmm..  we can have somethings only under shortcuts.. and maybe the full screen is in that category.. But I also believe that we already kind of in a Zen Mode when full screen...

Zen mode is mainly about hiding UI you don't need (shape menu etc.). Fullscreen removes browser chrome (URL, borders etc.).
I'd say let's merge Zen + Fullscreen together, but the problem is you might wanna switch apps/tabs and having browser UI/OS taskbar is useful for that.

@mbj36 after internal discussion we decided not to ship this because one of our mission statements is for our app to stay as lean as possible. As such, we must be vigilant in adding new UI buttons, especially for features that are by default bundled into the browser.
There's also the problem I mentioned earlier about Zen Mode. When we introduce it, we'd have 2 similar buttons doing similar things, which would only add to the confusion.
Hope you don't mind.

@dwelle No worries. With this PR..i got the knack of codebase..I will contribute to other features.

Actually.. what about keeping the functionality under the "F" shortcut but nothing in the UI.. that keeps it minimalistic and has some extra features! We can show this in our new shortcut dialog.. WDYT?

That's a great idea i think.

If this is going ahead...i can update the PR

Yes, remove all the UI changes and just leave the F shortcut..


Add EnMasse - Operator for self-service messaging on OpenShift

See #234 for more info.

/ok-to-test

/do-not-merge

Getting unauthorized error on Address, AddressSpaceSchema and Message User screen. Openshift UI continuously reloads with error
"Error Loading Application Resources: Not authorized"
Same Behaviour creatin Address or AddressSpaceSchema or Message User from  UI throws Not Authorized error

@aneeshkp The unauthorized issue is something we've seen as well, see https://github.com/operator-framework/community-operators/pull/234#issuecomment-481034604 for more information about it.
TL;DR: run oc policy add-role-to-user edit kube:admin -n openshift-operators or create a new project and then create AddressSpace, Address and MessagingUser resources in the new project. (I have added a note about the policy command to the operator documentation to avoid more users running into this.)
It should also be noted that AddressSpaceSchema is a 'read-only' resource and should not be created. Creating the resources mentioned in the operator documentation should be sufficient.

Hi @aneeshkp, the unauthorized issue is something we've seen as well, see #234 (comment) for more information about it.
TL;DR: run oc policy add-role-to-user edit kube:admin -n openshift-operators or create a new project and then create AddressSpace, Address and MessagingUser resources in the new project. (I have added a note about the policy command to the operator documentation to avoid more users running into this.)
It should also be noted that AddressSpaceSchema is a 'read-only' resource and should not be created. Creating the resources mentioned in the operator documentation should be sufficient.

Hi @lulf
I did oc policy add-role-to-user edit kube:admin -n openshift-operators and installed  operators under openshift-operators
But when creating AddressSpace (under openshift-operators)
apiVersion: enmasse.io/v1beta1
kind: AddressSpace
metadata:
name: myspace
namespace: openshift-operators
spec:
plan: standard-small
type: standard
I got this error
No authentication service specified, and unable to resolve default: no authentication services found
I guess it couldn't resolve default authentication service?
But then I tried on other namespace and it started to work.
There is no serviceAccount for Addressplan in CSV , is that causing this issue?
Also  serviceAccountName: address-space-controller
- rules:
- apiGroups:
- admin.enmasse.io
resources:
- addressplans
- addressspaceplans
- brokeredinfraconfigs
- standardinfraconfigs
- authenticationservices
- consoleservices

Hi @aneeshkp … did you create an authentication service (CRD authenticationservices.admin.enmasse.io)?

Hi @aneeshkp … did you create an authentication service (CRD authenticationservices.admin.enmasse.io)?

Yes, that was an issue. I will merge this.

@dmesser  this is ready to merge.


[Chapter 18]Error when from tf_agents.environments import suite_gym in Colab

When I run these codes:
from tf_agents.environments import suite_gym
it comes an error say that:

AttributeError                            Traceback (most recent call last)
 in ()
----> 1 from tf_agents.environments import suite_gym
/usr/local/lib/python3.6/dist-packages/tf_agents/environments/init.py in ()
17
18 # TODO(b/155801943): Bring parallel_py_environment here once we're py3-only.
---> 19 from tf_agents.environments import batched_py_environment
20 from tf_agents.environments import py_environment
21 from tf_agents.environments import random_py_environment
/usr/local/lib/python3.6/dist-packages/tf_agents/environments/batched_py_environment.py in ()
33 import tensorflow as tf  # pylint: disable=g-explicit-tensorflow-version-import
34
---> 35 from tf_agents.environments import py_environment
36 from tf_agents.trajectories import time_step as ts
37 from tf_agents.typing import types
/usr/local/lib/python3.6/dist-packages/tf_agents/environments/py_environment.py in ()
32
33 from tf_agents.specs import array_spec
---> 34 from tf_agents.trajectories import time_step as ts
35 from tf_agents.typing import types
36 from tf_agents.utils import common
/usr/local/lib/python3.6/dist-packages/tf_agents/trajectories/init.py in ()
16 """Trajectories module."""
17
---> 18 from tf_agents.trajectories import policy_step
19 from tf_agents.trajectories import time_step
20 from tf_agents.trajectories import trajectory
/usr/local/lib/python3.6/dist-packages/tf_agents/trajectories/policy_step.py in ()
23 import collections
24 from typing import NamedTuple, Optional, Union
---> 25 from tf_agents.typing import types
26
27
/usr/local/lib/python3.6/dist-packages/tf_agents/typing/types.py in ()
39 Array = np.ndarray   # pylint: disable=invalid-name
40 TensorOrArray = Union[Tensor, Array]
---> 41 Distribution = tfp.distributions.Distribution
42
43 TensorSpec = tf.TypeSpec
/usr/local/lib/python3.6/dist-packages/tensorflow_probability/python/internal/lazy_loader.py in getattr(self, item)
55
56   def getattr(self, item):
---> 57     module = self._load()
58     return getattr(module, item)
59
/usr/local/lib/python3.6/dist-packages/tensorflow_probability/python/internal/lazy_loader.py in _load(self)
39     """Load the module and insert it into the parent's globals."""
40     if callable(self._on_first_access):
---> 41       self._on_first_access()
42       self._on_first_access = None
43     # Import the target module and insert it into the parent's namespace
/usr/local/lib/python3.6/dist-packages/tensorflow_probability/python/init.py in _ensure_tf_install()
63             present=tf.version))
64
---> 65   if tf.config.experimental.tensor_float_32_execution_enabled():
66     # Must import here, because symbols get pruned to all.
67     import warnings  # pylint: disable=g-import-not-at-top
AttributeError: module 'tensorflow.compat.v1.config.experimental' has no attribute 'tensor_float_32_execution_enabled'

The environment i use is the default environment in Colab.
I found that not only my code but the source code in repo also have this error.
Has anyone else found that?

I had the same issue.
If you are using the same setup code in GitHub, then you might have installed the nightly version of tf-agents.
However, It seems that tf-agents-nightly is not compatible with tf-2.x in this situation.

Please go to the 3rd paragraph of "Set up" code. then you could see
`try:
%tensorflow_version only exists in Colab.
%tensorflow_version 2.x
!apt update && apt install -y libpq-dev libsdl2-dev swig xorg-dev xvfb
!pip install -q -U tf-agents-nightly pyvirtualdisplay gym[atari]
IS_COLAB = True
except Exception:
IS_COLAB = False`.

replace this line
    !pip install -q -U tf-agents-nightly pyvirtualdisplay gym[atari]
with this
    !pip install -q -U tf-agents pyvirtualdisplay gym[atari].

then the error could be fixed.

I tried uninstalling the tf-agents-nightly and installing tf-agents instead as jaehunchoe827 suggested above, but it didn't solve the problem. So as far as I'm concerned the issue is still open.