Can not update array field(jsonb based).

Describe the bug
Cannot update an array field(jsonb based).
To Reproduce
Steps to reproduce the behavior:

Request to endpoint '...'

xh PATCH --raw '{"filedA": ["a","b"]}' :6000/demo/public/movies id==27PNJ0q50AkPvNTaT8YXmhVvrNp

See error

{
    "error": "pq: invalid input syntax for type json"
}

Expected behavior
fieldA should be updated with value ["a", "b"]
The fieldA can be updated by program wrote by golang
Desktop (please complete the following information):

pREST version (or commit ref): 1.0.14
pREST endpoint: localhost:6000
PostgreSQL version:  12+214ubuntu0.1
OS: [e.g. Debian Tid]:  Ubuntu 20.04.3 LTS
Go version: 1.17.5
Log gist:

Additional context
Add any other context about the problem here.

I'm going to replicate this issue, coming back with answers later today!


Location no needed

The location parameter is not needed.
"location": {
"value": "Central US"
},

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

ID: a15d4244-810e-0b94-0ac2-0544402bc733
Version Independent ID: ccbaedf9-e1af-51c7-2ef1-aa7455291cf0
Content: Create a virtual network | Microsoft Docs
Content Source: articles/virtual-network/virtual-networks-create-vnet-arm-template-click.md
Service: virtual-network
GitHub Login: @jimdial
Microsoft Alias: jdial

@gfk76 good catch!
I took a look at the links to the GitHub repro that are referenced and it seems the scripts located there are up to date. So we just need to update the script that is shown on this doc. As a side note, adding the location parameter does not impact anything negatively. Even if you set the location as something other than where you created the RG. The reason you do not need the location parameter is because you are creating the Vnet in a Resource Group that is already associated to a location. So it simply deploys it there.
I will get the doc fixed and the changes merged.
Thanks again!


V6 update to Linux proxy Nginx /1

Fixes #24090
Internal review URL

@serpent5  the PU owns this article. I just updated startup calls.


Version 2.0.0 Release

@JuliaRegistrator register()

Registration pull request created: JuliaRegistries/General/862
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if Julia TagBot is installed, or can be done manually through the github interface, or via:
git tag -a v2.0.0 -m "<description of version>" 425751c37d06cf4c4c984ebe08b0de2b4cc76b5e
git push origin v2.0.0

@JuliaRegistrator register()

Registration pull request updated: JuliaRegistries/General/862
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if Julia TagBot is installed, or can be done manually through the github interface, or via:
git tag -a v2.0.0 -m "<description of version>" 9176388f103be51c9d9651f3b1df38b8172adcc7
git push origin v2.0.0


Perper Fabric: Implement support for KEDA external scaler

Expose required metrics for KEDA external scaler using GRPC in the transport service.

Was implemented in 2ddac590754c6e08e1d0e5bd75de9a6b73e62ec7 (and subsequently reimplemented a few times); closing.
Hasn't been tested though, so open a new issue if it doesn't work.


allow for upgrading deps in libsasl2-dev

Resolves: #21
Allow for upgrading dependencies.
The following packages will be upgraded: libsasl2-2 libsasl2-modules-db 2 upgraded, 1 newly installed, 0 to remove and 14 not upgraded. Need to get 456 kB of archives. After this operation, 925 kB of additional disk space will be used. Do you want to continue? [Y/n] Abort.

Can this also be re-released in v1.0.0?

I don't see why not.
A bit more background:
I spent a few minutes trying to see why we needed the libsasl2-dev. Removing the line results in an error. I am wondering if the solve came from this: # https://stackoverflow.com/questions/56489802/unable-to-install-sasl-using-pip-due-to-gcc-errors
Attempt #1: Remove dependency on a dev package.
It seemed that the issue is a result of the of using a dev version of the library whose underlying deps changed. I wasn't able to get this to run using libsasl2-2 alone.
Attempt #2: Specify the upgrades.
I thought better to me to be explicit in specifying which libraries specifically needed to be upgraded in the RUN command rather than just adding the -y option, but started falling down a hole of nested upgrade reqs.

Hi folks,
Many thanks for raising this issue and for providing the fix! I have to admit that I don't recall how I figured out some of the dependencies in the first place. The fix looks good in my testing too so will merge the PR.


long running transactions - eos testNet Build version: 6ec8cffc

I ran:
./eosc push message currency transfer '{"from":"currency","to":"inita","quantity":2560}' --scope currency,inita --permission currency@active
./eosc push message currency transfer '{"from":"currency","to":"inita","quantity":2576}' --scope currency,inita --permission currency@active
./eosc push message currency transfer '{"from":"currency","to":"inita","quantity":201}' --scope currency,inita --permission currency@active
./eosc push message currency transfer '{"from":"currency","to":"inita","quantity":2456}' --scope currency,inita --permission currency@active
./eosc push message currency transfer '{"from":"currency","to":"inita","quantity":2563}' --scope currency,inita --permission currency@active
./eosc push message currency transfer '{"from":"currency","to":"inita","quantity":2504}' --scope currency,inita --permission currency@active
./eosc push message currency transfer '{"from":"currency","to":"inita","quantity":345}' --scope currency,inita --permission currency@active
./eosc push message currency transfer '{"from":"currency","to":"inita","quantity":2145}' --scope currency,inita --permission currency@active
./eosc push message currency transfer '{"from":"currency","to":"inita","quantity":2562}' --scope currency,inita --permission currency@active
Some of the transactions gave the following:
3537082ms            chain_controller.cpp:1035     validate_block_heade ] head_block_time 2017-12-10T05:58:54, next_block 2017-12-10T05:58:57, block_interval 1
3537102ms            chain_controller.cpp:1037     validate_block_heade ] Did not produce block within block_interval 1, took 3000ms)
3537103ms            chain_controller.cpp:208      _push_block          ] inith #21849 @2017-12-10T05:58:57  | 0 trx, 0 pending, exectime_ms=21
3537103ms            producer_plugin.cpp:246       block_production_loo ] inith generated block #21849 @ 2017-12-10T05:58:57 with 0 trxs  0 pending
3537981ms            wasm_interface.cpp:125        checktime            ] checktime called 247181
3538628ms            chain_controller.cpp:1035     validate_block_heade ] head_block_time 2017-12-10T05:58:57, next_block 2017-12-10T05:58:59, block_interval 1
3538628ms            chain_controller.cpp:1037     validate_block_heade ] Did not produce block within block_interval 1, took 2000ms)

how to change the block_interval mare then 500ms?

No longer relevant.


Skipping package 'Microsoft.AspNetCore.App' with no version specified in file '....csproj'.

🐛 Bug Report
Having the following variant of a <PackageReference> where the version is mentioned in a sub-element:
    <PackageReference Include="Roslynator.Analyzers">
      <Version>2.2.0</Version>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
      <PrivateAssets>all</PrivateAssets>
    </PackageReference>

NuKeeper outputs
Skipping package 'Roslynator.Analyzers' with no version specified in file 'D:\a\1\s\Directory.Build.props'.
Expected behavior
Sub-elements of a package reference containing the version should be taken into account as well.
Reproduction steps
Configuration
Version: 0.25.0
Platform if applicable:

[x] :hammer_and_wrench: NuKeeper CLI
[ ] :sparkles: GitHub
[x] :robot: AzureDevops
[ ] :checkered_flag: Bitbucket
[ ] :earth_americas: Gitlab
[ ] :tv: Gitea
[ ] :whale: Docker

Still having this issue, just seen it today with NuKeeper version 0.27.1:
Directory.Build.props:
<Project>
  <!-- Condition in place to circumvent NuGet restore error, see https://github.com/NuGet/Home/issues/8004. -->
  <ItemGroup Condition="'$(MSBuildProjectExtension)' != '.deployproj'">
    <PackageReference Include="Roslynator.Analyzers">
      <Version>2.3.0</Version>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
      <PrivateAssets>all</PrivateAssets>
    </PackageReference>
    <PackageReference Include="StyleCop.Analyzers">
      <Version>1.1.118</Version>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
      <PrivateAssets>all</PrivateAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers">
      <Version>2.9.8</Version>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
      <PrivateAssets>all</PrivateAssets>
    </PackageReference>
  </ItemGroup>
</Project>

Log from NuKeeper run:
Skipping package 'Roslynator.Analyzers' with no version specified in file 'D:\a\1\s\Directory.Build.props'.
Skipping package 'StyleCop.Analyzers' with no version specified in file 'D:\a\1\s\Directory.Build.props'.
Skipping package 'Microsoft.CodeAnalysis.FxCopAnalyzers' with no version specified in file 'D:\a\1\s\Directory.Build.props'.


Add rule to model to avoid conditional branch on loop header that does not target a merge or continue

This spirv-val PR relates to this rule in the spec:

Selections must be structured. That is, an OpSelectionMerge instruction is required to precede:
an OpSwitch instruction
an OpBranchConditional instruction that has different True Label and False Label operands where neither are declared merge blocks or Continue Targets.

It appears that we do not have a corresponding rule for this.
I think we need a rule to require the following:

If B is a loop header and B has two successors then at least one of the successors must be the loop merge block or the loop continue target

Another way of stating this:

If B is a loop header and B has successors C and D then at least one of the following must hold:

C is the merge block for the loop
C is the continue target for the loop
D is the merge block for the loop
D is the continue target for the loop

@vili-1 would you be able to look into adding this, and check that it doesn't lead to any good examples being rejected?

@afd I modelled this (and the test case is rejected now of course). I laso checked again most of the CFGs extracted from VK-GL-CTS and no surprises.

Great - once we're fully confident that we want this new rule, can you commit it to the model and close this issue? Thanks.


Windows installation instructions are out of date - "CreateAndShow" no longer in flutter scaffolding

The current documentation for installing into a Windows project describes modifying code in the default scaffolded Flutter C++ function "CreateAndShow".
This method no longer exists in the OOB scaffolding - it has been renamed to simply "Create".

#67 merged


\Doctrine\ORM\Query\Expr\Base::count() doesn't handle dynamic arguments

I have been appreciating the recent PHPStan Doctrine query builder improvements. Thank you!
I found an issue with using count() for or and and expressions when arguments are added conditionally:
$or = $qb->expr()->orX();

\PHPStan\dumpType($or->count()); // Dumped type: 0

$or->add('a.foo = 1');

\PHPStan\dumpType($or->count()); // Dumped type: 1

if (rand(0, 1)) {
    $or->add('a.bar = 2');
}

\PHPStan\dumpType($or->count()); // Dumped type: 2 (but should be int<1,2>)

It turns out that if ($or->count()) { $qb->andWhere($or); } can be replaced with $qb->andWhere($or) because the empty expression with be reduced, but using $or->count() to return null instead of executing a query causes this PHPStan error.

/cc @janedbal Most likely issue in isSuperTypeOf somewhere.

