Is overlaySimpleBitmap supported?

The WOFF2 spec was updated to support retaining the OVERLAP_SIMPLE glyf flags, and the official encoder/decoder has recently been updated to support that: https://github.com/google/woff2/pull/149

I haven't tested it, but I believe it is supported. Some of the relevant code is here: https://github.com/Cimpress-MCP/woff2-rs/blob/e62fcc7b4c968b227b3b5189aebb0eb5501440c8/src/glyf_decoder/mod.rs#L171

Cool!


pwsh is not a keyword

I had to use the PowerShell@2 task specifically, got an error with pwsh

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

ID: dd7e0bd3-1f7d-d7b6-cc72-5ef63c31b46a
Version Independent ID: dae87abd-b73d-9120-bcdb-6097d4b40f2a
Content: Variables - Azure Pipelines
Content Source: docs/pipelines/process/variables.md
Product: devops
Technology: devops-cicd
GitHub Login: @steved0x
Microsoft Alias: sdanie

Hi @randyram-at-ms, Thanks for the feedback. The PowerShell Task Documentaion states that using the pwsh keyword runs PowerShell COre. Do you have PowerShell Core installed on the build agent? if not, you can also use the powershell keyword to run Windows PowerShell

Thanks, Chase, that was the issue, no pscore on the build agent.

I am closing this issue now.  You are welcome to @ mention me for any followup.
We hope to hear from you again.


feat: make Environment.mk private

As one follow-up to the discussion here and here, one easy way to make it harder for tactic-writers to accidentally modify the environment to add unchecked constants is to make the constructor private.
Against my expectations, this broke literally nothing in lean itself, and only one test (which ironically was testing private constructors); this was switched to use the API function and everything else worked. We'll see what the mathlib breakage is.

How can I obtain an empty Environment for mock testing?

How can I obtain an empty Environment for mock testing?

Would using Environment.mk via open private from Std suffice for your use case?

How can I obtain an empty Environment for mock testing?

Would using Environment.mk via open private from Std suffice for your use case?

Interesting, just learned that private is not definite Lean.

How can I obtain an empty Environment for mock testing?

@SchrodingerZhu, sorry, I gave you the wrong answer previously: you can use Lean.mkEmptyEnvironment.

Making Environment.add private is more complicated: it currently breaks Aesop, but if fixable by using the "replay" functionality of lean4checker directly.
In order to keep things moving, I'm now going to revert the commit to this PR in which I made Environment.add private --- we'll do that later.

@digama0, if you're happy with my proposed change to the comment, I can merge this.

