PublishCodeCoverageResults ignores reports

Required Information
Entering this information will route you directly to the right team and expedite traction.
Question, Bug, or Feature?
Type: Bug
Enter Task Name: PublishCodeCoverageResults
Environment

Server: Azure DevOps

Account name: mobiglobalsolutions
Team project name: Couponing Platform
Build definition name: OpenMobiFeeder
Build ID: 3491
Build #: 2<IP_ADDRESS>91

Agent: Hosted

Queue name: Hosted VS2017

Issue Description
"Publish code coverage results" ignores .htm files found in reports directory.
As you can see in the task logs below, reportDirectory is set to D:\a\1\s\TestResults\Coverage\Reports and the following files exist:

D:\a\1\s\TestResults\Coverage\Reports\index.htm
D:\a\1\s\TestResults\Coverage\Reports\Mobi724.OpenMobiFeeder.MsmqHandler_MsmqHandler.htm
D:\a\1\s\TestResults\Coverage\Reports\Mobi724.OpenMobiFeeder.Processor_Processor.htm
D:\a\1\s\TestResults\Coverage\Reports\Mobi724.OpenMobiFeeder.Processor_TransactionNameValueCollection.htm
D:\a\1\s\TestResults\Coverage\Reports\Mobi724.OpenMobiFeeder.UcsMainHandler_UcsMainHandler.htm

However, they are not uploaded as part of the code coverage artifact and, therefore, not shown on the code coverage tab of the build.
Last (known) working version was 1.148.0, as found in build 3476 of the same commit, of the same repository, with the same .yml file on the same build definition.
Task logs
##[debug]Evaluating condition for step: 'Publish coverage report'
##[debug]Evaluating: SucceededNode()
##[debug]Evaluating SucceededNode:
##[debug]=> True
##[debug]Result: True
##[section]Starting: Publish coverage report
==============================================================================
Task         : Publish Code Coverage Results
Description  : Publish Cobertura or JaCoCo code coverage results from a build
Version      : 1.150.2
Author       : Microsoft Corporation
Help         : [More Information](https://go.microsoft.com/fwlink/?LinkID=626485)
==============================================================================
##[debug]agent.TempDirectory=D:\a\_temp
##[debug]loading inputs and endpoints
##[debug]loading ENDPOINT_AUTH_PARAMETER_SYSTEMVSSCONNECTION_ACCESSTOKEN
##[debug]loading ENDPOINT_AUTH_SCHEME_SYSTEMVSSCONNECTION
##[debug]loading ENDPOINT_AUTH_SYSTEMVSSCONNECTION
##[debug]loading INPUT_CODECOVERAGETOOL
##[debug]loading INPUT_FAILIFCOVERAGEEMPTY
##[debug]loading INPUT_REPORTDIRECTORY
##[debug]loading INPUT_SUMMARYFILELOCATION
##[debug]loading SECRET_SYSTEM_ACCESSTOKEN
##[debug]loaded 8
##[debug]Agent.ProxyUrl=undefined
##[debug]Agent.CAInfo=undefined
##[debug]Agent.ClientCert=undefined
##[debug]Agent.SkipCertValidation=undefined
##[debug]agent.workFolder=D:\a
##[debug]loading inputs and endpoints
##[debug]loaded 0
##[debug]check path : D:\a\_tasks\PublishCodeCoverageResults_2a7ebc54-c13e-490e-81a5-d7561ab7cd97\1.150.2\task.json
##[debug]adding resource file: D:\a\_tasks\PublishCodeCoverageResults_2a7ebc54-c13e-490e-81a5-d7561ab7cd97\1.150.2\task.json
##[debug]system.culture=en-US
##[debug]codeCoverageTool=cobertura
##[debug]summaryFileLocation=D:\a\1\s\TestResults\Coverage\**\Cobertura.xml
##[debug]reportDirectory=D:\a\1\s\TestResults\Coverage\Reports
##[debug]additionalCodeCoverageFiles=null
##[debug]failIfCoverageEmpty=false
##[debug]System.DefaultWorkingDirectory=D:\a\1\s
##[debug]disable.coverage.autogenerate=undefined
##[debug]defaultRoot: 'D:\a\1\s'
##[debug]findOptions.allowBrokenSymbolicLinks: 'false'
##[debug]findOptions.followSpecifiedSymbolicLink: 'false'
##[debug]findOptions.followSymbolicLinks: 'false'
##[debug]matchOptions.debug: 'false'
##[debug]matchOptions.nobrace: 'true'
##[debug]matchOptions.noglobstar: 'false'
##[debug]matchOptions.dot: 'true'
##[debug]matchOptions.noext: 'false'
##[debug]matchOptions.nocase: 'true'
##[debug]matchOptions.nonull: 'false'
##[debug]matchOptions.matchBase: 'false'
##[debug]matchOptions.nocomment: 'false'
##[debug]matchOptions.nonegate: 'false'
##[debug]matchOptions.flipNegate: 'false'
##[debug]pattern: 'D:\a\1\s\TestResults\Coverage\**\Cobertura.xml'
##[debug]findPath: 'D:\a\1\s\TestResults\Coverage'
##[debug]statOnly: 'false'
##[debug]findPath: 'D:\a\1\s\TestResults\Coverage'
##[debug]findOptions.allowBrokenSymbolicLinks: 'false'
##[debug]findOptions.followSpecifiedSymbolicLink: 'false'
##[debug]findOptions.followSymbolicLinks: 'false'
##[debug]  D:\a\1\s\TestResults\Coverage (directory)
##[debug]  D:\a\1\s\TestResults\Coverage\Reports (directory)
##[debug]  D:\a\1\s\TestResults\Coverage\Reports\Cobertura.xml (file)
##[debug]  D:\a\1\s\TestResults\Coverage\Reports\index.htm (file)
##[debug]  D:\a\1\s\TestResults\Coverage\Reports\Mobi724.OpenMobiFeeder.MsmqHandler_MsmqHandler.htm (file)
##[debug]  D:\a\1\s\TestResults\Coverage\Reports\Mobi724.OpenMobiFeeder.Processor_Processor.htm (file)
##[debug]  D:\a\1\s\TestResults\Coverage\Reports\Mobi724.OpenMobiFeeder.Processor_TransactionNameValueCollection.htm (file)
##[debug]  D:\a\1\s\TestResults\Coverage\Reports\Mobi724.OpenMobiFeeder.UcsMainHandler_UcsMainHandler.htm (file)
##[debug]8 results
##[debug]found 8 paths
##[debug]applying include pattern
##[debug]1 matches
##[debug]1 final results
##[debug]Found 1 result(s) matching pattern: D:\a\1\s\TestResults\Coverage\**\Cobertura.xml
##[debug]Resolved summary file: D:\a\1\s\TestResults\Coverage\Reports\Cobertura.xml
Reading code coverage summary from 'D:\a\1\s\TestResults\Coverage\Reports\Cobertura.xml'
##[debug]Processed: ##vso[codecoverage.publish codecoveragetool=cobertura;summaryfile=D:\a\1\s\TestResults\Coverage\Reports\Cobertura.xml;]
##[section]Async Command Start: Publish code coverage
Publishing coverage summary data to TFS server.
 Lines- 0 of 158 covered.
 Branches- 0 of 126 covered.
Modifying Cobertura Index file
Publishing code coverage files to TFS server.
Uploading 1 files
##[debug]File: 'C:\Users\VssAdministrator\AppData\Local\Temp\Code Coverage Report_3491\summary3491\Cobertura.xml' took 282 milliseconds to finish upload
##[debug]Detail upload trace for file: Code Coverage Report_3491/summary3491/Cobertura.xml
##[debug]File 'Code Coverage Report_3491/summary3491/Cobertura.xml' will be uploaded in one chunk.
##[debug]Attempt '1' for uploading chunk '1' of file 'Code Coverage Report_3491/summary3491/Cobertura.xml'.
##[debug]Generate new HttpRequest for uploading file 'Code Coverage Report_3491/summary3491/Cobertura.xml', chunk '1' of '1'.
##[debug]Start uploading file 'Code Coverage Report_3491/summary3491/Cobertura.xml' to server, chunk '1'.
##[debug]Finished upload chunk '1' of file 'Code Coverage Report_3491/summary3491/Cobertura.xml', elapsed 245 (ms), response code 'Created'.
File upload succeed.
Published 'C:\Users\VssAdministrator\AppData\Local\Temp\Code Coverage Report_3491' as artifact 'Code Coverage Report_3491'
##[section]Async Command End: Publish code coverage
##[section]Finishing: Publish coverage report

This was done intentionally for #9704.
You can no longer provide your own reports and you have to let task auto generate them from a 'Cobertura' (case sensitive) summary file.

Are there no plans to add the previous functionality back? I can't really understand why this would have been removed.
There is now no way to produce the test coverage reports as part of a Docker build, which was our use case for that feature.

Am I in limbo between this feature being removed and the new one implemented then?
I have a working Cobertura xml log but can't use the html report. Instead I keep seeing this error in the build Code Coverage tab.
Code coverage report cannot be rendered as report HTML was not found. Please verify that "Report Directory" containing an HTML report was specified when publishing code coverage.
Is there any way to see whether the latest release has rolled out to my organization yet?

@alarobric If you're already generating a cobertura type summary, you can call the "publish code coverage results" task using 'Cobertura' as codeCoverageTool (note the upper-case C, it's case sensitive) and the task will automatically generate reports and publish them, from your summary.
Check #9704 & #9962 to see where this is going...