Question is if we should try to be that precise in count method, because this:
$or = new Orx();

$this->maybeFillOrCondition($or),

if ($or->count() > 0) {

}

results in
Comparison operation ">" between 0 and 0 is always false.
I'm not sure if this is even solvable, so I'd rather return only int.

Yeah, that would be fine by me too.

This should be solved since 1.3.52

Thank you! And thank you @janedbal for your enhancements to this repo.


data-drag doesn't to work after page load

When I set the data-drag attribute before page load it stops the div from being dragged.
If I dynamically add this attribute with a directive I can still drag the div.
Is this behaviour intended?
What I was hoping would happen is the directive could toggle if a div is draggable or not.

Do you have a demo to share? What do you mean by "set the data-drag before page loads"

We can use your demo as an example:
http://codef0rmer.github.io/angular-dragdrop/#/ctrl
If you inspect one of the draggable elements and change the data-drag attribute to false I can still move the div.  According to your docs if the data-drag attribute is false then it should not be draggable.
What I am looking for is to be able to change this data-drag attribute dynamically and have the draggable div respond accordingly.

I see. So that's not how it works. Even if you change the attribute to false from DevTools, Angular is unaware of the change. You have to use a model for data-drag as shown in the demo above. I would recommend to refer the code of the same demo.

ok even using a model it doesn't work.  If you look at the above demo and change the letters to gollum the drag updates to false but you can still drag the letters.

That's because you've to update drag property to true against each of those items. Notice this dropCallback which checks if the arrange word is GOLLUM before disabling the drag behavior.
https://github.com/codef0rmer/angular-dragdrop/blob/master/demo/dnd-ctrl-as-syntax.html#L58


Changing APIServer endpoint

Description
I have a k8s cluster bootstrapped with kubeone. I used a loadbalancer for the control plane node and passed the endpoint of this LB to the kubeone config (the endpoint is replaced with a random url below)
apiEndpoint:
  host: 'subdomain1.domain.xyz'
  port: 6443

Now i decide to shift my lb to a new sub-domain and re run the kubeone apply command with updated apiEndpoint
apiEndpoint:
  host: 'subdomain2.domain.xyz'
  port: 6443

But the kubeone still tries to access the older endpoint and fails
INFO[16:16:30 IST] Building Kubernetes clientset...
WARN[16:16:31 IST] Task failed, error was: unable to build dynamic client: Get "https://subdomain1.domain.xyz:6443/api?timeout=32s": ssh: rejected: connect failed (Name or service not known)

@jaskeerat789 unfortunately changing apiEndpoint is not supported

@jaskeerat789 unfortunately changing apiEndpoint is not supported

Is there a workaround that may or may not involve kubeone?


187-Created common opendata conn class and implemented crime download

This should also set the base for https://github.com/codefordc/housing-insights/issues/274, impacts https://github.com/codefordc/housing-insights/issues/198, https://github.com/codefordc/housing-insights/issues/194,  and other issues for data from opendata.
Sample usage -
python get_api_data.py opendata get_crime --output ../../data/raw/crime/2017.csv --params "year:2017"

Please note csv files from opendata come with BOM, so we might still need to test with any cleanup logic that was written.

I merged this code into a master 'combined-api-prs' branch with the other related branches and made a new pull request for the merged branch.
RE BOM - the current code should now be ready to handle that thanks to Meg and #242!


No Node Configuration when deploying VM.