Hm, the Environment.add part was a mistake, it should be private as well. Can we go forward with the change and calling it via extern as you did? (It would be good if extern was flagged a bit more clearly as unsafe, but it seems visible enough for review purposes. Is there a reason the same technique doesn't work for Aesop?)

Is there a reason the same technique doesn't work for Aesop?

The interpreter only knows how to handle [extern] from compiled modules

My suggestion is that we merge as is, and then when #2617 is merged Aesop can use that, and then we can make Environment.add private as well.


Live reload

This article mentions a cool little plugin called livereload.
http://nafiulis.me/making-a-static-blog-with-pelican.html#livereload
That could be a good addition.

LiveReload is cool, I actually bought a license. However, I wouldn't want to integrate it directly with staticjinja since that would increase the scope of the project more than I would like. However, if someone gets it to work, I'd love to see a section in the documentation describing how to use them together.

I'm going to close this for now though since it's not actually an issue.


Bar/launcher

Hello, nice project.
It would be nice to have a launcher/bar for nwm, something similar like in dwm.
What do you think?

There's this page https://github.com/mixu/nwm/wiki/Launchers unless you're talking about a different concept?


C# bindings generator fixes

Fix unused bool local for MonoBoolean argument:// Before
bool arg1_in = (bool)arg1;
const void* call_args[1] = { &arg1 }; // <---
method->ptrcall(ptr, call_args, NULL);

// After
bool arg1_in = (bool)arg1;
const void* call_args[1] = { &arg1_in }; // <---
method->ptrcall(ptr, call_args, NULL);

Append U to API hashes. Fixes warning: 'integer constant is so large that it is unsigned'

Rebased and merged manually as c1dad2ae2 after #22752.


problem json and extract image

Hello,
the script is well function. but when i start the first step i have "Processing minute x minutes" . My folder data-average contains a list of json which is ok but there are empty and my folder frame-average is empty :(
Did you know why ?

The scripts are probably pretty rough. I used them for processing Eyes Wide Shut and thought the basic logic may be of interest, but they should work for any video so I can try taking a look.
Could you please clarify what is wrong with the data? Is some or all of the data incorrect?
The 'frames' directory should be empty after the script is run. It's used as a cache for the 1440 images in each minute of video, which are then processed and deleted after processing completes.

I have this problem as well. I just made sure that the command points to the exact location of the video clip.


what is the image size for those pre-trained model?

On the home page, there are a couple of pre-trained models '20170214-092102' and '20170216-091149'.  what is the input image size for those two? According the wiki 'Classifier training of inception resnet v1', I suppose it is 160 * 160. However, Inception_Resnnet-V1 requires an input image of size 299299. In your file inception-resnet_v1.py, the first conv lay has output 14914932. How do you manage your architecture work with low resolution input than the preferred 299299 input?

I have the same issue.

I have the same confusion. However, I think the 14914932 is the size of input image after first convolutional layer. but how to use the cropped 160 160 input image into 299 299 network?

Since it's a CNN the input size is not that crucial and it can work fine with other image sizes as well. But of course, if the input images are too small the number of activations in the higher layers of the network will become to few and then it will crash. Also, if the input image size is changed the number of parameters in the resulting CNN will change as well, which means that training could require a different weight decay etc.


LC pin 17

v5 of the lib used to manage the LC's pin 17 by setting it to OUTPUT  LOW.  You might wish to add that feature to current lib, or warn the user in the README
discussed at https://forum.pjrc.com/threads/41812-Snooze-library-attachInterrupt-wakes-up-Teensy-from-hibernate?p=132532&viewfull=1#post132532

I have this queued up for my next update in the next few days.

it doesn't look like LC pin 17 issue was handled in your latest release?
bump.

I did but I made driver class for it. You can see here.


Translations

[ ] Figure out how to do translations
[ ] Add weblate integration
[ ] Add them

Does weblate enforce using a particular template?
I suggest using vue-i18n otherwise.

Does weblate enforce using a particular template?

I think you can adapt it to basically any format using custom rules. @p0358 to confirm

I suggest using vue-i18n otherwise.

Sounds like a plan ^^

Yeah we use simple "JSON file" format in Weblate for TFORevive Launcher, and we also use vue-i18n for translations.


Update web-app.md

Change localhost to <IP_ADDRESS> in the RTL config file to avoid the following errors:
$ node rtl
[11/7/2022, 3:34:35 PM] INFO: RTL => Server is up and running, please open the UI at http://localhost:3000 or your proxy configured url.

[11/7/2022, 3:35:05 PM] ERROR: Common => Error in Channel Backup for xxxxx: connect ECONNREFUSED ::1:8080

[11/7/2022, 3:35:05 PM] ERROR: GetInfo => Get Info Error: {"name":"RequestError","message":"Error: connect ECONNREFUSED ::1:8080","cause":{"errno":-111,"code":"ECONNREFUSED","syscall":"connect","address":"::1","port":8080},"error":{"errno":-111,"code":"ECONNREFUSED","syscall":"connect","address":"::1","port":8080},"options":{"url":"https://localhost:8080/v1/getinfo","rejectUnauthorized":false,"json":true,"headers":{},"method":"GET","qs":{},"simple":true,"resolveWithFullResponse":false,"transform2xxOnly":false}}

Here is a link to an issue on the RTL GitHub describing the same problem with this change posted as the solution
https://github.com/Ride-The-Lightning/RTL/issues/1120
Here is a link to an issue I created in the LND GitHub trying to troubleshoot it before I figured it out.
https://github.com/lightningnetwork/lnd/issues/7125

LGTM
why did localhost cause an issue? and what's the link with ipv6..? (just curious to understand the issue and why changing to <IP_ADDRESS> solves it :)

why did localhost cause an issue?

Appears to be a problem with RTL that needs fixing on their end. If you want to know more than that, maybe you can dig deeper using the error codes posted in the OP.

and what's the link with ipv6..?

Not sure what you are asking here

Not sure what you are asking here

In the Issue you linked, I don't understand the link between changing localhost to <IP_ADDRESS> and the rest of the comment about ipv6 loopback:

Was able to solve the issue by changing the RTL config lnServerUrl from "localhost" to <IP_ADDRESS>. I logged the errRes in the catch block and it showed address: '::1' which is the ipv6 loopback. I guess my LND was only listening on ipv4.

In the Issue you linked, I don't understand the link between changing localhost to <IP_ADDRESS> and the rest of the comment about ipv6 loopback:

You can see in both my error messages and the one from the issue your referencing, it fails on address ::1 which is the ipv6 loopback. Apparently using localhost in the RTL conf tries the ipv6 loopback address instead of the ipv4 address. It seems that LND only listens on the ipv4 address, which is why this fix works.

In the Issue you linked, I don't understand the link between changing localhost to <IP_ADDRESS> and the rest of the comment about ipv6 loopback:

You can see in both my error messages and the one from the issue your referencing, it fails on address ::1 which is the ipv6 loopback. Apparently using localhost in the RTL conf tries the ipv6 loopback address instead of the ipv4 address. It seems that LND only listens on the ipv4 address, which is why this fix works.

I did read the issue but didn't understand what it meant. I think I get it now, thanks for taking the time to explain.


Allow phpstan extensions

We need to allow dependents to "extend" our base phpstan runner in order to use phpstan extensions.
I think removing --no-scripts when we install phpstan in the runner would solve the issue. If not, accepting a bool uses-extensions or something like that -> tell phpstan to enable / configure the extension..
fixes: https://github.com/SymfonyCasts/sass-bundle/pull/70

adding phpstan/extension-installer may do the trick as well


Building_Historic height roof is NULL

When using ArcGIS Pro to copy a building with fractional height_roof to building_historic instead of rounding the height to the nearest ones place ArcGIS Pro NULLs the value.
This issue exists in ArcGIS Pro only, it does not occur when editing with ArcMap.
Expecting rounded height_roof values anywhere should be reconsidered.  This is the expectation for editors but fractional heights are allowed from bulk updates like planimetrics.

Recreation steps, for non-pros
You'll want to click on the cylinder and switch to a version

Click that pencil and check the layers

Select a feature and go with the self-explanatory copy button.

We will be performing a special paste, not a normal paste. So click the little arrow under paste to make it special.

Option 2 here is the best worst option.  Featureclass_tofeatureclass it, re-defining the output.  This will require coordination with editors.
https://support.esri.com/en/technical-article/000023089

Corrected.  This issue is not present in the repo, but think about it buddy.

Import building_historic from prod to stg
Feature_classtofeatureclass building_historic in staging to building_historic19
Redefine height_roof as double (38,8)
Import building_historic19 from staging to production as building_historic


absl/time/duration_test.cc uses isnan/isinf from std namespace w/o qualifier, fails to build w/ gcc 5.4.0

On Ubuntu 16.04, g++ 5.4.0, libstdc++6 5.4.0, //absl/time:time_test fails to build; duration_test.cc uses isnan and isinf from the std namespace (from cmath) without std:: qualification.

This should be fixed at HEAD.


Detailed Android smart phone model and configuration

Can you provide some information about the phone model (like XIAOMI 11) and the details of the configuration?

Hi, the exact spec of the phone in our demo video is Xiaomi14(Snapdragon 8Gen3,16GB).

Thank you very much! And you can also mention such information, it is important for reproduce.


Revert challenge changes

Just moving https://github.com/aspnet/Security/pull/1063 to the rel/1.1.1 branch.
Also pinning the sdk version so we can build.

Hi @Tratcher, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;


fix: allow groupName and consumerName to be optional

Summary
When component did not have consumerName the app failed to launch the Oauthflow. We remove the if checks and go to the try catch so errors will be handled in the catch loop. We also make groupName optional.
testing

Yeah, I walked through the flow earlier. I can also do a quick walk through before release.


Add support for Video Data

https://github.com/DivanteLtd/mage2vuestorefront/pull/75

MR: https://github.com/DivanteLtd/magento2-vsbridge-indexer/pull/36

Fix with #36
Changes are available in develop branch.


Stops working after update

Got this message in the log. „Inventer is not supported“. But runs for month.
`Logger: homeassistant.components.sensor
Source: custom_components/goodwe/goodwe_inverter.py:665
Integration: Sensor (documentation, issues)
First occurred: 20:54:16 (1 occurrences)
Last logged: 20:54:16
Error while setting up goodwe platform for sensor
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 249, in _async_setup_platform
await asyncio.shield(task)
File "/config/custom_components/goodwe/sensor.py", line 78, in async_setup_platform
inverter = await discover(config[CONF_IP_ADDRESS], config[CONF_PORT], config[CONF_NETWORK_TIMEOUT], config[CONF_NETWORK_RETRIES])
File "/config/custom_components/goodwe/goodwe_inverter.py", line 665, in discover
raise NameError("No compatible inverter found")
NameError: No compatible inverter found
`

I have the same issue after upgrade.
2021-08-19 09:13:21 ERROR (MainThread) [homeassistant.components.sensor] Error while setting up goodwe platform for sensor
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 249, in _async_setup_platform
await asyncio.shield(task)
File "/config/custom_components/goodwe/sensor.py", line 78, in async_setup_platform
inverter = await discover(config[CONF_IP_ADDRESS], config[CONF_PORT], config[CONF_NETWORK_TIMEOUT], config[CONF_NETWORK_RETRIES])
File "/config/custom_components/goodwe/goodwe_inverter.py", line 665, in discover
raise NameError("No compatible inverter found")
NameError: No compatible inverter found

Hi,
The same issue here:
2021-08-19 09:49:20 ERROR (MainThread) [homeassistant.components.sensor] Error while setting up goodwe platform for sensor
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 249, in _async_setup_platform
await asyncio.shield(task)
File "/config/custom_components/goodwe/sensor.py", line 78, in async_setup_platform
inverter = await discover(config[CONF_IP_ADDRESS], config[CONF_PORT], config[CONF_NETWORK_TIMEOUT], config[CONF_NETWORK_RETRIES])
File "/config/custom_components/goodwe/goodwe_inverter.py", line 665, in discover
raise NameError("No compatible inverter found")
NameError: No compatible inverter found

We added EH support, something must went wrong ;-(
What inverter type doe you have ?

We added EH support, something must went wrong ;-(
What inverter type doe you have ?

I have: GW3648-EM

Ok, I found potential problem there.
Can you update and verify ?

Ok, I found potential problem there.
Can you update and verify ?

Hi, I have GW5048-EM. I've updated and all looks good for me now. Thanks

Ok, I found potential problem there.
Can you update and verify ?

Yes works again. Thanks a lot!

Sorry for the troubles, I missed it during review.


Document data audit in compact architecture

https://github.com/kiegroup/kogito-apps/blob/main/data-index/README.md
community docs

Issue migrated to JIRA: https://jsw.ibm.com/browse/DBACLD-146268


chainable methods in 0.3.7

I just updated from 0.3.6 to 0.3.7 and noticed that all calls to add_child on elements no longer compile. I see that there was a change in function signature to allow chaining, which is a goal I can understand. But now because the method takes over ownership I need to change lots of callsites to look like this
// before: header.add_child(menu);
header = header.add_child(menu);

Could chaining not be better achieved by having these methods accepting &mut reference like before but just also return that mut ref? That would avoid these pointless assignment statements.
As always, thanks for good work!

I agree that it'd be nice to have both styles. Initial hack at doing so with the same method unsuccessful. Looking at what options we have (other than having separate mutate methods).

Your comment made me doubt myself since I have never actually written chainable any methods. I tested it in playground and seems to work fine in this simple case at least.

@spersson Could you pls paste here/to gist a sample code where you are using some chains? (It would be nice to have some examples of the API updated in #206.)

Chainable methods was a change between 0.3.6 and 0.3.7. I don't know what the motivation (specific usage scenario) was. I mostly see it as a "why not" type of thing. But the way it was done, with taking ownership and returning ownership instead of using mut refs was causing friction.
If we go back to why these "add_xxx" Node methods even exist... In my thinking there are three ways to create a Node:

Declarative style using macros. This is the preferred option, easy to see the tree structure and which attributes apply to which nodes. Can have optional nodes by use of empty nodes in the else clause. Breaks down when there is complicated logic for adding nodes or setting attributes, especially if generated by iterator or such. Options 2 and 3 are better then.
First create Vec with child nodes that should be added, done with regular imperative or functional style rust. Then use that vec in a declarative seed macro at the end. Looks a bit ugly when creating lots of Vecs on the stack just for the purpose of handling all scenarios of optional child nodes and attributes.
As an alternative to option 2, first create a basic Node with macro, then use these add_xxx methods to modify. Looks better.

Example code which uses option 3:
fn view_template_menu(templ: &Template) -> Node<Msg> {
    let mut menu = div![class!["contextmenu"]];
    match &templ.focus {
        Focus::PropertyFocus(prop_id, f) => {
            property::view_context_menu(&templ.properties[*prop_id], &mut menu, f, *prop_id);
        }
        Focus::Nothing => {
            menu.add_child(button("Add Property", Msg::AddProperty(None)));
        }
        Focus::TemplateParent(_) => {}
    }
    menu
}

In this example it would have been messy to use option 1, putting all the logic inside of the div! macro. Using the add_child macro in just one of the three branches looks better than returning empty nodes in the other branches.
So my argument is that these add_xxx methods are very nice to use for the more complicated node building situations. But taking and returning ownership does not suit this style of usage.
In all the seed examples which had to be modified in this PR there is no actual good example of why those methods are used, they are just there to demonstrate that the methods exist.

Thanks for explanation!

Chainable methods was a change between 0.3.6 and 0.3.7. I don't know what the motivation (specific usage scenario) was.

Related https://github.com/David-OConnor/seed/issues/151#issuecomment-503986605. Those methods weren't chainable at all - so this was the main reason. (I wanted it in one of my projects).
And the reason why they have type self instead of &mut self - so you don't have to use mutability just because of API (1) and you don't have to create dummy elements when you are using these methods for constructing/extending elements (2).
Ad 1) - Your example rewritten to use the current API:
fn view_template_menu(templ: &Template) -> Node<Msg> {
    let menu = div![class!["contextmenu"]];
    match &templ.focus {
        Focus::PropertyFocus(prop_id, f) => {
            property::view_context_menu(&templ.properties[*prop_id], menu, f, *prop_id)
        }
        Focus::Nothing => {
            menu.add_child(button("Add Property", Msg::AddProperty(None)))
        }
        Focus::TemplateParent(_) => menu
    }
}

Ad 2) (Probably used only in tests at the moment)
let content =
    div![]
        .add_child(span![])
        .add_child(span![])

So I think both version (self and &mut self) are useful (as @David-OConnor suggested in https://github.com/David-OConnor/seed/issues/179#issuecomment-509930903).
I agree with @spersson that &mut self is a better default option because when I see something like menu.add_child(button("Add Property", Msg::AddProperty(None))) I assume that it mutates menu and returns () or child or reference to menu.
And it will be probably more comfortable to use when you decide to write nested functions which modify given element.
So that I suggest to merge PR https://github.com/David-OConnor/seed/pull/206 and we can add alternative methods like into_add_child in the future if necessary.

@MartinKavik : good comments!
After reading again, I think the only thing I have to say on this topic is to emphasize that these methods are really only necessary when things get really messy, when using rust expressions inside macros really would not work because you would get 15 levels of indentation. My example was still too simple... that's why your rewritten version of it actually looked quite good. :)
I have not yet seen a need for calling methods like your second example, where indeed on owned data works much better. I agree that it can always be added later if the need arises.
Thanks for good discussions! Closing issue since PR 206 is merged.


Gracefully continue on 400

Expected Behavior
Continues on a 400 request by scanning the other subscriptions.
Actual Behavior
Fails and stops on 400, requiring manual interaction ... and potentially manually scanning multiple subscriptions?
Steps to Reproduce the Problem
╰─○ ./azqr-macos-latest-arm64 scan
2023/04/20 10:28:21 Scanning Resource Group cloud-shell-storage-westeurope
2023/04/20 10:28:21 Scanning API Management Services in Resource Group cloud-shell-storage-westeurope
2023/04/20 10:28:21 Scanning Container Apps in Resource Group cloud-shell-storage-westeurope
2023/04/20 10:28:21 Scanning Application Gateways in Resource Group cloud-shell-storage-westeurope
2023/04/20 10:28:21 Scanning SignalR in Resource Group cloud-shell-storage-westeurope
2023/04/20 10:28:21 Scanning Service Bus in Resource Group cloud-shell-storage-westeurope
2023/04/20 10:28:21 Scanning AKS Clusters in Resource Group cloud-shell-storage-westeurope
2023/04/20 10:28:21 Scanning EventGrid Domains in Resource Group cloud-shell-storage-westeurope
2023/04/20 10:28:21 Scanning Container Apps in Resource Group cloud-shell-storage-westeurope
2023/04/20 10:28:21 Scanning Postgre in Resource Group cloud-shell-storage-westeurope
2023/04/20 10:28:21 Scanning Storage in Resource Group cloud-shell-storage-westeurope
2023/04/20 10:28:21 Scanning Key Vaults in Resource Group cloud-shell-storage-westeurope
2023/04/20 10:28:21 Scanning Postgre in Resource Group cloud-shell-storage-westeurope
2023/04/20 10:28:21 Scanning Postgre in Resource Group cloud-shell-storage-westeurope
2023/04/20 10:28:21 Scanning Container Instances in Resource Group cloud-shell-storage-westeurope
2023/04/20 10:28:21 Scanning Front Doors in Resource Group cloud-shell-storage-westeurope
2023/04/20 10:28:21 Scanning Container Registries in Resource Group cloud-shell-storage-westeurope
2023/04/20 10:28:21 Scanning WebPubSub in Resource Group cloud-shell-storage-westeurope
2023/04/20 10:28:21 Scanning Redis in Resource Group cloud-shell-storage-westeurope
2023/04/20 10:28:21 Scanning App Service Plans in Resource Group cloud-shell-storage-westeurope
2023/04/20 10:28:21 Scanning Azure Firewalls in Resource Group cloud-shell-storage-westeurope
2023/04/20 10:28:21 Scanning Event Hubs in Resource Group cloud-shell-storage-westeurope
2023/04/20 10:28:21 Scanning SQL in Resource Group cloud-shell-storage-westeurope
2023/04/20 10:28:21 Scanning CosmosDB Databases in Resource Group cloud-shell-storage-westeurope
2023/04/20 10:28:21 Scanning Postgre in Resource Group cloud-shell-storage-westeurope
2023/04/20 10:28:27 Scanning Defender Status...
2023/04/20 10:28:29 Scanning Advisor Recommendations...
2023/04/20 10:28:31 Scanning Costs...
2023/04/20 10:28:44 Scanning Defender Status...
2023/04/20 10:28:45 Scanning Advisor Recommendations...
2023/04/20 10:28:47 Scanning Costs...
2023/04/20 10:28:56 GET https://management.azure.com/subscriptions/1234-...-8910/providers/Microsoft.Network/privateEndpoints
RESPONSE 400: 400 Bad Request
ERROR CODE: DisallowedOperation
{
"error": {
"code": "DisallowedOperation",
"message": "The current subscription type is not permitted to perform operations on any provider namespace. Please use a different subscription."
}
}
Subscription to blame:

This seems to be a special case. I'll take a look of what the possible solutions may look like and come back to you.

@christophacham sorry it's been so long. Any chance you can download azqr from this PR build and test again to be sure it continues as expected?
https://github.com/Azure/azqr/actions/runs/5474317354


Fix committee subfolder

links still point to old repository. need to move the data and fix the readme
https://github.com/IBIGroupCanWest/CanFlood/tree/master/committee

e.g. https://github.com/NRCan/CanFlood/tree/master/committee

@cefect Completed and created a pull request for this branch

https://github.com/NRCan/CanFlood/pull/81


Fix: example manager and instructions

Description of your changes
Updated ClusterRole and Quick Start guide.
Fixes #47
Fixes #

rules[0].apiGroups: Required value: resource rules must supply at least one api group error.

I have:

[x] Read and followed KubeVela's contribution process.
[ ] Add related tests.
[ ] Run make reviewable to ensure this PR is ready for review.
[ ] Added backport release-x.y labels to auto-backport this PR if necessary.

How has this code been tested
By running the quick tutorial with the updated examples.
Special notes for your reviewer
I have updated the Quick Start guide's Prerequisites section to including enabling the kube-trigger addon

Please sign the DCO with git commit -s

Hey @FogDong and @charlie0129
Thanks for approving, I'm trying to get the old commits signed, or will probably squash them all.

Hey
So it seems like I made over a 100 commits to my branch and still couldn't get rid of the signed commit check errors 🥹.
Do you guys want me to create a new PR from a new branch with all these changes?

You can use force-pushing to get rid of the past (unsigned) commits. IMO, continue on this branch is fine.

You can use git reset --hard 69bc6f6 to clean up all the irrelevant commits (make sure you have some kind of backup because it is a hard reset). Then git push -f to force push to your branch.
Then you can solve the DCO

Thanks a lot @charlie0129
The DCO check is finally passing now

The code changes doesn't seem right. It contains many unrelated changes.

That should remove the unrelated changes.

@charlie0129 I've removed all the unrelated changes and all the commits are signed too.

Great work! Thanks @semmet95 !


Remove unexported Game.Board.tempSpace

Received this error when running stack build tic-tac-toe
/Users/amar/Code/NonSP/haskell-tic-tac-toe/src/Game/AIPlayer.hs:4:73:
Module ‘Game.Board’ does not export ‘tempSpace’

@amar47shah Thank you for the PR 🙇
Not sure why my notification didn't come through, but I think this has since been resolved in more recent commits. Apologies for not responding sooner, but this is the first I saw this!

Oh cool! Yes I see that the project is building fine now. And it runs more like I expected. Nice work!


Click on iPhone is not working

Open the demo link in iPhone and click the Hover me ! button the tooltip is not working.
Link - https://xuopled.github.io/react-simple-tooltip/

Thank your for reporting this. You can make a PR to fix it if you want to 🙂


Support for interactive cell movement/reordering

We can add support for moving data, but it will probably be tricky.
For starters, add the UICollectionViewDataSource method collectionView:moveItemAtIndexPath:toIndexPath:. The biggest problem will be moving items between sections, which we probably will have to disable. The two features we can investigate supporting are:

Moving items amongst a section
Rearranging whole sections

Originally discussed in #290

I am testing and trying a solution based on IGListKit, to

Moving amongst a section
Moving across sections
By gesture

This should be ok if to operation the collectionview directly, what I worrying about is that the app should also to update the datasource, but next time, calling adapter.performUpdates MAY cause problem.
So if you does not plan to support "moving across sections", would you please help to add a function to adapter to "update the datasource, but without UI updating", so it is possible when special case to directly operate the collectionview and then update the datasource as normal way.
Thanks

Since the IGListAdapter acts as the source of truth, we could easily modify the data source ourselves and then send a delegate event that a transaction occurred (e.g. "moved object o from section 1 to section 3").
You're right that w/out telling the data owner of the move they might update and then things get screwed up.

IGListKit now is able to help the "APP" to move cell easily via IGListAdapter to operate data source.
After this new proposal, IGListKit will help the "USER" to move them cell amongst section.
I'd like to make my preceding comments be clear:
As it's impossible for IGListKit to cover all the possible changes (such as move across sections, or something like move a cell to recyclebin), the developers (the users of IGListKit) may have to directly access CollectionView, and have to directly change the datasource, for these scenarios, IGListKit must be informed that "the datasource be changed, and the UI also be changed by others, so please don't automatically update the UI next time"

@rnystrom - this is done, right?

@jessesquires this is about interactive moves. Something that'd be nice to have, but low pri.

Ahhh 👍

Pushing this to 3.1.0

Any update on this?  Is anyone working on it?

^ Took a shot at it. A bit of a work in progress, but hopefully it gets the ball rolling.


green cum effect on skins [fix]

found it by myself accidentaly funny thing there are some p2c's outhere that can't fix this
when creating material
{
"$basetexture" "vgui/white_additive" <-- delete this and it works as it used 2
"$ignorez"      "1"
"$envmap"       ""
"$nofog"        "1"
"$model"        "1"
"$nocull"       "0"
"$selfillum"    "1"
"$halflambert"  "1"
"$znearer"      "0"
"$flat"         "1"
}
https://imgur.com/a/rtDD7wJ <- before
https://imgur.com/a/3W8qvAj <- after

i love this effect.
it's reminds me my alien father...

thanks, looks like works! will fix in next commit soon. Also looks like its possible just dont create materials, using existsing

ghetto f1x

Creating materials for chams is worst method and you can ban easily. Because if you dont have sv_pure bypass. Server know you created and used custom packages.

This was on unknowncheats with these exact images so you didn't find this yourself.

should be fixed with https://github.com/spirthack/CSGOSimple/commit/245f33ce08cd8455de94dd48bd2ef54f9403c7d3


fix: Remove leading slash from paths on windows with colon drive separators

After dealing with a number of issues surrounding how paths are communicated from various lsp clients on Windows, I believe this should fix #173. The basic idea is this:

We see a leading slash '/' on a path on Windows
We see that the path contains a drive separator, ':' (this check is performed after percent decoding)
Remove the leading slash

Feels a little hacky, but in theory we should have a valid path after that.
@elli0t43 I don't currently have a full setup on Windows to test this with. I can get to that eventually, but if you have the time to test this fix that could really expedite things and would be greatly appreciated. :)

After dealing with a number of issues surrounding how paths are communicated from various lsp clients on Windows, I believe this should fix #173. The basic idea is this:

We see a leading slash '/' on a path on Windows
We see that the path contains a drive separator, ':' (this check is performed after percent decoding)
Remove the leading slash

Feels a little hacky, but in theory we should have a valid path after that.
@elli0t43 I don't currently have a full setup on Windows to test this with. I can get to that eventually, but if you have the time to test this fix that could really expedite things and would be greatly appreciated. :)

I would be more than happy to, let me try and get back to you

The server not detecting things properly when the .git marker is missing is to be expected, it's mentioned in the README here.
It's unfortunate things still aren't working. I'll try to find some more time to spend on the issue this weekend. Thanks so much for taking a look! :)

Explanation duplicated from #173:
k so for some reason, when a path is canonicalized in Windows, it gets prefixed with "\?". That is, C:\Users\foo\bar gets turned into \\?\C:\Users\foo\bar. There's an explanation here on why this could be a good idea, except it looks like common tools (like gcc) don't recognize this convention. For example:

I may be completely missing something here, but I don't really understand why this convention is established if it isn't going to be followed consistently. The hack solution is to just check for this prefix and remove it. This may pop up in other parts of the code base, but for now I've gotten diagnostics working at least.

And it works 👌

And it works 👌

Very happy to hear it! Thanks so much for your help and patience :smiley:


Accordance with Azure SDK for Java Guidelines

Can the team please review the Azure SDK Guidelines for Java Libraries, and identify what needs to be addressed to bring consistency with the other Azure SDKs already published on Maven Central?
// @jonathangiles

Agreed. I offered this support to @abyss638 earlier today - I want to be involved ASAP to get this into great shape before shipping.


Improvement of NSAttributedString extension's 'applying' function

I propose to add 'options' as default parameter to function 'apply' in NSAttributedStringExtensions file, line 105. For example there's common case of using .caseInsensitive option which cannot be ignored
/// SwifterSwift: Apply attributes to substrings matching a regular expression
///
/// - Parameters:
///   - attributes: Dictionary of attributes
///   - pattern: a regular expression to target
///   - options: The regular expression options that are applied to the expression during matching. See NSRegularExpression.Options for possible values.
/// - Returns: An NSAttributedString with attributes applied to substrings matching the pattern
func applying(attributes: [NSAttributedString.Key: Any], toRangesMatching pattern: String, options: NSRegularExpression.Options = []) -> NSAttributedString {
    guard let pattern = try? NSRegularExpression(pattern: pattern, options: options]) else { return self }

    let matches = pattern.matches(in: string, options: [], range: NSRange(0..<length))
    let result = NSMutableAttributedString(attributedString: self)

    for match in matches {
        result.addAttributes(attributes, range: match.range)
    }

    return result
}

Would you please open a PR for this 🚀


Add proxy support

Some people are asking us (via Twitter, email and symfony blog comments) to add support for using the installer behind a company proxy. I think it's a reasonable request and we should provide this feature if it's not too complicated.
Apparently, Composer provides proxy support just by relying on some environment variables. Since we use a modern Guzzle version, where proxy support is built-in and trivial to use, do you think that would be enough to provide proxy support? Does this also apply to Windows users?

@javiereguiluz :+1: I also think that is an important feature as many people may need it. Even though the env variable would be enough, I suggest adding an optional argument to the command to make it easier to use, override the value of the env variable or create aliases. The command should also inform clearly that is using a proxy.

:+1:
Need this Feature, for now I can't do anything of the new installer without the proxy support :/
For linux users, the classic way is to work with http_proxy= | https_proxy= | ftp_proxy= env variable.
(& for ubuntu user you can look for a network-manager proxy config)
But a --proxy  param like CURL will be fine too...
Thanks !

I'm going to work on this and I'l submit a PR soon.

There is a pull request (#132) ready to fix this issue. It would be great if real proxy server users could test it before merging it. To do so, just execute these commands in your system:
$ mkdir temp
$ cd temp/
$ git clone https://github.com/symfony/symfony-installer.git
$ cd symfony-installer/
$ git checkout -b test_proxy
$ git pull https://github.com/javiereguiluz/symfony-installer.git fix_124

$ ./symfony new my_project

@javiereguiluz it works fine using an anonymous proxy (I added a var_dump() to make sure it was setting the proxy setting in Guzzle):
$ export HTTP_PROXY=<IP_ADDRESS>:8080
$ php symfony new my_project9

It is much more slower, but it's normal as we are using a proxy.
More anonymous proxies: http://proxylist.hidemyass.com/

@javiereguiluz sorry, just found out that you had already tested it with a free proxy :)

I'll try this with my company proxy tomorrow ;)
Thanks for your work +

unsuccessfully :(

@rpayanm I'm really sorry but htere was an error in my installation instructions. I've updated them. Please note that AFTER $ cd symfony-installer/ you must execute $ composer install:
$ mkdir temp
$ cd temp/
$ git clone https://github.com/symfony/symfony-installer.git
$ cd symfony-installer/
$ composer install
$ git checkout -b test_proxy
$ git pull https://github.com/javiereguiluz/symfony-installer.git fix_124

$ ./symfony new my_project

Perfect!

@rpayanm great!

Nop, still don't want :-/
blag@laptop:/tmp/temp/symfony-installer$ echo $http_proxy
http://<IP_ADDRESS>:8080
blag@laptop:/tmp/temp/symfony-installer$ ./symfony new my_project

 Downloading Symfony...

  [GuzzleHttp\Exception\RequestException]
  Error creating resource. [url] http://symfony.com/download?v=Symfony_Standard_Vendors_latest.tgz [type] 2 [message] fopen(http://symfony.com/downl
  oad?v=Symfony_Standard_Vendors_latest.tgz): failed to open stream: Connection timed out [file] /tmp/temp/symfony-installer/vendor/guzzlehttp/guzzl
  e/src/Adapter/StreamAdapter.php [line] 367

new directory [version]

But it's ok with wget http://symfony.com/download?v=Symfony_Standard_Vendors_latest.tgz

@blag001 your proxy require authentication?
Your can paste here you proxy config in your /etc/wgetrc ?

@blag001 I have two quick questions for you:

Can you use Composer without problems in that same computer?
Do you have the proxy information defined as an environment variable? If you do echo $HTTP_PROXY, do you see your information? If not, do you see it in any other environment variable? (show all variables executing export in your console)

no identification,
my wgetrc : (without every ^#.+)
### Sample Wget initialization file .wgetrc
passive_ftp = on

no problem with composer if I export http_proxy= & https_proxy=
If you look back my quoted-console, I start with a echo $http_proxy ;-)
I try to define HTTP_PROXY too (upper-case), but :
[GuzzleHttp\Exception\RequestException]
  Error creating resource. [url] http://symfony.com/download?v=Symfony_Standa
  rd_Vendors_latest.tgz [proxy] https://<IP_ADDRESS>:8080 [type] 2 [message] fo
  pen(http://symfony.com/download?v=Symfony_Standard_Vendors_latest.tgz): fai
  led to open stream: Unable to find the socket transport "http" - did you fo
  rget to enable it when you configured PHP? [file] /tmp/temp/symfony-install
  er/vendor/guzzlehttp/guzzle/src/Adapter/StreamAdapter.php [line] 367

my export :
declare -x HTTP_PROXY="http://<IP_ADDRESS>:8080"
#[...]
declare -x ftp_proxy="ftp://<IP_ADDRESS>:8080/"
declare -x http_proxy="http://<IP_ADDRESS>:8080/"
declare -x https_proxy="https://<IP_ADDRESS>:8080/"
declare -x no_proxy="localhost,<IP_ADDRESS>/8,::1"

Something strange : if I don’t set the upper-case http_proxy, the downloading wait a time out, but if I set the upper-case, then, I got the error above without waiting.
(end of the work for me, no more tests before tomorrow)

ok, my bad, my base /bin/php don't want to download anything.
If I use my /opt/lampp/bin/php (the one I usually use for symfony), it work fine ;)
 Downloading Symfony...

    4.91 MB/4.91 MB ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓  100%

 Preparing project...

 ✔  Symfony 2.6.6 was successfully installed. Now you can:

    * Change your current directory to /tmp/temp/symfony-installer/my_project

    * Configure your application in app/config/parameters.yml file.

    * Run your application:
        1. Execute the php app/console server:run command.
        2. Browse to the http://localhost:8000 URL.

    * Read the documentation at http://symfony.com/doc

@blag001 I'm glad things seem to work now!  Seeing your export it was clear that the HTTP_PROXY and http_proxy environment variables were defined, so the code should work :)  Thanks for your patience testing this new feature. It will be merged soon.

Good news! A new installer version has just been released with proxy support. Get it executing sudo symfony self-update in your system.

Great! :+1:

none of the options above works for me until i install php5-curl.
After install it the order "symfony new blog" works fine with my env variables, in my case through gnome-proxy settings.

meolivares06, thanks for the php5-curl suggestion, this has saved my life =)


Rename MdxMember to _Member

to signal internal use (implementation detail)

@rclapp please review and approve. I moved a bit more code into the parent member class and renamed it to emphasize it's nature as an implementation detail and assure people don't accidentally use it


H6182 39% and colour changing issue

What issue do you have? Please be as thorough and explicit as possible.
[Device Name] could not be updated and its status will be reverted soon. Error: Request failed with status code 400.
I am getting this error on Govee H6182. Also doesn't change colour every time correctly. Sticks on 39% alot of time too
...
Details of your setup.
Do you use Homebridge or HOOBS?
Homebridge
...
Which version of Homebridge/HOOBS do you have?
1.1.6
...
Which version of this plugin (homebridge-govee) do you have?
2.0.0
...
Please paste any relevant logs below. It helps if you can turn debug and debugReqRes in the package settings for more thorough logging.

If you are posting an error then it is helpful for me to also see the previous few lines as this can show the cause of the error.
[10/17/2020, 4:48:15 PM] [Govee] [Lounge TV] updating hue to [306°] and sat to [0%].
[10/17/2020, 4:48:33 PM] [Govee] [Lounge TV] updating hue to [358°] and sat to [0%].
[10/17/2020, 4:48:36 PM] [Govee] [Lounge TV] could not be updated and its status will be reverted soon. Error: Request failed with status code 400.
[10/17/2020, 4:48:36 PM] [Govee] [Lounge TV] could not be updated and its status will be reverted soon. Error: Request failed with status code 400.
...

Hi, this should now be fixed in v2.0.1.
Thanks for bringing this to my attention.

Thats quick. Thank you. That looks to have worked.
Sometimes the 6 colour options in homekit dont show the correct colour, but minor issue as majority of time I have as white anyway.

Unfortunately there is always the potential for a mismatch in colour between the (device/govee app) and Home app.
These two use two different colour systems, so there is a lot of conversion that happens in the plugin.
In fact there is a normally less of mismatch when the colours chosen are more to the outside of the colour wheel.
But I'm glad you're no longer receiving the error 400 with the brightness and for this reason I am going to go ahead and close this issue.
Thanks again


custom user authentication - Cannot find module when

I'm following the security guide to build a custom user authentication with some external REST.

Rather than hardcode users into the settings file, it is also possible to plug in custom code to authenticate users. This makes it possible to integrate with existing authentication schemes.

I put the user-authentication.js file inside /data with the settings.js and then edit the line:
adminAuth: require("./user-authentication"),

Node-red is executed inside a container with the command:
$ npm start -- --userDir /data

This the error I'm having:
nodered_1    | Error loading settings file: /data/settings.js
nodered_1    | Error: Cannot find module 'when'
nodered_1    | npm info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>
There's something wrong with the PATH possibly?

That example assumes you know enough node.js to know that you'd need to run npm install when in the directory you have the user-authentication.js file.
This is a docs issue to make that clearer.

@knolleary yeah at end I've replaced when with the built-in Promise (node >= v4). Even though deploying it from a container and have to do a npm install when it's a bit unhandy.


Add linting and formatting toolchains

Maintaining a JS code base can get messy as the code base increases in terms of lines of code.

Hi @sudiptog81
Thanks for bringing this to our notice and we appreciate your valuable feedback on this.
I will review this feedback with the team, and keep you posted on the progress.
Regards
Indrasen

HI @sudiptog81
Thanks for your contribution to this project, this particular request is included in our latest releases version 11.3.0 https://github.com/LoginRadius/node-js-sdk/releases/tag/11.3.0.
Please let me know if you see any other areas of improvement.
Regards
Indrasen


Addition of Windows support with preprocessing

I wanted to use such functionality on Windows, but as usual they did it differently.
For once, it is not too different: popen became _popen and pclose became _pclose.
The support is obtained via the preprocessor macro _WIN32.
  function popen(command, mode) &
#ifdef _WIN32
            bind(C,name='_popen')
#else
            bind(C,name='popen')
#endif

I also updated the toml
[preprocess]
cpp.suffixes = ["F90", "f90"]
# cpp.macros = ["_WIN32"]

The only thing to do is to uncomment the cpp.macros.
I also updated the test case because uname and ls do not exist on windows

@jacobwilliams,
are you interested by this PR? If not, this is totally fine to me, I would just close it.
BR


Archive file zip compression

Adds the EnableArchiveFileCompression property to FileTarget, which zips the archive files to save space. Supported only in .NET 4.5 (using System.IO.Compression).
Includes unit tests.

@aelij Any idea why the build fails? Can you commit something to restart AppVeyor?

According to the AppVeyor log there was a problem retrieving NuGet packages. I don't think it had anything to do with my changes.
I've removed the reference to System.IO.Compression.FileSystem because it's not supported on all platforms (such as PCL), and I could manage without it.

Yes, Nuget was down. So we needed a restart.
With the new commit it's restarted and I builds! Thanks!

Any idea when this will be released? :)
Thanks!

In 4.0, but there are some open issues for that release.

4.0 will be released on 2 June 2015.


fix: remove mixin require field to Schema indexes

Closes: https://github.com/metarhia/metasql/issues/67

Landed in https://github.com/metarhia/metasql/commit/722f68f8b22a5d30c5b7001006c6d1d68ae2cb92


PDCL-4583 For npm package, validate options and support an array-base…

…d monitors option.

Description
See https://jira.corp.adobe.com/browse/PDCL-4583 for more info.
It looks like our tests for the npm package are pretty sparse at the moment. I created a separate issue to address this:
https://jira.corp.adobe.com/browse/PDCL-4584
I've manually tested it in the meantime.

Related Issue
https://jira.corp.adobe.com/browse/PDCL-4583

Motivation and Context
Simpler, more expected API. Better validation for a better user experience.

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Improvement (non-breaking change which does not add functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] I have signed the Adobe Open Source CLA or I'm an Adobe employee.
[ ] I have made any necessary test changes and all tests pass.
[ ] I have run the Sandbox successfully.

I updated the GitHub wiki on how to use monitors with the NPM package. https://github.com/adobe/alloy/wiki/Monitoring-Hooks

Good suggestions. The changes have been made.


Add support for loading uncompressed DDS files

Env:
pyglet: 1.4.9
Ubuntu: 18.04 and Windows 10 (exception is different based on platform)
Introduce
I created example with issue - https://github.com/Yuriy-Leonov/pyglet_dds_power_of_two/tree/master/dds_without_compression
python script - https://github.com/Yuriy-Leonov/pyglet_dds_power_of_two/blob/master/dds_without_compression/convert_and_open_dds.py (very short)
import pyglet

def convert():
    from wand import image
    with image.Image(filename="31_21.png") as img:
        img.strip()
        img.flip()
        image.library.MagickSetOption(img.wand, b"dds:mipmaps", b"0")
        image.library.MagickSetOption(img.wand, b"dds:compression", b"none")
        img.save(filename="31_21.dds")

def load():
    pyglet.image.load("31_21.dds")

if __name__ == '__main__':
    convert()
    load()

Convertation for .png could be done either as via python as via Ubuntu console - convert file.png -define dds:compression=none out.dds (based on SO answer https://stackoverflow.com/questions/59703196/how-to-convert-png-to-uncompressed-dds-in-linux/59704501#59704501 )
Conddition:
There is a .dds file with no compression.
Try to load this file in pyglet.
Using GIMP this file could be opened successfully:

Exceptions:
On Ubuntu 18.04:
Traceback (most recent call last):
  File "convert_and_open_dds.py", line 20, in <module>
    load()
  File "convert_and_open_dds.py", line 15, in load
    pyglet.image.load("31_21.dds")
  File "/<path to venv>/lib/python3.6/site-packages/pyglet/image/__init__.py", line 208, in load
    raise first_exception
  File "/<path to venv>/lib/python3.6/site-packages/pyglet/image/__init__.py", line 198, in load
    image = decoder.decode(file, filename)
  File "/<path to venv>/lib/python3.6/site-packages/pyglet/image/codecs/gdkpixbuf2.py", line 311, in decode
    return loader.get_pixbuf().to_image()
  File "/<path to venv>/lib/python3.6/site-packages/pyglet/image/codecs/gdkpixbuf2.py", line 137, in get_pixbuf
    self._finish_load()
  File "/<path to venv>/lib/python3.6/site-packages/pyglet/image/codecs/gdkpixbuf2.py", line 123, in _finish_load
    raise ImageDecodeException(_gerror_to_string(error))
pyglet.image.codecs.ImageDecodeException: GdkPixBuf Error: domain[66], code[3]: <ctypes.LP_c_char object at 0x7f824b832950>

On Windows 10:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "E:\<path_to_venv>\venv\lib\site-packages\pyglet\image\__init__.py", line 208, in load
    raise first_exception
  File "E:\<path_to_venv>\venv\lib\site-packages\pyglet\image\__init__.py", line 198, in load
    image = decoder.decode(file, filename)
  File "E:\<path_to_venv>\venv\lib\site-packages\pyglet\image\codecs\gdiplus.py", line 284, in decode
    bitmap = self._load_bitmap(file, filename)
  File "E:\<path_to_venv>\venv\lib\site-packages\pyglet\image\codecs\gdiplus.py", line 227, in _load_bitmap
    raise ImageDecodeException('GDI+ cannot load %r' % (filename or file))
pyglet.image.codecs.ImageDecodeException: GDI+ cannot load '31_21.dds'

Why does it need:
Uncompressed DDS could be use used for speedup loading images to GPU without loose the quality.
And it sould use a bit less RAM compared to PNG(in theory)

@benmoran56 I have been looking at this one and think this might be more challenging for me to do, in that it allows me to learn more aspects of pyglet.  I have already made some changes to the dds.py file to allow for it to read uncompressed RGB with or without an alpha channel correctly (it even reads the file supplied in the above example).  I see that you mentioned a question related to sRGB for this issue.  In reading the DDS spec, I don't think it uses the sRGB color spaces by default and you can only specify it if you include the DX10 header extension, which so far GIMP isn't saving it with that header.
But, if it is including the DX10 header extension and then specifies an uncompressed sRGB format like DXGI_FORMAT_R8G8B8A8_UNORM_SRGB then I think you would use glTexture2D with the format of SRGB_ALPHA_EXT or similar(?) assuming GL_EXT_texture_sRGB is supported.
However, like I said before, I think basic initial support can be added for non-DX10 textures without to much effort and then I can work on the DX10 based extended DXGI formats.  What do you think?

Hi @kingadami,
Sure, these would be welcome additions. Let me know if you have any implementation questions.
One thing to keep in mind when working with codecs is that all exceptions should be caught and raised as ImageDecodeException. This lets us gracefully move on to the next codec in case of failure (or unknown format).


Different way to visualize the data, clean up later sorry

Included in this script file is a better function than present_3d, which allows for a slice in any direction. I've also created some images in the script for @kentschen to be able to use.

So we're definitely not merging this, just utilize the idea and function

Dat coverage. Good thing we're not merging. Plan do discuss this at 2?


Added ZenBanx

Yeah… another new Canadian bank that starts with a Z, has the word Bank in it – well, almost – and doesn’t have 2FA.

How big/popular is it?

It has a good following already because:

It’s started by the founder of ING Direct
They’ve done some promos to grow their customer base in the last few months


Switch to Java 11 to use the built-in HttpClient instead of OkHttpClient

Looks good to me.
Rethrowing InterruptedException is suspicious, but probably ok to preserve the interface signature.

Maybe class name could be improved to something like OcspClientImpl, because it's the only one and uses only built-in JDK dependencies.

Thanks!
Yes, exposing InterruptedException in the interface signature would require that the developers know that they have to call Thread.currentThread().interrupt() before rethrowing it. I think this puts too large onus on them and may cause problems, so it is better to catch it, handle the interruption and rethrow as IOException ourselves. The assumption is that the interruption is a rare event and developers want to treat it like any other I/O failure.
I agree, OcspClientImpl is better considering that it is the only one and uses only built-in JDK dependencies. BuiltinHttpClientOcspClient is precise, but hard to read and justified only in case there are many implementations.


window 'blur' and 'focus' not handled

When window gets or loses focus 'blur' and 'focus' event callbacks are not called.
I expect that these will be triggered
ifvisible.on('blur', () => console.log('ifvisible blur callback'))
ifvisible.on('focus', () => console.log('ifvisible focus callback'))
Standard window events are triggered as expected
window.addEventListener('blur', () => console.log('window blur'))
window.addEventListener('focus', () => console.log('window focus'))

ifvisible runs on the Page Visibility Api
it only works in these situations:

visible : the page content may be at least partially visible. In practice this means that the page is the foreground tab of a non-minimized window.
hidden : the page content is not visible to the user. In practice this means that the document is either a background tab or part of a minimized window, or the OS screen lock is active.

Implementation of these events might differ from browser to browser. Clicking outside of the window or switching to a different app while browser is still visible, will not trigger these events.
In the latest version, I've included a new method called ifvisible.legacyMode() if you run this method, it will work like you wanted.
Latest version here:
https://github.com/serkanyersen/ifvisible.js/releases/tag/v2.0.10


Table: truncation breaks ANSI styling

It appears that when truncation occurs on cell data with ansi styling present the ANSI reset sequence is truncated, resulting in the styling from the cell bleeding onto subsequent rows:
In other words it appears that something like the following is happening:
"\x1b[7m " + "Milk!" + "\x1b[0m" // before; ends in ANSI reset
"\x1b[7m " + "Mi…" // post-truncation; ANSI reset missing

The following code will reproduce the issue:
package main

import (
	"fmt"

	"github.com/charmbracelet/lipgloss"
	"github.com/charmbracelet/lipgloss/table"
)

func main() {
	s := lipgloss.NewStyle().Foreground(lipgloss.Color("240")).Render

	t := table.New()
	t.Row("Bubble Tea", s("Milky"))
	t.Row("Milk Tea", s("Also milky"))
	t.Row("Actual milk", s("Milky as well"))
	fmt.Println(t.Render())
}

Output:

We should be using StyleFunc to style these cells.
func main() {
	s := lipgloss.NewStyle().Foreground(lipgloss.Color("240"))

	t := table.New()
	t.Row("Bubble Tea", "Milky")
	t.Row("Milk Tea", "Also milky")
	t.Row("Actual milk", "Milky as well")
        t.StyleFunc(func (row, col int) lipgloss.Style {
            if col == 1 {
                return s
            }
            return lipgloss.NewStyle()
        })
	fmt.Println(t.Render())
}

Aha: @maaslalani pointed out that this is actually fixed on master. Sounds like it's time for a release then.

This was solved by the awesome @mikelorant!
https://github.com/charmbracelet/lipgloss/commit/de4601232b791a1397d6c645904b001a311a5693


[6.x] Override (static) password name

There was a case when I needed to make the User model store the password in a different column rather than "password", unfortunately, this column can't be changed, so to make it more dynamic, I've added a method that can be overridden, where we can specify the name of the column that stores the password, and an attribute in the User model that has a default value for that column with a value = "password"
old: if (Str::contains($key, 'password'))
new: if (Str::contains($key, $query->getModel()->getPasswordName()))
the new attribute: protected $passwordName = 'password';

You are missing at least one case: https://github.com/laravel/framework/blob/82af288b24a3abf454ed55a3147dd873f56a133b/src/Illuminate/Auth/GenericUser.php#L56

Should this be targeted to master as this has breaking changes in here?

I commented on the issue before realizing there was a PR for it. Perhaps my line of thinking is off-base with this, but if not, then a PR may not be necessary.
https://github.com/laravel/framework/issues/30160#issue-501507501

Yes, please send this to master (7.x).

@ahmedsayedabdelsalam
I just tried out the idea from this comment on my local machine and it works as expected. So essentially you can just override the getAuthPassword method on your User model and just change the name of the property it is accessing to match the column in your DB without any other changes to the Framework.
Here's a quick example:
User Model
    // here we assume the password column is set to "password2" as opposed to the normal "password"
    public function getAuthPassword()
    {
        return $this->password2;
    }

@ahmedsayedabdelsalam
I just tried out the idea from this comment on my local machine and it works as expected. So essentially you can just override the getAuthPassword method on your User model and just change the name of the property it is accessing to match the column in your DB without any other changes to the Framework.
Here's a quick example:
User Model
    // here we assume the password column is set to "password2" as opposed to the normal "password"
    public function getAuthPassword()
    {
        return $this->password2;
    }

Thanks for your reply and excuse me for the late response
that's a long time :D I can't remember actually what was the situation needed me to use the following function 🤦♂
but the problem was that this function uses the password column statically so
/**
  * Retrieve a user by the given credentials.
  *
  * @param  array  $credentials
  * @return \Illuminate\Contracts\Auth\Authenticatable|null
  */
 public function retrieveByCredentials(array $credentials)
 {
     if (empty($credentials) ||
        (count($credentials) === 1 &&
         array_key_exists('password', $credentials))) {
         return;
     }`

     // First we will add each credential element to the query as a where clause.
     // Then we can execute the query and, if we found a user, return it in a
     // Eloquent User "model" that will be utilized by the Guard instances.
     $query = $this->newModelQuery();

     foreach ($credentials as $key => $value) {
         if (Str::contains($key, $query->getModel()->getPasswordName())) {
             continue;
         }

         if (is_array($value) || $value instanceof Arrayable) {
             $query->whereIn($key, $value);
         } else {
             $query->where($key, $value);
         }
     }

     return $query->first();
 }

so I think
public function getAuthPassword()
    {
        return $this->password2;
    }

with not help here.


Fix collapse loop

Allow other statements to be between the range declaration and its invocation in the Numba IR for the collapse clause.
Change target teams loop to not use simd.

This LGTM. Can you rebase on develop to re-run the checks and squash-and-merge or rebase-and-marge if they pass?


Fix text2d not getting scale factor after window creation

Objective
Fixes #10407
Solution
This adds a local to keep track of the scale factor, which may or may not be a default value due to the lack of a window. Something similar is being done in text_system for UI.
I also explored using window.is_added, but the scale factor doesn't seem to be available on the same frame where that is true.
There may be some other more elegant solution -- I don't really understand #9826 where this broke.

This fixes the issue for this example, but I believe the bug is more far-reaching than this. So this probably isn't the right solution.


feat: add props to ReportsComponent

Added ability to customize the Title and Sub Title of ReportsComponent.
Default:
<Route path="/infrawallet" element={<InfraWalletPage />} />

Custom:
<Route path="/infrawallet" element={<InfraWalletPage title='My custom Title' subTitle='My custom Subtitle' />} />

Hi @holiiveira, thank you very much for this PR! It looks quite nice :)
Before merging the code, could you please also consider the following:

fix the errors in the checks, which is about formatting the code
mention this optional configuration in our documentation here

Merged. Thanks for the contribution! @holiiveira


Supporting probability distributions of initial conditions and parameters specified in SBML

Hi folks,
MIRA does not currently support distributions of initial conditions and parameters  that are specified in SBML.
https://sbml.org/documents/specifications/level-3/version-1/distrib/
Here is the libsbml API documentation for the distributions package:
https://sbml.org/software/libsbml/5.20.2/cpp-api/group__distrib.html
Here is an easy way to specify distributions in SBML using SBMLutils:
https://sbmlutils.readthedocs.io/en/latest/notebooks/sbml_distrib.html
Here is another way to specify distributions in SBML using Antimony:
https://tellurium.readthedocs.io/en/latest/antimony.html#uncertainty-information
Here are the distributions that Antimony supports:

Distribution
Description

Normal (mean, sd)
Normal distribution with mean and standard deviation

truncatedNormal (mean, sd, min, max)
Limit the normal disturbing to a range

uniform (min, max)
Uniform distribution with given minimum and maximum range

exponential (rate)
Exponential distribution with given rate

truncatedExponential (rate, min, max)
Exponential distribution with given range

gamma (shape, scale)
Gamma distribution

truncatedGamma (shape, scale, min, max)
Gamma distribution with range

poisson (rate)
Poisson distribution

truncatedPoisson(rate, min, max)
Poisson distribution with range

I do not think this is needed for our use case, but I was surprised to learn that Antimony/SBML also supports the specification of static and dynamic parameter interventions:
https://www.biorxiv.org/content/10.1101/015503v1.full

To put this in concrete terms, let us imagine a model of a particular neuron. If the concentration of $S_1$ goes above $5$, a depolarization event is likely to happen, taking an average of
$2$ seconds to do so, which will reset the concentration of $S_1$ to zero. However, if the concentration of $S_1$ goes below $5$, depolarization can no longer take place. This can be modeled by
the following SBML event, written here in Antimony shorthand:

depolarization: at exponential(0.5) after S1 > 5, persistent=true: S1=0

or in SBML:
<event id="depolarization" useValuesFromTriggerTime="true">
    <trigger initialValue="true" persistent="true">
         <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
               <gt/>
               <ci> S1 </ci>
              <cn type="integer"> 5 </cn>
            </apply>
         </math>
     </trigger>
  <delay>
    <math xmlns="http://www.w3.org/1998/Math/MathML">
        <apply>
          <ci> exponential </ci>
          <cn> 0.5 </cn>
        </apply>
     </math>
  </delay>
  <listOfEventAssignments>
    <eventAssignment variable="S1">
      <math xmlns="http://www.w3.org/1998/Math/MathML">
        <cn type="integer"> 0 </cn>
      </math>
    </eventAssignment>
  </listOfEventAssignments>
</event>

@augeorge would you be willing to populate the gene regulatory SBML model with distribution information as an example?

done @djinnome
below is an example SBML model for a simple 4 state system with uniform distributions added for the state variables and parameters.
SBML file
4 state model diagram:

related notebook

Sorry about that!  We went through information release and software disclosure, so we are able to make the repo public, but it looks like the links are broken anyway, so I will just attach the files here.
ABCD_model.xml.gz
pyciemss_test.ipynb.gz

We've been looking into this but it is tricky to implement from a technical perspective because libSBML doesn't support the elements related to distributions (the documentation above about this makes it seem like it might but in practice, these attributes are just not there). This makes it nontrivial to traverse these elements via the SBML object model - though not impossible. So it will take a bit more time.

Here is an example where the sbmlutils  package (which is a more pythonic high level interface for libsbml) supports distributions:
https://sbmlutils.readthedocs.io/en/latest/notebooks/sbml_distrib.html
Here is an example of how to load the distrib package using the low-level python-libsbml api:
https://github.com/matthiaskoenig/sbmlutils/blob/7b3af189ed67e612b443c1a4e4254078b77fa679/src/sbmlutils/distrib/distrib_examples.py#L11-L20


It seems normal during the development phase, but errors are reported during the packaging phase as follows

What went wrong:
The Android Gradle plugin supports only Kotlin Gradle plugin version 1.5.20 and higher.
The following dependencies do not satisfy the required version:
project ':md5_file_checksum' -> org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.50

I see the same error, any update coming?
Thanks

md5_file_checksum:
git:
url: https://github.com/niu-dali/md5_file_checksum.git


Only 8 children's cards can fit per page

Environment: macOS Big Sur 11.5.1, Chrome version 97.0.4692.71.
Reproducible: always
Build found: lgcp-0.0.112
gcp-0.0.53
Preconditions

Open link https://oos.dmytrominochkin.cloud/#
Log in like a Parent role (for exp<EMAIL_ADDRESS>password : Shkrebtan1!)
Go to "Інформація про дитину" point in to "Особиста інформація" menu.
More than 8 children exist in the Parent account

Steps to reproduce

Pay attention to the number of cards that can fit on the page

Actual result
Only 8 cards can fit on the page
https://user-images.githubusercontent.com/97882565/153593051-45b00146-ace6-4d4d-802f-87e0ff826066.mov
Expected result
The number of cards as much as the screen can afford
Labels to be added
"Bug", Priority ("pri: medium"), Severity ("severity:minor"), Type ("UI")

@Olya-web7 Bug is still reproducible
https://user-images.githubusercontent.com/97882565/154951324-9eb66637-22f3-47c3-aa0f-3d258fc97110.mov

please check, now number of cards as much as the screen can afford

@Olya-web7
I have a screen width of 1400 pixels.
With zoom 100% + hard reload - 3 cards are placed in a row, 8 cards are shown on the page in total.
https://user-images.githubusercontent.com/97882565/160845886-80ed3bb3-b46c-4f66-a68a-ee24b6c1b8d5.mov
With zoom 75% + hard reload - 5 cards fit in a row, 10 cards are shown on the page in total.

With zoom 67% + hard reload - 5 cards are placed in a row, 12 cards are shown on the page in total.

With zoom 50% + hard reload - 8 cards fit in a row, a total of 16 cards are shown on the page.

It was discussed with BA, that workshops, child, directions should not change dynamically on screen resizing. It Was decided to create a drop-down, where user can choose amount of cards on the page, that is comfortable for his/her screen size. Please check functionality jf this new feature.
https://github.com/ita-social-projects/OoS-Frontend/issues/1115

Verified.


[types] refactoring types

There are two issues that I'd like to address in this thread:

the lack of types
the semantic of current types

The lack of types
In the first case, we sometimes build logic through functions passing tuples of primitive types to one another. The best example of this is the polynomial commitment code:
    pub fn verify<EFqSponge, RNG>(
        &self,
        group_map: &G::Map,
        batch: &mut Vec<(
            EFqSponge,
            Vec<Fr<G>>,
            Fr<G>,      // scaling factor for polynomials
            Fr<G>,      // scaling factor for evaluation point powers
            Vec<(
                &PolyComm<G>,
                Vec<&Vec<Fr<G>>>,
                Option<usize>,
            )>,
            &OpeningProof<G>, // batched opening proof
        )>,
        rng: &mut RNG,
    ) -> bool
    where
        EFqSponge: FqSponge<Fq<G>, G, Fr<G>>,
        RNG: RngCore + CryptoRng,

I think in general, we should think and build types first, and then method on types. As Rob Pike says:

Rule 5. Data dominates. If you've chosen the right data structures and organized things well, the algorithms will almost always be self-evident. Data structures, not algorithms, are central to programming.

In the commitment tests I proposed a series of types that could help us make the API more understandable, as well as handle the individual types more easily:
/// A commitment
pub struct Commitment {
    /// the commitment itself, potentially in chunks
    chunked_commitment: PolyComm<Affine>,
    /// an optional degree bound
    bound: Option<usize>,
}

/// An evaluated commitment (given a number of evaluation points)
pub struct EvaluatedCommitment {
    /// the commitment
    commit: Commitment,
    /// the chunked evaluations given in the same order as the evaluation points
    chunked_evals: Vec<ChunkedCommitmentEvaluation>,
}

/// A polynomial commitment evaluated at a point. Since a commitment can be chunked, the evaluations can also be chunked.
pub type ChunkedCommitmentEvaluation = Vec<Fp>;

mod prover {
    use super::*;

    /// This struct represents a commitment with associated secret information
    pub struct CommitmentAndSecrets {
        /// the commitment evaluated at some points
        pub eval_commit: EvaluatedCommitment,
        /// the polynomial
        pub poly: DensePolynomial<Fp>,
        /// the blinding part
        pub chunked_blinding: PolyComm<Fp>,
    }
}

/// This struct represents an aggregated evaluation proof for a number of polynomial commitments, as well as a number of evaluation points.
pub struct AggregatedEvaluationProof {
    /// a number of evaluation points
    eval_points: Vec<Fp>,
    /// a number of commitments evaluated at these evaluation points
    eval_commitments: Vec<EvaluatedCommitment>,
    /// the random value used to separate polynomials
    polymask: Fp,
    /// the random value used to separate evaluations
    evalmask: Fp,
    /// an Fq-sponge
    fq_sponge: DefaultFqSponge<VestaParameters, SC>,
    /// the actual evaluation proof
    proof: OpeningProof<Affine>,
}

Semantic of types
The best example is the polynomial commitment type:
pub struct PolyComm<C> {
    pub unshifted: Vec<C>,
    pub shifted: Option<C>,
}

which is used for:

non-hiding polynomial commitments (PolyComm<G>)
hidden polynomial commitments (PolyComm<G>)
the blinding factors associated to a hidden polynomial commitment (PolyComm<F>)

As such, I would argue that the PolyComm structure is too generic and leaks abstractions. We should enforce the semantic of what we're using through the types, and have distinct types that can hold and represent the three different use-cases previously mentioned.
Another example are indexes.
pub struct Index<'a, G: CommitmentCurve>
where
    G::ScalarField: CommitmentField,
{
    /// constraints system polynomials
    #[serde(bound = "ConstraintSystem<Fr<G>>: Serialize + DeserializeOwned")]
    pub cs: ConstraintSystem<Fr<G>>,

    /// polynomial commitment keys
    #[serde(skip)]
    pub srs: SRSValue<'a, G>,

    /// maximal size of polynomial section
    pub max_poly_size: usize,

    /// maximal size of the quotient polynomial according to the supported constraints
    pub max_quot_size: usize,

    /// random oracle argument parameters
    #[serde(skip)]
    pub fq_sponge_params: ArithmeticSpongeParams<Fq<G>>,
}

// TODO(mimoo): a lot of this stuff is kinda redundant with the Index/ProverIndex. There probably should be a "commonIndex" and then a ProverIndex and VerifierIndex that includes it.
#[serde_as]
#[derive(Serialize, Deserialize)]
pub struct VerifierIndex<'a, G: CommitmentCurve> {
    /// evaluation domain
    #[serde_as(as = "o1_utils::serialization::SerdeAs")]
    pub domain: D<Fr<G>>,
    /// maximal size of polynomial section
    pub max_poly_size: usize,
    /// maximal size of the quotient polynomial according to the supported constraints
    pub max_quot_size: usize,
    /// polynomial commitment keys
    #[serde(skip)]
    pub srs: SRSValue<'a, G>,

    // index polynomial commitments
    /// permutation commitment array
    pub sigma_comm: [PolyComm<G>; PERMUTS],
    /// wire commitment array
    pub qw_comm: [PolyComm<G>; GENERICS],
    /// multiplication commitment
    pub qm_comm: PolyComm<G>,
    /// constant wire commitment
    pub qc_comm: PolyComm<G>,

    // poseidon polynomial commitments
    /// round constant polynomial commitment array
    pub rcm_comm: [[PolyComm<G>; PlonkSpongeConstants15W::SPONGE_WIDTH]; ROUNDS_PER_ROW],
    /// poseidon constraint selector polynomial commitment
    pub psm_comm: PolyComm<G>,

    // ECC arithmetic polynomial commitments
    /// EC addition selector polynomial commitment
    pub add_comm: PolyComm<G>,
    /// EC doubling selector polynomial commitment
    pub double_comm: PolyComm<G>,
    /// EC variable base scalar multiplication selector polynomial commitment
    pub mul_comm: PolyComm<G>,
    /// endoscalar multiplication selector polynomial commitment
    pub emul_comm: PolyComm<G>,

    /// wire coordinate shifts
    //    #[serde(bound = "Fr<G>: CanonicalDeserialize + CanonicalSerialize")]
    #[serde_as(as = "[o1_utils::serialization::SerdeAs; PERMUTS]")]
    pub shift: [Fr<G>; PERMUTS],
    /// zero-knowledge polynomial
    #[serde(skip)]
    pub zkpm: DensePolynomial<Fr<G>>,
    // TODO(mimoo): isn't this redundant with domain.d1.group_gen ?
    /// domain offset for zero-knowledge
    #[serde(skip)]
    pub w: Fr<G>,
    /// endoscalar coefficient
    #[serde(skip)]
    pub endo: Fr<G>,

    // random oracle argument parameters
    #[serde(skip)]
    pub fr_sponge_params: ArithmeticSpongeParams<Fr<G>>,
    #[serde(skip)]
    pub fq_sponge_params: ArithmeticSpongeParams<Fq<G>>,
}

A few problems with indexes is that:

there are some common fields between prover and verifier index.
there isn't a clean distinction between global parameters (SRS) and per-circuit parameters (constraint system)
it mixes types that are needed for the protocols, and pre-computed types for optimizations only

While I make no suggestion on how to change that, I think we should come up with a proposal.

Note that for the VerifierIndex, we end up creating our own version for the OCaml binding:
#[derive(ocaml::IntoValue, ocaml::FromValue, OcamlGen)]
pub struct CamlPlonkDomain<Fr> {
    pub log_size_of_group: ocaml::Int,
    pub group_gen: Fr,
}

#[derive(ocaml::IntoValue, ocaml::FromValue, OcamlGen)]
pub struct CamlPlonkVerificationEvals<PolyComm> {
    pub sigma_comm: Vec<PolyComm>,
    pub qw_comm: Vec<PolyComm>,
    pub qm_comm: PolyComm,
    pub qc_comm: PolyComm,
    pub rcm_comm: Vec<Vec<PolyComm>>,
    pub psm_comm: PolyComm,
    pub add_comm: PolyComm,
    pub double_comm: PolyComm,
    pub mul_comm: PolyComm,
    pub emul_comm: PolyComm,
}

#[derive(ocaml::IntoValue, ocaml::FromValue, OcamlGen)]
pub struct CamlPlonkVerificationShifts<Fr> {
    pub r: Fr,
    pub o: Fr,
}

#[derive(ocaml::IntoValue, ocaml::FromValue, OcamlGen)]
pub struct CamlPlonkVerifierIndex<Fr, SRS, PolyComm> {
    pub domain: CamlPlonkDomain<Fr>,
    pub max_poly_size: ocaml::Int,
    pub max_quot_size: ocaml::Int,
    pub srs: SRS,
    pub evals: CamlPlonkVerificationEvals<PolyComm>,
    pub shifts: CamlPlonkVerificationShifts<Fr>,
}

I think it'd be great if we didn't have to do this, and if we could directly use our struct. For this, the relevant stuff would have to move to its own substruct.

Chunked types is another one that I think should see some refactors. Basically some types are generic and either contain single field elements, or vectors of field elements (chunked evaluations).


automatically determine if endpoint is KM2 or DLX

@chiefdeputy can you have a look if that works out in your case. any feedback highly appreciated!

@chiefdeputy I released it as pre-release beta, you can also enable beta in HACS and use 0.1.2b to test it out in your instance

@chiefdeputy can you test it again with the explicit catch of JSONDecodeError, I updated 0.1.2b so you can just reload it

@chiefdeputy is it working?

Not as it is right now. Either use ValueError, or upgrade request package and use requests.exceptions.JSONDecodeError or back to the general exception.

I am yet to give this a try on our DL3, however what about keeping mode and having "auto[default], km2, dlx". I would prob rather set it than have it try km2 to get an error each time.
Perhaps on success it could set the config to the correct value?
Just a thought, If the km2 credentials are wrong or it's down it will attempt the dlx and not log a useful message.

Submitted an enhanced auto detect #12


Pulse invariant b and introduce exists b. ... patterns erase arguments, making syntax equality checks fail

See https://github.com/FStarLang/steel/blob/megan_pulse_lib/share/steel/examples/pulse/bug-reports/IntroGhost.fst

also arises for FStar syntax, e.g.
exists_ (fun (x:t) -> ... x ... )
in this pattern x gets erased.

These are no longer problems with the new prover. Moved the report with some docs into examples.


feat: pass and handle auth request context for email links

This PR passes and handles the authRequest context though email links.
It does so by adding the authRequestID to the following email links (if requested through the login UI): email verification, init code and password reset.
When opened on the same user agent / browser, the auth request will be continued and a user will be redirected to the application (instead of the profile page) after the authentication.
Since the user agent and auth request information is now also passed and correctly handled in the user session, user will no longer be prompted to reenter their password after a recent registration (reauthentication including password verification will be necessary depending on the password validation lifetime set in the login policy).
The PR also includes further improvement on user session projection (now always updates the change_date and sequence columns) and removes deprecated code related to registration.
closes #4059
closes #7504
Definition of Ready

[x] I am happy with the code
[x] Short description of the feature/issue is added in the pr description
[x] PR is linked to the corresponding user story
[x] Acceptance criteria are met
[x] All open todos and follow ups are defined in a new ticket and justified
[x] Deviations from the acceptance criteria and design are agreed with the PO and documented.
[x] No debug or dead code
[x] My code has no repetitions
[x] Critical parts are tested automatically
[ ] Where possible E2E tests are implemented
[ ] Documentation/examples are up-to-date
[ ] All non-functional requirements are met
[x] Functionality of the acceptance criteria is checked manually on the dev system.

@stebenz i didn't see that there are unit tests asserting on string equality. since the links are now generated with the url.Values, i had to change the tests

Is there any documentation how to use this? :)


Added A Company: BlackBox Technologies

What kind of change does this PR introduce?
Added BlackBox Technologies Pvt. Ltd. to the companies.json and it's details

[ ] Bug Fix
[ ] Documentation change
[X] Added new company
[ ] Other(s)

Please format the data correctly in alphabetical order before pushing

Done


mock SitemapParser tests to not make external requests

as per https://github.com/leonstafford/wp2static/pull/723
Tests from original library are making external requests, which need to be mocked. Try similar to Static HTML Output project's HTML/CSS tests setup.
Currently, slows down tests a lot and leaves at mercy of remote servers in the unit tests.

Dupe of #828


Fix schema builder ungrouped params sorting

When loading new schema, put ungrouped params at the bottom (same as docs and other page)
Force ungrouped top-level params to be below all definitions groups when sorting
Write some more help text for the schema builder
Restyle help-text to have a help button and be more consistent with the rest of the site
Rename classes so that container-fluid isn't clobbered and can still be used (eg. Pipeline Health page)

Used container-xl so that it's consistent for if/when we get around to upgrading bootstrap

New style parameter schema builder help:

Also, killed the "Preview Help" modal functionality. Now that we can view the docs for the dev branch, I think that this is a lot less helpful and it's just another (third) place to maintain. The fact that I forgot that this function existed and didn't test it when making the schema change is case in point.


Added cedi (Ghanaian Cedi) implementation

#225

@all-contributors please add @Tamunorth for code


Preferred compare operator - change configuration to allow quickfix

"preferred_compare_operator": {
          "badOperators": [
              "EQ",
              "NE",
              "GE",
              "GT",
              "LT",
              "LE"
          ]
      },

Instead of this, configure tuples of bad_operator, preferred_operator which a quickfix could replace.

Quickfix already does this, for banner comments see #1313


Add KubeEnforcer with cert-manager guide to README

Adding few steps to README to describe how kube-enforcer can be used with cert-manager.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@ruzickap
Our apologies for the delay with the answer.
Thank you for your PR.
Can you please rebase your repo and we will merge your suggested changes?

I'll mess it up... I'll close this PR and create another one.
Sorry for that...

New PR created here: https://github.com/aquasecurity/aqua-helm/pull/524


[Bug]: The secondary_info "state" shows a wrong information

Requirements

[X] I have updated Mushroom to the latest available version
[X] I did a search to see if there is a similar issue or if a pull request is open.

Current Behavior
The secondary_info "state" shows a wrong information.
The status "heating" (Heizen) is displayed although the temperature has already been reached. The standard control shows "idle" (Leerlauf).

Expected Behavior
If the temperature has already been reached the state sould be "idle", like in the standard control
Steps To Reproduce
No response
Context
YAML state

Environment
- Browser:
- HA Version:
- Mushroom:

Anything else?
No response

It display the state, not the action.


Timeout configuration support

Support allowing users to turn off whether we capture timeouts, including an explanation in the README about how we capture this data. Also refactors config object.

@pselle Do we have a unit test for knowing if we actually exit early based on timeout config?

@coreylight No -- I want to use something like lambda-local for that, but the API needs to update (there's an open PR https://github.com/ashiina/lambda-local/pull/85) for that to work for us


gherkinfmt: option to fix "And" steps

Given a nice person called "Bob"
Given a nice person called "Lisa"
...

to
Given a nice person called "Bob"
  And a nice person called "Lisa"
...

fixed with v1.1.0 of gherkinfmt.


@Delegate does not work with Guava's ImmutableBiMap

Consider the following class:
class X implements BiMap<A, B> {
    @Delegate
    public final ImmutableBiMap<A, B> users; // using BiMap<A, B> works
}

When compiling, I get the following error:
C:\Users\...\mybimap.java:11: error: X is not abstract and does not override abstract method putAll(Map<? extends A,? extends B>) in BiMap
class X implements BiMap<A, B> {

When I add (types = BiMap.class), the error becomes the following:
C:\Users\...\mybimap.java:11: error: X is not abstract and does not override abstract method forcePut(A,B) in BiMap
class X implements BiMap<A, B> {
^
C:\Users\...\mybimap.java:12: error: name clash: put(Object,Object) in X and put(K,V) in BiMap have the same erasure, yet neither overrides the other
    @Delegate(types = BiMap.class)
    ^
  where K,V are type-variables:
    K extends Object declared in interface BiMap
    V extends Object declared in interface BiMap
C:\Users\...\mybimap.java:12: warning: [deprecation] putAll(Map<? extends K,? extends V>) in ImmutableMap has been deprecated
    @Delegate(types = BiMap.class)
    ^
  where K,V are type-variables:
    K extends Object declared in class ImmutableMap
    V extends Object declared in class ImmutableMap

The classes uses are the following:
import com.google.common.collect.BiMap;
import com.google.common.collect.ImmutableBiMap;

It looks to me like some problem with generics and multi-level-inheritance.
Lombok Version: 1.16.20
Java Version: jdk1.8.0_151
Guava Version: 23.3-jre

Might be helpful: When I compile the following file:
            static class X implements Map<A, B> {
                @Delegate(types = Map.class)
                public final Map<A, B> users;
            }

I get the following compile error:
C:\Users\...\xyz.java:64: error: X is not abstract and does not override abstract method remove(Object) in Map
            static class X implements Map<A, B> {
                   ^
C:\Users\...\xyz.java:68: error: remove(Object) in X cannot implement remove(Object) in Map
                @Delegate(types = Map.class)
                ^
  return type Object is not compatible with B
  where V is a type-variable:
    V extends Object declared in interface Map

When I remove (types = Map.class), it works.

+1. Witnessing the same issue.

types = GenericClass.class seems to blow up consistently on the grounds that it falls back to raw (i.e., GenericClass<Object>) and then the overrides fail.


APKTool 2.0.2 - ClassCastException ResStringValue -> ResAttr

We are using a MobileIron Store to distribute our enterprise apps to the employees. We just released a new version and the service team is unable to upload the APK to the Store. I can trace it back to MobileIron decompile the APK (God knows why).
When I try to decompile the apk via command line, it throws the ClassCastException:
$ ./apktool d ~/Desktop/APK-Playground/fancyapp.apk
I: Using Apktool 2.0.2 on fancyapp.apk
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: /Users/ecas/Library/apktool/framework/1.apk
Exception in thread "main" java.lang.ClassCastException: brut.androlib.res.data.value.ResStringValue cannot be cast to brut.androlib.res.data.value.ResAttr
	at brut.androlib.res.decoder.ResAttrDecoder.decode(ResAttrDecoder.java:38)
	at brut.androlib.res.decoder.AXmlResourceParser.getAttributeValue(AXmlResourceParser.java:369)
	at org.xmlpull.v1.wrapper.classic.XmlPullParserDelegate.getAttributeValue(XmlPullParserDelegate.java:69)
	at org.xmlpull.v1.wrapper.classic.StaticXmlSerializerWrapper.writeStartTag(StaticXmlSerializerWrapper.java:267)
	at org.xmlpull.v1.wrapper.classic.StaticXmlSerializerWrapper.event(StaticXmlSerializerWrapper.java:211)
	at brut.androlib.res.decoder.XmlPullStreamDecoder$1.event(XmlPullStreamDecoder.java:83)
	at brut.androlib.res.decoder.XmlPullStreamDecoder.decode(XmlPullStreamDecoder.java:141)
	at brut.androlib.res.decoder.XmlPullStreamDecoder.decodeManifest(XmlPullStreamDecoder.java:153)
	at brut.androlib.res.decoder.ResFileDecoder.decodeManifest(ResFileDecoder.java:140)
	at brut.androlib.res.AndrolibResources.decodeManifestWithResources(AndrolibResources.java:199)
	at brut.androlib.Androlib.decodeManifestWithResources(Androlib.java:140)
	at brut.androlib.ApkDecoder.decode(ApkDecoder.java:100)
	at brut.apktool.Main.cmdDecode(Main.java:165)
	at brut.apktool.Main.main(Main.java:81)

Environment:
s$ java -version
java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)

Android build tools:

compileSDKVersion 23
buildToolsVersion '21.1.2'
minSdkVersion 16
targetSDKVersion 23
minifyEnabled & proguard enabled

Let me know if you need more information.
Regards,
Kris

Can you share this apk?

Hmm, I'm afraid not (NDA and other legal restrictions). I'll try to wiz-up an app which I can share (using the same config, but without the code).

If you can whip up one with the same error, ill take a look

Well, the good news is that the Android app I tried to whip-up doesn't have this problem. I've taken the liberty of downloading the APKTool sources and followed the stacktrace to where the exception is thrown.
I updated the code to:
public class ResAttrDecoder {
    public String decode(int type, int value, String rawValue, int attrResId)
            throws AndrolibException {
        ResScalarValue resValue = mCurrentPackage.getValueFactory().factory(
                type, value, rawValue);

        String decoded = null;
        if (attrResId > 0) {
            try {
                ResTable resTable = getCurrentPackage().getResTable();

                ResResource o = resTable.getResSpec(attrResId).getDefaultResource();

                try {
                    ResAttr attr = (ResAttr) getCurrentPackage().getResTable()
                            .getResSpec(attrResId).getDefaultResource().getValue();

                    decoded = attr.convertToResXmlFormat(resValue);
                } catch (ClassCastException e) {
                    System.out.println("DECODING ---------------------------------------------");
                    System.out.println("ResValue : " + resValue.toString());
                    System.out.println("Fullname: " + resTable.getResSpec(attrResId).getFullName());
                    System.out.println("Trying to decode RawValue: " + rawValue);

                    ResStringValue val = (ResStringValue) o.getValue();

                    System.out.println("ResStringValue: " + val.toString());
                    System.out.println("Value contains : " + val.encodeAsResXmlValue());

                    decoded = val.encodeAsResXmlValue();

                }

            } catch (UndefinedResObject ex) {
                // ignored
            }
        }

        return decoded != null ? decoded : resValue.encodeAsResXmlAttr();
    }
...

And I get this as output:
DECODING ---------------------------------------------
ResValue : ResScalarValue{mType='bool', mRawValue='null'}
Fullname: android:attr/private_resource_pad22
Trying to decode RawValue: null
ResStringValue: ResScalarValue{mType='string', mRawValue='padding'}
Value contains : padding

It also gets this error after parsing the "application" tag of the manifest. Strangely enough, I have no values or attributes defined as "padding", nor the private_resource_pad22.
Could it be related to any of the libraries which are included?
    compile 'com.android.support:support-v4:23.0.1'
    compile 'com.android.support:appcompat-v7:23.0.1'
    compile 'com.android.support:design:23.0.1'
    compile 'com.google.android.gms:play-services:7.8.0'
    compile 'com.google.android.gms:play-services-gcm:7.8.0'
    compile 'com.google.android.gms:play-services-wearable:7.8.0'
    compile 'com.jakewharton:butterknife:6.1.0'
    compile 'com.squareup.okhttp:okhttp:2.4.0'
    compile 'javax.inject:javax.inject:1'
    compile 'javax.annotation:javax.annotation-api:1.2'
    apt 'com.google.dagger:dagger-compiler:2.0'
    compile 'com.google.dagger:dagger:2.0'
    provided 'org.glassfish:javax.annotation:10.0-b28'

Yeah, I see the problem. Attributes should not be decoded as a ResScalarValue. I could probably handle the conversion from ResScalarValue to ResAttr, or catch the ClassCast exception and treat it as the raw ResValue, in which case will decode it via resValue.encodeAsResXmlAttr(), which will call encodeAsXmlValue and thus return the string of the attribute.
What you could do to help is dump the attrResId and then search aapt with the aapt via aapt d --values resources name_of_private.apk | grep 'resource id'. Then remove the values/NDA stuff to let me see what aapt is reporting the value as before I go patching something incorrectly.

Dumped the (int) value, which is 16844011. The grep didn't return any results though (not even for its hex-variant)...
...
                } catch (ClassCastException e) {
                    System.out.println("DECODING ---------------------------------------------");
                    System.out.println("AttrResId: " + attrResId);
                    System.out.println(">>> " + o.getResSpec().getId().toString());
...

Output:
DECODING ---------------------------------------------
AttrResId: 16844011
>>> 0x010104eb

Grep result:
$ ./build-tools/23.0.1/aapt d --values resources ~/private.apk | grep -i 16844011
(no output)
$ ./build-tools/23.0.1/aapt d --values resources ~/private.apk | grep -i 0x010104eb
(no output)

^ Give that commit a shot.

Works like a charm! Thanks :+1:

@kvandermast Has the service team been able to resolve the issue with uploading the to the MobileIron MDM? Our team is experiencing a similar issue at the moment.

@jeetjshah the issue has been escalated to MobileIron, whom recognized the problem and are preparing a patch release to fix the issue. A release date has not been communicated. But tests on the development environment indicated that the problem was fixed with a new version of the tool.

I ran into this issue too. I tried versions of apktool until I got the same error as Mobile Iron (2.0.0-RC4). I finally noticed that I was failing on the same resource identifier as noted above. Googling this value got a hit on the android:fullBackupContent attribute that I had defined in the application element in AndroidManifest.xml (see http://developer.android.com/reference/android/R.attr.html). Removing that value from the manifest allows apktool 2.0.0RC4 to work and I can load it into Mobile Iron.

A lot of bugs are happening related to casting types. The problem stems from styles.xml becoming a more robust file with support for booleans/references/parents/ids/strings/etc. These all have to be mapped in a format that we can write back out to the user.
The current fixes of simply identifying types and reacting is hacky but will work in short term. The issue this was reported for is fixed. If there are other apks that experience ClassCastExceptions from either Strings or Styles then open another bug with the apk referencing this one.


Make cache usage optional (Server Side Config)

Make redis usage optional

Doesn't make sense because of the architecture once it makes sense could be reconsidered