It turns out I was missing the upper-case C. I think there's a minor bug there, as I didn't get a warning that it was an unsupported setting (which I did when set to 'custom' later. But clearly it wasn't working right either.
Anyway, thanks for that, working now and looks pretty good.

Actually this dotnet tools is used under the covers to create the reports
https://github.com/danielpalme/ReportGenerator/
The question is, is it enough to in .net runtime to your worker pool where you run the CI jobs.


Missing uPickle 3.1.5 artifact for Scala 3

It seems something might have gone wrong during the publishing process because uPickle 3.1.5 artifact is missing among published versions.
However, the artifact for Scala 2.13 is there.
The missing artifact would also explain this commented out check.

Can you try using 3.2.0? 3.1.5 had some issues so i published a follow up release

Sure, thanks for making that available 😄.


First Commit to Actually get a site up and running

This should be the basic site as well as a post for registration for January 7th.

Hey @databasefairy, I am going to pull this in, thanks for kicking it off. Future reference (I will add it to the gitignore in a moment) you don't need to commit the public directory as it is generated by your source.


Fronend tasks

[x] Home Page
[ ] Catalog
[ ] About Us
[ ] Contact Us
[ ] AI Content
[ ] Login & Signup

Home Page Assigned to Pratik


Migration error using SQL Server

Laravel Version: 5.3.11
PHP Version: 7
Database Driver & Version: SQL Server

Description:
I am using schemas in my project, so migration down code looks like:
Schema::dropIfExists('mdm.tbl_group_user');
transforms into
'if exists (select * from INFORMATION_SCHEMA.TABLES where TABLE_NAME = \''.$blueprint->getTable().'\') drop table ['.$blueprint->getTable().']'
But in 'INFORMATION_SCHEMA.TABLES' schema and table name are separate columns, so this code fails and not droping anything

But in 'INFORMATION_SCHEMA.TABLES' schema and table name are separate columns, so this code fails and not droping anything

What do you mean by this?

nevermind, I got your point.

I think something is wrong, this sql doesn't look right for sql server, I think this should be the query:
select * from sysobjects where type = 'U' and name = ?

no?

ping @Ridlsan

No, it's not working either. Because in sysobjects tables are not with schema
I think php code should be rewritten to support schemas.
I think splitting by dot would be good enough.

No, it's not working either. Because in sysobjects tables are not with schema
I think php code should be rewritten to support schemas.
I think splitting by dot would be good enough.

Can you please open a PR with a suggested fix?

Ehm... no... dont know what is it ?

What is your version of SQL Server ?

2012

The Information_Schema views only show objects that are compatible with the SQL-92 standard. This means there is no information schema view for even quite basic constructs such as indexes (These are not defined in the standard and are left as implementation details.) Let alone any SQL Server proprietary features.

Could you please test this code?
(just temporarily modify your SqlServerGrammar.php file in /vendor)
    public function compileDropIfExists(Blueprint $blueprint, Fluent $command)
    {
        $parts = explode('.', $blueprint->getTable());

        $where = 'TABLE_NAME = \''.$parts[0].'\'';

        if (isset($parts[1]) {
            $where .= ' and TABLE_SCHEMA = \''.$parts[1].'\'';
        }

        return 'if exists (select * from INFORMATION_SCHEMA.TABLES where '.$where.') drop table ['.$blueprint->getTable().']';
    }

Edited code snippet.

Just to mention SQL Server supports creating tables using the syntax CREATE TABLE schema.table (if the schema already exists).

I have dug a bit into this, and you really shouldn't use the syntax someMethod('schema.table') as it is not expected to work.

So, considering the schema.table syntax happens to work in some cases, but only by luck and shouldn't be considered as supported, shall this issue be closed?


feat(core): removes multiple tokio runtimes and worker number setting.

What ❔

Why ❔

Checklist

[ ] PR title corresponds to the body of PR (we generate changelog entries from PRs).
[ ] Tests for the changes have been added / updated.
[ ] Documentation comments have been added / updated.
[ ] Code has been formatted via zk fmt and zk lint.
[ ] Spellcheck has been run via cargo spellcheck --cfg=./spellcheck/era.cfg --code 1.

This generally looks to work in CI, but i think that we should add some config variables deprication warning


debug

debug CI fails

Codecov Report

Merging #1157 (52c50b6) into master (cca76eb) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 52c50b6 differs from pull request most recent head cd6315d.


feat: Adding onLocalPlayerChanged to ClientScene for when localPlayer is changed

did anyone request that feature?
why exactly do we need it?

There is no other way to detect when the local player is set other than polling the variable
needed for this https://github.com/vis2k/Mirror/pull/1923
It allows for scripts like this to existing with having hard scene references
https://github.com/vis2k/Mirror/blob/3ed0fac33faafd2e01d26e6b358179b82665715d/Assets/Mirror/Examples/RoomCanvas/Scripts/TogglePlayerReadyButton.cs


Refactor: Navigation and NavigationEntry

This PR is a large-scale refactor of the Navigation and NavigationEntry components along with some necessary related updates. A future PR will update the layout store similar to #4283.

Attempts to simplify the DOM tree in a more accessible, semantic and intuitive manner, removing buttons nested within buttons and the need for certain helper functions and props
Renders the primary interactive element in the NavigationEntry as an <a> or <button> tag depending on context
Removes the immediatelyNavigate conditional, as the responsibility for this already exists as a wrapper around SourceWorkspace
Removes the currentHref store because, as far as I can tell, it is no longer necessary
Fixes some flickering issues present when resizing the Navigation bar
Updates the NavigationEntry context menu to use the new ShadCN dropdown components
Removes unnecessary prop and slot fragments from the navigation asset components
Adds a new NavigationMenuItem wrapper based on MenuItem
Updates the various MenuItems components to use the new NavigationMenuItem
Adds missing async/await keywords
Fixes a small binding issue with the command/shift click actions
Replaces the Navigation drawer handler with the new Resizer component
Updates the getEntityLink helper with the new role name for entities

A couple UX findings (that may or may not be related to these changes):

After clicking on a navigation entry, the context menu that opens-on-hover sometimes doesn't close after navigation and moving my cursor:
When returning to the application after at least ~30s have passed, the page gets reset (an outstanding issue with the app's connection to the runtime) and, in this case, the Model navigation entry bugs out:


New Features (IDFGH-7759)

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Please give as many details as you can. Include suggestions for useful APIs or interfaces if relevant.
Additional context
Add any other context or screenshots about the feature request here.

Hello sir,
can you please send me the documentation of changes between version esp-idf-4.0 and version  esp-idf-4.4? because sometimes my data will erase automatically. Mainly I need to know the changes between NVS, spiffs and flash memory.

@I-AM-Tushar-chauhan Please see our release notes for changes made by each iterative release. If there's something missing from the release notes, please feel free to reopen this issue.


k8s: wait for expected CRD version

Currently, Cilium agents explicitly wait for all expected CRDs to be present before proceeding with the subsequent steps. However, no check is performed on the version, which can be problematic on upgrade, as new agents may start before the Cilium operator managed to update the CRDs in case the schema changed. In turn, causing the first operations to act against the old schema, potentially dropping the content of new fields. Let's prevent this issue by explicitly ensuring that the version of the detected CRDs match at least the expected one, and continue waiting otherwise. This gives the operator time to perform the update.

Additionally wait for CRDs to match expected version on agents startup.

/test

I don't think we can make such change without better understanding all possible failure-cases

Agreed, as it can potentially have unintended consequences. I'd still prefer a loud failure compared to subtle race conditions due to agents operating against an unexpected CRD version though.

Imagine the following case

AFAIU, that case shouldn't be problematic, because the agents stuck due to the incorrect CRD version would be the ones corresponding to the old DaemonSet revision, while the ones associated with the new revision would be able to become ready, allowing the daemonset controller to further proceed with the rollout.

This makes me think of a case when let's say that cilium-operator does not come back up for whatever reason with new CRDs version and old revision agents crash/restart -> it updates them to the new revision. That would result in all agents being in NotReady state waiting for new CRD to come up waiting for new CRD from cilium-operator, while right now in most of the cases they can still ~normally operate even with version skew.

I agree that there could be potentially problematic corner cases if multiple components fail at the same time. That said, I personally think that as long as they are rare enough, we shouldn't worry that much, as it is highly probably that there would be serious issues regardless in that case.

I honestly lean towards the opinion that agents should always be able to work with two consecutive versions of CRD due to the quite normal eventual consistency nature of Kubernetes (and also the fact we don't use regular CRD versions and operator is registering CRDs). If for example, some field of CRD is missing because of an incorrect version, it should be the resource-owner responsibility to update that field once the version supports it - this is still not ideal in case if CRD schema is never updated, but at least it ensures that rollbacks should be smooth and new field dependency is not "strict".

I agree that agents need to be able to work correctly with both versions during upgrade. That said, I personally think that making sure that the CRD version matches the expected one would simplify this, as avoiding the need of custom logic to realize that the CRD got updated, and that a new field needs to written again.

It seems like there is a possibility that if the number of unhealthy pods due to this rollback+restart situation exceeded maxUnavailable, that the rollback would proceed by bringing up additional pods of the older (would-init) version, making the concern an non-issue. However, this possible happy path might be limited by a low value for maxSurge.

Hmm, it seems that surge limits are ignored if a pod is already unavailable:
If the old pod becomes unavailable for any reason
(Ready transitions to false, is evicted, or is drained) an updated pod is
immediatedly created on that node without considering surge limits.

An alternative to expecting a specific CRD version is using ConversionWebhooks, however as we know, expecting a CNI init to depend on webhooks is essentially a non-starter.

Yep. And it wouldn't even have helped in this case, as the issue was that the new agents tried to write a newly added field before the CRD was applied, as that's performed by the operator on startup.

Converting back to draft for the moment, while further investigating the possible implications of this change.


Release 0.6.0.beta2 - SLI Sta'lone

Keptn 0.6.0.beta2 - SLI Sta'lone
Release Date: <= 6.12.2019

Step 1 - Release of keptn/examples
Result: examples> examples:0.6.0.beta2

[x] all feature/bugfix/hotfix branches merged into master
[x] inactive branches deleted
[x] Update README.md with links to Maintained Examples and Keptn Usecases (not for beta releases)
[x] examples on GitHub released based on release notes
[x] master branch tagged (happens automatically with GitHub release)

Step 2 - Release of keptn/spec (CKR)
Result: spec > spec:0.1.1 (patch release)
Note: Spec repo has ongoing discussions within PRs (and branches).

[x] make sure all relevant PRs/discussions are resolved and merged
[x] GitHub Release/Tag on master branch
[x] update git submodule for specification directory in keptn release branch (e.g., cd specification && git fetch && git checkout 0.1.1 && cd .. && git add specification && git commit -m "updated spec to 0.1.1" && git push)
[x] note spec version in Keptn Release

Step 3 - Release of Keptn go-utils
Result: go-utils > go-utils:v0.5.0

[x] all feature/bugfix/hotfix branches merged into develop
[x] inactive branches deleted
[x] on develop branch: release notes are up-to-date
[x] on develop branch: version bump
[x] on develop branch: releasenotes_develop.md renamed to releasenotes_Vx.x.x.md
[x] on develop branch: git commit
[x] release-x.x.x branch created: git checkout -b release-x.x.x
[x] PR from release-x.x.x to master
[x] go-utils on GitHub released based on release notes (please mind the prefix v for the version name)
[x] master branch tagged
[x] PR from master to develop
[x] new (empty) release notes (releasenotes_develop.md) file on develop branch

Step 4 - Release of keptn-contrib services
foreach:

[x] dynatrace-service > dynatrace-service:0.5.0.latest

[x] dynatrace-sli-service > dynatrace-sli-service:0.2.0.latest

[x] prometheus-service > prometheus-service:0.3.0.latest

[x] prometheus-sli-service > prometheus-sli-service:0.1.0.latest

[ ] servicenow-service > servicenow-service:0.1.x.latest
begin

[ ] all feature/bugfix/hotfix branches merged into develop
[ ] inactive branches deleted
[ ] on develop branch: use latest go-utils (run: go get<EMAIL_ADDRESS>[ ] on develop branch: release notes are up-to-date
[ ] on develop branch: version bump (if necessary; some services use git tags for that)
[ ] on develop branch: releasenotes_develop.md renamed to releasenotes_Vx.x.x.md
[ ] on develop branch: git commit
[ ] release-x.x.x branch created: git checkout -b release-x.x.x
[ ] on release-x.x.x branch: deploy/*.yaml updated, i.e., use x.x.x.latest tags for service images
[ ] changes pushed to release branch: git push > Travis built image > see DockerHub

end

Step 5 - Release of Keptn (JB)

[ ] upgrade script from keptn 0.4.0, 0.5.0 to keptn 0.6.0 available
[x] each service has a README.md explaining the service's core functionality
[x] update version compatibilities in README.md of keptn/keptn
[x] all feature/bugfix/hotfix branches merged into develop
[x] inactive branches deleted
[x] installer/manifests/keptn/uniform-services.yaml updated, i.e., use x.x.x.latest tags
[x] installer/manifests/keptn/uniform-services-openshift.yaml updated, i.e., use x.x.x.latest tags
[x] installer/manifests/keptn/uniform-distributors.yaml updated, i.e., use x.x.x.latest tags
[x] installer/manifests/keptn/uniform-distributors-openshift.yaml updated, i.e., use x.x.x.latest tags
[x] installer/manifests/keptn/core.yaml updated, i.e., use x.x.x.latest tags for service images
[x] installer/manifests/keptn/continuous-deployment.yaml updated, i.e., use x.x.x.latest tags
[x] installer/manifests/keptn/continuous-operations.yaml updated, i.e., use x.x.x.latest tags
[x] installer/manifests/keptn/quality-gates.yaml updated, i.e., use x.x.x.latest tags
[x] installer/manifests/logging/mongodb-datastore/k8s/mongodb-datastore.yaml updated, i.e., use x.x.x.latest tags
[x] installer/manifests/logging/mongodb-datastore/openshift/mongodb-datastore.yaml updated, i.e., use x.x.x.latest tags
[x] installer/manifests/logging/mongodb-datastore/mongodb-datastore-distributor.yaml updated, i.e., use x.x.x.latest tags
[x] installer/manifests/installer/installer.yaml updated, i.e., reference to installer:0.x.x.latest
[x] use latest go-utils (run: go get<EMAIL_ADDRESS>[x] release notes are up-to-date
[x] version bump to 0.6.0.beta2
[x] releasenotes_develop.md renamed to releasenotes_Vx.x.x.md
[x] on develop branch: git commit
[x] release-x.x.x branch created: git checkout -b release-x.x.x
[x] changes pushed to release branch: git push > Travis built image > see DockerHub & see GCP Cloud Storage

Check on DockerHub:

[x] api.0.6.0.beta2.latest
[x] bridge.0.6.0.beta2.latest
[x] configuration-service.0.6.0.beta2.latest
[x] distributor.0.6.0.beta2.latest
[x] eventbroker-go.0.6.0.beta2.latest
[x] gatekeeper-service.0.6.0.beta2.latest
[x] helm-service.0.6.0.beta2.latest
[x] jmeter-service.0.6.0.beta2.latest
[x] lighthouse-service.0.6.0.beta2.latest
[x] mongodb-datastore.0.6.0.beta2.latest
[x] openshift-route-service.0.6.0.beta2.latest
[x] shipyard-service.0.6.0.beta2.latest
[x] wait-service.0.6.0.beta2.latest
[x] remediation-service.0.6.0.beta2.latest
[x] installer.0.6.0.beta2.latest

Check on GCP Cloud Storage:

[x] keptn cli 0.6.0.beta2-20191204.1329

Step 6 - Preparation phase

[ ] keptn.sh/docs is up-to-date
[ ] keptn-sockshop/carts released

Step 7- Test phase

[ ] upgrade script tested
[ ] download of keptn CLI 0.6.0.beta2.latest > LINK to CLI
[ ] install keptn cli and execute: keptn version
[ ] pre-view of keptn.sh/docs > LINK
[x] GCP - GKE - Keptn core team

[x] (JB) installation: keptn install -p=gke --keptn-version=release-0.6.0.beta2 --use-case=quality-gates

[x] quality gates UC completed according to keptn.sh/docs with Dynatrace
[x] quality gates UC completed according to keptn.sh/docs with Prometheus

[x] installation: keptn install -p=gke --keptn-version=release-0.6.0.beta2 (FB)

[x] all tutorials completed according to keptn.sh/docs without monitoring
[x] all tutorials completed according to keptn.sh/docs with Dynatrace
[x] all tutorials completed according to keptn.sh/docs with Prometheus

[x] bridge entries verified
[x] delete a project used in the use cases: keptn delete project
[x] uninstall Keptn from cluster: keptn uninstall

[x] (CKR) Azure - AKS
[x] (AG) AWS - EKS
[ ] Pivotal - PKS
[x] (FB) OpenShift 3.11
[x] (AG) Kubernetes (e.g., Rancher)

Step 8 - Official release of keptn-contrib services
foreach:

[x] dynatrace-service > dynatrace-service:0.5.0

[x] dynatrace-sli-service > dynatrace-sli-service:0.2.0

[x] prometheus-service > prometheus-service:0.3.0

[x] prometheus-sli-service > prometheus-sli-service:0.1.0

[x] servicenow-service > servicenow-service:0.1.x
begin

[ ] check if all PRs are merged
[ ] on release-x.x.x branch: deploy/*.yaml updated, i.e., reference to tag
[ ] PR from release-x.x.x to master
[ ] Travis built image > see DockerHub
[ ] service on GitHub released based on release notes
[ ] master branch tagged
[ ] PR from master to develop
[ ] new (empty) release notes (releasenotes_develop.md) file on develop branch

end

Step 9 - Official release of Keptn
WARNING: Watch out, some steps are only for GA releases, not for alpha, beta, etc...

[x] on release-x.x.x branch: installer/manifests/keptn/uniform-services.yaml updated, i.e., reference to tag
[x] on release-x.x.x branch: installer/manifests/keptn/uniform-services-openshift.yaml updated, i.e., reference to tag
[x] on release-x.x.x branch: installer/manifests/keptn/uniform-distributors.yaml updated, i.e., reference to tag
[x] on release-x.x.x branch: installer/manifests/keptn/uniform-distributors-openshift.yaml updated, i.e., ref to tag
[x] on release-x.x.x branch: installer/manifests/keptn/core.yaml updated, i.e., env variables reference to tag
[x] on release-x.x.x branch: installer/manifests/keptn/core-distributors.yaml updated, i.e., env variables reference to tag
[x] _on release-x.x.x branch:_installer/manifests/logging/mongodb-datastore/k8s/mongodb-datastore.yaml updated, i.e., use tag tags for mongodb-datastore image
[x] on release-x.x.x branch: installer/manifests/logging/mongodb-datastore/openshift/mongodb-datastore.yaml updated, i.e., use tag tags for mongodb-datastore image
[x] on release-x.x.x branch: installer/manifests/logging/mongodb-datastore/mongodb-datastore-distributor.yaml updated, i.e., use tag tags for distributor image
[x] on release-x.x.x branch: installer/manifests/installer/installer.yaml updated, i.e., reference to tag
[x] on release-x.x.x branch: upgradeKeptn.sh updated, i.e., reference to tag
[ ] PR from release-x.x.x to master (only for GA releases, not for alpha, beta, etc...)
[x] Travis built image > see DockerHub

Check on DockerHub:

[x] api.0.6.0.beta2
[x] bridge.0.6.0.beta2
[x] configuration-service.0.6.0.beta2
[x] distributor.0.6.0.beta2
[x] eventbroker-go.0.6.0.beta2
[x] gatekeeper-service.0.6.0.beta2
[x] helm-service.0.6.0.beta2
[x] jmeter-service.0.6.0.beta2
[x] lighthouse-service.0.6.0.beta2
[x] mongodb-datastore.0.6.0.beta2
[x] openshift-route-service.0.6.0.beta2
[x] remediation-service.0.6.0.beta2
[x] shipyard-service.0.6.0.beta2
[x] wait-service.0.6.0.beta2
[x] installer.0.6.0.beta2

Check on GCP Cloud Storage:

[x] keptn cli 0.6.0.beta2

Release Keptn

[x] Keptn on GitHub released based on release notes
[x] release-x.x.x branch tagged with x.x.x
[x] PR from release-x.x.x (and depending on the changes also from master) to develop
[x] new (empty) release notes (releasenotes_develop.md) file on develop branch

Final steps

[ ] update Get Started on keptn.sh with newest release (only for GA, not for alpha/beta releases)
[ ] update S3 keptn bucket with newest release (only for GA, not for alpha/beta releases)
[x] release of keptn.sh
[x] send out Slack/Twitter notification
[ ] send out Release-Email

Done!


Whether there is an inconsistency way to calculated [user] time under Windows and Linux?

Hi~
If we run a multi-threaded instance under windows and Linux, the result of vvencFFapp output time are quite different.  Whether there is an inconsistency way to calculated [user] time under Windows and Linux?
Under Linux, [user] time calculates the CPU time and [elapsed] time calculates the real time, which makes the two results far apart. However, the [user] time is close to the [elapsed] time under windows.
For example, when we encoded the same sequence, the output time under windows shows:
Total Time:     2444.479 sec. [user]     2444.479 sec. [elapsed]
the output time under Linux shows:
Total Time:     8355.226 sec. [user]     2199.891 sec. [elapsed]

Yes. On Linux the one output reports CPU time and the other the wallclock time. The former will be larger than the latter in multi-threading encoding. On Windows both outputs report the wallclock time.
If someone knows a fix this would be highly appreciated.


NineSlice: would like to change texture, height and width at runtime

I want to use the NineSlice for some simple ui elements and get them to scale themselves.
It would be nice if there was the possibility that I could change the texture, height and width at runtime.
Would that be possible?
https://github.com/17cupsofcoffee/tetra/blob/5730da37d9a2d748a97c8b4f31db9bcd8d5167f2/src/graphics/ui.rs#L10

There's no technical reason why this can't be done, I just haven't implemented it yet :) I will add it in the next version.

0.2.15 has just been released with this functionality included - I also added similar stuff to Text and Animation, for the sake of consistency.

👍 thanks for the quick implementation


functions framework with google pub/sub emulator

I am attempting to replicate our cloud functions locally but they all leverage pub/sub. I can easily use the pub/sub emulator but I don't see how to subscribe to a topic on the local emulator using the local cloud functions? Am I missing something, how would you be able to run this locally and emulate your workflow without this?
Would anyone have any recommendations on how to run the full stack locally for local development environments?
I was assuming I would be able to set the pub/sub emulator env var and the cloud function would automatically subscribe and pull like it does in our testing and production envs.
Thanks for the help!

Hi @baldrich-randori, thanks for reporting this issue.
The framework is not currently compatible with the Pub/Sub emulator (see #23). Once it is, we will document how to use them together.
Closing as a duplicate of #23.


No response/callback when calling gapi.auth2.authorize

When my page first loads I call:
    gapi.load('client:auth2:picker:signin2', {
      callback: () => {
        gapi.client.init({
          apiKey: API_KEY,
        }).then(() => {
          console.log('GAPI Loaded')
          this._gapiLoadedResolve(true)
        })
      }
    })

Then I have the user login:
  renderSigninButton = (id) => {
    gapi.signin2.render(id, {
      'scope': SIGNIN_SCOPES,
      'width': 240,
      'height': 50,
      'longtitle': true,
      'theme': 'dark',
      client_id: CLIENT_ID,
      ux_mode: 'redirect',
      response_type: 'code token id_token',
      redirect_uri: 'http://localhost:3000/login-callback',
    })
  }

It successfully redirects to my specified redirect URI and then I try and authorize the user by calling:
    gapi.auth2.authorize({
      client_id: CLIENT_ID,
      scope: SIGNIN_SCOPES,
      response_type: 'code',
      prompt: 'none',
    }, (response) => {
      if (response.error) {
        // An error happened!
        return
      }
    }, (err) => {
      console.log(err)
    })

However, neither one of my callbacks passed to authorize is ever called and no errors are shown in the console. Shouldn't I be getting a response object with an error property?

Duplicate of #260, closing this one. Working on the issue.

@TMSCH I am having the same problem - with third-party cookies disabled gapi.auth2.authorize with prompt:'none' doesn't invoke the callback the first time it's called. Interestingly, if it's executed for the second time it throws {error: "Cookies are not enabled in current environment."} instead of invoking the callback.
The older gapi.auth.authorize has the same problem of not responding on the first execution with immediate:true. On the second execution it properly invokes the callback with the same error object instead of throwing which seems more consistent with the API documentation

callback - A function called with a gapi.auth2.AuthorizeResponse object after the request has been completed (either successfully or with a failure).

I understand that the API doesn't support having third-party cookies disabled (#260) but it should report the failure.
Here's a short replication page (requires setting a client id)

@vladimir-i thanks for the report. This indeed seems inconsistent. We are working on fixing such issue.

Just hit the same problem with gapi.auth2.authorize not calling back with an error. In my case, the source problem was different: I hadn't whitelisted my origin for the clientId I was using. It took us a while to realize this was failing since the callback wasn't invoked, and even once we'd found it to be failing I ultimately had to just guess the causative issue.
Unless it's already been fixed at HEAD, could this ticket be reopened to track the bug of not invoking the callback on errors? Seems to be a more general bug with the library (not specific to 3p storage #260).

@calbach  Reopening to track the issue with error not being surfaced.

I have the same problem. (Win 10 & IE 11)
I use gapi.auth.authorize, but similar events occur even if I change to gapi.auth2.authorize.
I think that the setting of the Internet option also affects it because it will not occur when IE is initialized.

Any updates on this? Facing the same issues

I'm having this problem when trying to embed google analytics dashboard to my site. I follow this guide https://developers.google.com/analytics/devguides/reporting/embed/v1/getting-started?authuser=1&hl=es-419

Although it is an article in Japan, it solved by the following measures.
https://qiita.com/hida/items/5570e390781b6f118a4f

I see the same error in Firefox, with no callback called the first time. Running it a second time, I get an authResult.error message of "localStorage is not available in the current environment." Logging the output of .authorize I see the following:

Where is your onsuccess function?
function renderGoogleSignInButton() {
gapi.signin2.render('gSignIn', {
onsuccess: function(user) {
googleUser = user
console.log('Logged in as: ' + googleUser.getBasicProfile().getName())
},
onerror: function(err) {
// console.log('Google signIn2.render button err: ' + err)
setTimeout(function() {
renderGoogleSignInButton()
}, 1000)
}
})
}

2019, the bug is happily popping.

hah, mid 2020 and this is still an issue...

2021 and still happening 🙀

This is still happening! Only on chrome mobile iOS in my case, not any other device/browser combination.

Possibly related: https://github.com/anthonyjgrove/react-google-login/issues/451

I solved the problem by updating my Content Security Header and allowing 'self' and 'accounts.google.com' as a permitted frame-src.

I solved the problem by updating my Content Security Header and allowing 'self' and 'accounts.google.com' as a permitted frame-src.

Thank you, this was the clue I need to work out what was causing my problem.
In my case the picker was working on localhost (with a dummy domain in /etc/hosts to match my configured javascript origins in the OAuth2 client settings) running on the django dev server, but didn't work when the same code and API key/client ID/app ID config was deployed to a staging server.
The observed behaviour when using the Picker 'hello world' was that the OAuth2 popup would appear and work as expected, but after it closed nothing happened. The tokenClient.callback was never called, nothing was logged to the console, and no network requests were made.
The problem was that nginx on the staging server was setting a Cross-Origin-Opener-Policy: same-origin header which stopped the picker from appearing. Removing the header with proxy_hide_header Cross-Origin-Opener-Policy; makes the picker appear as expected.


Add back-to-top scroll up button in readme

Deep Learning Simplified Repository (Proposing new issue)
:red_circle: Project Title :  Add back-to-top scroll up button in readme
:red_circle: Aim : The aim is to enhance the README file by implementing a button at the button for easier navigation in lengthy readme file.

:red_circle::yellow_circle: Points to Note :

The issues will be assigned on a first come first serve basis, 1 Issue == 1 PR.
"Issue Title" and "PR Title should be the same. Include issue number along with it.
Follow Contributing Guidelines & Code of Conduct before start Contributing.

:white_check_mark: To be Mentioned while taking the issue :

Full name :  Tatheer Fathima
GitHub Profile Link :  T-Fathima
Email ID<EMAIL_ADDRESS>Participant ID (if applicable): T-Fathima
What is your participant role? (Mention the Open Source program) gssoc-ext contributor.

@abhisheks008 I would like to work on it.
Please assign it to me.

Happy Contributing 🚀
All the best. Enjoy your open source journey ahead. 😎

No required!


second vnc connection is rejected

I usually use vncviewer to monitor the ib-gateway in the container. The first vncviewer connection is fine, but second is always rejected. I got an 'End of stream' error for second connection.
For other vnc containers, I usually use 'vncviewer -shared' to solved this problem. but it does not work for this container. any idea?

Would it be expected that the second connection would share the same session as the first?  If so, we might be able to add the parameter -alwaysshared to the vnc launch args.
(frankly, my VNC knowledge is limited, @mvberg may be of better help here)

Thanks


Auto zoom too much on long pages

Hello and thank you very much for reading my feedback and implementing it so quickly. But the auto zoom, zooms too much into the pictures and I have to zoom out a little every page to make it fit into the screen.
Please see attached photo. First picture is the auto zoom and second picture is me manually adjusting the page to fit the screen.
I also had the idea maybe the long pages could stack on top of each other to read from top to bottom infinitely.
Thank you for your hard work.

If you want the images be one on top of the other you can use the single column mode
https://github.com/Dar9586/NClientV2/issues/85


Add Gemini syntax file

The text/gemini media type is defined in Gemini specification.
Gemini syntax highlighting for other editors:

gemini-vim-syntax - vim
gemini.el - emacs
gemini.kak - kakoune
gemini.nanorc - nano
gemini-language-support - vscode

Hi there,
my Debian Micro version (2.0.8) doesn't recognize the GMI format, should I put this gemini.yaml file somewhere to make it working?
Thanks,
D.

Hi There...
Is there a way, when is active "softwrap" and 'wordwrap", that each wrapped lines after the link combination "=>" start at the fourth column rather than at first column, right underneath this "=>" ?
Thanks in advance,
D.


Remove documentation about VRRP master discovery, and add documentati…

…on about http load balancer master discovery
No known customers user VRRP, so it's being dropped entirely in DC/OS 1.8. The HTTP load balancer should have been documented
PR that removes VRRP from DC/OS: https://github.com/dcos/dcos/pull/140

@sascala ping for edit

@cmaloney I made some editing suggestions in the form of comments.

@sascala Updated with your suggestions, just some additional tweaks on the list of ports.

LGTM


[wip] Support configure retentionConfig in MCO CR

https://github.com/open-cluster-management/backlog/issues/11628
Signed-off-by: Song Song Li<EMAIL_ADDRESS>

Depends on https://github.com/brancz/locutus/pull/46 and https://github.com/open-cluster-management/multicluster-observability-operator/pull/455

/lgtm


[SuperEditor] no longer possible to pass SoftwareKeyboardHandler to SuperEditor

Until 60f045149bbb24b68ea90b31c3d1e09a893b5658 it was possible to pass a custom implementation of SoftwareKeyboardHandler to SuperEditor, which allowed to customize the implementation of performAction.
Is there another way to achieve the same goal?

Cc @matthew-carroll


returning extra bogus wap

scan keeps returning this extra bogus wap.  Thei global installed cli version doesn't return this only from a programatic call to scan.
{ ssid: '--',
bssid: 'FA:8F:CA:60:8E:F2',
mac: 'FA:8F:CA:60:8E:F2',
mode: 'Infra',
channel: 3,
frequency: 2422,
signal_level: -50.5,
security: '',
security_flags: { wpa: '(none)', rsn: '(none)' },
quality: 99 } ]

for now I'll just filter it.   That would be using nmcli on linux box

nope it's showing up in cli as well


[do not merge] fix(ci): s/pd-extreme/pd-ssd/ to avoid quotas

Motivation

We are hitting gcloud quota limits for use of pd-extreme disks per region/zone in us-central1.
Solution

Switch test-full-sync.yml to use pd-ssd instead, which has more amenable limits.
Review

@gustavovalverde
Reviewer Checklist

[ ] Full sync test doesn't slow down too much

I'd like to try #3766 and the quota increase first.
pd-ssd might cause performance issues, can you run a manual full sync test to check?

Marked as do-not-merge for now while we test both of these

I'd like to try #3766 and the quota increase first.
pd-ssd might cause performance issues, can you run a manual full sync test to check?

Marked as do-not-merge for now while we test both of these

Kicked off full sync test: https://github.com/ZcashFoundation/zebra/actions/runs/1960310775

Failed at %99.988

@gustavovalverde @teor2345 I could close this for now

I think we'll have to fallback to pd-ssd, as a ~90% of our billing cost so far this month is being caused just by pd-extreme

I'm approving, I'll leave the decision to remove the do-not-merge label to you. But I don't see keeping pd-extreme as cost effective.

I think we'll have to fallback to pd-ssd, as a ~90% of our billing cost so far this month is being caused just by pd-extreme 😓

I was going to ask about disks in the engineering sync we just had. But I didn't get a chance.
This seems like a good idea, we should fix performance issues by changing Zebra code.

Failed at %99.988

pd-ssd is about the same as pd-extreme, so this change shouldn't have any CI performance impacts.


Add config to updateDOM in ParagraphNode

The standard ParagraphNode does not expose the config property available to its updateDOM method.
This can make for a nasty TypeScript problem when creating a custom ParagraphNode for the replacement API. The reason is that TypeScript will insist that there's no such config property. But there is. This PR will convince TS otherwise!
I encountered this problem while building a LinedCodeNode. This PR is 1/2 that will let it work without patches.
-j

@trueadm Sorry, do I need to do something else here? I see the failing and timed out tests, but I'm not sure how this pull request can cause them.
I ran npm run test-e2e-collab-ci-webkit, for example, on my local main branch (a fork), and everything failed or timed out there, too.
Maybe there's something wrong with some of the test suites? Please let me know, I'm at a bit of a loss.


fix(button): skeleton props object is now correctly spread on skeleton shimmer

Previously, the skeleton props were typed but not applied to the shimmer. This change also renames
the prop - but t
fixes #322

:tada: This PR is included in version 1.11.2 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


check filteredItems IDs as well for triggering onFilteredItemsChanged event

updated to trigger event when these are called

setFilter
setItems
setGrouping
updateItem

the ones that don't need to trigger it (correct if I'm wrong here)

expandCollapseAllGroups
expandCollapseGroup
fastSort
sort

removed the rest that aren't used
state var is required for withTransaction (beginUpdate & endUpdate)


Command to toggle stacking windows?

I see that you can stack windows using the command yabai -m window --stack north, south, east, west. However, I cannot seem to unstack them afterwards. I've tried warping the window but that doesn't seem to work. Is there a command that can achieve this? It would also be helpful if there was a command to toggle it. Maybe something like attaching or detaching the window you're focused on to or from a stack if that makes any sense?

yabai-stack north
dir=$1
# dir should be one of east,west,north,south

window=$(/opt/homebrew/bin/yabai -m query --windows --window | /opt/homebrew/bin/jq -r '.id')

# Stack this window onto existing stack if possible
/opt/homebrew/bin/yabai -m window $dir --stack $window
if [[ $? -ne 0 ]]; then
    # otherwise, float and un-float this window to reinsert it into
    # the bsp tree as a new window
    /opt/homebrew/bin/yabai -m window --insert $dir
    /opt/homebrew/bin/yabai -m window $window --toggle float
    /opt/homebrew/bin/yabai -m window $window --toggle float
fi

I'm having the same issue. Is this just a work around?


DEP: Remove setup.py install.

scipy is now using pep517-based pyproject.toml to install. It must be run by pip (or the pep517 project) to install reliably. This makes this code vestigial.

Reference issue
Closes gh-12727.
What does this implement/fix?
python setup.py install is unreliable because it needs numpy.distutils but can't declare that dependency without also running a bunch of code that tries to import that. It's probably been broken for a long time. scipy has already migrated to PEP 517 to deal with this, so this completes the transition by deprecating setup.py install completely:
(venv) [kousu@laptop scipy]$ python setup.py install

`setup.py install` is not supported, use one of the following instead:

  - `pip install .`       (from a git repo or downloaded source
                           release)
  - `pip install scipy`   (last SciPy release on PyPI)

Add `--force` to your command to use it anyway if you must (unsupported).

Hmm, I don't use pip locally because it has problems dealing with installs of multiple versions in arbitrary order.

-1

If the problem is that numpy isn't installed in the build environment then shouldn't the fix be to unconditionally include numpy in the setup_requires instead of dropping it?

I still use python setup.py install locally pretty frequently, so I think I'm with Evgeni

Agreed, this does not seem like the right solution. The issue you opened has an actual problem statement, so let's discuss there what the correct solution is.

On August 15, 2020 2:59:23 PM EDT, peterbell10<EMAIL_ADDRESS>wrote:

If the problem is that numpy isn't installed in the build environment
then shouldn't the fix be to unconditionally include numpy in the
setup_requires instead of dropping it?

I hoped that too but I tried and it doesn't work because setup.py needs to load numpy.distutils in order to call setup() in the first place.
PyPA is in the process of deprecating most of setuptools. They've mentioned this lots of times on their bug trackers, but I don't know of an obvious announcement on the tools themselves or on any of their websites. They want everyone to migrate to pep517. (I wish there was a better upgrade path planned)

On August 15, 2020 2:59:23 PM EDT, peterbell10<EMAIL_ADDRESS>wrote:

If the problem is that numpy isn't installed in the build environment
then shouldn't the fix be to unconditionally include numpy in the
setup_requires instead of dropping it?

Maybe keep install but at the very least setup_requires needs to go away. Look at my bug report: setup_requires is not doing its job.


621 nats agent cgroup iptables

Add IPTables rules to prevent processes other than the agent on a bosh deployed vm to connect to director nats.
The if-up.d script will parse out the the nats address from settings.json (once it is available). If the URL begins with 'nats://' (vm deployed by a running director) it adds the iptables rules to prevent access to the director nats. If the URL begins with 'https://' it does nothing (assuming it is a create env).

Oh, I see that #198 is quite the same PR, so I won't repeat my comments there 😅
Is this patch exactly the same as #198, and just meant to be applied on a different branch? Then two PRs might not be necessary. We're used to cherry-picking things from branches to branches, in our unfortunately still-complex branch setup here in this repo.
One question also, does this need forward-porting to Bionic stemcells?

There is also a PR for bionic: https://github.com/cloudfoundry/bosh-linux-stemcell-builder/pull/196

@bgandon lets discuss how to deal with PR's with the same changes against multiple branches in the working group meeting later today

Thanks @nouseforaname


Pre populate placeholders

What does this change?
An alternative to https://github.com/guardian/contributions-service/pull/174, but this time closer to the Frontend implementation. The aim is to guarantee that users are never served variants with placeholders leftover ('%%...%%').
How can we measure success?
If it is not horribly slow (I'll run some benchmarks) this approach seems superior to the alternative PR both in terms of simplicity and reliability.

@tomrf1 hey, this might be a better approach. What do you think?

@tomrf1 in the other branch, we check pre-populating placeholders for the presence of unexpected placeholders. Here, we check post-populating, so can simply ask: are any placeholders (or more accurately the pattern '%%') present?

Some perf data from locally below. This really isn't that useful though - it's inconclusive and is running on my laptop. I'll monitor the PROD data when merged and track the impact there.
$ vegeta attack -targets target.txt -rate=10/s -duration=60s | tee results-pre.bin | vegeta report
Requests      [total, rate]            600, 10.02
Duration      [total, attack, wait]    59.903859656s, 59.90205s, 1.809656ms
Latencies     [mean, 50, 95, 99, max]  2.020191ms, 1.810337ms, 2.46306ms, 3.534245ms, 81.230282ms
Bytes In      [total, mean]            2432400, 4054.00
Bytes Out     [total, mean]            1960800, 3268.00
Success       [ratio]                  100.00%
Status Codes  [code:count]             200:600
Error Set:
$
$ vegeta attack -targets target.txt -rate=30/s -duration=60s | tee results-pre.bin | vegeta report
Requests      [total, rate]            1800, 30.01
Duration      [total, attack, wait]    59.971786603s, 59.970261s, 1.525603ms
Latencies     [mean, 50, 95, 99, max]  2.002572ms, 1.687202ms, 3.029692ms, 3.786073ms, 94.262025ms
Bytes In      [total, mean]            7297200, 4054.00
Bytes Out     [total, mean]            5882400, 3268.00
Success       [ratio]                  100.00%
Status Codes  [code:count]             200:1800
Error Set:
$ vegeta attack -targets target.txt -rate=60/s -duration=60s | tee results-pre.bin | vegeta report
Requests      [total, rate]            3600, 60.01
Duration      [total, attack, wait]    59.986982129s, 59.985504s, 1.478129ms
Latencies     [mean, 50, 95, 99, max]  1.912015ms, 1.563362ms, 2.348875ms, 2.983579ms, 111.280539ms
Bytes In      [total, mean]            14594400, 4054.00
Bytes Out     [total, mean]            11764800, 3268.00
Success       [ratio]                  100.00%
Status Codes  [code:count]             200:3600
Error Set:
$ vegeta attack -targets target.txt -rate=10/s -duration=60s | tee results-pre.bin | vegeta report
Requests      [total, rate]            600, 10.02
Duration      [total, attack, wait]    59.902912403s, 59.90147s, 1.442403ms
Latencies     [mean, 50, 95, 99, max]  2.713334ms, 1.691715ms, 2.426994ms, 4.205013ms, 271.840893ms
Bytes In      [total, mean]            2462400, 4104.00
Bytes Out     [total, mean]            1960800, 3268.00
Success       [ratio]                  100.00%
Status Codes  [code:count]             200:600
Error Set:
$ vegeta attack -targets target.txt -rate=30/s -duration=60s | tee results-pre.bin | vegeta report
Requests      [total, rate]            1800, 30.01
Duration      [total, attack, wait]    59.972865758s, 59.971027s, 1.838758ms
Latencies     [mean, 50, 95, 99, max]  3.398603ms, 1.62972ms, 2.581716ms, 3.751592ms, 371.122998ms
Bytes In      [total, mean]            7387200, 4104.00
Bytes Out     [total, mean]            5882400, 3268.00
Success       [ratio]                  100.00%
Status Codes  [code:count]             200:1800
Error Set:
$ vegeta attack -targets target.txt -rate=60/s -duration=60s | tee results-pre.bin | vegeta report
Requests      [total, rate]            3600, 60.01
Duration      [total, attack, wait]    59.988105161s, 59.986493s, 1.612161ms
Latencies     [mean, 50, 95, 99, max]  1.6658ms, 1.503581ms, 2.263893ms, 2.684145ms, 75.500508ms
Bytes In      [total, mean]            14774400, 4104.00
Bytes Out     [total, mean]            11764800, 3268.00
Success       [ratio]                  100.00%
Status Codes  [code:count]             200:3600
Error Set:

The PROD data is less good. I see a (very roughly) ~50% increase in latency at the 95th percentile:

(you can identify the deploy as the initial spike).
The AWS graph is less useful as only an average, but we still see a 50% increase:

Closing as performance hit is too big for my liking.


add v2.0 to ug

Pull Request Test Coverage Report for Build 606

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

Totals

Change from base Build 577:
0.0%

Covered Lines:
2064

Relevant Lines:
2748

💛  - Coveralls

The rest looks good

Okay I'll add it in another pr


Having multiple database instances at the same time

While I know that it's recommended to have only one instance of the database object, I wonder what things I would have to take care of to have two instances simultaneously. I would like to access my database from a background service (written in Dart) and as far as I know, there is no way of sharing an object between the UI code and the service (but I'm open to suggestions). The background service would never write to the database, but it would be possible for the UI code to change something, while the background service is running (and possibly listening to that change). Would I run into locks or some other problems then? I'm not really an experienced SQLite hacker, so I would be happy about some advice!

The warning about having multiple database instances at the same time is mainly due to complications when running migrations in parallel. In general, sqlite will take care of synchronization when multiple threads access the same database file.
So, it's no problem two have two database class instances using the same underlying database file, except for two problems:

Migrations aren't atomic and run like this:

Read PRAGMA user_version from the database
If it's lower than the schemaVersion from the database, run migrations
Update PRAGMA user_version = $schemaVersion

Of course, this causes all kinds of integrity issues when two threads open a moor database at roughly the same time. If the background service is read-only, it might make sense to just not run migrations here (add a flag to your database class and check that when constructing the MigrationStrategy)

since the database instances are unrelated, they can't communicate table updates with each other, which breaks stream queries.

If both issues aren't much of a problem for you, you just use a regular database instance per isolate. But moor also has some utilities to share table updates and the database connection between isolates. For this, I'd suggest a setup with three isolates:

the main UI isolate
an isolate for the background service
a special isolate that will run writes to the database and communicate table updates

In code, this could look like this:
QueryExecutor _createExecutor() => VmDatabase(someFile);

DatabaseConnection _createRawConnection() {
  return DatabaseConnection.fromExecutor(_createExecutor());
}

Future<MoorIsolate> spawnDatabaseIsolate() {
  return MoorIsolate.spawn(_createRawConnection);
}

Future<DatabaseConnection> connectForUI(MoorIsolate runner) => runner.connect();

Future<DatabaseConnection> connectForService(MoorIsolate runner) async {
  final backgroundConnection = await runner.connect();
  return backgroundConnection.withExecutor(MultiExecutor(
    read: _createExecutor(),
    write: background.executor,
  ));
}

If you then enable the generate_connect_constructor option, you can have two database instances sharing the same database connection. The MultiExecutor for the background isolate is a performance hack: Since it will mostly read (which doesn't have side-effects), it can just do that directly and skip the isolate synchronization. Relaying reads over an isolate will introduce a bit of latency, but reduce work on the UI isolate which prevents frame drops on complex queries. For further performance enhancements, I'd recommend enabling WAL mode.
I know this is all rather complicated, so let me know if you have any more questions. If you don't want to use the MultiExecutor trick, you can also just follow the regular guide for moor isolates.

Thanks a lot for your detailed answer. I decided to use an isolate for my purposes and it works as expected!


Start server with args

(This is on top of the position info change)
Thoughts on startServer overloads?

Since we already have a configuration object, I think we should extend it to also take the STDIOBehaviour and exe path. I think the only three current users are you, @anttih and me, so I'd prefer to go for a clean API and accept breaking changes.

I rebased instead of merging on master, so you'll have to rebase this one aswell, sry..

Sure, I was thinking of it as an object representing the arguments in a typed way - but no real reason to do so.
Do you think we should just go with a single startServer taking such an object?

@nwolverson exactly, and have the default behaviour for ' and '' inside the default configuration object

sold!

Thanks :+1:


Metadata socket down

Hi,
From what I understand, there is an occasional check for kafka metadata. However, I am getting these in the logs.
2016-05-30 08:33:49.887 [error] <0.282.0> CRASH REPORT Process <0.282.0> with 0 neighbours exited with reason: tcp_closed in brod_sock:handle_msg/3 line 214
2016-05-30 08:33:49.887 [error] <0.278.0> client brod1 metadata socket down <IP_ADDRESS>:9092
If I'm not mistaken, tcp_closed is expected from the metadata socket after retrieval of inforight? Is this error expected as well? If this is expected, the only reason this error is appearing is because it's not properly handled?
Please enlighten me.
Thanks!

Kafka shuts down form its end when the connection is idle for a while.
And brod will not try to re-connect immediately.
the re-connect is triggered by new metadata requests.

@zmstone we can probably change this https://github.com/klarna/brod/blob/master/src/brod_client.erl#L332 to error_logger:info_msg ?

how about the crash report? It will still be a false alarm

That would be a bit more complicated. Normally we would like to see crash report from payload sockets and suppress those for metadata sockets.
I can think of a few possible options, will discuss with @zmstone .

idle payload sockets also get closed by kafka.
we can perhaps suppress all remotely closed socket error logs.


Multiple animals

It would be helpful for the docs to clarify what happens in the multi-animal situation. Based on this thread https://github.com/rly/ndx-pose/pull/3 it is not clear if multiple animals would be represented as multiple files or multiple PoseEstimation objects within the same file. If the latter, then it would be useful to add field for storing the name/ID of the animal.

Hey @calebweinreb,
Check out the way we handle it in sleap-io here: https://github.com/talmolab/sleap-io/blob/e0ead827e484174a918ff091e05a6ae90ded5e43/sleap_io/io/nwb.py
Basically you have a different track for each processing module:
https://github.com/talmolab/sleap-io/blob/e0ead827e484174a918ff091e05a6ae90ded5e43/sleap_io/io/nwb.py#L76-L95


Fix notification view

PR Type
What kind of change does this PR introduce?

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

What is the current behavior?
Clicking on a specific notification from the notification list shows up the repo details
What is the new behavior?
Clicking on a specific notification shows up the issue/pr details
Does this PR introduce a breaking change?
[ ] Yes
[x] No

Other information
This PR fixes issue #106

great work @rafsanulhasan Will merge ASAP.


feedback tab on desktop

Issue: CORE-10790
Issue: KBFS-4166

@joshblum feel free to take a look and make sure this still looks right

👀


StorageClient.location_mode does not support 'PrimaryThenSecondary'

Currently, StorageClient.location_mode support only PRIMARY and SECONDARY values, see below

:ivar LocationMode location_mode:
The host location to use to make requests. Defaults to LocationMode.PRIMARY.
Note that this setting only applies to RA-GRS accounts as other account
types do not allow reading from secondary. If the location_mode is set to
LocationMode.SECONDARY, read requests will be sent to the secondary endpoint.
Write requests will continue to be sent to primary.

However, according to MSFT docs, there must be PrimaryThenSecondary and SecondaryThenPrimary values, check https://docs.microsoft.com/en-us/azure/storage/storage-designing-ha-apps-with-ragrs

If you are using the storage client library to access RA-GRS data, you can specify the retry behavior of a read request by setting a value for the LocationMode property to one of the following:
PrimaryOnly (the default)
PrimaryThenSecondary
SecondaryOnly
SecondaryThenPrimary

Pls, add support for missing PrimaryThenSecondary and SecondaryThenPrimary values in Python SDK

Hi @FedorRomanov ,
Thanks we we will look into adding this for our next release.

@FedorRomanov ,
If you look at our sample on retries, we go over how to achieve this functionality.


Kwm on homebrew?

Hey --- this isn't really an issue, but I was wondering if there were plans to push the newest kwm updates to homebrew. I've noticed there have been about 2-3 updates to kwm in the past month, but haven't been on homebrew.
Regardless, thanks for kwm. It's a fantastic WM.

Strange, my homebrew version is on the same as the latest release available (3.0.1).
Unless you are comparing it to the master branch?

Version 3.0.2 should probably be released soon.

Is this gonna get moved to brew-cask now that the tap homebrew/binary is deprecated?

I think kwm should just host the keg itself, brew fully supports github. brew install koekeishiya/kwm

I think kwm should just host the formula itself, brew fully supports github. brew install koekeishiya/kwm/kwm

Where there is a kwm.rb formula in this repo

I'll probably just go ahead and do this.
I have not read up on the homebrew changes yet (didn't even know that binary was deprecated).
I was under the impression that brew-cask was only for applications that made .app folders?

I was under the impression that brew-cask was only for applications that made .app folders?

This is correct (or at least used to be correct). I can't find any info in brew-cask about a non .app formula.
We should be able to just take the formula that used to be inhomebrew/binary and place it in this repo.
Moving to brew-cask (if that is even a viable option) would require some work done to the formula file.

Made a repo homebrew-kwm which holds the formula. Updated install instructions in the README file.

I wonder if homebrew/binary maintainers will still accept 3.0.2 with a note to people updating Kwm that it has been moved to another repository.
Sadly their .github/CONTRIBUTING.md says to not open new issues or pull requests and instead post them to the brew-cask repository, and there seems to be no mechanism in place to direct existing users to the new repository.


undefined reference to sd_get_num' and undefined reference to spi_get_by_num'

Can't compile code.
Error message:
/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: CMakeFiles/Test.dir/lib/no-OS-FatFS-SD-SPI-RPi-Pico/FatFs_SPI/sd_driver/sd_card.c.obj: in function `sd_init_driver':
sd_card.c:(.text.sd_init_driver+0x42): undefined reference to `sd_get_num'
/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: sd_card.c:(.text.sd_init_driver+0x4c): undefined reference to `sd_get_by_num'
/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: sd_card.c:(.text.sd_init_driver+0x88): undefined reference to `spi_get_by_num'
/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: sd_card.c:(.text.sd_init_driver+0x96): undefined reference to `spi_get_num'
/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: CMakeFiles/Test.dir/lib/no-OS-FatFS-SD-SPI-RPi-Pico/FatFs_SPI/src/glue.c.obj: in function `disk_status':
glue.c:(.text.disk_status+0x2): undefined reference to `sd_get_by_num'
/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: CMakeFiles/Test.dir/lib/no-OS-FatFS-SD-SPI-RPi-Pico/FatFs_SPI/src/glue.c.obj: in function `disk_initialize':
glue.c:(.text.disk_initialize+0x2): undefined reference to `sd_get_by_num'
/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: CMakeFiles/Test.dir/lib/no-OS-FatFS-SD-SPI-RPi-Pico/FatFs_SPI/src/glue.c.obj: in function `disk_read':
glue.c:(.text.disk_read+0xa): undefined reference to `sd_get_by_num'
/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: CMakeFiles/Test.dir/lib/no-OS-FatFS-SD-SPI-RPi-Pico/FatFs_SPI/src/glue.c.obj: in function `disk_write':
glue.c:(.text.disk_write+0xa): undefined reference to `sd_get_by_num'
/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/bin/ld: CMakeFiles/Test.dir/lib/no-OS-FatFS-SD-SPI-RPi-Pico/FatFs_SPI/src/glue.c.obj: in function `disk_ioctl':
glue.c:(.text.disk_ioctl+0x6): undefined reference to `sd_get_by_num'
collect2: error: ld returned 1 exit status
make[3]: *** [CMakeFiles/Test.dir/build.make:912: Test.elf] Error 1
make[2]: *** [CMakeFiles/Makefile2:1580: CMakeFiles/Test.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:1587: CMakeFiles/Test.dir/rule] Error 2
make: *** [Makefile:131: Test] Error 2

related to #25...

Which application were you building? E.g., example or simple_example? In any case, there should be a customized file that provides those functions. For example or simple_example it's hw_config.c.  For dynamic_config_example it's hw_config.cpp. The file name is arbitrary (except that it must agree with the CMakeLists.txt), but something needs to provide those functions.
Note that there is no CMakeLists.txt to build anything in the top level no-OS-FatFS-SD-SPI-RPi-Pico directory.
I have been using some new hardware and it's hard to keep the various hw_configs straight (let alone tested). Don't count on the hw_config in the examples on GitHub to be correct for your hardware (even if it once was). Once you have customized it, keep a copy somewhere, give it a new name, or something like that.

One more thing: Pull Request #12 Dynamic configuration (in response to Issue #11 Configurable GPIO pins) moved the hw_config.c file out of the library itself and into the examples, so if you are migrating from a version prior to
commit 2260521d602b8427fb779275cf51af6702312ac2 (Sep 5, 2021), you will need to grab a copy from one of the examples (and customize it if necessary), or write some other implementation (e.g., hw_config.cpp), and put it somewhere persistent.


Support unicode (UTF8) in the wasm ABI.

Kotlin is unicode aware, so should be able to use unicode freely.
C++ still uses plain char strings, but is able to preserve unicode data in entity fields.

The failures are due to the JVM build; I've added a dependency from the arcs package to arcs.wasm, which doesn't work for JVM. @alxrsngrtn thoughts on how to fix this?

I think I've fixed the dep issue, but building //src/wasm/kotlin/java/arcs fails with unresolved errors for ByteArray.decodeToString and ByteArray.encodeToByteArray.

Thanks for all your comments, Jason. I'll try to get this build issue sorted.

Thanks for all your comments, Jason. I'll try to get this build issue sorted.

Thanks for being receptive to them! It's looking really good, nice work 😄

The failures are due to the JVM build; I've added a dependency from the arcs package to arcs.wasm (see Entity.kt), which breaks JVM. @alxrsngrtn thoughts on how to fix this?

I saw the original failure. To confirm, you're referring to:
src/wasm/kotlin/java/arcs/Entity.kt:14:13: error: unresolved reference: wasm
import arcs.wasm.WasmAddress
            ^
src/wasm/kotlin/java/arcs/Entity.kt:15:13: error: unresolved reference: wasm
import arcs.wasm.toWasmAddress

This problem has been addressed in a separate PR: #4206

I've rebased to ToT and still see the build issue. Specifically, the arcs_kt_jvm_library target fails (output snipped to show the two error cases):
$ bazel build //src/wasm/kotlin/java/arcs:arcs
src/wasm/kotlin/java/arcs/Entity.kt:39:44: error: unresolved reference: decodeToString
    fun getInt(sep: Char): Int = upTo(sep).decodeToString().toInt()

src/wasm/kotlin/java/arcs/Entity.kt:88:30: error: unresolved reference: encodeToByteArray
            addBytes("", key.encodeToByteArray())

As per https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/encode-to-byte-array.html, I've tried adding the @UseExperimental(ExperimentalStdlibApi::class) annotation along with the build flags -Xuse-experimental=kotlin.Experimental, -Xuse-experimental=kotlin.ExperimentalStdlibApi but that also fails:
src/wasm/kotlin/java/arcs/Entity.kt:25:18: error: unresolved reference: ExperimentalStdlibApi
@UseExperimental(ExperimentalStdlibApi::class)

I've checked that that -X flags are being passed to the compiler - they can be found in the flag file being passed by bazel - but they don't seem to have any affect. In fact, changing the flag file to have -Xuse-experimental=rubbish doesn't have any affect either.
Note that ExperimentalStdlibApi claims to be supported for all Kotlin flavours: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-experimental-stdlib-api/index.html

This is the command that ultimately gets run to kompile:
~/.cache/bazel/_bazel_mykmartin/a29d5534c5d7684123badd92ced2aecf/external/remotejdk11_linux/bin/java
  -classpath bazel-out/host/bin/external/io_bazel_rules_kotlin/src/main/kotlin/builder.runfiles/io_bazel_rules_kotlin/src/main/kotlin/builder_jar_jar.jar
  -XX:ErrorFile=/dev/stderr
  -XX:+IgnoreUnrecognizedVMOptions
  --add-opens=java.base/java.nio=ALL-UNNAMED
  --add-opens=java.base/java.lang=ALL-UNNAMED
  --add-opens=jdk.jdeps/com.sun.tools.jdeps=ALL-UNNAMED
  io.bazel.kotlin.builder.KotlinBuilderMain
  --flagfile=bazel-out/k8-fastbuild/bin/src/wasm/kotlin/java/arcs/arcs.jar-0.params

And the flag file contents:
--target_label
//src/wasm/kotlin/java/arcs:arcs
--rule_kind
kt_jvm_library
--kotlin_module_name
src_wasm_kotlin_java_arcs-arcs
--kotlin_jvm_target
1.8
--kotlin_api_version
1.3
--kotlin_language_version
1.3
--kotlin_passthrough_flags
-Xuse-experimental=kotlin.Experimental -Xmulti-platform -Xallow-kotlin-package -Xuse-experimental=kotlin.Experimental -Xuse-experimental=kotlin.ExperimentalStdlibApi
--kotlin_debug_tags
--classdir
bazel-out/k8-fastbuild/bin/src/wasm/kotlin/java/arcs/_kotlinc/arcs_jvm/arcs_classes
--sourcegendir
bazel-out/k8-fastbuild/bin/src/wasm/kotlin/java/arcs/_kotlinc/arcs_jvm/arcs_sourcegenfiles
--tempdir
bazel-out/k8-fastbuild/bin/src/wasm/kotlin/java/arcs/_kotlinc/arcs_jvm/arcs_temp
--kotlin_generated_classdir
bazel-out/k8-fastbuild/bin/src/wasm/kotlin/java/arcs/_kotlinc/arcs_jvm/arcs_generated_classes
--output
bazel-out/k8-fastbuild/bin/src/wasm/kotlin/java/arcs/arcs.jar
--kotlin_output_jdeps
bazel-out/k8-fastbuild/bin/src/wasm/kotlin/java/arcs/arcs.jdeps
--kotlin_output_srcjar
bazel-out/k8-fastbuild/bin/src/wasm/kotlin/java/arcs/arcs-sources.jar
--kotlin_friend_paths

--classpath
external/com_github_jetbrains_kotlin/lib/annotations-13.0.jar
external/com_github_jetbrains_kotlin/lib/kotlin-stdlib.jar
external/com_github_jetbrains_kotlin/lib/kotlin-stdlib-jdk7.jar
external/com_github_jetbrains_kotlin/lib/kotlin-stdlib-jdk8.jar
--sources
src/wasm/kotlin/java/arcs/Entity.kt
src/wasm/kotlin/java/arcs/Particle.kt
src/wasm/kotlin/java/arcs/RuntimeClient.kt
src/wasm/kotlin/java/arcs/Utils.kt
src/wasm/kotlin/java/arcs/addressable/Addressable.kt
src/wasm/kotlin/java/arcs/jvm/JvmRuntimeClient.kt
src/wasm/kotlin/java/arcs/jvm/MockInternalNativeAnnotations.kt
src/wasm/kotlin/java/arcs/jvm/MockNativeAnnotations.kt


ISO 123:2001 is not fetching

(Is invoked in metanorma-iso)
ISO 123:1985 fetches fine.
ISO 123 fetches, with:
<bibdata type="standard">
  <fetched>2022-08-15</fetched>
  <title type="title-intro" format="text/plain" language="en" script="Latn">Rubber latex</title>
  <title type="title-main" format="text/plain" language="en" script="Latn">Sampling</title>
  <title type="main" format="text/plain" language="en" script="Latn">Rubber latex - Sampling</title>
  <uri type="src">https://www.iso.org/standard/23281.html</uri>
  <uri type="obp">https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
  <uri type="rss">https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
  <docidentifier type="ISO" primary="true">ISO 123</docidentifier>
  <docidentifier type="URN">urn:iso:std:iso:123:stage-90.93:ed-3</docidentifier>
  <docnumber>123</docnumber>
  <contributor>
    <role type="publisher"/>
    <organization>
      <name>International Organization for Standardization</name>
      <abbreviation>ISO</abbreviation>
      <uri>www.iso.org</uri>
    </organization>
  </contributor>

this indicates that the date element 2001 is not being populated for ISO 123 as <date type="published">, hence why ISO 123:2001 is not recognised; the copyright year, however, is being populated as 2001. ISO 123:1985, by contrast, populates both the published date and the copyright year.

Also, the URN is being filled in as Edition 3, so it is referring to some instance. This reference is however an undated one, so the URN should not have an edition.


TypeError: Cannot read properties of undefined … in subflow module

Current Behavior
I created a subflow and packed it as a module accordingly to the howto in the nodered docs in node-red version 3.1.0.
https://nodered.org/docs/creating-nodes/subflow-modules#add-your-subflow-json
If I install the module and add the (packed) subflownode to the flow and deploy it, I will get an TypeError: Cannot read properties of undefined (reading '_originalWires').
With a more complex subflow the property which is not readable changes but it is all the time a TypeError: Cannot read,...
So, the flow works fine as a subflow but stops working packed as a module. You can find an example for this issue ob my gitlab account for direct installation as a nodered module:
https://github.com/buhln/node-red-subflow-example/
This issue is also discussed in the node red forum:
https://discourse.nodered.org/t/typeerror-cannot-read-properties-of-undefined-in-subflow-module/81467/15
Expected Behavior
Packed subflow should run without error.
Steps To Reproduce
Install example package from Gitlab repo.
npm install buhln/node-red-subflow-example
Environment

Node-RED version: 3.1.0

On further examination, I think this is a problem with your subflow. You subflow has two things connected internally to its output port:
https://github.com/buhln/node-red-subflow-example/blob/356b79dc3ea1e35a1874c19b24f244caa6fe308f/subflow.json#L14-L28
The first is node id b162a17b6d3cda34 which is the inject node. No problem there.
The second is node id f6c5c0739395d41c. That is not a node within the subflow. That ID also appears as the z property of the Inject node. Which tells me this was the id of the subflow when you exported it. You then updated the subflow id to testsubflow, but you did not update these other references to the old id.
This is causing the error because we cannot find f6c5c0739395d41c. I'll add some better error handling to log a more useful message, but the fact remains the subflow won't work as expected in its current state.


PES-2401: changed maximum length limit for attributes ( master )

Change description

Updated map to increase length limit for 2 attributes, wrt to ticket 1 and ticket 2

Type of change

[x] Bug fix (fixes an issue)
[ ] New feature (adds functionality)

Checklists
Development

[ ] Lint rules pass locally
[x] Application changes have been tested thoroughly
[x] Automated tests covering modified code pass

Tested on beta with postman on PES tenant

variablesSchemaBase64

visualBuilderSchemaBase64

Security

[x] Security impact of change has been considered
[x] Code follows company security practices and guidelines

Code review

[x] Pull request has a descriptive title and context useful to a reviewer. Screenshots or screencasts are attached as necessary
[ ] "Ready for review" label attached and reviewers assigned
[x] Changes have been reviewed by at least one other contributor
[x] Pull request linked to task tracker where applicable

Tested on beta with postman on PES tenant
@Vanshaj-Atlan can you add the tenant details where this is available. Also a sample curl request with this change?

@arniesaha This is available across all beta tenants https://github.com/atlanhq/atlas-metastore/pull/3170
I will share a sample curl for reference run on PES tenant
curl.txt
The variablesSchemaBase64 is longer than 100k+ characters here


Fix typo in NonDet.hs

ListenPrim mentioned twice for NonDetThreads - the second (as I understand) should be WriterPrim

Thanks!


AWS Auth Signing doesn't work for ElasticSearch record Updates

Which version of Elastic are you using?
[x] elastic.v7 (for Elasticsearch 7.x)
[x] elastic.v6 (for Elasticsearch 6.x)
[ ] elastic.v5 (for Elasticsearch 5.x)
[ ] elastic.v3 (for Elasticsearch 2.x)
[ ] elastic.v2 (for Elasticsearch 1.x)
Please describe the expected behavior
I am running an update using this library, against elasticsearch service in aws.
All my writing and reading of records works, but the update doesn't.
	// Example:
	updateScript := elastic.NewScriptInline("ctx._source.platform = params.platform").
		Lang("painless").
		Param("platform", params.Value)

	query := pixelFilterParamsQuery(start, end, params.Filter)
	query = query.Filter(elastic.NewExistsQuery(params.Field))

	update := es.client.UpdateByQuery().
		Index(indices).
		Type(typePixel).
		IgnoreUnavailable(true).
		WaitForCompletion(true).
		Refresh("true").
		Slices("auto").
		AbortOnVersionConflict().
		Query(query ).
		Script(updateScript)

	response, err := update.Do(ctx)

I have tracing logging turned on with the olivere/elastic client, and I get the following in my logs:
POST /ecm-2020-03-29%2Cecm-2020-03-30%2Cecm-2020-03-31/pixel/_update_by_query?conflicts=abort&ignore_unavailable=true&refresh=true&slices=auto&wait_for_completion=true HTTP/1.1
Host: xxxxxxxxx.us-east-1.es.amazonaws.com
User-Agent: elastic/6.2.29 (linux-amd64)
Transfer-Encoding: chunked
Accept: application/json
Content-Type: application/json
Accept-Encoding: gzip
fe
{\"query\":{\"bool\":{\"filter\":[{\"range\":{\"ts\":{\"from\":1585526400,\"include_lower\":true,\"include_upper\":false,\"to\":1585527300}}},{\"exists\":{\"field\":\"plat\"}}]}},\"script\":{\"lang\":\"painless\",\"params\":{\"plat\":\"desktop\"},\"source\":\"ctx._source.plat = params.plat\"}}
0

HTTP/2.0 403 Forbidden
Content-Length: 192
Access-Control-Allow-Origin: *
Content-Type: application/json
Date: Wed, 08 Apr 2020 22:29:18 GMT
X-Amzn-Requestid: xxxxx-7076-44dd-87d6-c5104ce241ea
{\"message\":\"The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.\"}

Please describe the actual behavior
It should work.
Any steps to reproduce the behavior?
Try running various update commands against aws es.
Thoughts:
I think there is something going wrong during the signing of this request.
Like I mentioned earlier, I run a lot of other get/read queries, and none of them have issues.
We probably need to abandon https://github.com/smartystreets-archives/go-aws-auth in favor of some other signing library, as that one is archived and deprecated in 2018.

I don't use AWS so that's probably why I do not have such a big focus on problems on that Cloud provider. In fact, the aws package was never meant to be part of this library. But anyway...
Can you try the aws/v4 package. It uses the official signer instead of the deprecated library.

Hm, I didn't see that was added.
Just looking at it, I see it does something a bit weird:
	switch req.Body {
	case nil:
		_, err = st.signer.Sign(req, nil, "es", st.region, now)
	default:
		buf, err := ioutil.ReadAll(req.Body)
		if err != nil {
			return nil, err
		}
		req.Body = ioutil.NopCloser(bytes.NewReader(buf))
		_, err = st.signer.Sign(req, bytes.NewReader(buf), "es", st.region, time.Now().UTC())
	}
	if err != nil {
		return nil, err
	}
	resp, err := st.client.Do(req)
	if resp != nil && resp.Body != nil {
		defer resp.Body.Close()
	}
	if err != nil {
		return nil, err
	}
	if resp.Body != nil {
		buf := new(bytes.Buffer)
		_, err = buf.ReadFrom(resp.Body)
		if err != nil {
			return nil, err
		}
		resp.Body = ioutil.NopCloser(bytes.NewReader(buf.Bytes()))
	}
	return resp, nil

If the req.Body is not a ReadSeeker, the ioutil.ReadAll will cause the whole body to be read, then when the request gets sent out the request body will not have any more content left in it.

Why is the response being read completely?  What if I'm streaming down 1 gazillion records and want to read them one by one so that I don't run out of memory.

If you agree these are problems, I can make a PR to fix it. Please let me know.

As you can see from the CREDITS, this is not my code, but borrowed from this library. It was just embedded as an example. It should've better been placed in the recipes directory.
If there's a better way to implement that (not an AWS expert), I'm all for it. But I'm probably unable to support it. If you want to do that, I'm all for it.

Ok, I've made PR's:
v7 pr: https://github.com/olivere/elastic/pull/1307
v6 pr: https://github.com/olivere/elastic/pull/1308

@veqryn The PRs for v6 and v7 are being merged as I write. Notice that the PRs also remove some code that makes sure the actual response body is closed. That seemed to be a problem on AWS ES, at least in 2019, reported in #1192 and fixed in https://github.com/olivere/elastic/commit/27b7f560a121aba6b83f2a93b532935bf8beb0b5.
Can you perhaps have an eye on this to make sure it won't reappear?

Thank you.
As far as that issue goes, that is not at all specific to AWS or the v4 signer.
If Golang returns a non-nil http response, the body should always be closed by whoever is reading the response body, not by some wrapper that would prevent the ability to stream the content.
Quote from http documentation on client.Do():

If the returned error is nil, the Response will contain a non-nil Body which the user is expected to close. If the Body is not both read to EOF and closed, the Client's underlying RoundTripper (typically Transport) may not be able to re-use a persistent TCP connection to the server for a subsequent "keep-alive" request.
The request Body, if non-nil, will be closed by the underlying Transport, even on errors.
On error, any Response can be ignored. A non-nil Response with a non-nil error only occurs when CheckRedirect fails, and even then the returned Response.Body is already closed.

Looks like you already knew all that, and indeed quoted the same in that PR.


main doesnt work

when i opened up mained using cmd it says
ModuleNotFoundError: No module named 'requests'
help??

and yes i already install 'requests'

Please verify that you have installed the requests library correctly.


Workers don't reset sticky queue when workflow execution is evicted from the cache

Right now we reset the sticky queue if an exception happens during workflow execution.
While this is not an event that is needed, there is nothing bad in reexecuting on the same worker.
At the same time, we are missing resetting the sticky queue when a workflow gets evicted from the cache because SDK is at the workflow threads limit. This creates pressure on already overloaded workers and can lead to incremented delays.

It was implemented like this in #236

This matter improved with this Server change: https://github.com/temporalio/temporal/pull/2811
Now if the sticky queue is obviously abandoned, Server will not wait 5 seconds trying to dispatch the workflow task into a sticky queue.


[FEATURE] Add About window for Drifty GUI

Is your feature request related to a problem? Please describe.
Drifty GUI's latest build lacks an about window with the essential links to the relevant resources, such as the GitHub project link, the contributors link, the docs link, the app version, and the discord server link. Therefore, the users cannot access the necessary information to contact the project maintainers and provide feedback, report issues, or request features.
Describe the solution you'd like.
An About window can be added with links to resources as mentioned in the above section. This is going to benefit the users a lot.
Screenshots
No response
Additional information

If anyone wants to work on this issue, please feel free to comment below and I will assign you with the task.
You can also discuss on this issue in our Discord server.

@SaptarshiSarkar12, I would like to contribute to this issue

Sure @suryanshsoni120 ! You can work on this issue. Thank you for your interest.
Assigning the task to you.

@suryanshsoni120 Did you face any problem while solving this issue? How much work is done?

Okay. @suryanshsoni120 If you face any issue or facing any problem in understanding the codebase, you can post your question in our Discord server.

@SaptarshiSarkar12 Can you share demo GUI to work on that

Sorry @SAGARSINGH-1.
@suryanshsoni120 is already working on this issue. You can join our Discord server to know about the progress of the issue.


Rewrote flatten & deflatten

As part of working on #8

Performance result on examples (avg three runs):

Master(s)
Flatten(s)

Primes (to 10mil)
18.080
16.236

Mandelbrot
13.600
12.197


helm: Fix cluster-id arguments in clustermesh deployment

This commit is to pass the cluster-id argument from env in clustermesh
deployment, otherwise the cluster-id will be defaulted to 0, which
potentially causes issues with identity conflict.
Before
$ ksyslo clustermesh-apiserver-7d77845567-5kq2d -c apiserver
level=info msg="  --allocator-list-timeout='3m0s'" subsys=clustermesh-apiserver
level=info msg="  --cluster-id='0'" subsys=clustermesh-apiserver
...

After
$ ksyslo clustermesh-apiserver-cb8f9bb7-689kn -c apiserver
level=info msg="  --allocator-list-timeout='3m0s'" subsys=clustermesh-apiserver
level=info msg="  --cluster-id='1'" subsys=clustermesh-apiserver
level=info msg="  --cluster-name='test'" subsys=clustermesh-apiserver
...

Signed-off-by: Tam Mach<EMAIL_ADDRESS>

/test

Travis failure for arm is due to rate limit.

All reviews are in, tests are all passed except:

travis for arm failed due to rate limit, travis for amd is passed, so no need to re-run
ci-l4lb is not required as no related file is updated.
ci-aks is current disabled.

Marking this ready to merge.


Tc/ci/bumps containers in tests

Codecov Report

Merging #639 (18b536e) into main (3670916) will decrease coverage by 0.0%.
The diff coverage is 0.0%.

@@           Coverage Diff           @@
##            main    #639     +/-   ##
=======================================
- Coverage    9.4%    9.4%   -0.0%
=======================================
  Files         32      32
  Lines      10494   10481     -13
=======================================
- Hits         982     980      -2
+ Misses      9512    9501     -11

Impacted Files
Coverage Δ

src/syncerd/bitcoin_syncer.rs
0.0% <0.0%> (ø)

src/syncerd/types.rs
31.3% <0.0%> (-0.5%)
:arrow_down:

src/swapd/runtime.rs
0.0% <0.0%> (ø)

src/swapd/syncer_client.rs
0.0% <0.0%> (ø)

src/syncerd/monero_syncer.rs
0.0% <0.0%> (ø)

src/syncerd/syncer_state.rs
83.7% <0.0%> (+0.1%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Wallet creation and loading with bitcoincore 23.0
root@57dea14ea779:/# bitcoin-cli -chain=regtest -datadir=/data listwallets
[
]
root@57dea14ea779:/# bitcoin-cli -chain=regtest -datadir=/data createwallet test
{
  "name": "test",
  "warning": ""
}
root@57dea14ea779:/# bitcoin-cli -chain=regtest -datadir=/data listwallets
[
  "test"
]
root@57dea14ea779:/# bitcoin-cli -chain=regtest -datadir=/data loadwallet test
error code: -4
error message:
Wallet file verification failed. SQLiteDatabase: Unable to obtain an exclusive lock on the database, is it being used by another instance of Bitcoin Core?

root@57dea14ea779:/# bitcoin-cli -chain=regtest -datadir=/data listwallets
[
  "test"
]
root@57dea14ea779:/# bitcoin-cli -chain=regtest -datadir=/data createwallet test
error code: -4
error message:
Wallet file verification failed. Failed to create database path '/data/regtest/wallets/test'. Database already exists.

The wallet is loaded at creation time, but the current code should be fine as it ignores errors.


Formatting and linting

Using shfmt and shellcheck

Thanks for the PR @lguzzon :)
Can we please have both linting and formatting in the Makefile also?

So if we want to install the tools (shellcheck, shfmt) and then use them in MAKEFILE that's quite a job ;) ... may be in a near future I'll can do it.
Open a ticket and assign it to me so I'll be working on this in the next 2-3 weeks
Ok?

Thanks @lguzzon.
Regarding the Makefile, I meant without the installation part. I have added that - thank you for offering to help though :)


chore: cargo update to fix webpki vuln warning

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


[Typescript] Explode option on QueryParam serialization is not taken into account

I have a query param defined as follows :

The request sent by the typescript client generated serializes it as non-exploded :

Hi @LaurentVandenbosch
Thanks for using kiota and for reaching out.
Can you share the URI template that was generated for that description please? ( should be in an index.ts file under a /api/catalog/item/fr-be/article-groups directory more or less)
Thanks!

Hi @baywet thank you for the response and sorry for the delay on my part.
Here is what is being generated :
/**
 * Uri template for the request builder.
 */
export const ProductsRequestBuilderUriTemplate = "{+baseurl}/api/catalog/{contextId}/{languageCode}/products?articleGroupIds={articleGroupIds}";

Thanks for the additional information.
This is caused because of the combination of required and explode.
Here are the different path templates that will be generated as of today depending on there parameters

required
explode
result

y
n
{+baseurl}/api/catalog/{contextId}/{languageCode}/products?articleGroupIds={articleGroupIds}

y
y
{+baseurl}/api/catalog/{contextId}/{languageCode}/products?articleGroupIds={articleGroupIds}

n
n
{+baseurl}/api/catalog/{contextId}/{languageCode}/products{?articleGroupIds}

n
y
{+baseurl}/api/catalog/{contextId}/{languageCode}/products{?articleGroupIds*}

Note: generating {+baseurl}/api/catalog/{contextId}/{languageCode}/products?articleGroupIds={articleGroupIds*} is strictly identical to {+baseurl}/api/catalog/{contextId}/{languageCode}/products?articleGroupIds={articleGroupIds*} from a RFC 6570 perspective since no operator is provided for the variable. And adding query style operator (? or &) results in an invalid URI.
The solution would be to "force" the parameter to be exploded even when it's required in this block
Is this something you'd be interested in submitting a pull request for?

@baywet seeing the same in c#

The solution would be to "force" the parameter to be exploded even when it's required in this block

What should the result look like if this were changed? Is the differentiation between "required" and "optional" needed in the way the template is being generated to preserve some sort of handling by Std.UriTemplate.Expand?
ex. would these be handled differently?
/resource{?requiredParam*,optionalParam}
/resource?requiredParam={requiredParam}{?optionalParam}

@ahusseini we originally didn't have any differentiation for required parameters, but made the change at the request of @darrelmiller and community members so there'd be additional "validation" before the request goes out.
TBH I think this is ultimately a limitation of the RFC that doesn't provide a way to say something is both required and exploded.
Hence I suggested we made a small change to the template building logic to NOT use the required syntax when something is exploded.


Adding highlighting feature on download file button in Editor section.

I want to add highlighting feature on download file button in Editor section as we hover over it which is present in other buttons like change sheet and change style.

kindly Assign me this work sir

Assigned to @Priyanshujha11 for 2 days


Provide a description for this repository

Current Implementation
The repository https://github.com/corona-warn-app/cwa-quick-test-frontend currently doesn't have description and the README.md is very general and doesn't explain what this repo is doing.
Even worse, the README.md says:

This repository contains the log upload for the Corona-Warn-App.

Suggested Enhancement
Remove the sentence "This repository contains the log upload for the Corona-Warn-App.", add a new one which explains the use of this repository and add a description.
Expected Benefits
Everyone understanding better what this repository is doing.

Hi, @Ein-Tim. Thanks for pinning that. We will correct this asap to avoid further confusing.

Internal Tracking ID: EXPOSUREAPP-6382

@ascheibal Any updates here? I just need a really short text for the overview of the repositories in the documentation repository.
That would be nice! Thanks!

An answer has been given in https://github.com/corona-warn-app/cwa-quick-test-backend/issues/14.

@Ein-Tim Thanks !