Using the info in the section "Example using referenced Azure Automation registration values"
"settings": {
"RegistrationUrl" : ""
"NodeConfigurationName":""
From the above, the DSC-extension was installed on the VM but it wasn't registered to Node Configuration, but when I'm add the below, it works:
"settings": {
"configurationArguments": {
"RegistrationUrl" : ""
"NodeConfigurationName" : ""
I think it's misleading and hope you can update the picture from the section mentioned above.

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

ID: a4ebf9bf-fb61-e694-1711-4fa00fc8a875
Version Independent ID: c0b1ab45-6775-b84b-09fa-c77709bbb5d0
Content: Desired State Configuration extension with Azure Resource Manager templates
Content Source: articles/virtual-machines/extensions/dsc-template.md
Service: virtual-machines-windows
GitHub Login: @bobbytreed
Microsoft Alias: robreed

Thanks for the feedback! We are currently investigating and will update you shortly.

@emilkontract good point. I will assign to the content author to review.

@mgreenegit

Hi @emilkontract, can you provide additional details?  I'm not able to reproduce the same condition when I exclude the arguments property.

Hi @emilkontract, can you provide additional details? I'm not able to reproduce the same condition when I exclude the arguments property.

So if you only use this code:
"settings": {
"RegistrationUrl" : ""
"NodeConfigurationName":""
this works for you?
I had to add "configurationArguments" in order to get the code to work.

In fact here is build output:
https://travis-ci.org/Azure/azure-quickstart-templates/builds/498947910?utm_source=github_status&utm_medium=notification
For this PR that contains extension with VMSS:
https://github.com/Azure/azure-quickstart-templates/blob/834702ab26a232258c642c3596771d75f3a79e3b/201-vmss-automation-dsc/nested/provisionServer.json#L95
Which can also be implemented for VM:
https://github.com/Azure/azure-quickstart-templates/blob/master/101-automation-configuration/nested/provisionServer.json#L91

In fact here is build output:
https://travis-ci.org/Azure/azure-quickstart-templates/builds/498947910?utm_source=github_status&utm_medium=notification
For this PR that contains extension with VMSS:
https://github.com/Azure/azure-quickstart-templates/blob/834702ab26a232258c642c3596771d75f3a79e3b/201-vmss-automation-dsc/nested/provisionServer.json#L95
Which can also be implemented for VM:
https://github.com/Azure/azure-quickstart-templates/blob/master/101-automation-configuration/nested/provisionServer.json#L91

Okey, here's my code:
  "type": "Microsoft.Compute/virtualMachines/extensions",
  "name": "[concat(parameters('vmName'),'/Microsoft.Powershell.DSC')]",
  "apiVersion": "2018-06-01",
  "location": "[parameters('Location')]",
  "dependsOn": [
      "[concat('Microsoft.Compute/virtualMachines/', parameters('vmName'))]"
  ],
  "properties": {
      "publisher": "Microsoft.Powershell",
      "type": "DSC",
      "typeHandlerVersion": "2.77",
      "autoUpgradeMinorVersion": true,
      "settings": {
        "configurationArguments": {
        "RegistrationUrl" : "[reference(resourceId(parameters('automationAccountNameRG'),'Microsoft.Automation/automationAccounts/', parameters('automationAccountName')), '2018-06-30').registrationUrl]",
        "NodeConfigurationName" : "[parameters('NodeConfigName')]",
        "ConfigurationMode": "[parameters('configurationMode')]",
        "RefreshFrequencyMins": "[parameters('refreshFrequencyMins')]",
        "ConfigurationModeFrequencyMins": "[parameters('configurationModeFrequencyMins')]",
        "RebootNodeIfNeeded": "[parameters('rebootNodeIfNeeded')]",
        "ActionAfterReboot": "[parameters('actionAfterReboot')]",
        "AllowModuleOverwrite": "[parameters('AllowModuleOverwrite')]"
        }
      },
    "protectedSettings": {
        **"configurationArguments":** {
            "RegistrationKey": {
                "userName": "NOT_USED",
                "Password": "[listKeys(resourceId(parameters('automationAccountNameRG'),'Microsoft.Automation/automationAccounts/', parameters('automationAccountName')), '2018-06-30').Keys[0].value]"
            }
        }
    }
  }

Maybe there's some other mistake in the code but if I'm not using the "configurationArguments" in the code above it fails. Should this work without "configurationArguments"?

@avkaur I tried reproducing this.  I this is an artifact of the schema update that happened in 2018, and the example above is combining the new and old property names.  Is that correct?
@emilkontract you should be able to move the properties up from configuration arguments to settings.   I believe configuration arguments is only there for compatibility with older templates.  Avneet can confirm if there is an additional change needed though.

Okey, the code works with the config arguments, so it's not an ongoing issue, but I'll try to move it up to settings and see what happens.
Thanks!

@emilkontract yes the sample script, as Michael has pointed out was the combination of 2 schema's. if you can move the key value pairs to configuration arguments it should work fine.

#reassign: @MicahMcKittrick-MSFT

#please-close


openSUSE -> openSUSE Linux

The website doesn't use openSUSE Linux. Neither does distrowatch, or Wikipedia.
Any specific reason why you think Linux suffix works here? I've always heard it referred as openSUSE.

I agree @captn3m0, closing this PR.
I think this is for being able to list all Linux distributions (similar to #2036, do you confirm @adriens ?). I opened #2225 in order to resolve this issue.

:+1:

:+1:


Wrong Sample?

Regarding the sample:

Visual Studio 2022 version 17.1.0 update classified as a "Feature Pack" will apply to Visual Studio 2022 editions licensed for enterprise use on the client that is on the Current channel, and it will update it to the 17.1.0 version.

Shouldn't it also update the LTSC channel 17.0?

Visual Studio 2022 version 17.1.0 update classified as a "Feature Pack" will apply to Visual Studio 2022 editions licensed for enterprise use on the client that is on either the Current channel or the 17.0 LTSC channel, and it will update it to the 17.1.0 version.

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

ID: b6ec9e8a-02c6-b17a-ed66-391c4df991ce
Version Independent ID: 1bacfcf8-6e2a-940d-93e5-97e2be9bd2b8
Content: Applying administrator updates to Visual Studio with Microsoft Endpoint Configuration Manager
Content Source: docs/install/applying-administrator-updates.md
Product: visual-studio-windows
Technology: vs-installation
GitHub Login: @anandmeg
Microsoft Alias: meghaanand

@ChristianHaefner, thanks for your question.
The 17.0 LTSC channel will only have 17.0.x versions (until we have the 17.2 LTSC channel in Spring 2022, see LTSC support). The 17.1 version will not go on the 17.0 LTSC channel.  It only applies to the current channel.
The LTSC are separate release Channels based on the even-numbered minor version updates, for example, 17.0 and 17.2.
For more information on Preview Channel, see Visual Studio Channels and Release Rhythm.
Let us know if you have any other questions. Thanks!

@anandmeg Thanks for clarification. With your explanation, it will generally not be possible to switch from a LTSC channel to the Current Channel with a Feature Pack Update as it is the case when updating from 17.0 to 17.1. Is this really intended?


Tammy would like to be able to use the updated usability features for the FS Cloud automation

[x] merge to main on ibmcloud-reference-architectures
[ ] publish to private repo on github.com

Latest has been pushed to https://github.ibm.com/gsi-labs/ibmcloud-reference-architectures


Switch to 3-clause BSD

NB. This may be complicated by the inclusion of code from HDF (e.g. convert_float_ibm_to_ieee32.c).

we should check, but I believe that:
https://github.com/SciTools/libmo_unpack/blob/master/src/convert_float_ibm_to_ieee32.c
NCSA HDF Version 3.10 source code and documentation are in the public
* domain.  Specifically, we give to the public domain all rights for future
* licensing of the source code, all resale rights, and all publishing rights.
*
* We ask, but do not require, that the following message be included in all
* derived works:
...

enables us to relicense and include their message in the header at will

CLosed by #15


Add a static string type

Haven't done the research on existing art here but the idea is to support an std::string like interface but backed by fixed buffers and without the ability to allocate new memory.

I have an implementation of this that I could donate if there is interest. I am unlikely to be able to integrate it myself, but at least it's a starting point. On the other hand, there is nothing particularly complex in this class, so the value of my donation would probably be low either way. At least there are tests, though.

There: Archive.tar.gz


[5.5][Sema] Properly handle generics in enum Codable synthesis

Explanation: Type was not properly mapped into the function context, leading to type errors when using generics.
Scope: Codable synthesis for enums
Reviewer: @ktoso
Issue: rdar://79916494
Risk: Small
Testing: added regression test
Original PR: N/A

@swift-ci test


In your example, you're not using the count from your state. Therefore, the hardcoded value is never changed when you request more data.

Hello friend, greetings from Venezuela. I have the same problem, the paging buttons are not enabled and from my Back-end I am getting the data (count, data, page) well. Can I show you my code to see if you can help me?

ref : https://github.com/gregnb/mui-datatables/blob/master/examples/serverside-pagination/index.js


Restore data-clist, brick, viewprof, herms, hledger-iadd & hledger-ui

Checklist:

[x] Meaningful commit message - please not Update build-constraints.yml

[x] At least 30 minutes have passed since Hackage upload

[ ] On your own machine, in a new directory, you have successfully run the following set of commands (replace $package with the name of the package that is submitted, $version is the version of the package you want to get into Stackage):
stack unpack $package
cd $package-$version
stack init --resolver nightly
stack build --resolver nightly --haddock --test --bench --no-run-benchmarks

FYI, hledger-iadd has been unblocked, however hledger-ui is still blocked via fsnotify's dependency on hinotify, which has a restrictive upper bound on async (i.e. async < 2.2, which should be lifted to allow async-2.2.1).


properties with @ in their names are not selectable

JSON properties which @ in their names are not selectable via the --select property.
Example
Create a new device with a custom property name with the @ sign in its property.
c8y devices create --template "{name: 'example001','value@hash':'abcdef'}"

However trying to select the component does not return the property value:
c8y devices list --query 'has(value@hash)' --select 'value@hash' | jq

Output
{}

Workaround
In the meantime you can use jq to do the property selection:
c8y devices list --query 'has(value@hash)' | jq '."value@hash"'

"abcdef"

It will be fixed in v2.39.1


Set regex pattern on array

Addressing issue #4049 where pattern is not picked up for List<String>
Added tested to verify

Thanks!


Output silent

Running using the latest stable version of Node on Mac OS X Mojave. I'm routing my audio with Soundflower. I can record my soundcard output with Quicktime with no problem using this routing configuration. Any output from the module whether sourced from mic or Soundflower outputs an empty raw file with no sound.

I've run into the same issue. Is there a way to resolve it yet?


Only remove chartist svg on createSvg

This is a slightly different take on #142
@gionkunz I tried the approach you mentioned with container.__chartist__.svg but couldn't get it to work. When I was running tests for Chartist.createSvg, container.__chartist__ was undefined.
What this does is append the className that is passed to createSvg to the querySelector for locating the svg element. That way the container may contain other svg elements as direct child or children of other nodes.
I added a test for this which required I create a new spec; spec-core. I added jQuery to the Jasmine config to make creating and finding DOM elements easier in the specs.
I noticed that jasmine-fixture is included in the dependencies, but I could not figure out how to include it in the test runner.

I'm testing this fix out on a project I'm working on with ember-cli-chartist: https://github.com/tylergaw/ember-cli-chartist/releases/tag/v0.2.3-beta1 I just included a build of chartist.js from my fork.
So far it's functioning well. Will keep kicking it around to see if there are any issues.

@tylergaw , thanks for your contribution! This is awesome! Specially that you've included specs :+1:
I'm still not 100% sure about this as it seems like a hack to use the CSS class of the SVG in the query selector. Consider that the current function call should remove the SVG of a previous call, that could theoretically be called with a different class name.
I'll pull your fork into a branch in my repo and we can work together from there to test this further.

I've created a new pull request here: https://github.com/gionkunz/chartist-js/pull/147
Can you take a look and also test your use cases?
Cheers
Gion


[BUG] Single Machine Deployment Defaults to external DNS Servers

Issue
In a single-machine deployment scenario (not evaluated in a Scalable Cluster environment), there's an issue where the DNS name server defaults to <IP_ADDRESS> and <IP_ADDRESS> when no DNS server are configured.
Expected Behavior
AKS EE Linux node should utilize the DNS servers configured in the Windows Host OS, rather than defaulting to external DNS servers when no DNS server is provided in the configuration .  Update: this happens when the  Network.InternetDisabled is set to true,  when is set to false it uses the Windows Host OS DNS server
Documentation Reference
The current documentation suggests that the AKS EE Linux node will use the Windows Host OS DNS servers. However, this behavior is not observed in practice in the single-machine deployment setup.

By default, during AKS Edge Essentials deployment, you can provide the DNS servers list using the DnsServers parameter. If no address is provided, the deployment mechanism looks for the Windows host OS DNS servers (check using ipconfing /all) and uses those server addresses.

Source:  https://learn.microsoft.com/en-us/azure/aks/hybrid/aks-edge-concept-networking#dns
When no Network.DnsServers setting is is provided the system defaults to <IP_ADDRESS> and <IP_ADDRESS> and the following output is shown when we perform a resolverctl status in the linux vm:
PS C:\> Invoke-AksEdgeNodeCommand -command 'resolvectl status'
Global
           Protocols: -LLMNR +mDNS -DNSOverTLS DNSSEC=no/unsupported
    resolv.conf mode: stub
  Current DNS Server: <IP_ADDRESS>#cloudflare-dns.com
Fallback DNS Servers: <IP_ADDRESS>#cloudflare-dns.com <IP_ADDRESS>#dns.google
                      <IP_ADDRESS>#cloudflare-dns.com <IP_ADDRESS>#dns.google
                      2606:4700:4700::1111#cloudflare-dns.com
                      2001:4860:4860::8888#dns.google
                      2606:4700:4700::1001#cloudflare-dns.com
                      2001:4860:4860::8844#dns.google

Link 2 (eth0)
Current Scopes: none
     Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported

Addional information
When we configure a the Network.DnsServers setting in the config the DNS resolution works as expected,:
  "Network": {
	"DnsServers": ["<IP_ADDRESS>"],
    "InternetDisabled": true,
    "NetworkPlugin": "flannel",
    ....

We see that erth0 is connfigured with the DNS server (as expected) .
PS C:\> Invoke-AksEdgeNodeCommand -command 'resolvectl status'
Global
           Protocols: -LLMNR +mDNS -DNSOverTLS DNSSEC=no/unsupported
    resolv.conf mode: stub
Fallback DNS Servers: <IP_ADDRESS>#cloudflare-dns.com <IP_ADDRESS>#dns.google
                      <IP_ADDRESS>#cloudflare-dns.com <IP_ADDRESS>#dns.google
                      2606:4700:4700::1111#cloudflare-dns.com
                      2001:4860:4860::8888#dns.google
                      2606:4700:4700::1001#cloudflare-dns.com
                      2001:4860:4860::8844#dns.google

Link 2 (eth0)
    Current Scopes: DNS
         Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: <IP_ADDRESS>
       DNS Servers: <IP_ADDRESS>

@SummerSmith - feels like a minor and reasonable change, let's discuss internally.  @abhilashaagarwala, FYI as you're working on networking :)


Add cursor capture functionality

Closes #1014
The API is separate from the cursor visibility function for backwards compatibility. Combining the APIs into one function (SetCursorMode, or something similar) may be more elegant.

The cursor visibility API is not deprecated in favor of a cursor mode API.
We'll probably going to want to update the examples if some are using the cursor visibility functions.

I made another revision and pushed, but it's not showing up here. Weird

I made another revision and pushed, but it's not showing up here. Weird

You mean https://github.com/neuronpool/ebiten/commit/786adfc98b0ef805a15673204c588e57ffbbb4be ? Weird. Let's wait and see...

I made another revision and pushed, but it's not showing up here. Weird

You mean neuronpool@786adfc ? Weird. Let's wait and see...

It still isn't appearing. Maybe you need to apply a review first before the new commit shows?

What about adding an empty commit? I'll squash commits before merging anyway

What about adding an empty commit? I'll squash commits before merging anyway

That seems to have worked ._.


After merging pull request incorrect commit count  displayed

Gitea version (or commit ref): 1.3.0
Git version: 2.1
Operating system: Windows 7
Database (use [x]):

[ ] PostgreSQL
[ ] MySQL
[ ] MSSQL
[X] SQLite

Can you reproduce the bug at https://try.gitea.io:

[X] Yes ( https://try.gitea.io/m0xf/commit-count/commits/branch/master )
[ ] No
[ ] Not relevant

Log gist:

Description
After merging pull request incorrect commit count displayed.
Screenshots

I confirmed this issue is only for master not in v1.3

@m0xf The count is now correct; have you changed anything since opening this issue?

Maybe related with commit count cache? @lafriks

I will check if caching could reason for this

@ethantkoenig No.


Do not convert reference to uppercase in seq_to_randstrobes2

This should not be necessary because the seq_nt4_table array takes care of both upper and lowercase characters. This allows us to mark the ref parameter as const.
Fix me: This actually changes the output! The reported insert sizes in the SAM file are different. Very weird.

I’ve now verified that the index is identical even if I remove the conversion to uppercase. So I guess the changed mapping qualities are due to a lowercase reference used during local alignment.
I’ve changed the PR now in such a way that uppercase conversion still takes place, but is done before calling seq_to_randstrobes2 (and before calling seq_to_randstrobes2_read). That way, the seq parameter can still be marked as const, which is what I wanted in the first place.

oh I see. I guess it would make sense to convert it to uppercase as soon as it is read in from file then?


Confusion with the streaming example in section 13.1 of IDL v2

Link. Example as of writing:
operation StreamingOperation {
    input: StreamingOperationInput
    output: StreamingOperationOutput
}

@input
structure StreamingOperationInput {}

@output
structure StreamingOperationOutput {
    @required
    streamId: String
    output: StreamingBlob
}

@streaming
blob StreamingBlob

I'm confused because:

Smithy IDL v2 introduces a change where members targeting streaming blobs now MUST have @default or @required. However, output in the example above does not have any of the two traits attached.
In IDL v1 there is a restriction on the streaming trait that says:

If a service supports a protocol that supports the httpPayload trait, any member that targets a streaming blob must also be marked as @httpPayload.

However, this restriction does not appear in IDL v2. Is that intentional? The Smithy library is still enforcing it for IDL v2 models:

= Member com.amazonaws.simple#AnOperationInput$streamingBlob referencing @streaming shape com.amazonaws.simple#StreamingBlob must have the @httpPayload trait, as service com.amazonaws.simple#SimpleService has a protocol that supports @httpPayload.

The example is confusing because you can't send both a string (streamId) and a streaming blob (output) in the same HTTP message body (?). I acknowledge that in another application-level protocol sending both pieces of data might be possible (which one?), but if you want to keep the example as-is, I think it would be better to call out immediately below it that it's not realizable in HTTP.

However, output in the example above does not have any of the two traits attached.
Looks like an accidental omission.

[...] However, this restriction does not appear in IDL v2. Is that intentional?
The same limitation applies, and is documented here: https://awslabs.github.io/smithy/2.0/spec/http-bindings.html#event-streams. We should make it more clear this applies to event streams and string/blob streams too.

The example is confusing because you can't send both a string (streamId) and a streaming blob (output) in the same HTTP message body (?). I acknowledge that in another application-level protocol sending both pieces of data might be possible (which one?), but if you want to keep the example as-is, I think it would be better to call out immediately below it that it's not realizable in HTTP.

RPC protocols like AWS JSON can work with this example.

RPC protocols like AWS JSON can work with this example.

How? What does an HTTP body message look like in AWS JSON 1.x for that example?

I'm updating the docs to address 1 and 2.

How? What does an HTTP body message look like in AWS JSON 1.x for that example?

RPC protocols use an initial event that's sent as an actual event. We don't have docs for this yet. We can track this in https://github.com/awslabs/smithy/issues/1287

But isn't #1287 for event streams? This is for a @streaming blob shape.

Oh! You're right. I completely glossed over that this targeted a blob. The example is theoretically fine as is, but doesn't work with any existing protocols, so I'll change it.

The example was changed in https://github.com/awslabs/smithy/pull/1458 to:
@http(method: "GET", uri: "/streaming-operation")
operation StreamingOperation {
    input := {}
    output := {
        @required
        streamId: String

        @httpPayload
        output: StreamingBlob = ""
    }
}

@streaming
blob StreamingBlob

This is still invalid because the member targeting the streaming blob is not marked with @required or @default.
Moreover, the example is still confusing because it's irrealizable in any of the supported protocols: we can't send both a streaming blob and a string in the output payload.


Last welcome page drop-outs many users

This is maybe related to the confusing end.

As #247 killed this page, I will close this issue. For the future we should still improve the navigation in general (e.g. vertical menu?), but there's already an issue for that ;-)


Issues after migrating from old vcenter-netbox-sync: 'dict' object has no attribute 'get_display_name'

Hello,
Attempting to migrate from synackray/vcenter-netbox-sync to this version, while also upgrading from the last working version with synackray's version (2.8.9) to 2.10.4, I have encountered some issues and would like some guidance. I have followed the upgrade procedure as documented in the netbox repository, and netbox works perfectly on the new version.
The database is already populated with a few hundred virtual machines, ip-adresses, VLANs etc. and I was hoping that since this project is based on synackray's version they would somehow (almost) work.
The error I am getting when running the sync with this new sync tool is (VM names and IP-adresses has been changed):
2021-02-17 10:58:39,398 - ERROR: Unable to determine second key 'virtual_machine' for virtual machine interface 'vm01', got: None
2021-02-17 10:58:39,398 - ERROR: This could cause serious errors and lead to wrongly assigned object relations!!!
2021-02-17 10:58:39,398 - WARNING: Current interface 'vNIC0 (vm01 (None))' for IP '<IP_ADDRESS>/27' and this one 'vNIC 1 (vm02) (vm02)' are both enabled. IP assignment skipped because it is unclear which one is the correct one!
Traceback (most recent call last):
  File "netbox-sync.py", line 143, in <module>
    main()
  File "netbox-sync.py", line 119, in main
    source.apply()
  File "/opt/netbox-sync/module/sources/vmware/connection.py", line 372, in apply
    view_details.get("view_handler")(obj)
  File "/opt/netbox-sync/module/sources/vmware/connection.py", line 2170, in add_virtual_machine
    nic_ips=nic_ips, p_ipv4=vm_primary_ip4, p_ipv6=vm_primary_ip6)
  File "/opt/netbox-sync/module/sources/vmware/connection.py", line 958, in add_device_vm_to_inventory
    device_vm_object = self.get_object_based_on_macs(object_type, nic_macs)
  File "/opt/netbox-sync/module/sources/vmware/connection.py", line 512, in get_object_based_on_macs
    matching_object.get_display_name(including_second_key=True)))
AttributeError: 'dict' object has no attribute 'get_display_name'

I am guessing that there are something in the old database that the new tool does not like, but this crashes and is not handled (the script stops completely).
Any suggestions would be appriciated, thank you.

Oh, thisnis not meant to happen. I will check tomorrow what the issue is here.

It looks like some relations could net be resolved.
I added another check which hopefully fixes the issue.
can you try it again?

Hello,
Seems like it is still an issue.
  File "netbox-sync.py", line 143, in <module>
    main()
  File "netbox-sync.py", line 119, in main
    source.apply()
  File "/opt/netbox-sync/module/sources/vmware/connection.py", line 372, in apply
    view_details.get("view_handler")(obj)
  File "/opt/netbox-sync/module/sources/vmware/connection.py", line 2170, in add_virtual_machine
    nic_ips=nic_ips, p_ipv4=vm_primary_ip4, p_ipv6=vm_primary_ip6)
  File "/opt/netbox-sync/module/sources/vmware/connection.py", line 958, in add_device_vm_to_inventory
    device_vm_object = self.get_object_based_on_macs(object_type, nic_macs)
  File "/opt/netbox-sync/module/sources/vmware/connection.py", line 512, in get_object_based_on_macs
    matching_object.get_display_name(including_second_key=True)))
