Hover not working in vscode LSP

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: Version: 1.62.3 (Universal)
OS Version: Mac OS Big Sur 11.6

I am trying to implement hover feature for LSP using vscode
Steps to Reproduce:

I have added the following code in extensions.ts - but it doesnt work (client side implementation is not working)
When I enable hoverProvider capabilities in server.ts - the hover content is fetched from the server (server side implementation is working)

Can you tell me what is wrong with my code?
`export function activate(context: ExtensionContext) {
..........
// Start the client. This will also launch the server
client.start();
const disposable = languages.registerHoverProvider('scraperflow', {
provideHover(document, position, token) {
return new Hover({ language: "scraperflow", value: 'Message to show on Hover'});
}
});
context.subscriptions.push(disposable);
}`

I do see hovers working. Must be something specific to your extension. The snippet looks fine but isn't complete. Can you share a more complete sample that show hovers not working?

@jrieken I am able to see the hover but only from the server side ( which I have achieved with the following code in server.ts
connection.onHover(({ textDocument, position }): Hover => {     const document = documents.get(textDocument.uri);     const start = { 		line: position.line, 		character: 0, 	}; 	const end = { 		line: position.line + 1, 		character: 0, 	}; 	return { 		contents: "what the heck from server side" 	}; });)
video of Hover: https://drive.google.com/file/d/1VNF-_AT8ZPGTTU2OwYPmNU1heJlmnCJB/view?usp=sharing
The code written in extension.ts is not called and I donot get the message from the client side
`const disposable = languages.registerHoverProvider('scraperflow', {
provideHover(document, position, token) {
return new Hover({ language: "yales2", value: 'Hover from client side'});		}
});
context.subscriptions.push(disposable);
}`

Sorry, but a video doesn't allow me to reproduce this. Please share a complete sample that reproduces this, a good starting point is to generate a simple extension with yo code

I generated yo code and upload to https://github.com/SukiTUK/extensionLSP
I have given you the access @jrieken  . Please check and let me know if this is ok.

Can you zip this up and attach the project here. Thanks

Sorry, I have no options to attach zip here. only option for me is to include links :(
@jrieken

Suddenly the hover on client and from server side- both are working.... - not sure how? why?
Thanks for the quick support, @jrieken
One query: when would one implement server side or client side hover?
Whats the specific business use case and how would I choose from the two?

LSP means that your "server" can be reused by multiple editors, like VS Code or Sublime Text etc. If you don't need that implement a "normal" extension.
I am closing this issue without action since the issue went aways and wasn't reproduciable for me


Expose API to configure filename of token cache

Label prediction was below confidence level 0.6 for Model:ServiceLabels: 'App Configuration:0.56844413,Extensions:0.13713013,API Management:0.05199336'


Rename Package

Probably rename to react-image-video-label or something. Not sure yet.

@seveibar  react-image-video-annotation would be good


Facing "java.lang.IllegalStateException: Could not find a valid Docker environment. Please see logs and check configuration" when pushing to DockerHub

Hi, my project is using testcontainers for integration tests and the whole project is built and pushed as a Docker image to DockerHub.
I am facing the issue of Caused by: java.lang.IllegalStateException: Could not find a valid Docker environment. Please see logs and check configuration when building my image in Docker. Do you have any suggestion to solve this problem?
My Dockerfile: https://github.com/jenkinsci/remoting-kafka-plugin/blob/master/Dockerfile
Build failed log: https://hub.docker.com/r/jenkins/remoting-kafka-agent/builds/by4exxjryxm4jznnbtgpsxf/

You haven't setup a Docker environment in your Dockerfile. I'm not sure how Docker-in-Docker works in the DockerHub (or if it even works?), but you could start by installing Docker in your build image.

Hi @kiview, I tried to install Docker in my build image but cannot run Docker in Docker although I followed the instruction here https://www.testcontainers.org/usage/inside_docker.html
I got this error docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
I also tried to run service docker status after service docker start but got this message Docker is not running.
You can check my Dockerfile here https://github.com/pvtuan10/remoting-kafka-plugin/blob/bugfix/fix-agent-docker-build/Dockerfile
Do you have any suggestion?

Your Dockerfile is a multi stage build, so the second stage would not have
the daemon or the socket mounted.
However, the root problem seems to be, that Docker Hub autobuild does not
support Docker in Docker configurations.
You can try to find out if it's actually supported, else I fear, would need
to use a different CI service for the testing step.
Pham Vu Tuan<EMAIL_ADDRESS>schrieb am Mo., 8. Okt. 2018, 17:56:

Hi @kiview https://github.com/kiview, I tried to install Docker in my
build image but cannot run Docker in Docker although I followed the
instruction here https://www.testcontainers.org/usage/inside_docker.html
I got this error docker: Cannot connect to the Docker daemon at
unix:///var/run/docker.sock. Is the docker daemon running?.
I also tried to run service docker status after service docker start but
got this message Docker is not running.
You can check my Dockerfile here
https://github.com/pvtuan10/remoting-kafka-plugin/blob/bugfix/fix-agent-docker-build/Dockerfile
Do you have any suggestion?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/testcontainers/testcontainers-java/issues/902#issuecomment-427887750,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AE2jaGEns2pEiNei7jDnniJSnPCklCUJks5ui3WVgaJpZM4XKTz4
.

Yes, I also guess that Docker Hub does not support Docker in Docker configurations. The build cannot be successful even when I tried to run hello-world container with mounting volume RUN docker run --rm -v $PWD:$PWD -w $PWD -v /var/run/docker.sock:/var/run/docker.sock hello-world.
Thank you for your suggestion, and I will find another way to run my CI.

Yes, therefore I recommend TravisCI or CircleCI, which both support Docker out of the box and are free for Open Source usage, for building, as well as testing. You can still push the resulting image to the DockerHub.

I had some problem in CircleCI.
Use
build-test:
    machine: true

instead of
  build-test:
    docker:
      # specify the version you desire here
      - image: circleci/openjdk:8-jdk

Check below link to get more information about machine usage in CircleCI.
https://circleci.com/docs/2.0/executor-types/#using-machine


Memory leak caused by using druid connection pool

Can you fill necessary information follow the template below?
Bug Report
For English only, other languages will not accept.
Before report a bug, make sure you have:

Searched open and closed GitHub issues.
Read documentation: ShardingSphere Doc.

Please pay attention on issues you submitted, because we maybe need more details.
If no response more than 7 days and we cannot reproduce it on current information, we will close it.
Please answer these questions before submitting your issue. Thanks!
Which version of ShardingSphere did you use?
Which project did you use? Sharding-JDBC or Sharding-Proxy?
Expected behavior
Actual behavior
Reason analyze (If you can)
Steps to reproduce the behavior, such as: SQL to execute, sharding rule configuration, when exception occur etc.
Example codes for reproduce this issue (such as a github link).

version ： 4.0.0-RC1
project  ：Sharding-JDBC
When I use the druid database connection pool, the database connection pool will run out. Use the druid to exclude the connection leak tool and find that there is a problem with this line of code.

Is there an example code that uses druid as a connection pool?

@iamzxj can you provide full sharding configuration?
If upload a example code which can reproduce this problem to GitHub will be best.

No response more than 7 days and we cannot reproduce it on current information, we will close it.


No way to access connection rejection promise when auto retry after disconnect in provider

Description
When Provider tries re-connecting after a disconnection, if there is an error connecting and max tries are reached, no programatic way to tell this is finished and take additional action.
The rejection promise is not being handled or sent outside of the provider in anyway.
Steps to reproduce the bug
Steps to reproduce the behavior:

Be using HP Provider
Go offline (Turn WIFI off)
Come back online (Turn WIFI on)
HP Provider tries to re-connect
After max amount rejection promise is swallowed and user not able to determine retry is over

Expected behavior
There is some how access to promise rejection of connect so user knows when retries are over and can take additional action
Screenshot, video, or GIF
This is the code where connect is called and rejection promise not handled: https://github.com/ueberdosis/hocuspocus/blob/476898bfb892227ea9fbd18433e01e9717b9d549/packages/provider/src/HocuspocusProvider.ts#L616
Environment?

operating system: Mac
browser: Chrome
mobile/desktop: Desktop
hocuspocus version: Provider 1.0.0

Hello,
I was wondering if this issue has been resolved or if there are any updates regarding it. If not, are there any workarounds available?
Thank you for your time and help!


300ms delay ontouchstart

I was testing on iPad with the current version of ngDraggable and the user needs to wait 300ms before start dragging, otherwise, the item is not dragging.
Is there a way to remove the 300ms delay for iOS webkit mobile browsers?

+1
@diego-cortez did you find a solution for this?

@francoisgrogor  yeah, use ngTouch angular directive.

Thanks for response. Could you elaborate on that please? Currently ngDraggable has a configuration option to increase/decrease the timeout to ensure the native scrolling on touch devices is not effected.
Please elaborate on how using ngTouch fits into this?

Well, I just added ngTouch directive to remove the delay on tap.. What is you current problem?, maybe I can help if I see what are you trying to do.

My issue is, that i feel the start of the drag on the touch device is a bit laggy.
So if I attempt to touch and drag too quick, the window will just scroll. Essentially I just feel that the drag initial action required to start the drag on a touch screen is not reactive enough

Yeah, I felt that, thats why I used ngTouch, I'm not sure but I remember that issue was fixed on webkit mobile browser, I think I tested on iPad.. I have an example if you want to test. please send me a mail to diego.cortez at tutanota.de


Update MAWfwk.md

Added description for output files and columns

@qzchen-uw Please accept my changes for column descriptions.


1.60 Not working on VueJS

at 1.5.3 signature-pad working on vuejs, but after update to 1.60 not working,
any help ?

Do you get any errors or can provide a repo or jsfiddle/jsbin/something to reproduce it?

Appreciate this bug report. If possible, provide a minimal example that shows signature-pad doesn't work with Vue. Saying "it doesn't work with Vue" is like "It doesn't work with React" - there's a lot of things that could have gone wrong :).

Heya, signature_pad stopped working for us as well and it’s because signature_pad.min.js now lives in dist/ instead of the top level module directory. package.json now points to the right file on disk, but we were using the file location in our build task. The fix is easy, and if there is a way to make gulp/gulp-useref use package.json entry points instead of file paths, we’d love to hear about it, but that’s obviously out of scope for this ticket.
I’m commenting because I think it might have warranted doing a breaking 2.0.0 release for this. cc @espy.

@janl Hey, you're right. I thought that adding correct path in package.json would be enough and it's mentioned in changelog as well, but I guess it's not enough. I also stopped supporting Bower, so it might be better to release it as 2.0 anyway. I'll do it this weekend.

I've just re-released 1.6.0 as 2.0.0.

Cool, thanks!


modularize ukvm

This breaks ukvm into a few different modules.  The idea is that it can be built without one or more of the modules, and I'd like to eventually make OPAM know about how to build a monitor for a unikernel based on what it needs.  For the first commit, I'm checking in a ukvm build config (Makefile.ukvm) which includes all modules, so functionally everything should stay the same.
This is a bit of an annoying change for a few reasons:

it moves a bunch of code into different files
it changes the argument order to ukvm yet again (see issue #26 )

This also bumps up on a few things that are changing or will change

it only supports one instance of each type of device (e.g., net, disk)
the poll code now gets its fd list from the modules (still only net at the moment)

Hey dan, looks great, just nits:

usage for the blk module should be: disk=xxx and not blk=xxx (in ukvm-blk.c)

this could be part of another PR:
2. update make ukvm

Looking good. I've added a bunch of comments as line notes, not all of which need to be addressed in this PR, some just came up as I read through the code.
I'd like to propose a different syntax for command line arguments. The current setup results in (with all modules configured):
usage: ukvm <elf> [args] -- blk=<disk.img> net=<tap100> --gdb

Following established UNIX conventions and the principle of least astonishment, something like the following comes to mind. I've also future-proofed it by adding a placeholder for "core" options:
usage: ukvm [ CORE OPTIONS ] [ MODULE OPTIONS ] KERNEL [ -- ] [ ARGS ]
    Compiled-in modules:
    --disk=IMAGE (description...)
    --net=TAP (description...)
    --gdb (description...)

However, this still leaves two points that should be addressed:

A good syntax for specifying other options to modules, such as a user-specified MAC address for --net. It'd be nice to come up with something better than QEMU!
How to deal with multiple instances of modules. The simplest scheme I can think of is just repeating --net and --disk multiple times, each creating a new instance.

Thoughts?

@ricarkol I've updated make ukvm and changed the argument name.
@mato I changed the argument order to what you suggested, but have not yet made the other changes.
In terms of NUM_MODULES, I may not be seeing the reason that it should be avoided?  I can change the loops to iterate until NULL, but it seems convenient to know the number of modules to statically allocate structures (e.g., https://github.com/djwillia/solo5/blob/ff0e04e1dcf80a8ccead0a4afab0ed483f05b558/ukvm/ukvm.c#L607).
I'm planning to do the nonblock and check to the ukvm-net tomorrow.

@djwillia The NUM_MODULES change is just a suggestion, feel free to use what works for you. Once we have multiple instances oif modules the associated structures will not match NUM_MODULES anyway. Otherwise, looks good. Let me know once you want to merge and I'll test this, plus prepare the associated changes for unikernel-runner.

Thanks dan

@mato I think the issue of supporting multiple device instances is one that may require some more thought (I'm sure NUM_MODULES will change, but it pushes up against this).
Usually, the (general-purpose) monitor would expose as many devices as it discovers on the host or is configured to expose and the unikernel would discover whether enough interfaces (e.g., two NICs) were available at runtime and either adapt its behavior or fail (at runtime) otherwise.  This approach isn't minimal in the sense that we've been advocating with ukvm; if the unikernel doesn't need one of them, it's still possible that it could mis-configure one (or use it as an attack vector as in VENOM, for example).  This approach also seems to be headed down a slippery slope where two different applications are implemented as the same unikernel: the one-interface version and the two-interface version.
With different types of devices it seems that, at compile time, dependencies from the unikernel can dictate what modules ukvm should be configured with (for that unikernel).  Implementation-wise, this seems straightforward, as we can either include the module's code or not (at compile time).
With different instances of the same type of device, conceptually it should be the same: a unikernel (through its implementation or compile-time configuration) should know (at compile time) whether it needs multiple interfaces (e.g., two NICs) or not. Implementation-wise, this seems more tricky as we don't need to include the module's code multiple times, but may need to adapt the module's code to force exactly N instances to be available/configured, where N is the number of interfaces the unikernel depends on.
This isn't the sort of thing we need to decide on this PR, but I thought I'd put the comment here as something to think about.

@mato I think it's ready to merge!

Couple of things from a basic smoketest:

Does not build on my Debian stretch box due to #include conflicts in ukvm-net.c. Could you remove linux/if_packet.h, net/ethernet.h and net/if.h? These are not required and fix the build error.
ukvm test_hello.ukvm (i.e. no disk or net) fails with ukvm: couldn't setup modules, so there's a logic error somewhere as it's ok to run with no disk or net, if not terribly useful.
Invalid arguments, e.g. ukvm --foo fail with ukvm: couldn't open elf: No such file or directory, should at least include --foo in the error message, ideally should complain that this is an invalid option.

@mato thanks, the new commits should address your points 1 and 3 and partially 2.  I left the code in such a way that the module arguments are mandatory (e.g., even if you don't want a disk) but now there is an error message.  If there aren't other problems, I suggest we can merge this but leave issue #26 open to follow up on the argument order and requirements?  What do you think?

@djwillia OK, looks good to me for an initial version, we can discuss the details of the modularization next week. Merging.


chore: remove beta build flag

Description

Replace the current mainnet app with the beta app (anything needing to be backported to mainnet can be branched directly off of release/v1.x.x.
Remove all beta build flags & logic

Author Checklist
All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.
I have...

[ ] included the correct type prefix in the PR title
[ ] added appropriate labels to the PR
[ ] added ! to the type prefix if API or client breaking change
[ ] targeted the correct branch (see PR Targeting)
[ ] provided a link to the relevant issue or specification
[ ] added a changelog entry to CHANGELOG.md
[ ] included comments for documenting Go code
[ ] updated the relevant documentation or specification
[ ] reviewed "Files changed" and left comments if necessary
[ ] confirmed all CI checks have passed

Reviewers Checklist
All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.
I have...

[ ] confirmed the correct type prefix in the PR title
[ ] confirmed ! in the type prefix if API or client breaking change
[ ] confirmed all author checklist items have been addressed
[ ] reviewed state machine logic
[ ] reviewed API design and naming
[ ] reviewed documentation is accurate
[ ] reviewed tests and test coverage
[ ] manually tested (if applicable)

@dreamcodez I think there are few tweaks that need to be made to infra/* so I'll let you tackle that in a separate PR after this is merged.

Codecov Report

Merging #643 (cb0a1e6) into main (1695b76) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main     #643   +/-   ##
=======================================
  Coverage   48.02%   48.02%
=======================================
  Files          64       64
  Lines        8841     8841
=======================================
  Hits         4246     4246
  Misses       4332     4332
  Partials      263      263

Impacted Files
Coverage Δ

x/leverage/module.go
56.25% <ø> (ø)

x/leverage/client/tests/suite.go
100.00% <100.00%> (ø)

x/leverage/client/tests/util.go
87.69% <100.00%> (ø)

x/oracle/client/tests/suite.go
98.36% <100.00%> (ø)


Ability to put historical nodes into maintenance modes - Do not count towards replication

This ask is that historical nodes are able to be put into a maintenance mode such that their nodes do not count towards the replication threshold. This allows for scaling tiers down in a more controlled manner.
We occasionally have capacity issues as we scale our cluster such that a lower tier fills up, and upper tiers need to be expanded to accommodate the handoff of realtime indexing tasks while the lower tiers expand. Once this is completed and segments are flowing as expected through the tiers, the "more recent data" tiers need to be shrunk back to normal operating size.
Being able to put a historical node into a state where it doesn't count towards replication would help in this.

Changes:

LoadRule should ignore such nodes during assignment.
BalancerStrategy should prioritize moving segments from such nodes. Priority can be specified by a number from 1 to 10. IE maitenanceModeSegmentsPriority=7 means 70% of maxSegmentsToMove segments will be balanced from nodes in maintenance mode, only 30% of segments will be balanced from general nodes.
HTTP endpoint /druid/coordinator/v1/maintenance will provide json array of host:port elements, which can be created/modified using POST request.

If nobody is working on it, I'm gonna take it.

Also, parameters can be changed using Coordinator console:

This was fixed by #6349, I believe.


conduit inject: Enable auto name completion in proxy

Previously conduit inject did not enable automatic name completion in
the proxy. As a result services couldn't connect to services outside
the "default" namespace without qualifying the service name with (at
least) the namespace. This is arguably safer but it isn't compatible
with the way things work in Kubernetes when the proxy isn't used.
Enable name auto-completion in the proxy so that the proxy will add
the current pod's namespace to any unqualified service name. This
depends on the feature being added to the proxy (PR #59).
Due to some issues with how zones are dealt with in the project, the
zone component isn't provided; it turns out that it doesn't matter
whether we provide the zone in the current implementation. Dealing
with the zone better will be added later.
Validated by deploying the emojivoto service with its configuration
updated to use unqualified names (sed "s/\\.emojivoto//g"). Before
this change this modified configuration would fail; now it succeeds.
Fixes #9.

Is there any way to add an automated test for this change that will avoid a regression being added if anyone messes with this feature by mistake?

I would like to have some automated tests for it, for sure. I spent some time today trying to write an automated test for this but it requires non-trivial infrastructure and it wouldn't be ready by the deadline for this feature.
Regarding the documentation, I think the documentation for this is roughly equivalent to the documentation for the existing configuration settings for the proxy. If we want to improve the documentation situation for the proxy configuration we should do so as a separate effort.
Anyway, again, I agree we need to improve the testing and documentation situation, generally. But, this particular issue isn't the thing that's in the most need of testing or documentation. We should get together and make a plan (resourcing, schedule, and technical design) for how we're going to do the test automation for these kinds of features.


Invalid use of apostrophe character in sample texts.

The following files use an apostrophe instead of the correct, language-specific character, as far as I can tell.
el-Grek-monoton_udhr.txt: 'O -> Ό (U+038C, GREEK CAPITAL LETTER OMICRON WITH TONOS)
el-Grek_udhr.txt: 'O -> Ό
mai-Deva_udhr.txt: ' -> ऺ (U+093A, DEVANAGARI VOWEL SIGN OE)

I suspect the Maithili text is correct in using an apostrophe, but it might preferably be 02bc (modifier letter apostrophe).  I'm trying to find out.  http://www.unicode.org/L2/L2008/08197--bodo-dogri-maithili.pdf calls this character 'Latin Apostrophe' so it's a bit ambiguous.
I will make the suggested change to the Greek.

In that proposal “Latin apostrophe” should be “modifier letter apostrophe” since it’s not a punctuation sign but a modifier letter (or diacritic in the broad sense of the word).
See TDIL-CDAC’s Script grammar for Maithili language for another reference attesting the use of U+02BC in Maithili.
I’m wonder why the apostrophe only occurs in the word आ' in http://www.unicode.org/udhr/d/udhr_mai.txt. This doesn’t seem to correspond with the uses described in the two documents mentioned.

I'll keep this open for a few days or until the apostrophe issue is resolved.
Thanks for the link to the CDAC pdf,@moyogo.  The other paper also referred to these uses and I also wondered about this since the use in the udhr text didn't seem to match.

According to Anshuman Pandey, 02BC is preferred to apostrophe in the Mailthili sample, so I will update it.


Scrolling sideways on resource index broken since nova 4.17.0

Laravel Version: 9.47.0
Nova Version: >=4.17.0
PHP Version: 8.1
Browser type and version:  Google Chrome 108.0.5359.124 and others.

Description:
Open a Nova Resource index page on a smaller screen where all columns do not fit horizontally in the viewport(e.g. smartphone, tablet, small desktop). Attempt to scroll sideways to view the other columns and action buttons. Scrolling sideways won't work.
This happened after we've upgraded a an older site's nova version to the latest 4.20.2 version.
After downgrading nova to specific versions I found that it has been an issue since nova 4.17.0.
It seems the precedence of css classes on the list is the problem:

The o1-overflow-hidden class sets an overflow: hidden, disallowing all scrolling on the overview. While o1-overflow-x-auto should enable scrolling on the horizontal x-axis by setting overflow-x: auto. But the o1-overflow-hidden overrides o1-overflow-x-auto. In the screenshot you will see that o1-overflow-hidden appears twice in the css inheritance in the inspector, indicating it might be in the css twice.
When I set composer to nova 4.16.1 it works. This has different html classes which make sure the scrolling on the x-axis is enabled again after setting overflow: hidden on the overview.

The MenuBuilder.vue along with entry.css and entry.js from the nova-menu-builder are the only files within my project which actually have the o1-overflow-hidden class. So I'm guessing the menu builder is interfering with other resource index pages.
Detailed steps to reproduce the issue:

Upgrade to latests version or >= 4.17.0.
Open index of resource with plenty of columns on a small screen, attempt to scroll horizontally to reveal other columns (no scrolling allowed).
Downgrade nova to 4.16.1.
Open index of resource with plenty of columns on a small screen, attempt to scroll horizontally to reveal other columns: scrolling works.

@ramonfeleus Hey, thanks for the report.
I transfered the issue to nova-sortable, since I assume this package causes it.
Could you confirm, that you also have nova-sortable installed?

@ramonfeleus Hey, thanks for the report. I transfered the issue to nova-sortable, since I assume this package causes it.
Could you confirm, that you also have nova-sortable installed?

Thanks. Yes, that's also in the stack, nova-translatable as well from Outl1ne.

Published version 3.4.2 that addresses this issue.
Thanks for the report!


README updates in prep for blog post on rhel entitlements

@bparees @siamaksade @sbose78 @adambkaplan
per our discussion in https://docs.google.com/document/d/1CGQpvo3JbKSdWbJJ_o29jOkld2YX4r5eXdXny4gY0d8/edit#
this is the update to this REPO's readme to pull out the tl;dr detail from the blog draft and place it here.  The blog post can then link to this section of the README when it goes official
if you all have cycles PTAL / review / propagate this to lgtm mode

Cool, thank you. Will do!

I didn't peruse it in detail for accuracy, but at a high level it looks good to me, i really like the way it outlines the scenarios and expected outcome for each.  good stuff.

Didn't expect prow to do that 🤦


Fixed compilation for Solaris

After merging #471 compilation on Solaris was broken. Here's a fix for it.
There are missing "io" import and unused variable
Releated issues #471 #289

Fixed in master, sorry.

Yup, no worries, but unused variable still there:
https://github.com/sirupsen/logrus/blob/master/terminal_solaris.go#L14

Ugh, sorry @0xE0F :( I don't have a solaris machine to run this on :( I'll fix in master.

Released as v0.11.4

Cheers


Swagger error using Facebook connector

Describe the bug
When using the Facebook connector, I get a swagger error.
To Reproduce
-Create a Facebook custom  connector on Power Automate.
-Import the apiDefinition.Swagger.json
-Create the connector
Expected behavior
The connector is expected to be created successfully
Environment summary
Additional context
Error message:
_Specified swagger has the following errors: 'Error : paths/~1{pageId}~1feed/get/parameters/0/x-ms-dynamic-values/parameters/Accept : The parameter could not be found in operation 'GetMyPages' in the swagger document.
Error : paths/~1{pageId}~1feed/post/parameters/0/x-ms-dynamic-values/parameters/Accept : The parameter could not be found in operation 'GetMyPages' in the swagger document.__

same bug

Duplicate of https://github.com/microsoft/PowerPlatformConnectors/issues/790


Toascii - Rearranged Cases in ToString (Decoded_VkWriteDescriptorSet&)

Fixes #794
They now reflect current known support.
Refined Logging for untested and unknown descriptor types.
Added comments to explain what work remains.
Everything turned out to be fine just by moving up some funky image types to be dealt with on standard image path, with a couple of non-P1 types not yet tested but expected to work based on generated code looking correct. Logging adjusted in light of that.
Verification of non-P1 types deferred to a new issue: https://github.com/LunarG/gfxreconstruct/issues/823

CI gfxreconstruct build queued with queue ID 4346.

CI gfxreconstruct build # 1981 running.

CI gfxreconstruct build # 1981 passed.

CI gfxreconstruct build queued with queue ID 4401.

CI gfxreconstruct build # 1982 running.

CI gfxreconstruct build # 1982 failed.

CI gfxreconstruct build queued with queue ID 4429.

CI gfxreconstruct build # 1983 running.

CI gfxreconstruct build # 1983 passed.

CI gfxreconstruct build # 1981 passed.


cfmgmt creating users with weird ids

Describe the bug
The cf-mgmt pipeline seems to leave behind some mysterious users.
To Reproduce
$cf org-users prod-org
Getting users in org prod-org as admin...
ORG MANAGER
admin
85659a04-e3bd-462f-a145-2ed0e70b86d2 (client)
20ae010f-90e7-407e-8a4c-528352c8bf51 (client)
7277c272-b5be-4c17-bbd0-a8fec96a2342 (client)
7986836a-7dfe-4f6c-9d2e-63fac586f95d (client)
7158a081-c47d-4ca4-826d-578ae83489e8 (client)
72498249-26df-423f-94fc-bb969b8c93f8 (client)
Expected behavior
Able to delete these users.
Additional context
We recently started using the cf-mgmt pipeline but are finding that some job in the pipeline is leaving behind these unknown users. we’re unsure if this is caused by the create-users tasks if they happen before a user has been imported or if this is left behind by the cleanup users tasks but cf delete-user does not work on these mystery users. the users do not exist in uaa that we can find.
We would like to know how these users get created? how can we delete them?

I'm sorry but I don't believe I have enough information to recreate this issue. What version are you using? What does a scrubbed version of your config look like?

Hi,
Thanks for our answer.
The version is 1.0.43.
The config is:
`Skip to sidebar navigation
Skip to content
Linked Applications
Bitbucket
Projects
Repositories
Search for code or repositories
Search for code or repositories...
Help
Administration
7
Logged in as Mariana Falzone (mariana.falzone)
Pivotal Cloud Foundry
Clone
Create branch
Create pull request
Fork
Source
Commits
Branches
Network
2Pull requests
Settings
Pivotal Cloud Foundry
concourse-pipelines
Source
BranchmasterBranch actions
concourse-pipelines/cf-mgmt-pcf/pipeline.yml
ykisialiou
ykisialiou
committed
0c07c900885
20 Apr 2020
BlameRaw file
Source viewDiff to previousHistory
PASSWORD: ((password))
CONFIG_DIR: ((config_dir))
CLIENT_SECRET: ((client_secret))
LOG_LEVEL: ((log_level))
CF_MGMT_COMMAND: update-space-security-groups

name: update-org-users
plan:

get: config-repo
passed: [create-orgs]
trigger: true
get: time-trigger
trigger: true
task: update-org-users
file: config-repo/ci/tasks/cf-mgmt.yml
params:
SYSTEM_DOMAIN: ((system_domain))
USER_ID: ((user_id))
PASSWORD: ((password))
CONFIG_DIR: ((config_dir))
CLIENT_SECRET: ((client_secret))
LDAP_USER: ((ldap_user))
LDAP_PASSWORD: ((ldap_password))
LDAP_SERVER: ((ldap_server))
LOG_LEVEL: ((log_level))
CF_MGMT_COMMAND: update-org-users

name: update-org-quotas
plan:

get: config-repo
passed: [create-orgs]
trigger: true
task: update-org-quotas
file: config-repo/ci/tasks/cf-mgmt.yml
params:
SYSTEM_DOMAIN: ((system_domain))
USER_ID: ((user_id))
PASSWORD: ((password))
CONFIG_DIR: ((config_dir))
CLIENT_SECRET: ((client_secret))
LOG_LEVEL: ((log_level))
CF_MGMT_COMMAND: update-org-quotas

name: isolation-segments
plan:

get: config-repo
trigger: true
passed: [create-orgs, create-spaces]
get: time-trigger
trigger: true
task: isolation-segments
file: config-repo/ci/tasks/cf-mgmt.yml
params:
SYSTEM_DOMAIN: ((system_domain))
USER_ID: ((user_id))
CLIENT_SECRET: ((client_secret))
CONFIG_DIR: ((config_dir))
LOG_LEVEL: ((log_level))
CF_MGMT_COMMAND: isolation-segments

name: cleanup-org-users
plan:

get: config-repo
passed: [update-org-users,update-space-users]
trigger: true
get: time-trigger
trigger: true
task: cleanup-org-users
file: config-repo/ci/tasks/cf-mgmt.yml
params:
SYSTEM_DOMAIN: ((system_domain))
USER_ID: ((user_id))
PASSWORD: ((password))
CONFIG_DIR: ((config_dir))
CLIENT_SECRET: ((client_secret))
LOG_LEVEL: ((log_level))
CF_MGMT_COMMAND: cleanup-org-users`

Thank you! We already tried to remove them with the uaac but we were not able to do so. Any other recommendation?

Is it that the users are deleted and then re-appear? Or are you unable to delete them?
I'm not aware of any clients that cf-mgmt requires or creates. Other than the single client that you must create in order for cf-mgmt to operate.
How did you come to know that cf-mgmt was creating the users?

We are unable to delete them.
I don’t know that it’s creating the users, i’m assuming it needs some identity to apply to roles to. i guess the question is what happens if a user is added to the cf-mgmt configs and has roles applied to it before the user is created in UAA or with cf create-user
what can cloud foundry apply the roles to if there is no identity yet?

Hi there.
I had to manually delete the weird ids from the UI. I was not able to delete the users from the cli since they were not showing. I reported this bug to pivotal.
Our cfmgmt pipeline runs every 5 minutes so I was able to validate that the users are not getting recreated.

Glad to see this is resolved. Sorry I wasn't able to be more help.


Pass port number as exec argument

Currently, port is controlled by setting file:
[core]
port = "4600"
workers = 8
queues = 8192
notification_max = 100

In our environment, gaurun is running on docker container. In our docker env, all port used by program is controlled and maitained by upper net container(ref.: http://blog-jp.alpaca.ai/entry/2015/10/28/095009).
To prevent the conflict of port, we would like to specify port number by Environment Variable(this is controlled in net container) like that:
gauran -p %GAURUN_PORT -c setting.toml

@gamella Why don't you use the network port mapping?

Yes, port mapping is one solution. However, we use -net=host mode mainly, because we use some tricks to change the network configuration dynamically, and -net=host is good solution to change the network configuration dynamically.

Or we can re-generate toml file dynamically. This is alternative solution.

I see. As I'll consider whether introducing the option -p, take the approarch below for now. Or patches welcome.

Or we can re-generate toml file dynamically. This is an alternative solution.

@gamella Added the option -p in #16. Thank you for the suggestion.

@cubicdaiya Thanks for quick support!


Sorter (reorderable list) - component that allows the user to specify/change order of subcomponents/content

Description
Note: This issue was created in the design system repo. We thought there should be done some discusion if this could be solved in another way in Altinn 3 before we start making a component. Original issue
Describe the component
The user are presented with a number of options or are tasked to add options themselves. Afterwards the user are allowed to change the order of the options presented (or added).
Example in one of our Altinn projects (Brukervennlige registertjenester, "lag nytt enkeltpersonsforetak" ) the user is tasked to selecting an main activity and 0-4 additional activites for their new business. It is very important that we know whatever activity is the main one listed first, but the user might want to change the order after they have selected/added up to 5 different activities. In this case, for each line inside this component there is one select-field and one button to remove the line.
If you have any examples or similar components feel free to include links or screenshots here
Topic is discussed a bit here:
https://www.darins.page/articles/designing-a-reorderable-list-component
Additional Information
No response

example:


Add documentation about the database

In poking around compose I see a MariaDB database is required, which is apparently bootstrapped by a rake task.  However, I cannot locate the official documentation about the database, such as what DBs are supported (MariaDB and supposedly MySQL are supported, how about Postgres?) or how to manage it.
Please expand the documentation to include:

Which Database backends are supported
How Portus is configured to connect to the DB
How the DB is bootstrapped
If a central DB cluster is required for production (I'm assuming yes?)

Thanks for bringing up this topic, since it has been worked on lately (see PR #1093). The official statement would be that Portus supports MariaDB, but as you can see in the PR #1093, this can be made more flexible in the future.
After I get more feedback in PR #1093, I'll write the documentation that you are mentioning. That being said, the RPM will most surely still require MariaDB, so this flexibility will only be available for container setups and bare metal solutions.

Sounds good!  More flexibility would be nice as we would prefer to run Postgres if possible as we have more in-house expertise on it.


Multi-School Refactoring

[core] simplify the multi school implementation (just switch on SpellSchool.Matches()); remove the various related constants (SpellStrike, Frostfire, Holymoly etc.), and remov the largely unknown mechanics for physical x magic resistances
[core] remove SchoolCritTakenMultiplier pseudo stat, since the only use case (Winter's Chill) is, in fact, not a use case for such a multiplier
I've looked at some logs for "Bloodbark Crusher" (core.SpellSchoolPhysical | core.SpellSchoolNature) and "Exsanguinar" (core.SpellSchoolPhysical | core.SpellSchoolShadow), and even these two work entirely different: the first seemed to behave mostly like SpellSchoolNature, the latter rather like a bleed, but the initial damage was "mostly random" (it should deal a fixed 65 damage, had rawDamage 0 (!), and varied from 50 to 150 or thereabouts, irrespective of Shadow or Physical damage modifiers present)
TLDR: It's utterly unclear how physical x magic spells work

Physical multi school isn't "entirely unknown". Armor is used if armor value is ~resistance or less, only the specific rules for that are unknown because it wasn't tested much. Armor should not be used most of the time as a result. That's why I implemented it the way it is.

But yeah, the switch to using indices was mostly due to performance considerations, and that became irrelevant in the end. That may be an ok change.

Removing tests for multi school entirely is probably bad though. Resistance and bonus power for multi school still works differently and isn't tested anywhere else, right?

"physical + magic":
If the "specific rules are unknown" at this point (and this includes how damage multipliers are used), the items using that mechanic are less than a handful, and the current implementation would choose the "magic" school basically anytime (resists typically being 0, and armor hardly ever below 400+), I'd either ignore those spells for now (that's what I'm doing), or change them to just use the "magic" school until there's a better theoretical foundation.
"testing":
I can add table tests for unit.resistance(), spell.SpellSchoolPower(), and unit.GetSchoolDamageDoneMultiplier(), but don't think they're overly necessary, given how simply these have become

Tests are not necessary if nobody ever changes the code, sure, but e.g. you are doing exactly that. Breaking ms logic also doesn't necessarily break sim results, which is why I made explicit tests for it to begin with.
And as already discussed in discord, always using armor is just wrong. Always using resistance would still be more wrong than what I did. I just don't see a reason to make it more wrong just because it's not 100% correct the way it is.

Hey @FelixPflaum @vigo2 how are we feeling about this one?

@kayla-glick I think removing all the individual indices is a good idea, they are simply not needed with how the implementation ended up, but I dislike other changes as mentioned above.  Seeing as there were no changes here I opened a PR for that now.


AddCoversClassAttributeRector: skip abstract classes

quoting sebastian bergmann:

This has no effect as AttributeParserTestCase is an abstract class and only metadata on concrete test classes is used.

see https://github.com/sebastianbergmann/phpunit/pull/5814#discussion_r1568275673

//cc @maks-rafalko

Thank you @staabm


Service Bus Sessions + Parallel / Serial Processing

Closes #1245
What is being addressed
We need to support parallel execution and deployments, without introducing conflicts of multiple updates being attempted against a resource at once.
How is this addressed

Service bus queue for deployments has sessions enabled
Session ID set to resource ID - so multiple updates to the same resource will exist in the same session in SB, and be queued behind each other to be processed in serial. Other deployments will be executed by spare processors in the RP, in parallel.
Message receiver logic refactored in the runner:

yield logic removed, message processing is awaited in the loop
better exception handling for service bus transient errors, and clearer logging to describe what each process is doing
some uamqp logging levels raised to avoid polluting the logs with messages that look like errors that require action, when in fact they are expected (timeouts etc)

Introduction of basic, manual performance tests to validate behaviour

Not for the build, but a new E2E Performance debug task has been added, with 2x perf tests which test creating separate resources in parallel, and then test applying multiple concurrent updates to user resources to ensure those updates queue and are not acted upon in parallel.

In my testing I have run 10x processors in the RP, and via the perf tests have created 2x VMs, applying 5x updates to each. Without sessions these would all run together and 4 out of 5 would fail. With sessions, I have confirmed that those updates are queued and are picked up either by the same process - or a new process after the previous one has finished and disconnected from the session.
In the resource processor logs you'll see entries such as:
# Process 17 attempting to get a new service bus session. This will eventually time out if no 'available' messages are there
runner  root    17      2022-03-31 16:04:19,589 INFO    Looking for new session...

# Process 17 timed out looking for messages on a new session
runner  root    17      2022-03-31 16:04:13,719 INFO    No sessions for this process. Sleeping 30s then will look again...

# Process 23 has a session that contains messages, and will hold on to that whilst there are more messages with the same
# session ID
runner  root    23      2022-03-31 15:43:21,123 INFO    Get a session containing messages
runner  root    23      2022-03-31 15:44:21,572 INFO    Message received for resource_id=c8063edb-c9ef-4b1f-9627-bc3ccfff0968,

/test

/test-force-approve
have run PR build + smoke tests already. e2e extended + performance run locally

/test-force-approve
have run PR build + smoke tests already. e2e extended + performance run locally

/test-force-approve

/test-force-approve

/test-forece-approve

/test-force-approve


fix: Fix NestedDotExpr parsing from a single symbol

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

6 of 6 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-2.9%) to 85.642%

Totals

Change from base Build<PHONE_NUMBER>:
-2.9%

Covered Lines:
1354

Relevant Lines:
1581

💛  - Coveralls


Added feature to convert a field inside JSON to type []byte

Hey,
I was running into the problem where a field inside my proto message was of type []byte. So I have added this flag to serialize a field inside the JSON provided.
I could have also taken an array of fields but then I found it to be an overkill.
Below is a screenshot of my use case. In the screenshot, you can see that I wanted to send "Value" field inside JSON as an object which will be having dynamic number of fields with dynamic datatypes. So I wanted to convert this into []byte for the server to handle.

If you want to add/modify anything, please tell me. I'll be happy to make the changes.
Thanks
Anuj Gupta

Hello, thanks for the PR. Can you please explain the problem in more detail, and provide a sample proto file and JSON that demonstrates the issue. I want to understand the issue better and see why the current implementation does not work, and if there is a more appropriate approach to solve it. We would also need tests for the specific issue. It may be that if we use golang/protobuf/jsonpb it may be a more elegant solution, but that may require a slightly more complicated change.
Thanks,
Bojan

Thanks for the quick response Bojan. I will get back to you soon with more data, use case and test cases. Also, I will explore golang/protobuf/jsonpb as you have mentioned.

Hi Bojan,
I have modified the flag to take in comma separated field names inside JSON which are supposed to be converted into []byte. I checked "golang/protobuf/jsonpb" but could not get it to work for my case. I am adding the proto file and a details_server.go file similar to "ghz/internal/helloworld". That will help you understand my use case better. I thought of writing a test case too but was finding it troublesome to integrate it in the current project.
Use case explanation:
A server is storing details of a user.
A client wants to read some of those details of the user. He does not know the datatype of the detail and also doesn't know if the detail exists on the server or not. So the client sends a JSON which contains detail(key) and a value(default value) for every detail he wants to extract from the server. In case the detail is not present on the server, the server sends the default value back to the client.
Now, in this case, the client wants to send a dynamic JSON to the server. The number of fields inside the JSON and their datatypes are all dynamic. Also, the server sends back a JSON that can contain fields of any data type. So since we can't specify a contract, the client has to send all the data as []byte.
Hence, I needed to convert a few fields inside the RequestMessage into []byte. Request message sent by client will look somewhat like this:
Message UserDetailsRequest{
      string Userid = 1;
      bytes Properties = 2;
}
*Properties is a dynamic JSON of details client wants to read from server.
Please find the attached files use_case.zip

details.proto
details.pb.go
details_server.go

It would be great of you can a test case for this change using the files I've provided as I am having trouble doing the same.
Best Regards,
Anuj

Hello, I've looked into this a little bit, and I believe a more appropriate generic solution would be to use  golang/protobuf/jsonpb for JSON unmarshaling of the input in general. Then in your specific scenario you could use one of the well known types, most likely Struct can work for you. For example some sample usage of the idea:
message UserDetailsRequest {
    string Userid = 1;
    google.protobuf.Struct Properties = 2;
}

package main

import (
	"log"
	"strings"

	"github.com/golang/protobuf/jsonpb"
)

func main() {
	str := `{"Userid":"userId","Properties":{"foo":"bar","size":11,"nested":{"prop":true}}}`
	rdr := strings.NewReader(str)
	user := &UserDetailsRequest{}
	if err := jsonpb.Unmarshal(rdr, user); err != nil {
		log.Fatalln("Failed to parse user:", err)
	}

	log.Printf("PRINT:\n%+v\n", user)

	if user.Properties != nil {
		fields := user.Properties.GetFields()
		for k, v := range fields {
			log.Printf("k: %+s v: %+v\n", k, v.Kind)
		}
	}

	ma := jsonpb.Marshaler{}
	out, err := ma.MarshalToString(user)
	if err != nil {
		log.Fatalln("Failed to encode user data:", err)
	}

	log.Printf("JSON:\n%+v\n", out)
}

2018/10/16 11:04:04 PRINT:
Userid:"userId" Properties:<fields:<key:"foo" value:<string_value:"bar" > > fields:<key:"nested" value:<struct_value:<fields:<key:"prop" value:<bool_value:true > > > > > fields:<key:"size" value:<number_value:11 > > >
2018/10/16 11:04:04 k: size v: &{NumberValue:11}
2018/10/16 11:04:04 k: nested v: &{StructValue:fields:<key:"prop" value:<bool_value:true > > }
2018/10/16 11:04:04 k: foo v: &{StringValue:bar}
2018/10/16 11:04:04 JSON:
{"Userid":"userId","Properties":{"foo":"bar","nested":{"prop":true},"size":11}}

Note that the well-known types come with protoc so you just need to add it as an include to the compile, ie. something like -I=/usr/bin/protoc-3.6.0/include
I'll try and get a PR for protobuf/jsonpb soon.

Hello, further looking into this, and it seems this should already work fine with ghz if you use Struct as suggested. Example server:
syntax = "proto3";

package pbtypes;

import "google/protobuf/struct.proto";

message UserDetailsRequestC {
    string Userid = 1;
    google.protobuf.Struct Properties = 2;
}

message UserDetailsResponse {
    string Userid = 1;
    string PropertiesJSON = 2;
}

service GreeterService {
    rpc SayHelloC (UserDetailsRequestC) returns (UserDetailsResponse) {}
}

Server:
package main

import (
	"context"
	"log"
	"net"

	"github.com/bojand/jsonpbtest/pbtypes"
	"github.com/golang/protobuf/jsonpb"
	"google.golang.org/grpc"
	"google.golang.org/grpc/reflection"
)

const (
	port = ":50051"
)

func main() {
	runServer()
}

type server struct{}

func (s *server) SayHelloC(ctx context.Context, in *pbtypes.UserDetailsRequestC) (*pbtypes.UserDetailsResponse, error) {
	userID := in.GetUserid()
	props := in.GetProperties()
	propsJSON := ""
	if props != nil {
		ma := jsonpb.Marshaler{}
		out, err := ma.MarshalToString(props)
		if err != nil {
			log.Fatalln("Failed to encode user data:", err)
		}
		propsJSON = out
	}

	log.Printf("IN USER PROPS:\n%+s", propsJSON)

	return &pbtypes.UserDetailsResponse{
		Userid:         userID,
		PropertiesJSON: propsJSON,
	}, nil
}

func runServer() {
	lis, err := net.Listen("tcp", port)
	if err != nil {
		log.Fatalf("failed to listen: %v", err)
	}

	s := grpc.NewServer()
	pbtypes.RegisterGreeterServiceServer(s, &server{})

	// Register reflection service on gRPC server.
	reflection.Register(s)
	if err := s.Serve(lis); err != nil {
		log.Fatalf("failed to serve: %v", err)
	}
}

/ghz -insecure -proto userdetails.proto -call pbtypes.GreeterService.SayHelloC -d '{"Userid":"userC","Properties":{"foo":"bar","size":11,"nested":{"prop":true}}}' <IP_ADDRESS>:50051

Summary:
  Count:	200
  Total:	15.42 ms
  Slowest:	7.82 ms
  Fastest:	0.49 ms
  Average:	2.74 ms
  Requests/sec:	12966.98

Response time histogram:
  0.492 [1]	|∎
  1.225 [30]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
  1.957 [33]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
  2.690 [34]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
  3.423 [56]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
  4.156 [20]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎
  4.889 [12]	|∎∎∎∎∎∎∎∎∎
  5.622 [5]	|∎∎∎∎
  6.355 [3]	|∎∎
  7.088 [3]	|∎∎
  7.821 [3]	|∎∎

Latency distribution:
  10% in 1.00 ms
  25% in 1.55 ms
  50% in 2.71 ms
  75% in 3.37 ms
  90% in 4.46 ms
  95% in 5.36 ms
  99% in 7.72 ms
Status code distribution:
  [OK]	200 responses

Hey Bojan,
Thank you for your response. Yes I think if I use "google.protobuf.Struct"
in my protobuf file, it will incorporate the JSON automatically.
Best Regards,
Anuj
On Wed, 17 Oct 2018 at 06:43, Bojan<EMAIL_ADDRESS>wrote:

Hello, further looking into this, and it seems this should already work
fine with ghz if you use Struct as suggested. Example server:
syntax = "proto3";
package pbtypes;
import "google/protobuf/struct.proto";
message UserDetailsRequestC {
string Userid = 1;
google.protobuf.Struct Properties = 2;
}
message UserDetailsResponse {
string Userid = 1;
string PropertiesJSON = 2;
}
service GreeterService {
rpc SayHelloC (UserDetailsRequestC) returns (UserDetailsResponse) {}
}
Server:
package main
import (
"context"
"log"
"net"
"github.com/bojand/jsonpbtest/pbtypes"
"github.com/golang/protobuf/jsonpb"
"google.golang.org/grpc"
"google.golang.org/grpc/reflection"
)
const (
port = ":50051"
)
func main() {
runServer()
}
type server struct{}
func (s *server) SayHelloC(ctx context.Context, in *pbtypes.UserDetailsRequestC) (*pbtypes.UserDetailsResponse, error) {
userID := in.GetUserid()
props := in.GetProperties()
propsJSON := ""
if props != nil {
ma := jsonpb.Marshaler{}
out, err := ma.MarshalToString(props)
if err != nil {
log.Fatalln("Failed to encode user data:", err)
}
propsJSON = out
}
log.Printf("IN USER PROPS:\n%+s", propsJSON)
return &pbtypes.UserDetailsResponse{
Userid:         userID,
PropertiesJSON: propsJSON,
}, nil
}
func runServer() {
lis, err := net.Listen("tcp", port)
if err != nil {
log.Fatalf("failed to listen: %v", err)
}
s := grpc.NewServer()
pbtypes.RegisterGreeterServiceServer(s, &server{})
// Register reflection service on gRPC server.
reflection.Register(s)
if err := s.Serve(lis); err != nil {
log.Fatalf("failed to serve: %v", err)
}
}
/ghz -insecure -proto userdetails.proto -call pbtypes.GreeterService.SayHelloC -d '{"Userid":"userC","Properties":{"foo":"bar","size":11,"nested":{"prop":true}}}' <IP_ADDRESS>:50051
Summary:
Count:	200
Total:	15.42 ms
Slowest:	7.82 ms
Fastest:	0.49 ms
Average:	2.74 ms
Requests/sec:	12966.98
Response time histogram:
0.492 [1]	|∎
1.225 [30]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
1.957 [33]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
2.690 [34]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
3.423 [56]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
4.156 [20]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎
4.889 [12]	|∎∎∎∎∎∎∎∎∎
5.622 [5]	|∎∎∎∎
6.355 [3]	|∎∎
7.088 [3]	|∎∎
7.821 [3]	|∎∎
Latency distribution:
10% in 1.00 ms
25% in 1.55 ms
50% in 2.71 ms
75% in 3.37 ms
90% in 4.46 ms
95% in 5.36 ms
99% in 7.72 ms
Status code distribution:
[OK]	200 responses
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/bojand/ghz/pull/31#issuecomment-430454780, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AP6eXtt_2ZmcPrVA42zNnFOAuXSeSHnLks5uloRTgaJpZM4XKKOt
.


V<IP_ADDRESS>11231 where are ToMat methods and Extensions?

I was trying to upgrade to V<IP_ADDRESS>11231 but have compilation errors.
BitmapConverter is not found nor is ToMat method.
What should I do?

https://github.com/shimat/opencvsharp/pull/1356
Please use https://www.nuget.org/packages/OpenCvSharp4.Extensions additionally.

I did not find this extension package initially when looking on nuget in order to try and solve this myself, I wonder if that happened to other people as well. I think it gets pushed down the list somehow.
Still, with that package it all works fine. Thanks!


Make more efforts to detect system SUNDIALS libraries

Enhance build.rs to try to detect system Sundials libraries;
Enable CI.

This looks good to me as-is, even though I couldn't get the WASM to build. I'll merge and proceed to transfer the crate to you.

I couldn't get the WASM to build.

There is a SUNDIALS_INDEX_TYPE that probably needs to be set to something other than int64_t.  More investigation is needed to compile the C code to WASM.  I'll open an issue on the new repository.


Store Application History in JSon

Summary of the new feature/enhancement
Similar to #368, please store application history in a json file rather than the registry. In fact, please avoid using the registry at all if possible.

In progress...

Moving to milestone 0.16 since 0.15 is a milestone to improve stability and this change has a high impact that will require extensive testing.

I just wanted to say thank you to the team for keeping this on the list. This feature will help with data transparency as well as configuration portability. It could also simplify automation or other tooling scenarios. So thanks!

Fix available in v0.15.1 https://github.com/microsoft/PowerToys/releases


Display upcoming tolerances in sections instead of workpieces

Tolerance sidebar pane should have two sections. One for tolerances on the active workingstep and one for 'upcoming' tolerances (tolerances in the next 3 workingsteps).

checkout at upcomingtolerances branch
it works on a working step before one with tolerances (to display upcoming tolerances)
but then it shows active tolerances as upcoming tolerances (fix)


ParseOptions: ignore Picture setting

Consider the following situation:
You have 10,000 audio files you want to probe, totaling to around 500 albums:
for file in files {
    let probe  = lofty::Probe::new(file)
    let tagged = probe.guess_file_type()?.read()?;

    // Do stuff with TaggedFile.
}

Currently, this fully scans every file, including the Picture bytes, meaning: every single file allocates a Vec for the picture bytes, even if we have already scanned them, or don't want them in the first place (e.g, we only want the core tag metadata).
I'd like to avoid allocating bytes that I already have, so my proposal:
for file in files {
    let options = lofty::ParseOptions::new().read_picture(false); // This doesn't exist.
    let probe   = lofty::Probe::new(file).options(options);
    let tagged  = probe.guess_file_type()?.read()?;

    // Do stuff with TaggedFile (that doesn't have a Picture).
}

After testing around, this cuts probing time in half for files with non-trivial picture data (1200x1200+).
I'm willing to submit a PR for this, but I was wondering if this ParseOptions::read_picture() API was the correct way forward, or if this should be done another way. It would add another branch each file parse since every version of read_from() would have this added:
if parse_options.read_picture {
    // Push picture bytes.
}

An addition to ParseOptions would be the way to go about this. :)
I'm curious though, how did you go about testing this? When items are encountered, they get read into memory before being interpreted, so there would be allocations regardless.

This was commented out in the tests (it was a match before though).
https://github.com/Serial-ATA/lofty-rs/blob/46127a09122c71671ae196e530f0f804cd09ce51/src/flac/read.rs#L93-L97
I'm now seeing that the allocation is not even here. In my case, I'm iterating in a hot loop over 1000s of files so I guess the encoding + push time was adding up.
If this read were prevented in Block::read, the bytes wouldn't even be allocated, right?
https://github.com/Serial-ATA/lofty-rs/blob/46127a09122c71671ae196e530f0f804cd09ce51/src/flac/block.rs#L32-L37
Something like a check before continuing after line 32 works but maybe is too invasive? Each Block::read would have to take in a ParseOptions and branch. It would have to return a signal to the calling read_from, letting it know to continue as well.
What is the right way to go about this? I'd like to make this easy to merge.

Yes, the allocation would be avoided completely if you just seek over the content in Block::read.
A nice way you could go about this would be to make Block::read take a closure:
let block = Block::read(reader, |block_type| {
    block_type == BLOCK_ID_VORBIS_COMMENTS
        || (block_type == BLOCK_ID_PICTURE && parse_options.read_pictures)
});

Then just change Block::read:
if predicate(block.ty) {
    // Read block content
} else {
    // Seek over content and return empty Vec
}

I will work on this and eventually submit an initial draft PR (probably in the next few weeks).

Sorry. I won't be working on this.

This should be a pretty easy feature to implement. I'll keep this open so I remember to eventually work on it.


As a plugin author, I'd like a means of registering contracts via the SDK

Plugin authors have the ability to create templates, which are programmable content generators. For instance, the LIGO plugin could develop a template called contract which when instantiated, creates a new source file for a contract in the contractsDir directory with some boilerplate for a contract that is ready-to-deploy.
However, as contracts need to be registered, this means that plugin authors cannot accomplish the above without having a means in the SDK to register a contract.
When we have implement hooks and callbacks (see #621 and #916), plugin authors will be able to accomplish this declaratively. However, as those contracts aren't yet developed, we need provide an alternative solution.
Plugin authors need the ability to register contracts via the SDK.  It's not clear yet whether this is a temporary solution, or something that will persist in the SDK. I personally would rather see the CLI as the only thing that can write to the config.json file - that's a better separation of concerns, and scales well when we add SDKs for future languages. However, we're already breaking this with the Flextesa plugin, so for now, I think having this as an experimental API method makes sense.
The scope of this issue is to:

[x] Create a method called registerContract.
[x] Export an object literal called experimental, with the method above as its only property. We'll extend this as we add more and more experimental methods and properties.
[x] Accompany this with an E2E test that ensures that registerContract works: a) the contract is in the config.json file; b) the list-contracts call includes the contract in its output

You can either branch off of 906-registered-contracts (from this PR: #908) or commit your changes directly to that branch.

Fixes in #908.


Add setters for the value of each widget's State struct.

In all of the widgets' State struct, there is the public field normal_param. Normally, one could just set and get values from normal_param since it is public, but a second, private field called continuous_normal ends up overwriting normal_param on every on_event call. This means it's not possible to actually set normal_param.value and have it stay set, which is undesirable since it results in the following bug:

A user turns the knob widget.
The knob value is then altered manually (for example, this might happen if a VST host modifies a parameter, and the knob happens to be connected to that parameter)
The user then interacts with the knob widget.
Due to continuous_normal overwriting normal_param, the knob's value is now reset to the value in step 1, causing an undesirable "snap" or "jump" in the knob's value!

To fix this, this PR adds a setter for each widget that sets both normal_param and continuous_normal. In the future, normal_param should probably be made private and a getter be exposed instead.
This PR also adds no_run to the example in the documentation since the example isn't actually a test and also if it runs, it will cause cargo test to hang, since iced doesn't return.
This fixes #7.

Sorry for taking a while to get to this. Good catch on the bug. I did not think this through enough.
The continuous_normal behavior is necessary for parameters that deal with ints/enums. The real "continuous" value of the virtual slider needs to be tracked separately from the visible value, or else those parameters won't move unless the user moves the mouse really fast.
What I need to do is also add a separate method for snapping integer values.
Anyway, thanks for your help!

I updated the fix to crates.io. So please update iced_audio to version 0.6 in your Cargo.toml. :)

Thank you so much!!

Thank you so much!!


[ENH] GitHub actions? Automated pointer and help for new contributors failing linting tests

Good first issue for someone who knows GitHub actions well:
By now, I've encountered perhaps dozens of situations where a new contributor's great contribution is almost ready to merge, but fails our linting tests.
In that situation, I found myself writing the same (hopefully helpful) tutorial post in the PR, which makes the contributor aware of the failing tests and points to our conventions and dev documentation.
I don't think this is the contributors' fault, since linting conventions may differ by repository and do not always exist; also, it is not a very beginner friendly situation if one hasn't seen this before, and core devs take days to reply to explain what is wrong.
Surely, it must be possible to have a bot or similar post that same helpful message that I've been writing in variations (perhaps an "extended version" with links and granular steps)?
As said, might be a good first issue and a flick of the wrist for someone who knows how to do this with GitHub actions.

Some thoughts:

probably something needs to be triggered "on fail" of the code-quality test
here's a long-term static example of failed linting: https://github.com/alan-turing-institute/sktime/pull/2153, in this PR it's intentional since I intend this to remain an incomplete draft on which to base development.
someone working on this issue will probably need core devs triggering CI/CD to see whether it's working, I can do that

can I work on this issue?

@sudojarvis, sure, if you know what to do?
I don't, so it might be good to start with a quick summary here what you would be going to do!.

@fkiraly
I have to create  .github/workflows/codacy-analysis.yaml. So If  I am using  'Codacy Analysis CLI'
this file contain
`
    name: Codacy Analysis CLI
    on:
        push:
             branch: ["master", "main"]
    pull_request:
            branch: ["master", "main"]

    jobs:
       codacy-analysis-cli:
               name: Codacy Analysis CLI
               runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@main

      - name: Run Codacy Analysis CLI
        uses: codacy/codacy-analysis-cli-action@master

`
Or we can create our own workflow like this
'
      name: Python Linting
      on:
        push:
          branches: [master]
        pull_request:
        workflow_dispatch:
      jobs:
        build:
          runs-on: ubuntu-latest
          steps:
            - uses: actions/checkout@v2
            - name: Set up Python 3.8
              uses: actions/setup-python@v2
              with:
                python-version: 3.6.9
            - name: Install dependencies
              run: |
                python -m pip install --upgrade pip
                pip install flake8
                pip install pylint
                if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
            - name: Lint with flake8
              run: |
                flake8 src --count --select=E9,F63,F7,F82 --show-source --statistics
                flake8 src --count --max-complexity=10 --max-line-length=79 --statistics
            - name: Lint with Pylint
              run: |
                   pylint src

'
source: https://medium.com/swlh/enhancing-code-quality-with-github-actions-67561c6f7063

@sudojarvis, I think there is a misunderstanding: we already have CI for linting, this issue is not about adding linting to CI.
This issue is about posting a helpful message in a case where the linting CI fails.

Yup, i will look for some other good first issue.
On Thu, 10 Mar 2022, 04:36 Franz Király, @.***> wrote:

@sudojarvis https://github.com/sudojarvis, I think there is a
misunderstanding: we already have CI for linting, this issue is not about
adding linting to CI.
This issue is about posting a helpful message in a case where the
linting CI fails.
—
Reply to this email directly, view it on GitHub
https://github.com/alan-turing-institute/sktime/issues/2172#issuecomment-1063468837,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AR4OBYZAPIJN3T27ZTMFLVLU7EVIPANCNFSM5QBGZF2Q
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>


Getting Promise.prototype.then called on incompatible receiver error when calling store.dispatch('service/find')

This error appears to come only when I start using the feathers-reactive v0.5.1. With v0.4.1 there appears to be no such error
TypeError: Method Promise.prototype.then called on incompatible receiver #
at Promise.then ()
at Promise.catch ()
at find (actions.js?1939:38)
at Array.wrappedActionHandler (vuex.esm.js?358c:598)
at Store.dispatch (vuex.esm.js?358c:341)
at Store.boundDispatch [as dispatch] (vuex.esm.js?358c:266)
at VueComponent.created (RfidReader.vue?c5fe:69)
at callHook (vue.esm.js?efeb:2556)
at VueComponent.Vue._init (vue.esm.js?efeb:4000)
at new VueComponent (vue.esm.js?efeb:4169)
if (service.rx) {
      Object.getPrototypeOf(request).catch(handleError) // <-----
} else {
       request.catch(handleError)
}

@saswatds it happened to me as well. It was ok a few weeks ago.

There's a breaking change to feathers-reactive, so this plugin is currently only compatible with the previous version.

feathers-reactive is no longer needed with the latest versions of this package. feathers-vuex now handles reactivity on its own.  I have no plans to support the newest version of feathers-reactive, since it would involve doing work for a feature that already exists without using it.


docs: advanced algokit generate command

Proposed Changes

ADR proposal for advanced algokit generate command
Includes reference to PoC that can be played with already - reflecting implementation proposal in option 1

@robdmoore updated the final decision section
@Loedn if you are ok with the proposal can you also approve the pr?


Fix linting errors

Codecov Report

Merging #666 into master will decrease coverage by 0.2%.
The diff coverage is 70%.

@@            Coverage Diff             @@
##           master     #666      +/-   ##
==========================================
- Coverage   98.77%   98.57%   -0.21%
==========================================
  Files          12       12
  Lines         490      490
==========================================
- Hits          484      483       -1
- Misses          6        7       +1

Impacted Files
Coverage Δ

lib/webpack/client.config.js
100% <ø> (ø)
:arrow_up:

lib/webpack/helpers.js
80% <100%> (ø)
:arrow_up:

lib/generate.js
92% <66.66%> (ø)
:arrow_up:

lib/build.js
99.57% <0%> (-0.43%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 71c9838...d656a6a. Read the comment docs.

Thanks @stephan281094


partition test: increase healing time

Motivation
remove flakiness in the systest

should we also use this PR to reduce the timeouts of Systemtest I and Systemtest II again?

great idea. done

bors merge


prisma generate fails on custom endpoint

Describe the bug
A clear and concise description of what the bug is.
prisma generate fails when using a custom endpoint in 2 cases:

command prisma generate --endpoint http://my.server:1234/ is not using the endpoint from the command-line.

Response is a successful generation using the endpoint defined in the prisma.yml :
Downloading schema 974ms
Saving Prisma Client (TypeScript) at <path>

but expected an error that Prisma service at http://my.server:1234/ cannot be reached.
Also, the endpoint values used in the generated index.ts is still the endpoint from the prisma.yml and not the one given on command-line.
Looking at the code for the Prisma Generate command, there is a if statement based on whether the argument is available, but the value of the argument is never used.
To Reproduce
Steps to reproduce the behavior:

Start up Prisma and db using docker-compose as described in Getting Started.
Use default prima.yml:

endpoint: http://localhost:4466/ipos-api/develop
datamodel: datamodel.prisma

generate:
  - generator: typescript-client
    output: src/generated/prisma-client/

Run prisma generate --endpoint http://my.server:1234

Expected behavior
Expect generation to fail, but it still succeeds since it connects to endpoint from prisma.yml.
If the endpoint in prisma.yml is changed to endpoint: http://my.server:1234 and using the command prisma generate --endpoint http://localhost:4466/ then the command fails since it tries to connect to http://my.server:1234 instead of http://localhost:4466/ provided on command-line.
Expect the generate command to use the endpoint argument provided on the command-line over the endpoint value defined in the prisma.yml when:

connecting to the Prisma service
generating the source code. The used endpoint value for constructing a Prisma client instance should have the value from the command-line.

Using a dynamic endpoint in prisma.yml fails generation of client.

The prisma CLI is able to connect to the Prisma service, so somewhere the endpoint is correctly evaluated and, in case the environment values are not set, the default values are being used.
However, the dynamic endpoint value does not seem the be evaluated when using it generating source code. Instead it is directly put in the endpoint value for constructing a new Prisma client instance which results in a Typescript syntax error.
I have not tested this, but I assume it fails for all client types.
Because of this error, the generate command does not produce any output.
Error:
Generating schema 88ms
 ▸    '}' expected. (3385:108)
 ▸      3383 | */
 ▸      3384 |
 ▸    > 3385 | export const Prisma = makePrismaClientClass<ClientConstructor<Prisma>>({typeDefs, models, endpoint:
 ▸    `${self:custom.prismaUrl}/${self:custom.serviceName}/${self:custom.serviceStage}`})
 ▸           |                                                                                ^
 ▸      3386 | export const prisma = new Prisma()
 ▸      3387 |

To Reproduce
Steps to reproduce the behavior:

Start up Prisma and db using docker-compose as described in Getting Started.
Use default prima.yml with a dynamic endpoint based on custom values:

endpoint: ${self:custom.prismaUrl}/${self:custom.serviceName}/${self:custom.serviceStage}
datamodel: datamodel.prisma

generate:
  - generator: typescript-client
    output: src/generated/prisma-client/

# Customize location of prisma service so values can be set via environment variables
custom:
  prismaUrl: ${env:PRISMA_URL, "http://localhost:14466"}
  serviceName: ${env:PRISMA_SERVICE_NAME, "myservice"}
  serviceStage: ${env:PRISMA_SERVICE_STAGE, "develop"}

Run prisma generate

Expected behavior
In the generated code, the evaluated value for endpoint must be used when constructing a new Prisma instance.
This this case it should have been evaluated into index.ts fragment (at the bottom):
...
export const Prisma = makePrismaClientClass<ClientConstructor<Prisma>>({
  typeDefs,
  models,
  endpoint: `http://localhost:14466/myservice/develop`,
  secret: `0331d120b1da4304958f45f25c43c31a`
});
export const prisma = new Prisma();

Versions (please complete the following information):

Prisma Server: 1.32.0
prisma CLI: prisma/1.32.0 (darwin-x64) node-v11.3.0
OS: Darwin Kernel Version 18.5.0: Mon Mar 11 20:40:32 PDT 2019; root:xnu-4903.251.3~3/RELEASE_X86_64 x86_64

It seems the second issue is related to the default values I defined for the environment variables in prisma.yml.
When defining the endpoint in prisma.yml as endpoint: ${env:PRISMA_URL}/${env:PRISMA_SERVICE_NAME}/${env:PRISMA_SERVICE_STAGE} then generated code contains:
export const Prisma = makePrismaClientClass<ClientConstructor<Prisma>>({
  typeDefs,
  models,
  endpoint: `${process.env["PRISMA_URL"]}/${
    process.env["PRISMA_SERVICE_NAME"]
  }/${process.env["PRISMA_SERVICE_STAGE"]}`
});
export const prisma = new Prisma();

which is at least something I can work with for now, I think, since I do need a way to correctly link a prisma client in an application to the correct Prisma service deployment.

Hi @diversit
This is actually related to parsing of self. Right now it is not properly parsed.
Closing as duplicate of https://github.com/prisma/prisma/issues/3659


Leaflet master merge corrected test suites

Hi,
I updated all test suites so that they fit now Leaflet 1.0.0-beta.2.
The main difference is in vector layers (circles, circleMarkers) HTML Elements not having the same inserting path in DOM.
I also took the opportunity to change the test suites to avoid creating maps between each test, which takes up PhantomJS memory and can make it hang in the long run.
I also found an issue in Spiderfier when unspiderfying L.Circle's: since they have a _latLng, they can be clustered and spiderfied, but unlike L.Marker's, they do not have the setOpacity nor setZindexOffset methods. Simply added a check for instance type.
I also added the latest commit.
Finally, I updated all example pages to use Leaflet 1.0.0-beta.2 assets (CSS, JS and -src.js).
Now all tests should pass, and Leaflet-master-merge could be merged into Leaflet-master.

Please note that I had to add magic-string as a devDependency in markercluster package.json, because it is now used in Leaflet 1.0.0-beta.2 build file. That build file is used in markercluster karma.conf.

Thanks, merged! Now to catch up all the new commits :)

When can a tagged release be made?
I don't know how to build it myself.

soon, watch #528


[SaveAction] fix extension bug

Hopefully closes #1596, but it needs to be tested on linux again.
The file dialog on windows already appended the first extension, which made this issue apparent (only .h5 was treated properly).

It works.

You can set _NEXUS_HDF5_EXT_STR with a single liner:
_NEXUS_HDF5_EXT_STR = ' '.join(['*' + ext for ext in _NEXUS_HDF5_EXT])

LGTM


"Failed to install user packages for this build" error

https://ci.chromium.org/ui/p/flutter/builders/try/Mac_x64 check_podspecs/8619/overview

I have no idea what this means or why it happened.
It would be nice if it was clearer about what the problem was, and even nicer if the problem didn't happen (or if it is inevitable that the problem happen sometimes, that the system automatically tried to heal itself, e.g. retrying).

From the swarming task log: https://chromium-swarm.appspot.com/task?id=6655e20a8d0f1d10&o=true&w=true
[I2023-12-05T18:59:10.691025-08:00 76470 0 cipd.go:128] Install CIPD client from URL: https://chrome-infra-packages.appspot.com/client?platform=mac-amd64&version=git_revision:ec494f363fdfd8cdd5926baad4508d562b7353d4
[E2023-12-05T19:04:56.641905-08:00 76470 0 main.go:392] Failure in installing user packages: read tcp <IP_ADDRESS>:50219-><IP_ADDRESS>:443: read: connection reset by peer

Does this issue persist? Wondering if this is some transient issue.

Closing as obsolete. Please reopen if you see this error again.


Configurable image build tool

Make it possible to specify an image build tool other than docker - a
limitation is that the build tool must be compatible with docker files,
of course. This makes it possible to build an NFD image without the
Docker daemon, for example.
The image build command is specified in a makefile variable and can be
overridden from command line, for example:
$ make IMAGE_BUILD_CMD="buildah bud"

I was able to verify this on Centos 7 with sudo make IMAGE_BUILD_CMD="buildah bud"
However, running as a regular user fails with:
$ make IMAGE_BUILD_CMD="buildah bud"
buildah bud --build-arg NFD_VERSION=v0.2.0-6-g6ae5433 \
	--build-arg http_proxy=http://proxy.ir.intel.com:911 \
	--build-arg HTTP_PROXY= \
	--build-arg https_proxy=http://proxy.ir.intel.com:911 \
	--build-arg HTTPS_PROXY= \
	--build-arg no_proxy=localhost,<IP_ADDRESS>,.intel.com,intel.com,<IP_ADDRESS>/12,<IP_ADDRESS> \
	--build-arg NO_PROXY= \
	-t quay.io/kubernetes_incubator/node-feature-discovery:v0.2.0-6-g6ae5433 ./
Error during unshare(CLONE_NEWUSER): Invalid argument
ERRO[0000] error parsing PID "": strconv.Atoi: parsing "": invalid syntax
ERRO[0000] (unable to determine exit status)
make: *** [image] Error 1

I guess this is expected, because of outdated shadow-utils or smth(?) Any comments from @jeremyeder @zvonkok

Which minor release of centos 7 are you using? Kernel-version?
Per default the max number of user namespaces is zero.
echo 10000 > /proc/sys/user/max_user_namespaces
Then try:
unshare -fU -- echo foo
This is where this error Error during unshare(CLONE_NEWUSER): Invalid argument came from.
If you're running an older kernel you may have to activate per kernel cmdline the unsernamespace.
AFAIK newgidmap and newuidmap are still missing in the latest Centos releases. So rootless build
will be working when new shadow-utils with newgidmap and newuidmap appear.

Per default the max number of user namespaces is zero.
echo 10000 > /proc/sys/user/max_user_namespaces

Oh, that was one issue, thanks for pointing that out.

Then try:
unshare -fU -- echo foo

This now works as expected

AFAIK newgidmap and newuidmap are still missing in the latest Centos releases. So rootless build
will be working when new shadow-utils with newgidmap and newuidmap appear.

Yes, that seems to be the case, because now the build fails with:
Error: error running newgidmap: exec: "newgidmap": executable file not found in $PATH:
ERRO[0000] error running newgidmap: : exec: "newgidmap": executable file not found in $PATH

@zvonkok : Any (review) comments to the commit itself?

@marquiz LGTM that's the approach I suggested on https://github.com/kubernetes-incubator/node-feature-discovery/pull/131#issuecomment-410995238
The root build works for me, tested with current master on rhel7.5.
The rootless build works on F29, Fedora has newgidmap and newuidmap.
Beware that rootless builds do not end up in /var/lib/containers. They are in ~/.local/share/containers.
The root user will not see the images built by an user.
$ buildah images
IMAGE ID             IMAGE NAME                                               CREATED AT             SIZE
0d283eb41a92         docker.io/library/golang:1.8                             Feb 17, 2018 11:54     732 MB
dcfc056413ba         quay.io/kubernetes_incubator/node-feature-discovery:v0.2.0-5-gdb929b8-dirty Sep 19, 2018 15:27     1.25 GB
$ sudo buildah images

Cool, thanks.
I verified root build on CentOS 7.5.1804


bug: No module named 'opentrons_hardware'

Overview
Hi,
I cannot run Flex protocols with opentrons_simulate, while OT-2 protocols run fine.
I am on v8.2.0. The error is:
Traceback (most recent call last):
  File "/Users/angeloas/miniforge3/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/Users/angeloas/miniforge3/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/Users/angeloas/miniforge3/lib/python3.10/site-packages/opentrons/simulate.py", line 1061, in <module>
    sys.exit(main())
  File "/Users/angeloas/miniforge3/lib/python3.10/site-packages/opentrons/simulate.py", line 1020, in main
    runlog, maybe_bundle = simulate(
  File "/Users/angeloas/miniforge3/lib/python3.10/site-packages/opentrons/simulate.py", line 555, in simulate
    with _make_hardware_simulator_cm(
  File "/Users/angeloas/miniforge3/lib/python3.10/contextlib.py", line 135, in __enter__
    return next(self.gen)
  File "/Users/angeloas/miniforge3/lib/python3.10/site-packages/opentrons/simulate.py", line 377, in _make_hardware_simulator_cm
    result = _make_hardware_simulator(override=None, robot_type=robot_type)
  File "/Users/angeloas/miniforge3/lib/python3.10/site-packages/opentrons/simulate.py", line 350, in _make_hardware_simulator
    from opentrons.hardware_control.ot3api import OT3API
  File "/Users/angeloas/miniforge3/lib/python3.10/site-packages/opentrons/hardware_control/ot3api.py", line 143, in <module>
    from .backends.flex_protocol import FlexBackend
  File "/Users/angeloas/miniforge3/lib/python3.10/site-packages/opentrons/hardware_control/backends/flex_protocol.py", line 41, in <module>
    from opentrons_hardware.firmware_bindings.constants import SensorId
ModuleNotFoundError: No module named 'opentrons_hardware'

Steps to reproduce
No response
Current behavior
No response
Expected behavior
No response
Operating system
Mac
System and robot setup or anything else?
No response

can you try the following command and run the simulator again?
python -m pip install 'opentrons-hardware @ git+https://github.com/Opentrons/opentrons@fc8f7113c682cd6ce48273cf7c47a242b9272cfc#subdirectory=hardware'

Thanks, this gives git clone error:
Collecting opentrons-hardware@ git+https://github.com/Opentrons/opentrons@fc8f7113c682cd6ce48273cf7c47a242b9272cfc#subdirectory=hardware
  Cloning https://github.com/Opentrons/opentrons (to revision fc8f7113c682cd6ce48273cf7c47a242b9272cfc) to /private/var/folders/cy/xfqdqgvs2mn43hxw_ldk_mfslvntxp/T/pip-install-h9o6c650/opentrons-hardware_333ae0206ec143af8783cf502bba49d3
  Running command git clone --filter=blob:none --quiet https://github.com/Opentrons/opentrons /private/var/folders/cy/xfqdqgvs2mn43hxw_ldk_mfslvntxp/T/pip-install-h9o6c650/opentrons-hardware_333ae0206ec143af8783cf502bba49d3
  error: RPC failed; curl 92 HTTP/2 stream 3 was not closed cleanly: CANCEL (err 8)
  error: 2629 bytes of body are still expected
  fetch-pack: unexpected disconnect while reading sideband packet
  fatal: early EOF
  fatal: fetch-pack: invalid index-pack output
  fatal: could not fetch 74cae9c8e895118c0c80dc3e6eda6e6daeb15537 from promisor remote
  warning: Clone succeeded, but checkout failed.
  You can inspect what was checked out with 'git status'
  and retry with 'git restore --source=HEAD :/'

@angelovangel
From the error, it seems that you are having a network connection issue.

That fixed it, thanks!

@angelovangel
glad to hear that.


Usage

What is this package usage ?
Can i show metrics of websocket transactions in my website ? (ex: Transfered messages per hour, connections per hour, etc)
Also is there any documentation to better understanding this package ?

This only works with Kubernetes. The metrics are available only if you're familiar with Prometheus, but we're hacking something to display metrics for non-Prometheus users too. 😁

@rennokki Can you give me some tips on how to display statistics without using a Kubernetes?

You can enable Prometheus and query the /metrics endpoint as JSON:
http://localhost:9601/metrics?json=1

@rennokki Thanks!
But is there any way to save statistics without querying /metrics every time ?
I want to save metrics of every app for each minutes into database.

Currently not, we want to keep the application as stateless as possible.


Transfer UI & Functionality

Summary of the problem
Implementing transfer functionality
Describe your changes
Added changes from @cjdenio's UI

If this is unfinished please mark as draft.

Please ensure the CI checks pass on the files that you have changed before merging. Do not edit other files to make them pass as well.

Ah ok so checks only run on files I changed right?

No but if there are errors only correct them in files that were changed with this commit. I'm trying to avoid merge conflicts and then any other errors will be handled in a separate PR.


Color attached code in hover

Testing #234962
The syntax coloring is missing:

hmm it should be colored since we pass in the language type. did this always happen?

Yes, this is on macOS in case that matters.


Limited dt overlays?

Description

I just wondered if there is a particular reason why the rpi-base.inc only includes a small subset of dtoverlays? Could you explain how you decide what should/shouldn't go in here?

We started from a set back in the days based on what kernel supported and users requested, Also, we wanted to keep them working on all the versions included in the layer. Always up for PRs though as long as it doesn't break any kernel version in the layer.


mention the wiki

I am increasingly interested in this project.
I returned to learn more, but found an empty README.
You may want to mention that there is more documentation in the wiki, give people a pointer where to look.  Or at least have a paragraph or two of introduction.
When I last looked at it, there was a huge software stack.
Next question, I am practicing Software archeology.  Trying to figure out how this thing is bult. A paragraph or two on architecture with some links to where the code is would be most helpful.  I do not have rails experience, so I am not quie sure where to look.  Eventullly I will figure it out thought.

I see.  All of that stuff is there, under the image.  The image is so large, that I thought nothing was under it.  My mistake.  My apologies.

don't worry :)


Updated Swagger Documentation URL

Hi Guys,
Business critical bug fix for you - I cannot express my utter despair when I middle-mouse clicked the ever-so convenient swagger link to check something in the swagger docs to be greeted with a blank white page staring back at me.
I had to drop absolutely everything and fire over this PR as a matter of urgency to ensure no one is greeted with the horror I faced.
😂

Hi @jaetoole, thanks for highlighting this. I've made the edits via Gitbook so will close this pull request :)


Chore add percentile_array to restrict_function (#41895

Proposed changes

add percentile_array to restrict_function
fix wrong format log like  Query a91dd45e9f584b70-9ab483bb1bc9d42b deconstructed, , deregister query/load mem

Proposed changes
pick from #41895

run buildall


Question about using errbacks to catch exceptions in request processing

Hi, I'm trying to use errbacks to handle 404 exceptions by following the scrapy documentation. But it doesn't work for me to do what the documentation (docs.scrapy) explains and I was wondering if there is a specific way to do it with scrapy-playwright.
I am doing something like this:
 async def _error_callback(self, failure):
        page = failure.request.meta["playwright_page"]
        if failure.check(HttpError):
            print("\n***\n")
        print("\n++++\n")
        await page.close()

But it is not working failure.check(HttpError)
PD: I was also wondering if it is strictly necessary to do failure.request.meta["playwright_page"] and then close it

Sorry, I just found out how to do it in their readme


Fix some bugs in int::from_str and float::from_str.

float::from_str should discard leading and trailing whitespace, for consistency with C/JS/Java/etc. Also, don't allow floating point numbers that start or end with 'e'. See issue #1089 for more discussion.
Fix  one of the bugs in int::from_str (#1102).

Thanks!


Move virtual engine processor to GridDevice

Moves the various device-related functions in virtual_engine_processor.py to GridDevice. This is blocking SerializableDevice deprecation (#5522) because library code cannot call the deprecated SerializableDevice.

Rerouted functions in virtual_engine_processor.py to GridDevice
Deprecated the gate_sets parameter in virtual_engine_processor.py
Move create_device_from_processor_id() to GridDevice. @95-martin-orion

Made the return type more general by changing it to cirq.Device to allow for new device implementations in the future.

Created copies of existing rainbow and weber DeviceSpecifications and changed them to match the new DeviceSpecification format.

This update needs to happen now because create_noiseless_virtual_engine_from_templates() is updated to return a GridDevice, and the templates (rainbow and weber DeviceSpecifications) need to contain data in the new format in order to parse into GridDevice properly.
There are no publicly available devices since weber, so I chose to repurpose the existing rainbow and weber information. This was done manually since these devices are no longer available.

Gateset and gate_duration information should match previous versions. In particular, they both include the CZ gate with no duration information.

Reviewer Note: The first 3 commits are from another pending PR (#5558); please start with the commit "Move virtual engine functions to GridDevice". Don't be discouraged by the line count :) other than the 3 borrowed commits, ~600 lines are from the two new DeviceSpecification messages.
@mpharrigan
cc @MichaelBroughton @dstrain115

Automerge cancelled: A required status check is not present.
Missing statuses: ['Build docs', 'Build protos', 'Coverage check', 'Misc check', 'Pytest MacOS (3.7)', 'Pytest MacOS (3.8)', 'Pytest MacOS (3.9)', 'Pytest Ubuntu (3.7)', 'Pytest Ubuntu (3.8)', 'Pytest Ubuntu (3.9)', 'Pytest Windows (3.7)', 'Pytest Windows (3.8)', 'Pytest Windows (3.9)', 'Typescript lint check', 'Typescript tests', 'Typescript tests coverage']


fail to open a sam file

Hello.
FALCON_unzip fails with the error below(4-quiver/track_reads_h/pwatcher.dir/stderr). I think it failed to create a sam file for some reason.
How can I avoid this problem ?
.
.
.
samfile_fn:'/scratch/hoge/FU_1701151949/4-quiver/reads/000613F_002.sam'
samfile_fn:'/scratch/hoge/FU_1701151949/4-quiver/reads/000053F_008.sam'
samfile_fn:'/scratch/hoge/FU_1701151949/4-quiver/reads/000083F_022.sam'
[E::hts_open_format] fail to open file '/scratch/hoge/FU_1701151949/4-quiver/reads/000083F_022.sam'
/scratch/hoge/FU_1701151949/4-quiver/track_reads_h/track_reads_h.sh: line 9:  7124 segmentation fault               fc_select_reads_from_bam.py --basedir ../.. /scratch/hoge/FU_1701151949/input_bam.fofn
touch /scratch/hoge/FU_1701151949/4-quiver/track_reads_h/track_reads_h_done.exit

touch /scratch/hoge/FU_1701151949/4-quiver/track_reads_h/track_reads_h_done.exit
2017-01-19 05:14:24,967 - root - DEBUG - CD: '/scratch/hoge/FU_1701151949/4-quiver/track_reads_h' -> '/scratch/hoge/FU_1701151949/4-quiver/track_reads_h'
2017-01-19 05:14:24,967 - root - DEBUG - CD: '/scratch/hoge/FU_1701151949/4-quiver/track_reads_h' -> '/scratch/hoge/FU_1701151949/4-quiver/track_reads_h'
2017-01-19 05:14:24,968 - root - CRITICAL - Error in /data/hoge/tools/FALCON-integrate/pypeFLOW/pypeflow/do_task.py with args="{'json_fn': '/scratch/hoge/FU_1701151949/4-quiver/track_reads_h/task.json',\n 'timeout': 60,\n 'tmpdir': None}"
Traceback (most recent call last):
File "/data/hoge/tools/Python-2.7.9_build/lib/python2.7/runpy.py", line 162, in _run_module_as_main
"main", fname, loader, pkg_name)
File "/data/hoge/tools/Python-2.7.9_build/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/data/hoge/tools/FALCON-integrate/pypeFLOW/pypeflow/do_task.py", line 190, in
main()
File "/data/hoge/tools/FALCON-integrate/pypeFLOW/pypeflow/do_task.py", line 182, in main
run(**vars(parsed_args))
File "/data/hoge/tools/FALCON-integrate/pypeFLOW/pypeflow/do_task.py", line 136, in run
run_cfg_in_tmpdir(cfg, tmpdir)
File "/data/hoge/tools/FALCON-integrate/pypeFLOW/pypeflow/do_task.py", line 160, in run_cfg_in_tmpdir
run_python_func(func, myinputs, myoutputs, parameters)
File "/data/hoge/tools/FALCON-integrate/pypeFLOW/pypeflow/do_task.py", line 125, in run_python_func
do_support.run_bash(script_fn)
File "/data/hoge/tools/FALCON-integrate/pypeFLOW/pypeflow/do_support.py", line 51, in run_bash
raise Exception('{} <- {!r}'.format(rc, cmd))
Exception: 35584 <- '/bin/bash -vex /scratch/hoge/FU_1701151949/4-quiver/track_reads_h/track_reads_h.sh'

real  234m16.529s
user  931m6.059s
sys 37m34.987s
returned: 256

You samtools or pysam installation may not be able to handle the files.

Thank you for your quick reply.
I added ${FALCON_unzip_38de578_install_dir}/lib/python2.7/site-packages to the top of PYTHONPATH,
and assigned ${smrtlink_3.1.1_install_dir}/smrtcmds/bin to smrt_bin in fc_unzip.cfg.
Doesn't it mean that I ran FALCON_unzip with the expected version of samtools and pysam ?

In the directory ${FALCON_unzip_38de578_install_dir}/lib/python2.7/site-packages,
there is a directory pysam-<IP_ADDRESS>-py2.7-linux-x86_64.egg/,
so I thought pysam was automatically installed when I installed FALCON_unzip.
Is it right ?


✨Fetch latest provider version if it's not set in the spec

What this PR does / why we need it:
Now users have to manually set provider version, which is not convenient as it requires additional github searching. This PR allows to omit it, and the latest version will be substituted automatically. This behavior is similar to what is done in clusterctl, where version is optional.
Additionally this PR adds e2e tests for air-gapped environments.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #

/hold
@alexander-demicev agree, we can optimise this code a little. I'll propose another update for this PR soon

/hold cancel

/retest

/retest

/retest

@furkatgofurov7 I guess the issue here is similar to when using clusterctl, you have to specify version in case you want to be sure that dependencies are aligned

@furkatgofurov7 I guess the issue here is similar to when using clusterctl, you have to specify version in case you want to be sure that dependencies are aligned

That is true and I guess it is fine to follow the same behaviour here

/hold
to address https://github.com/kubernetes-sigs/cluster-api-operator/pull/180#discussion_r1252021483

/hold cancel