AttributeError: 'dict' object has no attribute 'get_display_name'

Updated:
mfyll@marius-test:/opt/netbox-sync$ git pull
Already up to date.```

Sorry, you need to switch to the development branch.

Yeah, the dev branch fixed this issue. The script does now add new objects to Netbox, but creates quite a few duplicates and has a livid fanstasy creating objects that does not exist in vCenter and connects IP-adresses to servers to the completely wrong servers.
Also, when running the script a second time (after it worked once), I got this error:
Traceback (most recent call last):
  File "netbox-sync.py", line 143, in <module>
    main()
  File "netbox-sync.py", line 119, in main
    source.apply()
  File "/opt/netbox-sync/module/sources/vmware/connection.py", line 379, in apply
    view_details.get("view_handler")(obj)
  File "/opt/netbox-sync/module/sources/vmware/connection.py", line 2196, in add_virtual_machine
    nic_ips=nic_ips, p_ipv4=vm_primary_ip4, p_ipv6=vm_primary_ip6)
  File "/opt/netbox-sync/module/sources/vmware/connection.py", line 965, in add_device_vm_to_inventory
    device_vm_object = self.get_object_based_on_macs(object_type, nic_macs)
  File "/opt/netbox-sync/module/sources/vmware/connection.py", line 532, in get_object_based_on_macs
    (object_type.name, matching_object.get_display_name(including_second_key=True)))
AttributeError: 'dict' object has no attribute 'get_display_name'

Hi,
yes this is the same issue in a different spot.
I'm wondering if this the only ERROR you get. When you start the sync, do you get any other WARNING or ERROR messages? Maybe check the log if activated.

Hi again,
I can see that if I scroll a bit up there are a few other errors:
2021-03-02 07:36:44,053 - ERROR: This could cause serious errors and lead to wrongly assigned object relations!!!
2021-03-02 07:36:44,054 - WARNING: Current interface 'vNIC0 (server1 (None))' for IP '10.x.x.x/27' and this one 'vNIC 1 (vLAN) (server2)' are both enabled. IP assignment skipped because it is unclear which one is the correct one!

This one repeats a lot:
2021-03-02 07:36:43,887 - INFO: Virtual machine interface 'vNIC 1 (vlan1) (server3)' attribute 'untagged_vlan' changed from 'xxxx (vlan3)' to 'xxxx (vlan4)'
2021-03-02 07:36:43,891 - WARNING: Current interface 'vNIC 1 (vlan2) (server4)' for IP '192.168.x.x/24' and this one 'vNIC 1 (vlan1) (server3)' are both enabled. IP assignment skipped because it is unclear which one is the correct one!

This one is repeated 10-30 times in a row:
2021-03-02 07:36:34,810 - ERROR: Unable to determine second key 'device' for interface 'server5', got: None
2021-03-02 07:36:34,810 - ERROR: This could cause serious errors and lead to wrongly assigned object relations!!!
2021-03-02 07:36:34,810 - ERROR: Problems resolving relation 'device' for object 'eth0 (server5 (None))' and value '{'id': 22, 'url': 'http://netbox/api/dcim/devices/22/', 'name': 'server5', 'display_name': 'server5'}'

The first error when running the script seems to be:
2021-03-02 07:36:34,769 - ERROR: Problems resolving relation 'vlan' for object '10.x.x.x/24' and value '{'id': 28, 'url': 'http://netbox/api/ipam/vlans/28/', 'vid': xx, 'name': 'vlanx', 'display_name': 'vlanx (xx)'}'

I have modified the error messages somewhat to remove server-names and IP-addresses.

I believe that your NetBox upgrade went wrong and some relations are not present anymore.
Nevertheless, the code should be able to handle this. I will fix this issue.

closing due to no response

@bb-Ricardo Sorry, I have been unable to look at this for a while. I can however confirm that your fix has been successful. After some testing today, everything looks great. Thank you!

Thank you for the feedback. Great to hear.
Sometimes people don't get back at all, that's why I close tickets I consider fixed after a while.


[BUG] Orientation Change on ProfileFragment Fix

@RocketChat/android
Closes #824

Thanks for your contribution @SyamSundarKirubakaran !
We'll review it late!
Thank you!

@SyamSundarKirubakaran Orientation is working for me, but the screen doesn't scroll, so I'm not able to see all the fields on my screen completely. Do you mind adding a scroll view on this screen also?

@rafaelks I've resolved some merge conflicts and added a scroll view. Sorry for the delayed commit, was a bit held up. Thanks.

Closing this PR since it is already fixed.


Update html-test ref, the variables got renamed.

PR corresponding to ghc/!5555 which caused a change in ModDetails in case of NoBackend. Now the initModDetails is used to recreate the ModDetails from interface and in-memory ModDetails is not used.
Ref: https://gitlab.haskell.org/ghc/ghc/-/merge_requests/5555

@dfordivam Hi, and thank you for this PR! Shall I wait for your GHC MR to land before merging this one, or do you need it ASAP in the submodule?

So I am doing this kind of thing first time and just now reading the https://gitlab.haskell.org/ghc/ghc/-/wikis/working-conventions/git/submodules#making-changes-to-ghcs-submodules
I guess I need to first get the ghc side of MR to be in. So I will convert this to a draft..

@Kleidukos I think this is good for merge now.
!5555 has finally passed the CI and if I understand correctly it will be put in marge queue once this lands in.


Upgrade to new PHP Analysis Engine of Scrutinizer CI

As suggested, this adjusts the settings to use the new PHP Analysis Engine of Scrutinizer CI.

Pull Request Test Coverage Report for Build 496696857

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.1%) to 87.798%

Totals

Change from base Build 496655892:
0.1%

Covered Lines:
295

Relevant Lines:
336

💛  - Coveralls

Pull Request Test Coverage Report for Build 496696857

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.1%) to 87.798%

Totals

Change from base Build 496655892:
0.1%

Covered Lines:
295

Relevant Lines:
336

💛  - Coveralls


Update mvc.md

When you create Asp.Net Core Web Application project, the name of the project is given as ASP.NET Web Core Web Application. In Visual studio, the project display name is ASP.NET Core Web Application. I just updated it to the correct name.

Thank you for the PR, @sreejukg!


[Docker] User left waiting with no spinner while supervisord image is pulling

/kind bug
/area devfile
/area local
When the supervisord volume and image don't exist on the user's machine, the user is waiting with no spinner:
Johns-MacBook-Pro-3:nodejs johncollier$ odo push

Validation
 ✓  Validating the devfile [57137ns]

Initially, I thought we wouldn't need a spinner while we pull the supervisord image as it's something in the backend that the user shouldn't worry about. But I think now we need some kind of spinner while the supervisord image is pulled and volume is created (maybe Initializing component?) so that the user isn't left waiting.

I can work on this
/assign

Initializing component sounds good, perhaps put it under the heading Creating Docker resources for component <name>

This can be closed, since #3120 was merged.


Try running historically flaky tests first to make flutter build apk health tests time out more often?

I have no idea if this will work, but 6_6 is currently the suite that seems to have the most problems.
Towards https://github.com/flutter/flutter/issues/158560.

Reason for revert: --run-skipped doesn't work in this repository (https://github.com/flutter/flutter/issues/158972).


Duplicate Routings Not Visible Immediately After Creation

Expected behavior
The duplicate routings should be visible immediately after creation without the need for a page refresh.
Steps to reproduce the issue
Login the App with valid user credentials from the Launchpad.
Open a Run and then navigate to the routing creation page.
Create a new routing.
Duplicate the routing by making a copy of it.
Attempt to view the newly created duplicate routings without refreshing the page.
Environment details
App version : MAIN-9A2227B
App environment : DEV
Additional information
https://jam.dev/c/0e44d0fb-7f77-4d89-b055-7330162d0820

Verified and working fine in latest release. Maybe it got fixed in impact of some other issue fix. Hence, closing this ticket.


SAML2 authentication with MS Azure AD intermittently fails with error AADSTS7500529

ISSUE TYPE

Bug Report

COMPONENT NAME

SAML/SSO

CLOUDSTACK VERSION

4.15.2

CONFIGURATION
Enabled SAML plugin and configured it to authenticate against Azure AD.
STEPS TO REPRODUCE
SAML authentication fails intermittently depending on the SAML request ID that is generated. Depending on your luck, you might get a random request ID that begins with something between A-Z. In such cases, the authentication request goes through as expected. On the chance that the generated number begins with 0-9, the authentication request fails with an error similar to:

AADSTS7500529: The value '692rv91k6dgmdas33vr3b2keahr4lqjv' is not a valid SAML ID. The ID must not begin with a number.

As per Azure AD's documentation, an acceptable request ID must not start with a number.

ID must not begin with a number, so a common strategy is to prepend a string like "id" to the string representation of a GUID. For example, id6c1c178c166d486687be4aaf5e482730 is a valid ID.
https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/active-directory/develop/single-sign-on-saml-protocol.md

The CloudStack implementation generates the random ID string with the following method in SAMLUtils and has no ability to prefix the SAML ID string as recommended by Azure AD's documentation.
100 public class SAMLUtils {
101     public static final Logger s_logger = Logger.getLogger(SAMLUtils.class);
102
103     public static String generateSecureRandomId() {
104         return new BigInteger(160, new SecureRandom()).toString(32);
105     }

EXPECTED RESULTS
Successful authentication with SAML and Azure AD.
ACTUAL RESULTS
Intermittent authentication failure with SAML and Azure AD.

Thanks for reporting @kohrar - the current SAML auth plugin is only tested against Shibboleth and keycloak, I've heard MS AD as well. I quickly checked some forums and https://docs.microsoft.com/en-us/azure/active-directory/develop/single-sign-on-saml-protocol and it seems a limitation of Microsoft's SAML spec/implementation only (not a bug in CloudStack or opensaml library).

Yes, the limitation is on Microsoft's side where the SAML request ID cannot start with a digit. While this isn't strictly a bug in CloudStack, it also means that Azure AD isn't completely supported with the current implementation. The documentation does suggest prepending the request ID with a string such as 'id'.
Would an appropriate 'fix' be to add an optional prefix as a global setting to CoudStack which will then be prepended to the generated request IDs? Or is there a better solution that you can think of?
I'm currently setting up a build environment for CloudStack so I can hopefully try a few things. Thanks!

@kohrar yes that might work, or even changing the default random string generator to generate first character as an alphabet than number.


Event driven KERIA operations

After an async Signify operation is successfully accepted by KERIA, a long running operation is stored and the oid returned to the client.
The client can then use this oid to poll the status of the operation until done=True and process any additional metadata.
I don't think is scalable long term because even a single client may be polling many operations at once with separate HTTP requests. And in general if those clients were other microservices in the same infrastructure (as opposed to e.g. an edge mobile wallet) it would be much nicer to react to events rather than tracking and polling in the background.
Not sure yet on the best approach here. A nice first step might be an interface to dump signed messages (maybe that could be plugged into standard message brokers?). Longer term solution would need KERI authentication to listen for events.

Use of websockets is a decent alternative design to polling or having a callback endpoint.  See https://indicio.tech/handling-high-volume-verification-with-socketdock/

Yeah, websockets are an option. Message brokers can use things like AMPQ and MQTT but perhaps to not complicate architecture there could be a built-in websocket endpoint which serves signed events, as a default and a way to acknowledge events.
The trouble of course is it's too much complication to make that as reliable as a message broker but it would be a starting place.
Would have to think about authentication is done for websockets though.

I agree, this is not scalable long-term. Mailbox implementations are something we should consider here as well because setting up a websocket communication endpoint makes sense for both KERIA agents and mailbox agents. At some point I imagine KERIA will support mailbox agents.
All we have to do to make KERIA compatible with WebSockets is to make a Doer or DoDoer that services websockets in a nonblocking way like KERIA currently services TCP sockets in HIO.
And maybe we should look at other transport mechanisms in light of today's discussion of how ESSR could make HTTP unnecessary. Yet, starting with something people are familiar with, HTTP and WebSockets, seems like a good idea.

One concern that @lenkan is horizontally scaling KERIA and websockets straight out of KERIA making that more complex, and I tend to agree.
Most likely, I might do a stop gap solution where I publish to some internal broker for other microservices to pick up, but doesn't work for zero trust networking and also in general the acknowledgements should be somehow authenticated.

As long as your internal broker makes sure that the websockets messages get to the right agent and keeps trying until they get delivered then I think that would work. I've tended to think that websockets should go from agent to browser with message acknowledgment built into the agent itself. Maybe I'm wrong there. That is a bit of complexity, though you end up having to deal with it no matter what you do if you want event-driven KERIA, either in your own custom internal broker or in KERIA itself.
Its a common enough need that at least a basic implementation in KERIA seems warranted.

By internal broker, I didn't mean internal to KERIA - I just meant internal to my infrastructure and without proper authentication as a stop gap solution. So not necessarily websockets at all.
But do agree that a basic solution within KERIA makes sense too, so long as it's easy to integrate different brokers etc in a uniform way for more complex deployments.
For example, Spring cloud stream binds to a bunch of different broker types - https://spring.io/projects/spring-cloud-stream - the tricky part is KERI based authentication.

This might be helpful.  In distributed systems with layered protocols, transactions can live at different layers in the stack.  For critical systems, the only place where the absolutely highest level of reliability and durability of a transaction is when the transaction lives at the application layer. These are often called end-to-end application layer transactions. This means that the two ends of the transaction live at the application layers of the two protocol stacks (or all protocol stacks if multi-party transaction).  If the transaction must be ensured at least once, i.e., the transaction must be complete no matter what faults may occur, then the transaction state must be durable, as in live forever until it either completes or the user explicitly cancels the transaction (which is a type of completion).  This means usually the transaction state is persisted to a durable database, and the transaction itself never times out. It lives forever with indefinite retries, usually with an exponential back-off.
AFAIK, we don't have truly, persistent end-to-end application layer transaction support in KERIA.  It seems there is an expectation that somehow, KERI  core (which is not at the application layer relative to KERIA) is supposed to be responsible for ensuring application layer end-to-end reliablity. It's not.  Attempting to make the keri escrows act that way is self-defeating.
The mailbox on the other hand could be modified to support true end-to-end reliable application layer transactions, but I believe it is missing some features for that to be true. And the mailbox is delivering notificaitons which are not typically an application layer service they are usually a lower layer service.
Usually an application layer transaction is some action that needs to happen in order for the application to execute a workflow. A mailbox might be an intermediary in helping or supporting that action to happen, but the persistence of that action and what resources it brings to bear to ensure that the action happens is usually more than that. And for it to be persistent is must survive the host os being rebooted or crashing and losing in memory. which means a transaction record that durably persists transaction state is needed.
Now exchange messages could but augmented to support end-to-end application layer transactions by adding delivery, durability, and retry characteristics as well as application action specific data.
This is where these discussion should be headed. I think.

Thanks @SmithSamuelM this is helpful. Though here I'm solely referring to the Signify client being notified of long running operations completing from its agent - these long running operations only live in KERIA and not even keripy AFAIK - longrunning.py. So separate to escrows and KERI core.
Currently Signify applications need to poll KERIA by operation ID to check for completion. Since Signify is on the edge it might not have an endpoint for exchange messages. I'm just trying to avoid polling several operations' statuses in parallel instead of simply waiting for a general completion event with a handler.
--
I mentioned a broker for the cases where Signify is actually part of a cloud microservice deployed alongside KERIA. Arguably those microservices could be agents too but there's no KERI Java. (right now Java->Signify-TS but hopefully Signify-Java in a while, as that's a much smaller undertaking than KERI Java)
But maybe that'd get a lot easier if we had tcp ESSR instead of REST and signed headers like we discussed yesterday.

@iFergal It sounds like their might be a benefit from wrapping any long running workflows in KERIA with a workflow transaction state endpoint.  The workflow transaction could for example refresh any exn messages needed to finalize a distributed multi-sig event.  The multi-sig group member who initiates a key event sends a notification with all the material needed for each group member to update their contributing AID key state and create the associate group aid event. They can then totally asynchronously sign that event and broadcast it to the other group members.  The original notification from the initiator should work in idempotent fashion. A refresh retry of the same notificaiton should result in the same signed event from each group memeber. The idempotent part is that each contributing key state may have already been updated so would not need to be updated again. Only recreate and resign the group key event and re-broadcast.  So the initiator's KERIA agent could have a long running transaction that looked for completion of a threshold number of signatures, if after some time, it could retry the initiation. this would refresh any timed out escrows and enable offline group members to catch up. The long running KERIA transaction could have two completion events. Either the threshold is met or the use cancels but never times out. The signfy client could get transaction state updates by either polling or having an SSE push.
In general potentially long running workflow could be architected this way so that its just rinse and repeat.

Expanding the API for refreshing sounds like a good idea @SmithSamuelM - and agreed it should be idempotent. Overall sounds like it'd be a lot more reliable.
Regarding the Signify client receiving updates: I haven't worked with SSE before but it sounds like it could work! Will think about how it might be impacted with horizontal scaling but could be OK.

What you described @SmithSamuelM is pretty much how it works now.  Some of the words in my explanation of it may be different, but this is the current architecture.

SSE and chunking was introduced in HTTP 1.1 to replace the hackish long polling used for push notifications.  SSE is true HTTP which means its supported natively by load balancers etc. Whereas alternatives like web-sockets are not.  So in general
if you want an event driven push to a client then use an SSE connection.  One still uses, the regular rest API to send stuff to the host via post and put, but delayed responses due to long running background processes can come back via SSE. The FireBase ReST API IMHO is an example of how to do SSE well.

OK great, thanks! Two other things that come to mind are:

If the Signify client is completely offline - we'd have to buffer those event updates if we want to deliver them without the client explicitly fetching all operations on start-up. (cleaner if signify application just has to react to SSE in its code)
I'm curious about acknowledgements. From reading about SSE (but not testing yet) it seems there are just TCP acknowledgements of the message being received, and not explicit acknowledgements from say the SIgnify application that they are finished processing the event (could be triggering other things to happen...). e.g. with something like MQTT you can get explicit acks.

will check out how Firebase use it.

In an SSE + ReST architecture, the client talks to the host with explicit ReST API calls. So if the Host needs feedback from the client it is expecting it on an endpoint (put or post).  So if you do it right it will operate effectively the same as a two way socket but without leaving http.
Clients have to establish all connections with http.
When the client reestablishes an SSE connection it can signal the server which event to resume on. So it doesn't have to use a separate rest endpoint to synchronize events. But of course these means the client has to keep track of sse events. If the client is depending on the server to keep track of events then it just takes a little more thought, but instead of jettisoning http just to get push, you can do the push stuff with SSE and use ReST otherwise.

Makes sense, so the acknowledgement is effectively on the REST side. Would be nice to be event by event too and not just resume from event number, in case there was a particular event that couldn't be processed right then but other more recent events could.


webview.dll not found/not provided

What OS are you using (uname -a, or Windows version)?
Windows 10 Pro Insiders Fast 19587.rs_prerelease_200313-1639 x86_64 Intel
What programming language are you using (C/C++/Go/Rust)?
go version go1.14 windows/amd64
What did you expect to see and what you saw instead?
I expected the example to display, but the repo demands there be a webview.dll as stated in the readme, but with no reference as to where I can get this dll at all

Try copying the DLLs from the dll subdirectory to the same directory as the .exe file.

that works.
Is it possible to load the DLLs from a bindata? like can I specific where to load the DLLs from?

i am facing the same issue
error while loading shared libraries: webview.dll: cannot open shared object file: No such file or directory

read above, the DLLs are in the repo for some reason when they can litterally be bundled inside the code itself via bindata

Closing this issue. Feel free to open another if you have any other problems.


Update azure-stack-app-service-deploy-offline.md

Corrected default resource group name

@apwestgarth : Thanks for your contribution to the Azure documentation! The author, @apwestgarth, has been notified to review your proposed change.

Microsoft authors of articles need to make updates through the private repository so the updates can be staged and validated by the current validation rules. After you review staging and fix all validation issues, you can add the sign-off comment to let the PR reviewers know the updates are ready to be merged.
It's easy to access the private repo version of your articles in GitHub. Just add -pr to the URL, as follows:
Public repo URL: https://github.com/Microsoft/azure-docs/blob/master/articles/azure-portal-overview.md
Private repo URL: https://github.com/Microsoft/azure-docs-pr/blob/master/articles/azure-portal-overview.md
We've closed this pull request. Please resubmit the updates through the private repo. If you need perms to the private repo, see the contributor guide instructions


editor.document_highlight.read_background color

since this isn't set, zed defaults to a really bright green that makes any string or function hard to read when your cursor is near the quotes/parenthesis. it should be set to something more sane and transparent.

here's all the patches i've made (make predictions darker, diffs consistent, and matches readable):
  "experimental.theme_overrides": {
    "predictive": "#7e817e",
    "deleted.background": "#ff788211",
    "info.background": "#74ade811",
    "editor.document_highlight.read_background": "#74ade81a"
  },


Modpacks?

Can you write down if modpacks are allowed and/or provide a license file? https://choosealicense.com

Modpacks are allowed, it benefits me

A license file can be found in the /img branch,
plus it is also listed on either CurseForge or Modrinth.
All my projects are under the MIT License


Latest pull doesnt show the new templates or workflows

Fresh install of comfy, fresh install of manager, fresh install of Sidebar. You can see there are no icons for the new templates.

Seems to work in Chrome, doesnt work in FF.

No errors or warnings in console either.

got it.... halfway. Still no templates in the directory. I had to clear the cookies from the site. I assume you have some crusty old stuff in there someplace.

Cookie “pinnedItems” does not have a proper “SameSite” attribute value. Soon, cookies without the “SameSite” attribute or with an invalid value will be treated as “Lax”. This means that the cookie will no longer be sent in third-party contexts. If your application depends on this cookie being available in such contexts, please add the “SameSite=None“ attribute to it. To know more about the “SameSite“ attribute, read https://developer.mozilla.org/docs/Web/HTTP/Headers/Set-Cookie/SameSite

That was the cookie that was messing it up.

you do, indeed, need to add a "workflow" directory. That is not a thing; you should just make it if it doesnt exist.

yes! i'm fixing that right now, and since i was not using firefox i just notice that the layout is not working well there, so i'm tring to fix that too xD

You should check opera as well -- lots of MAC users.

working okish now -- except I have sub-dirs, and it doesnt support those (yet I assume) -- and it should follow symlinks as well.
I assume you are using the ComyfyUI-Workspace-Manager as a outline:

If it supported multilevel, then I think I can replace his with yours easy enough.
cheers!

Oh opera is working fine, is just firefox...
I will try to do multilevel and symlink!

Ok, now it should work fine in firefox

verified issue resolved! cheers!


clarification on spec regarding CRC

I'm trying to implement this format in python
could you clarify this - https://github.com/src-d/go-siva/blame/master/SPEC.md#L68
Is it the crc32 of each element concatenated into a string that get's crc'd or is it one crc that you are updating? Also what is 'Entries' ? is it the crc of each index entry or the crc of a list of entries The spec isn't entirely clear to me on what it's meant to be.

I also played around with that. It's the CRC of the blue part in the png of the readme.md.
And when you get to the other CRC for each file, it's always zero in all the siva files I've seen so far...

I eventually figured it out and have a my test python version writing out blocks that the go implementation can read.

There was an error generating CRC that made them always 0, see #45, is fixed in #46.
Entries is the bytes from all entries in that index.


AxMenuButton . Language issues

AxMenuButton("中文", PlayerSettings.MaxArmorOfType, null, EBackground.None).Margin(0, 10)
The display is incorrect .
Everything else is normal.
How do I fix this language problem?
AxMenuButton使用中文会出现异常

This is a known problem with chinese and maybe other similar languages. I don't know why it behave like that, also the problem could need to be fixed in RedLoader itself and not the lib. Maybe changing .Text(label) with .RichText(label) could do it. I'm not gonna update for it though.

Thank you very much for your answer


Improving Moderator Selection

Currently moderator selection - both for vendor and buyer - takes place by selecting moderators from a list.
Unfortunately there is no other information presented about the moderator but the name and avatar. Clicking on the list selects them instead of taking you to their page. The current design creates an incentive for the user to select a moderator more or less at random, or to forego the moderation system altogether.
This is problematic for several reasons.

The user doesn't know which language(s) the moderator speaks.
The user doesn't know the legal jurisdiction the moderator is in (important because some goods/services might be legal or illegal in certain countries).
The user doesn't know how long the moderator has been active, or how many cases they've settle, or any reputation aspects.
The user only knows the dispute fee %, but nothing else about them; their qualifications or their terms of service or their rules for dispute resolution.

Bottom line: There isn't enough information in the current moderator selection process for vendors or buyers to make an informed decision.

I can put together better designs for this experience, but I'll need to know from @cpacia what kind of data I'll have access to. Otherwise I'll be guessing or making assumptions that may not be feasible.


Allow change of REQUEST_CODE

Zxing library uses a hardcoded value for the intent REQUEST_CODE.
Sometimes, we need to change that value. Removing the "final" from its declaration allow us to do that.

Merged #234.


feat: fromBlockTimestamp query param to support caching

This PR adds functionality to query a block timestamp range by adding a fromBlockTimestamp query param to the /likelyTokens and /likelyNFTs endpoint

I went ahead and compared query plans - images are before (left) and after (right), always comparing the current query with the new one. Overall LGTM, changes in plan structure seem small overall and the differences in metrics appear pretty marginal. Hopefully no problems with plans changing 🤞
likelyNFTsFromBlock
Small increase in planning/execution in the before/after for the initial case:

Bigger increase in planning/execution in the before/after for the diff case:

likelyTokensFromBlock
Very small increase in plan time/execution cost but decreased execution time in the before/after for the initial case:

Large apparent decrease in overall cost/execution time in the before/after for the diff case:

Thanks for raising these concerns and then investigating @andy-haynes! ❤


pep8: run PymodeLintAuto & manually fix the biggest problems

The code was weirdly indented and violated few reasonable pep8 rules.
Let's get rid of the problems by using automated tools and a bit of
fixes by hand to improve it.

I pulled both https://github.com/mpolednik/script.kodi.hue.ambilight/pull/32 & https://github.com/mpolednik/script.kodi.hue.ambilight/pull/33 , it works like previously / doesn't seem to break anything (tested ambilight on 2 bulbs watching a tv show) so far.
Didn't test screensaver feature (yet) tho, but it smells like OnepointO time :dancer:


[Bug] ValueError: invalid literal for int() with base 10: '::1'

Checklist

[X] 1. I have searched related issues but cannot get the expected help.
[ ] 2. The bug has not been fixed in the latest version.

Describe the bug
was trying to serve up nous-hermes, which is llama-2-7b under the hood, and was unable to (get an error when I try to use the ui).  Iw as able to run
python -m lmdeploy.turbomind.chat ./workspace
but I never got any inference back when I inputted something with that
rocky linux 9
python 3.11.2
Reproduction
trying to run inference
python3 -m lmdeploy.serve.turbomind.deploy llama2 ./models/Nous-Hermes-llama-2-7b
python3 -m lmdeploy.serve.gradio.app ./workspace
Error traceback
server is gonna mount on: http://localhost:6006
Running on local URL:  http://localhost:6006
Running on public URL: https://bb115d4fe7b63d276d.gradio.live

This share link expires in 72 hours. For free permanent hosting and GPU upgrades, run `gradio deploy` from Terminal to deploy to Spaces (https://huggingface.co/spaces)
Traceback (most recent call last):
  File "/home/user/env-MeZo/lib64/python3.11/site-packages/gradio/routes.py", line 488, in run_predict
    output = await app.get_blocks().process_api(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/env-MeZo/lib64/python3.11/site-packages/gradio/blocks.py", line 1431, in process_api
    result = await self.call_function(
             ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/env-MeZo/lib64/python3.11/site-packages/gradio/blocks.py", line 1117, in call_function
    prediction = await utils.async_iteration(iterator)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/env-MeZo/lib64/python3.11/site-packages/gradio/utils.py", line 350, in async_iteration
    return await iterator.__anext__()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/env-MeZo/lib64/python3.11/site-packages/gradio/utils.py", line 669, in asyncgen_wrapper
    async for response in f(*args, **kwargs):
  File "/home/user/env-MeZo/lib64/python3.11/site-packages/lmdeploy/serve/gradio/app.py", line 349, in chat_stream_local
    session_id = int(request.kwargs['client']['host'].replace('.', ''))
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: invalid literal for int() with base 10: '::1'

Do not use localhost as the address on the remote server , modify your command to python3 -m lmdeploy.serve.gradio.app . /workspace <IP_ADDRESS> 8080

@thistleknot

Did you double enter when using python -m lmdeploy.turbomind.chat ./workspace?
If possible, could you print the request detail by inserting a new line print(request.kwargs['client']) under line 348 of /home/user/env-MeZo/lib64/python3.11/site-packages/lmdeploy/serve/gradio/app.py?


hook up Celestia light node to setup and have option to use local-celestia-devnet

WIP on https://github.com/celestiaorg/optimism/tree/jcs/add-DALC

closed in #47


Exclude connected user on list of admins and ignored users

We rather prevent admin users to remove the connected user from being admin/ignored user than exclude it from the list.


Restore ability to build from documentation from maven per instructions.

Remove dangerous makefile clean constructs that delete files that the
build process did not create.
Remove PERL program to generate Makefile help message.  It's not worth the
extra dependency for minor value.
resolves #640
This is not necessarily a complete solution.  It probably shouldn't be implemented by a combination of  maven and make, rather pick a single solution.

Thanks for doing this! Do you think clean ought to remove the entire target directory? +1 with or without

mvn clean removes the entire target directory
make clean removes just doc directory, which it created.
I still need to get travis working (it wasn't enabled on my repo).
David Steinberg<EMAIL_ADDRESS>writes:

Thanks for doing this! Do you think clean ought to remove the entire target
directory? +1 with or without
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.*

Does anyone know how get protoc into travis?  Not sure where the package is.
David Steinberg<EMAIL_ADDRESS>writes:

Thanks for doing this! Do you think clean ought to remove the entire target
directory? +1 with or without
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.*

@diekhans try https://github.com/google/google-http-java-client/pull/295/files

Thanks.  Ouch, I had that implemented, but it slows Travis by
several minutes.  Using more cores (-j 2) is a nice idea.
David Steinberg<EMAIL_ADDRESS>writes:

@diekhans try https://github.com/google/google-http-java-client/pull/295/files
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.*

travis is now correctly working and tests the build of the Sphinx documentation .

+1

merging as this is pretty cosmetic.


Initial draft of MVP RFC

This adds a RFC for the first proper version of the website. There's lots of room for filling out details, but I think that it's more about the general direction here. Once that's settled and implemented, it's way easier to go forward in smaller, incremental steps.
I'd want to get started implementing this towards the end of the week / early next week.
I'd love to get some feedback on this, so please feel free to leave a review.

What's a good tool we can use to mind-map the content? I'd like to start throwing in some ideas on a board...

Here is a link to a public mind-map to brainstorm some items: https://jamboard.google.com/d/1ZzswwC4YfsjmIb9-PAJB8-Tmo0I1X7NpycdttZXP3QY/edit?usp=sharing

Here is a link to a public mind-map to brainstorm some items: https://jamboard.google.com/d/1ZzswwC4YfsjmIb9-PAJB8-Tmo0I1X7NpycdttZXP3QY/edit?usp=sharing

Heh, didn't know this tool existed. Wish they had comments or something like this - or am I just not seeing it?

Here is a link to a public mind-map to brainstorm some items: https://jamboard.google.com/d/1ZzswwC4YfsjmIb9-PAJB8-Tmo0I1X7NpycdttZXP3QY/edit?usp=sharing

How do we know who wrote the cards? Does it matter?

Jamboard seems kind of unpractical. Maybe someone knows a better tool?

Jamboard seems kind of unpractical. Maybe someone knows a better tool?

I love the simplicity, and I think it's pretty good for synchronous meetings where you are actually talking to each other. Async it's a bit difficult to use. But that seems to be true for other tools as well (e.g. https://ziteboard.com/ / https://awwapp.com/).
Then there are others which require a signup or paid memberships for public sharing.
So let's just try that jamboard for now?

@EdwinRad  Here's an alternative https://miro.com/app/board/o9J_kmoh3vA=/ (invite to edit in Slack)

I was going to suggest Miro too.  Scaled agile framework uses it
officially.  But either is good by me.
On Tue, Aug 25, 2020 at 4:25 PM Sebastian Korfmann<EMAIL_ADDRESS>wrote:

@EdwinRad https://github.com/EdwinRad Here's an alternative
https://miro.com/app/board/o9J_kmoh3vA=/ (invite to edit in Slack)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/cdk-dev/base/pull/7#issuecomment-680251318, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAIL56GNZG3A6BFF2ZFZDDSCQM3BANCNFSM4QKYYLQA
.
--
Philip M. Gollucci
IT Executive and Engineering Leader
http://www.linkedin.com/in/pgollucci/
301.818.0719

Top I'll remove the Jamboard link so there is no confusion.

Your suggestions are pretty good from my point of view. Maybe we should just start with a simple design and a draft using Next.js?

Your suggestions are pretty good from my point of view. Maybe we should just start with a simple design and a draft using Next.js?

👍  See https://github.com/cdk-dev/website/pull/4

Already implemented: https://github.com/cdk-dev/website/pull/10


PP-5407 Backfill handle manual payment events

determine if a charge state transition should have reached a state
providing user details
build PaymentDetailsEntered event and emit

Depends on collected ChargeEventEntity list in https://github.com/alphagov/pay-connector/pull/1557]

[x]  hook into processing of charge
[x]  test emit behaviour based on different charge events provided

@kbottla review comments in https://github.com/alphagov/pay-connector/pull/1559/commits/7ae31de84dd3d3b615068e303b7e63dac0153c58

@kbottla recommend that this PR is big enough and now has downstream commits, we could get this in and resolve the typo in future PRs!


Log eval output to console if longer than message limit

Possible solution for #92
Please describe the changes this PR makes and why it should be merged, as well as any and all proof of successful tests:
If the output of the eval command is within the Discord message limit, the output is sent to chat as normal. If it is longer than the Discord message limit (1090 to account for Markdown) the output is logged to the console and a message is displayed notifying the user.

Semantic versioning classification:

[ ] This PR changes the framework's interface (methods or parameters added)

[ ] This PR includes breaking changes (methods removed or renamed, parameters moved or removed)

[ ] This PR only includes non-code changes, like changes to README, etc.

@JacenBoy Please update your PR or this will be closed.

Probably best to close for now; I haven't been able to find a good way of uploading to hastebin without adding in additional packages.


Wrong gradient computation through loops

Hi,
when differentiating through a loop, the gradient seems to be wrong if the loop overwrites a variable. In my understanding, this is caused by the fact that the replay of the backward pass skips the loop. Therefore, putting the loop in a seperate function solves the issue, as the function is called again in the replay pass.
Looking forward to your opinions on this! (Unfortunately, I don't have time for a minimal example at the moment, but I am happy to clarify my issue if this post is confusing)
Cheers,
Clemens

Sorry for the late reply!

when differentiating through a loop, the gradient seems to be wrong if the loop overwrites a variable.

In general overwriting a variable in a loop makes it non-differentiable. There should be a warning produced about this.
If the iteration count is constant and small (by default up to 16), we attempt to unroll the loop, and this makes it differentiable.


Sound not working?

https://share.sourceacademy.org/jhd28
(import "sound"
    (play make_sound))
(define π 3.141592653589793)
(play
 (make_sound (lambda (t) (sin (* 2 π t 440))) 1))

currently gives
Line 6: Error: play is expecting sound, but encountered t => t >= duration ? 0 : wave(t),1

I suspect this stems from the differing number representations of scm-slang and SA. will work on a way to reconcile this issue!


Adopting Dashboard example files - need some basic help

Hi,
I try to adopt the dashboard files to suit my plan. I have to add the "Mid-Peak" period in addition to the already existing two. Since I have no idea, I would like to confirm that the numbers at the end of the strings (marked temporarily by me e, f, g, h, i) are the row numbers in the sequence to be displayed?
Thanks.
 "id": "organize",
          "options": {
            "excludeByName": {
              "Off-Peak Supply Charge ($)": true,
              "Peak Supply Charge ($)": true,
              "Mid-Peak Supply Charge ($)": true
            },
            "indexByName": {
              "Export Total ($)": 8,
              "Import Total ($)": 13,
              "Off-Peak Grid export+++ ($)": 5,
              "Off-Peak Grid supply--- ($)": 9,
              "Off-Peak PW to home-grid charge ($)": 0,
              "Off-Peak Solar to home+residual ($)": 2,
              "Off-Peak Supply Charge ($)": 7,
              "Peak Grid export+++ ($)": 6,
              "Peak Grid supply--- ($)": 10,
              "Peak PW to home-grid charge ($)": 1,
              "Peak Solar to home+residual ($)": 3,
              "Peak Supply Charge ($)": 11,
              "Mid-Peak Grid export+++ ($)": e,
              "Mid-Peak Grid supply--- ($)": f,
              "Mid-Peak PW to home-grid charge ($)": g,
              "Mid-Peak Solar to home+residual ($)": h,
              "Mid-Peak Supply Charge ($)": i,
              "Self Consumption Total ($)": 4,
              "Supply Charge ($)": 12
            },

Hi Michal,
You are now moving into grafana configuration, so I'm afraid you are more or less on your own here. I mostly worked out what I was doing by trial and error.
The grafana configs are sample files generated from the gui - I'm not familiar with the underlying json. My best guess is the index numbers relate to data columns in one of the grafana transforms.
I'd suggest the best way to start is delete your new fields from the file, load it up in grafana and see what it looks like. If everything is working, you can then edit your panel in the grafana gui - if my guess is correct, going to the transform panel should give the clues you need to get everything working the way you want (I'm pretty sure I didn't edit any json in setting up my examples.) The notes about grafana setup in the docs are very much the result of "This is what I found by trying out different things."

Ah, ok, I will experiment then.
Thanks.

Adding to this - If things aren't working with getting data into grafana from the plugin, I'm more than happy to help you sort this out. Likewise, if you run into questions that are "kind-of-between" grafana and the plugin that don't seem to make sense, I'm happy to take a look to see if I can assist.
As to experimenting - yup, it's the best way to learn. I knew nothing about docker, grafana or influx two years ago. Messing around with the basics has meant I've learned a lot about them and about the internals of the powerwall.

Thanks again!
The data was showing up ok, but only for the two defined periods (On and Off peak). I actually finished the editing (lots of fun!) of the Usage_Detail_Dashboard.json and imported it to the Grafana. To my surprise, it is working perfectly since the first trial, showing and calculating (need to confirm that) properly. All 3 charge periods are showing up now :)

The supply charge. My daily supply charge is $1.26075 per day. So I divided this by 24 since it is calculated by the hour (I read in the other thread.) Now, if I choose in the dashboard the period of last 24hrs, the value is $1.35, shouldn't  that $1.26 ? It is rather big rounding up.
Thanks

Big win for experimenting then - Nice work on resolving it yourself!
I'm pretty sure the supply charge is working correctly. Have you possibly transposed digits? A charge cost of 0.0526 gives ~$1.26/day, while a charge of 0.0562 gives ~$1.35/day (this guess is not as inspired as it seems - quite by coincidence, my supply charge went from 1.26 to 1.35 this year)..

Hi, no I just check it after you mentioned that (and that 1.26075:24=0.05253125).
So no typo.
"plan": "Synergy_Midday-Saver",
            "season": "All_Year",
            "tariffs": {
                "Peak": {
                    "GRID_SUPPLY": -0.525313,
                    "GRID_EXPORT": 0.00,
                    "SELF_PW_NET_OF_GRID": 0.525313,
                    "SELF_SOLAR_PLUS_RES": 0.525313,
                    "SUPPLY_CHARGE": -0.05253125
                },
                "Mid-Peak": {
                    "GRID_SUPPLY": -0.231138,
                    "GRID_EXPORT": 0.00,
                    "SELF_PW_NET_OF_GRID": 0.231138,
                    "SELF_SOLAR_PLUS_RES": 0.231138,
                    "SUPPLY_CHARGE": -0.05253125
                },
                "Off-Peak": {
                    "GRID_SUPPLY": -0.08405,
                    "GRID_EXPORT": 0.00,
                    "SELF_PW_NET_OF_GRID": 0.08405,
                    "SELF_SOLAR_PLUS_RES": 0.08405,
                    "SUPPLY_CHARGE": -0.05253125

And the same if I choose the 24hrs period back in time.

If it works ok for you then I'm lost here.

BTW, what is residual (ie.solar to home+residual) ?

Refer to the docs for the definition of residual.
I've just checked my setup for yesterday and earlier this year, and I'm getting $1.35 and $1.26 as expected, so I'm not sure what is happening with yours? A very quick thing to try - test with supply charges of 0 and 1, which should give you values of $1 and $24.
I'm done for the day, so will see what has happened tomorrow.

yeap, I need to finish for today as well. I will just restart the docker,check and continue tomorrow.
Thanks.

Just the quick one before bed. After the docker restart, much closer but not perfect:

It is getting interesting.
Values shown at the $1 in config file:

and 24hrs back in time:

now for $0 in config:

and back in time:

You've found a bug in the grafana panel - Nice work! (I don't use this panel at all, so haven't picked it up until now).
Try editing the gui and check the transform for how it calculates supply charge - I reckon you'll work out my error instantly.

 It's not a bug - it's a poorly defined term that is a bit too close to supply charge. Supply charge is the flat rate charged by the utility. Supply cost is the the money charged by the utility and is the sum of supply charge and cost of electricity. The calculation is doing what it is supposed to: System value is how much your solar+battery is worth in self consumption, and supply cost is the additional charge from the utility.
If you want to see supply charge broken out, take a look at the grid import cost block.

I have found two references to the GRID IMPORT COST in the file is it one too many? :
First:
"title": "Grid Import Cost",
      "transformations": [
        {
          "id": "filterFieldsByName",
          "options": {
            "include": {
              "names": [
                "_time",
                "Off-Peak Grid supply--- ($)",
                "Peak Grid supply--- ($)",
                "Mid-Peak Grid supply--- ($)",
                "Off-Peak Supply Charge ($)",
                "Peak Supply Charge ($)",
                "Mid-Peak Supply Charge ($)"

And the second:
"title": "Grid Import Cost",
      "transformations": [
        {
          "id": "filterFieldsByName",
          "options": {
            "include": {
              "names": [
                "_time",
                "Off-Peak Grid supply--- ($)",
                "Peak Grid supply--- ($)",
                "Mid-Peak Grid supply--- ($)"

In the "SUPPLY COST" field the following values are specified:
"id": "calculateField",
          "options": {
            "alias": "Supply Cost ($)",
            "mode": "reduceRow",
            "reduce": {
              "include": [
                "Off-Peak Grid supply--- ($)",
                "Off-Peak Supply Charge ($)",
                "Peak Grid supply--- ($)",
                "Peak Supply Charge ($)",
                "Mid-Peak Grid supply--- ($)",
                "Mid-Peak Supply Charge ($)"
              ],
              "reducer": "sum"
            },
            "replaceFields": false

Is there any reason for the:
"Off-Peak Grid supply--- ($)"
"Peak Grid supply--- ($)"
"Mid-Peak Grid supply--- ($)"
to be here? Something tells me that the "xxx Supply Charge ($)" should be present only. Right ?
Thanks

Michal,
Given the discussions you've had here and on the Powerwall-Dashboard site, can I strongly recommend that you don't set up your grafana dashboard by editing JSON files? While the grafana GUI is not fun, it works and is a lot clearer than the JSON - it is also likely it will give you a better understanding of the calculations grafana is doing. (This is the way I personally set it up, because it is easier than working with the json.)
I'm afraid I can't give a useful answer to the questions in your previous two posts (other than a vague "maybe?"), because it really depends on what you are trying to report. The dashboards I've provided are intended to be samples to give an idea of what can be done with the plugin (and after checking this afternoon, I can confirm they are working as expected). The next step is up to you to decide what data is and isn't useful to you, and how you want to present it. If you can ask specific questions about an output you want I can probably help with that, and the documentation also provides a lot detail behind my reasoning for what appears in the samples - which may be a good starting point.
And to be clear - this isn't a blow off - You have run into the problem that there is more than one way to value system performance, and from the questions you are asking, I suspect you don't agree with the way I've done it (which is AOK - everyone sees this differently!). If you can explain how you want to value your system performance, I can help you set up the grafana transforms.

I do have one possibility for why there are two "Grid Import Costs" - one may be the data table and the other may be the graph. But, as I say, I don't work with the JSON directly, so I can't confirm this.

Hi,
thanks for the advice, I will try to understand the Grafana and will go that direction.
It is not that I do criticize your work (fruit of it), I'm sorry if you feel that way -> please don't. I think that might look like this because I don't understand that stuff, it is pretty new to me, all of it. For example that last subject, I think I misunderstood the reported item. When I analyzed it bit deeper, it does not report pure/only network provider supply fees.
Those are reported properly (in 3 values, so the sum gives what I expected) in the Grid Import Costs table. So yes, I will play with Grafana now, trying not to do too much damage :)
Thanks

You've not come across as critical - you come across as keen to learn but not entirely sure where to start (which is fine - everyone starts somewhere).
Likewise, my response aren't intended to be critical - I'm just saying I don't have a lot to add until you understand what you want to do a bit better.
Also give yourself a bit more time to get to answers to questions (or even to decide the question you want to ask) - you'll learn a lot faster by soaking on a problem than by going straight to asking someone else. I often walk away from things for half a day or so and will get the "aha" while I'm doing something completely different.

Bit off topic, but pwdusage related. Do you know what that "fervent_greide" is? It is not running, and it is not listed every time after stop/start the docker.

Never seen it before, and none of my containers have names anything like this.
A google search give this.
https://anushibin.wordpress.com/2020/04/09/how-do-docker-containers-get-their-name/
But it's probably worth your while digging into to check if something weird is going on.

It did show up in the past but when I tried to run already running container. This time it showed up after PC restart. It's not a big deal, I can delete it without consequences. Not an issue for now. I'm concentrating on Grafana atm, with some progress.
Thanks.


Starting Neo4j as non-root user inside Docker container

Problem
We are using the official Neo4j Docker image. Afaik, the Neo4j process inside a new container is started as user root. However we have some data mounted that belongs to a specific technical user and we want that the DB process can only read the files that belong to this user and not all of them, e.g. for a CSV import. If we start Neo4j as root, they can read all files.
Proposed Solution
We would like to start the Neo4j process as an unprivileged user. To do this, we could change the entrypoint to not just exec ..., but sudo -u <tuser> -E exec .... The username can be neo4j and the user ID can be configurable through an environment variable. This way we can map the user ID to the technical user ID and we're good. It would also be nice to be able to specify the group that the user should belong to.
What do you think about this? Is it functionality that you would consider adding? We can provide a pull request with the changes. Do you see a better way to achieve what we are trying to achieve?

I think this was fixed by https://github.com/neo4j/docker-neo4j/pull/161
If you provide the --user flag to the docker run command then it should run the neo4j process as that user instead of root or neo4j. The user you provide should have the necessary read and write permissions to any mounted folders.
There is some documentation about this use case here: https://neo4j.com/docs/operations-manual/current/docker/introduction/#docker-user