GEODE-1653: Executing a fire-and-forget function on all servers doesn't actually execute on all servers

Some additional information on using Awaitility:
Use a larger timeout value such as 60 seconds. If you use 1 second, then sometime the test is going to have a false failure when it runs on a slow machine or because a garbage collection occurs during the test. Awaitility will only wait until the condition is met -- it will early out from the 60 second timeout. The test will then pass on slower machines or in case of GC.
Thanks!

+1

The Travis failure is caused by the format not matching spotless. Unfortunately, the IntelliJ formatter doesn't currently match, so the easiest way to fix the format is to run:
$ ./gradlew spotlessApply
After that rebase your branch against origin/develop to squash the format change and 'git push -f' your branch.

Oops, looks like the LocatorDUnitTest format problem is on develop, not in this PR. Sorry about my confusion.


CP macOS 14 fixes for beta and stable

Prerequisites

[x] https://github.com/flutter/flutter/issues/148881
[x] https://github.com/flutter/flutter/issues/148891
[ ] Ensure all issues are fixed in https://github.com/flutter/flutter/issues/148882

Instructions
CP any fixes made to resolve issues in https://github.com/flutter/flutter/issues/148882. This may include recipe fixes.

@jmagman @christopherfujino
So far, the following PRs/CLs will need to be cherry picked to beta and stable

https://github.com/flutter/flutter/pull/149618
https://github.com/flutter/engine/pull/53355
https://github.com/flutter/engine/pull/53358
https://flutter-review.googlesource.com/c/recipes/+/57980

And then any additional fixes made to address https://github.com/flutter/flutter/issues/150008 and https://github.com/flutter/flutter/issues/150023.


Refactor national updates

Draft PR - pulling this up to date and testing but hopefully it will give a chunk of changes @seabbs wants for variable datasets

I'm currently running a full test of this but hopefully it's close

I'm still waiting on Germany, Sri Lanka and Thailand to complete.

Not seen that precise pattern but yes matches general observations. Oddly the fit I see in our published estimates for Germany is actually okay and the data also looks reasonable. Hopefully this is an outlier.

Given #34 I would ideally like this to be merged in ASAP. I am away from the computer from now until Monday but the box that I have updating the estimates will pull and run with any changes on master (then push the estimates back).
What, if anything, can I do today to help get this in a mergeable state?

@seabbs I've added in UN regions + global as superregions and the test runs look successful, so I think this branch is  ready now

Great thanks - looking good. Merging now!


This is strange, haven't seen this on my M1 MacBook Pro running Sonoma nor heard of it elsewhere. I'll think about it but not sure how to help troubleshoot offhand.

Due to some Bluetooth issues on macOS, I'm considering rewriting that version in Swift, reusing some code from the iOS version. This should fix the black window issue, but it will take a while to finish that and integrate Bluetooth into all of the versions.


CI: Conformance AWS-CNI: connectivity test failed: timeout reached waiting for NodePort

Noticed issues:
⚠ The following tasks failed, the sysdump may be incomplete:
⚠ [11] Collecting Cilium egress NAT policies: failed to collect Cilium egress NAT policies: the server could not find the requested resource (get ciliumegressnatpolicies.cilium.io)
⚠ [12] Collecting Cilium local redirect policies: failed to collect Cilium local redirect policies: the server could not find the requested resource (get ciliumlocalredirectpolicies.cilium.io)

=== Retrieve cluster state ===
Kubeconfig user entry is using deprecated API version client.authentication.k8s.io/v1alpha1. Run 'aws eks update-kubeconfig' to update.
 Run 'aws eks update-kubeconfig' to update.
    /¯¯\
 /¯¯\__/¯¯\    Cilium:         OK
 \__/¯¯\__/    Operator:       OK
 /¯¯\__/¯¯\    Hubble:         OK
 \__/¯¯\__/    ClusterMesh:    disabled
    \__/

Deployment        hubble-relay       Desired: 1, Ready: 1/1, Available: 1/1
DaemonSet         cilium             Desired: 2, Ready: 2/2, Available: 2/2
Deployment        cilium-operator    Desired: 1, Ready: 1/1, Available: 1/1
Containers:       cilium             Running: 2
                  cilium-operator    Running: 1
                  hubble-relay       Running: 1
Cluster Pods:     7/7 managed by Cilium
Image versions    cilium             quay.io/cilium/cilium-ci:8807cd0801af26646b9d5a237fbee62d01caa9e6: 2
                  cilium-operator    quay.io/cilium/operator-aws-ci:8807cd0801af26646b9d5a237fbee62d01caa9e6: 1
                  hubble-relay       quay.io/cilium/hubble-relay-ci:8807cd0801af26646b9d5a237fbee62d01caa9e6: 1
🔍 Collecting Kubernetes nodes
Kubeconfig user entry is using deprecated API version client.authentication.k8s.io/v1alpha1. Run 'aws eks update-kubeconfig' to update.
🔍 Collect Kubernetes nodes
🔍 Collecting Kubernetes events
🔍 Collect Kubernetes version
🔍 Collecting Kubernetes pods
🔍 Collecting Kubernetes namespaces
🔍 Collecting Kubernetes services
🔍 Collecting Kubernetes pods summary
🔍 Collecting Cilium endpoints
🔍 Collecting Kubernetes network policies
🔍 Collecting Cilium cluster-wide network policies
🔍 Collecting Cilium network policies
🔍 Collecting Cilium local redirect policies
🔍 Collecting Cilium egress NAT policies
🔍 Collecting Kubernetes endpoints
🔍 Collecting Cilium identities
🔍 Collecting Cilium nodes
🔍 Collecting Cilium etcd secret
🔍 Collecting the Cilium configuration
🔍 Collecting the Cilium daemonset(s)
🔍 Collecting the Hubble daemonset
🔍 Collecting the Hubble Relay configuration
🔍 Collecting the Hubble Relay deployment
🔍 Collecting the Hubble UI deployment
🔍 Collecting the Cilium operator deployment
🔍 Collecting the 'clustermesh-apiserver' deployment
🔍 Collecting gops stats from Cilium pods
🔍 Collecting gops stats from Hubble pods
🔍 Collecting gops stats from Hubble Relay pods
🔍 Collecting 'cilium-bugtool' output from Cilium pods
⚠ Deployment "hubble-ui" not found in namespace "kube-system" - this is expected if Hubble UI is not enabled
🔍 Collecting logs from Cilium pods
🔍 Collecting logs from Cilium operator pods
🔍 Collecting logs from 'clustermesh-apiserver' pods
⚠ Deployment "clustermesh-apiserver" not found in namespace "kube-system" - this is expected if 'clustermesh-apiserver' isn't enabled
🔍 Collecting logs from Hubble pods
🔍 Collecting logs from Hubble Relay pods
🔍 Collecting platform-specific data
🔍 Collecting logs from Hubble UI pods
🔍 Collecting Hubble flows from Cilium pods
⚠ The following tasks failed, the sysdump may be incomplete:
⚠ [11] Collecting Cilium egress NAT policies: failed to collect Cilium egress NAT policies: the server could not find the requested resource (get ciliumegressnatpolicies.cilium.io)
⚠ [12] Collecting Cilium local redirect policies: failed to collect Cilium local redirect policies: the server could not find the requested resource (get ciliumlocalredirectpolicies.cilium.io)
⚠ Please note that depending on your Cilium version and installation options, this may be expected
🗳 Compiling sysdump
✅ The sysdump has been saved to /home/runner/work/cilium/cilium/cilium-sysdump-out.zip

https://github.com/cilium/cilium/runs/6459723244?check_suite_focus=true

https://github.com/cilium/cilium/pull/19712


Replace app.service with @ngrx/store?

I propose replacing the existing app.service.ts with a very basic implementation of @ngrx/store.
Reasons:

@ngrx/store is the golden standard of state management for Angular
It is complicated to get it plugged in correctly to HMR in this module, but I have it working perfectly
It doesn't add any additional complexity to the repo and shows best practices

If there's interest from the maintainers I can do a PR. It is working well in my fork.
https://github.com/colinskow/angular-electron-dream-starter

seems like everyone is doing it. I might do so in a refactor


Resolve #1743

I had to check for the operators, if the operator is not known I changed it to "search".
More details in commit 9e16a0d4c87b76bacdf55c758e6cbedf9d6e37da

Automated message from Dropbox CLA bot
@mohsenSy, thanks for the pull request! It looks like you haven't yet signed the Dropbox CLA. Please sign it here.

Automated message from Dropbox CLA bot
@mohsenSy, thanks for signing the CLA!

@timabbott what do you think about this?

@mohsenSy Thanks for referencing the issue number of the issue this pull request addresses! I'd love for you to change the name of this pull request to something a little more descriptive of the change you're making, and then put "Resolve #1743" in the description -- also see https://zulip.readthedocs.io/en/latest/code-style.html#commit-messages for how to format your commit messages. (This is of course less immediately crucial than the code review that Tim's given you, but I figure it's never too early for you to start getting into the right habits. And a more descriptive name for the pull request makes it easier for other people to skim the list of pull requests and see what others are up to.)
For help with changing commit messages, git rebase --interactive is the tool I use, but you should be careful with it since it can rewrite history and you can lose work -- feel free to ask us for help in livechat at https://zulip.tabbott.net/# .

@timabbott I think we must create a new issue for this PR, it solves #1743 in a general way.

@timabbott For adding tests I will try my best, as this will be the first time I write a test for my code, actually it is the first time I contribute to an open source project after years of just using them, I am very happy for this.
I have a failed backend test, it might not be bad right? maybe it is expecting an operator to remain as it is while in my code I am replacing unkown operators with search operators.

@mohsenSy no worries, this is a great opportunity to learn!
It looks like you're failing the filter.js test in the test-js-with-node suite, which is the test suite for the function you're modifying.  It's a pretty small piece of code so I'd encourage you to debug interactively in your development environment until you have something you're happy with, and then add a few more checks to the test to verify the new behavior you're adding.

@timabbott The test suite uses javascript, I can run it from the command line using ./tools/travis/backend but how can I debug it?

you can run it with tools/test-js-with-node and debug it by changing the code and adding console.log() (print) statements in the actual test files under frontend_tests/node_tests.

@timabbott I managed to fix the problem with the tests but another problem just came out.
The previous problem was caused when using negated operators which  have a - at its beginning so it was considered as unknown operator by my code I fixed this but now I have a problem with search suggestions and what makes this worse I cannot debug it because on my local machine the i18n tests fail before it reaches search_suggestion tests.

You can run a single Node test; for usage run: $ ./tools/test-js-with-node --help

Hi, @mohsenSy -- are you having trouble figuring anything out? Can we help?

@brainwane Actually yes, but I was busy these days and I am having internet problems at my home, if you can look at the failed test and give me a hint it would be great, I will get to work on this really soon, thanks a lot. Sorry for leaving this for a while.

Hi, @mohsenSy. I'm not sure so I'm going to post in the frontend stream to see whether someone else can take a look.

Thanks for working on this @mohsenSy!  From the traceback in Travis CI, it looks like your code is doing something that results in str.match being called on a value that is undefined.  It's not clear to me why your code should solve the bug in question correctly (I don't understand why the logic around is in this PR).  The easiest way to debug that is to try actually doing the narrowing used in the relevant test file in a browser and debug your code interactively that way.

Looking in #search_query to select stream:Verona subject:frontend+test, Narrow in this test it is using subject as search operator while in Filter.operator_to_prefix this operator does not exist!!!!
If I try to type subject in search box it is automatically changed to topic, I cannot understand this.

@timabbott I finally got this to work, is it okay?
The failed test was using stream:Verona subject:frontend+test as a search query, the first part is okay but the second one according to my logic will be considered as unknown operator because subject operator is not handled in Filter.operator_to_prefix, but topic operator is handled there so I just changed the operator from subject to topic and it worked.
Please review the code tell me what you think about it, so I can start working on writing tests.
I should write frontend tests as documented here http://zulip.readthedocs.io/en/latest/testing-with-casper.html right?

Thanks for working on this @mohsenSy!  We ended up merging the work in https://github.com/zulip/zulip/pull/1842 on this, since that developed into a nice, clean implementation of this feature.  I encourage you to look over the solution there (and the various changes I made to other parts of the code to make that work that are mentioned in the issue discussion for #1842).


Containerize app and deploy somewhere

Deploy on lambda with secrets management and scheduled runs.
Document steps or provide a script for personal setup

Turns out headless chrome is too big for lambda. Logging into AMZN through pure http is untenable. Need to containerize. Cloud run is a good solution which can run on a schedule

got rid of headless chrome so lambda is still an option. but damn parameter store and aws permissions/docs are hard to work with


Add logging

The application does currently not create any logs which makes tracking down problems harder than it should be

2409f833231dc00488b4e774eb72ecce8316452c


Edit Profile from View Profile Page

The profile view page should have an edit link if it's my own profile.
reported by tratcher

done


Clearing the terminal does not work correctly

Hi, thanks for the package, it's quite nice.
I use it to watch tests running while editing files, and I run jest --watch in the terminal.
Jest clears the console on every restart, and that works fine in the standalone terminal, but for some reason it won't clear the terminal inside this atom plugin.

I have some sort of issue with the text not clearing but its unrelated to jest.

As you can see towards the end pressing enter and text is sitting in front of prompt from previous buffer?
This example is a very mlld example, and this issue becomes so bad that the whole screen inside terminal if flooded with old text.
Solution is to close that terminal and open another one. Rinse and repeat depending on the amount of work.
@ivankravets  that PR welcome label is very pretty, but it doesnt help if I cant fix it, heck I dont even know what the actual issue is or where it may lie.
Heres some extra info you may find useful.
Windows 10 64bit 1709 16299.371
Atom 64bit 1.26.0
Platform-ide-terminal 2.8.1
$ atom --version
v7.9.0

$ apm --version

apm  1.19.0
npm  3.10.10
node 6.9.5 x64
atom 1.26.0
python 3.5.2
git 2.17.0.windows.1
visual studio


Establish desired data to collect for new businesses

The Context
We are using an embedded Airtable form to collect information when a new business is registered on the site. Currently we are asking businesses to provide the following information (* denotes a required field):

Your First Name *
Your Last Name *
Your Email *
Business Name *
Category *
Business Description *
Business Website
Business has a physical location

If the above is true: Zip Code *

Business has been directly affected by recent events

If the above is true: Donation Link (optional)

The Problem
As it stands we are able to provide rough locations for businesses based on their Zip Code. To aid in our goals for V1, we want to be able to more accurately and effectively help users find these businesses. We also want to structure our data such that we can leverage precise location data in future feature releases.
The Solution
Establish the data we want to collect, a couple items that have been suggested are:

Physical Address
Business Image / Logo

The data structure will need to be modified to ingest this new data so that we can properly request this data on the Front End for upcoming feature work.

Added the backend required flag largely to make it easier for me to keep an eye on @elchris and @brentmclark probs interested in this as well :)

To aid in validation:
/*
* https://maps.googleapis.com/maps/api/place/findplacefromtext/json
* ?key=
* &inputtype=textquery
* &fields=business_status,formatted_address,geometry,icon,name,photos,place_id,plus_code,types
* &input=BUSINESS+NAME+in+ZIPCODE
*/
Documentation:

Costs: https://developers.google.com/places/web-service/usage-and-billing#find-place

$0.017 per call
$0.00 for "Basic Data" returned:

https://developers.google.com/places/web-service/usage-and-billing#basic-data

Specs: https://developers.google.com/places/web-service/search#FindPlaceRequests

This API Endpoint returns exactly one result, or an empty "candidates" array if nothing found

The "fields" list above falls within Google's "Basic Data" List, which is "no additional cost".

it includes latitude and longitude

This could be useful for two angles, with a single API call we could:

Validate that the business does exist at that zip code, so we can decide whether or not to ask of the user that they correct their input
Extract the business's Lat and Long

@llexical @elchris @brentmclark - Check out the figma designs here: https://www.figma.com/file/Lo1ZcBOO9t4QRbX2I0PwBQ/RBB?node-id=1938%3A8027
These are fairly close to final, but still need to be run by the Business team and Justin for their approval. This should give us at least a good idea of what the design / UX team are looking to implement for business submissions.
Once we get the approval from Business, I'd love to schedule a time to chat with you folks to discuss the implications that these forms may have on our data structure!

@llexical @elchris I have updated the production Airtable to reflect the design changes that Neil finished up.
I'm going to go ahead and close this issue out, seeing as we have established the data structure and can move on to actually implementing this on the FE.


Including jsdiff in a bundle adds distance-iterator.js to stack traces

This is admittedly vague, but adding diff (at least the last 2 versions) inside of a bundle causes distance-iterator.js to appear repeatedly inside call stacks despite those errors happening in completely unrelated code:

Any tips whether there's anything custom going on in this library in terms of trying to preserve source maps non-natively somehow?

Wondering if this has anything to do with the function https://github.com/kpdecker/jsdiff/blob/master/src/util/distance-iterator.js#L4 not defining a name in the export. I'll test locally and submit a PR if that's the case.

@kpdecker Any tips on how to test the generation of the source maps locally? Apologies for the noob question.

Hmm. I wonder if this issue from 2016 is still relevant today? Alas I have no idea how to even begin attempting to reproduce the issue, so I can't find out.
I'd be happy to try to debug this if anyone can give me steps to reproduce, but until then I'm going to close this.


Live Object service have issues while working with inherited classes

So i have the following use-case :
@REntity
class Child extend Parent{
 Child(String id){
     super(id);
 }
}

class Parent {
  @RId
  String id;
  Parent(String id){
     this.id = id;
  }
}

And when i make Child object as my live object as Follows :

Child child = new Child("1");
child = rLiveObjectService.merge(child);

I get the following error --
     java.lang.IllegalStateException: size = 0
at net.bytebuddy.matcher.FilterableList$AbstractBase.getOnly(FilterableList.java:108)
at org.redisson.RedissonLiveObjectService.getRIdFieldName(RedissonLiveObjectService.java:537)
at org.redisson.RedissonLiveObjectService.persist(RedissonLiveObjectService.java:163)
at org.redisson.RedissonLiveObjectService.merge(RedissonLiveObjectService.java:153)

+1

the error happens when there is no get method for the @RId field

I don't think so. I tried this example as written, added getId() methods, and I got the same error.
I'm fairly sure that if you call RLiveObjectService.persist on an object of type Child, since the @RId field is defined in its supertype, Redisson won't be able to find it. This is because Introspectior.getFieldsWithAnnotation() will only return fields declared in Child - not any fields declared in Parent.
Being able to make LiveObjects from subclasses of a single class defined as an @REntity would be a great feature for Redisson - at least for me!

@sdjacobs You're absolutely right. Do you think you can send us a PR for this?

I can give it a shot

@sdjacobs Thank you!


Windows Server 2016: Logical processor limit (MAX) discrepancies and errors

This issue is created by @lagriz from https://github.com/MicrosoftDocs/feedback/issues/403
🛑 IMPORTANT: You can get your feedback addressed faster if you use the comment section for the article in which you encountered a problem.
Link to article:
https://www.microsoft.com/en-us/cloud-platform/windows-server-comparison
https://docs.microsoft.com/en-us/windows-server/get-started/2016-edition-comparison
Problem:
The Windows Server 2016 processor limits do not match - and do not correspond to the tested values -
-On one site we can find this table :
Feature description | Windows Server 2012/2012 R2 Standard and Datacenter | Windows Server 2016 Standard and Datacenter
Physical (host) logical processor support| Up to 320 LPs | Up to 512 LPs
On another site, we can read
Maximum number of 64-bit sockets | 64 | 64
Maximum number of cores | unlimited | unlimited
Our testing shows that Windows Server 2016 - supports up to 640 logical processors ( this corresponds to Intel cores with Hyper Threading) above this value, logical processors are not reported.
To my knowledge also 2016 is limited to 20 NUMA nodes, that would be 20 sockets, right?
Is there a way to have matching limits?
I need to update our white papers and would like to reference Microsoft pages, but I find it hard for the reader to understand the right number.
Thank you.
Regards.
Laurence Grizaud

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

ID: e5acee3a-b458-172f-127d-07e0406bd46f
Version Independent ID: a11c4876-e20a-4307-b1b7-38f414a4532c
Content: Windows Server 2016 Products and Editions
Content Source: WindowsServerDocs/get-started/2016-Edition-Comparison.md
Service: unspecified
Product: windows-server-threshold
GitHub Login: @jaimeo
Microsoft Alias: jaimeo

Thanks for bringing this to our attention. I own the second topic, which as been reviewed by our technical SMEs many times; however, I shall certainly run this by them again. I don't know who owns the first topic, but will find out and get the two topics in phase. As for your testing, of course I will ask our SMEs about this, but keep in mind that what we quote is what is supported by license and technical support--so it's possible you could find a limit that is possible but not officially supported.

@jaimeo - can you take a look at this? Thanks!

Hi,
Thanks, this is exactly why I am checking, but on the other hand, our engineering is working with your engineering.
Regards.
Laurence
From: jaimeo<EMAIL_ADDRESS>Sent: Wednesday, May 30, 2018 7:10 PM
To: MicrosoftDocs/windowsserverdocs<EMAIL_ADDRESS>Cc: Grizaud, Laurence<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/windowsserverdocs] Windows Server 2016: Logical processor limit (MAX) discrepancies and errors (#902)
Thanks for bringing this to our attention. I own the second topic, which as been reviewed by our technical SMEs many times; however, I shall certainly run this by them again. I don't know who owns the first topic, but will find out and get the two topics in phase. As for your testing, of course I will ask our SMEs about this, but keep in mind that what we quote is what is supported by license and technical support--so it's possible you could find a limit that is possible but not officially supported.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/windowsserverdocs/issues/902#issuecomment-393241280, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AXaRyDsFsn7mDzn1Zu-dUUITclaB9MiUks5t3tJjgaJpZM4UTqkm.


ExecContext Undefined

Hello, I'm using go get -v and I'm getting this error>
/go/src/github.com/denisenkom/go-mssqldb/bulkcopy.go:129: b.cn.PrepareContext undefined (type *Conn has no field or method PrepareContext, but does have prepareContext)
/go/src/github.com/denisenkom/go-mssqldb/bulkcopy.go:288: stmt.ExecContext undefined (type *Stmt has no field or method ExecContext)
/go/src/github.com/denisenkom/go-mssqldb/bulkcopy.go:298: stmt.QueryContext undefined (type *Stmt has no field or method QueryContext, but does have queryContext)

What does go version say?
On Fri, Mar 30, 2018, 15:27 Jorge Bustamante<EMAIL_ADDRESS>wrote:

Hello, I'm using go get -v and I'm getting this error>
/go/src/github.com/denisenkom/go-mssqldb/bulkcopy.go:129: b.cn.PrepareContext undefined (type *Conn has no field or method PrepareContext, but does have prepareContext)
/go/src/github.com/denisenkom/go-mssqldb/bulkcopy.go:288: stmt.ExecContext undefined (type *Stmt has no field or method ExecContext)
/go/src/github.com/denisenkom/go-mssqldb/bulkcopy.go:298: stmt.QueryContext undefined (type *Stmt has no field or method QueryContext, but does have queryContext)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/denisenkom/go-mssqldb/issues/359, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAuFsRNMHCeyGU5cOfpxJ1aC4wo2E0wNks5tjrE2gaJpZM4TCMxF
.

go version go1.9.2 windows/amd64


Documentation fixes: spelling, grammar, phrasing

Thomas, this is just small fixes to some of the wording in the new yarn documentation.  It was bugging me as I read it so I thought I would send you some fixes.  Sorry i didn't open a jira, figured it was small enough.

Closing stale issues/PRs


no need to require rootReducer again

babel-preset-react-app does not transform modules to CJS so I don't think we need to require rootReducer again

Yes, we do so that the module will be reloaded. We have to use a require statement to get it to reload properly.

Thanks @timdorr .
https://github.com/gaearon/react-hot-loader#getting-started
In step 4,
if (module.hot) {
  module.hot.accept('./containers/App', () => { render(App) })
}

App component is not rerequireed, why this is different here?
Also is there a way to get rid of commonjs and just use ES modules?

If you use webpack 2 then an extra require is unnecessary.

Since we do use it, I think PR is probably correct. Needs somebody to verify it :-)

I guess you're right. Didn't know about that functionality.
The example is on webpack 2.6.1, so this is good to go.


Fix PPP

Changed the name of md file to lower case.

Codecov Report

Merging #211 (ce10e98) into master (5d524df) will not change coverage.
The diff coverage is 22.98%.

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


Changes PoolRef to a Value Type

Changes inferencemodel.spec.poolRef to a value type since it's required.
Fixes #111

Heya thanks for this! I just happened to see you make the issue and was fixing this along with some other issues.
There were some tests we had to update also that have a ref type, I included that. PR here: https://github.com/kubernetes-sigs/gateway-api-inference-extension/pull/114
If you're curious about our need for CI. I agree.
That PR here: https://github.com/kubernetes/test-infra/pull/33987
Difficult to get review traction

@kfswain thanks for the heads-up. I searched the issue list and saw nothing related to #111 so I pushed this PR. I'll go ahead and close it since #114 fixes this issue. I'll do a review of #114 now.


Small fix to callback() function in README

Coverage remained the same at 90.385% when pulling 4db78181f6e028eab61beb28981c17a691b3ee98 on maxhq:patch-1 into 485ac3477527069deabc0c9e641d2878aa666c01 on edisonchee:master.

Coverage remained the same at 90.385% when pulling 4db78181f6e028eab61beb28981c17a691b3ee98 on maxhq:patch-1 into 485ac3477527069deabc0c9e641d2878aa666c01 on edisonchee:master.

Thanks for fixing the readme @KlausDevWalker!


[stable/phpbb] bump dependency mariadb 1.0.2

See https://github.com/kubernetes/charts/issues/1944#issuecomment-327856581


allow applicationId override

Checklist

[ ] I've added an entry to CHANGELOG.md if necessary. You can comment this pull request with /changelog-entry [breaking-change|new-feature|bug-fix|chore] [message] and CHANGELOG.md will be updated automatically.

Why
Expo go build gradle is using more complicated logic that we can handle when parsing to extract applicationId.
How

Pass applicationId override via env.
Change file that detects workflows to app/build.gradl.

Test Plan

/changelog-entry breaking-change Use android/app/build.gradle file to detect project workflow.


Removing special chars

Hello. I haven't been able to find an example of how to remove/replace a special char from a string. In my case, I have a variable which contains some line breaks. How can I remove them? I tried via @replace(varName, '\n', '') and @replace(varName, '\n', ''). It didn't work. Any other ideas? Thanks.

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

ID: 76e31411-f1a2-710b-94c0-39acf9e7314b
Version Independent ID: d5cefffe-dee0-2d2e-f3cb-8eefd5d40d17
Content: Expression and functions in Azure Data Factory
Content Source: articles/data-factory/control-flow-expression-language-functions.md
Service: data-factory
GitHub Login: @djpmsft
Microsoft Alias: daperlov

@tudormaz Thank you for reaching out and bringing this to our notice. At this time we are reviewing the ask and will provide an update as appropriate

Hi @tudormaz, Here is an example I tried using replace function and it works in replacing '\n'.
I have two variables inputVar (string) = A\nB (this is the default value I used for testing), another variable outputVar (string). I used a Set Variable activity to test this. Here is dynamic expression I used in  Set Variable activtiy : @replace(variables('inputVar'), '\n', '')
Here is the input:

Here is the output:

Hope this helps. Let us know if you have any further questions and also please provide sample/dummy data to better assist on your query.

Hello and thank you for your answer. I'm sorry I didn't provide some sample data. I didn't mean a hardcoded \n but rather the special char of line break.
<dummy>
  <level1>
    <label1>abc</label1>
    <label2>123</label2>
  </level1>
</dummy>

Is this just a rendering issue or can I actually have my content without any line breaks?

Hi @djpmsft, could you please assist on this query? - Thanks!

Apologies for the delay in response. Where is the variable populated from and how is it being used? What is the input and desired output?

If this issue is resolved, please let us know (and share your answer if you can!) so we can close this issue. Once again sorry for the delay in response

I already provided my input and desired output. My variable is set via a "Set variable" activity. Is the rendering able to handle line breaks so it displays a multi-line text properly?

the issue still exists, if you use simple string, \r will be replaced, if something more complex, it does not work

@djpmsft  please see my comment above

I would like to see the trim function docs updated with this info.  I would expect trim, that "removes whitespace" to trim CRs and LFs as well as tabs anmd spaces.

Had the same problem solved by pressing enter key within the expression. Change your @replace(varName, '\n', '') to @replace(varName, '[press enter here]', '') . Guess it figures out the newline character automatically.

Hey there, I just had the same issue, eventually figured it out using regexReplace: https://stackoverflow.com/questions/63927629/how-to-replace-cr-and-lf-in-data-factory-expressions/63927814#63927814

{     "count": 3,     "value": [         {             "Prop_0": "SELECT *"         },         {             "Prop_0": "FROM dl.contact"         },         {             "Prop_0": "\t WHERE contactType = 'customer'"         }     ] }
I try to replace in a For Each - Append Variable ('sqlArray') - @replace(string(item().Prop_0), '\t', ' ')
Also when I try in @replace(join(variables('sqlArray'), ' '), '\t', ' ')
In Code the \t is replaced by  \\t. Its not a feature its a bug.
 "typeProperties": {                                 "variableName": "sqlArray",                                 "value": {                                     "value": "@replace(string(item().Prop_0), '\\t', ' ')",                                     "type": "Expression"                                 }                             }
Is the Dev Team aware of this?

Solution is to either copy the code from VS Code to Data Factory or remove it within the code in Data Factory by hand

Thank you @KranthiPakala-MSFT . @minhe-msft  is looking into this.

@tudormaz
You can follow below steps to to replace special characters using expression language:

URL encoding against the original string value
Replace by line feed (%0A), carriage return(%0D), horizontal tab(%09), etc
URL decoding

your example could be done as below:
@uriComponentToString(replace(uriComponent(variables('requestBodyTemp')), '%0A', ''))
Original string:
<dummy>
  <level1>
    <label1>abc</label1>
    <label2>123</label2>
  </level1>
</dummy>

Result:
<dummy> <level1> <label1>abc</label1> <label2>123</label2> </level1></dummy>
@Alessandro91-dev
Dynamic content (expression) editor automatically escapes double quote character and backslash character with JSON default escaping character '', that's the reason you see '\t' in your code view JSON content. It's a by design behavior, not a bug.
For your example, if you want to replace a tab character (ascii value 09) in a string, you can use above URL encoding method as well.

As a fix, I've added two examples in document https://docs.microsoft.com/azure/data-factory/control-flow-expression-language-functions
Please reactivate this issue if you still have questions.
#please-close


TNS: 'DataFrame' object has no attribute 'burst_bandwidth'

When running the following command (where user and id are my personal TNS login details):
tns = TNS(tns_name="user", tns_id="id", repeaters=False)
I get the following Attribute error:
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-5-e98b701f8d56> in <module>
----> 1 tns = TNS(tns_name="InesPM", tns_id="2657", repeaters=False)

/opt/anaconda3/lib/python3.9/site-packages/frbcat/tns.py in __init__(self, oneoffs, repeaters, repeat_bursts, update, path, save, mute, tns_id, tns_name)
     52         self.tns_name = tns_name
     53
---> 54         self.get_data()
     55         self.filter(one_offs=self.oneoffs,
     56                     repeaters=self.repeaters,

/opt/anaconda3/lib/python3.9/site-packages/frbcat/tns.py in get_data(self)
    125                 entries = self.get_json()
    126                 df = self.json2df(entries)
--> 127                 self.clean_df(df)
    128
    129                 if self.save:

/opt/anaconda3/lib/python3.9/site-packages/frbcat/tns.py in clean_df(self, df)
    365             df[c + '_err'] = err.astype(float)
    366
--> 367         cols = df.burst_bandwidth.str.strip(' MHz').str.partition(' (')[[0, 2]]
    368         df['burst_bandwidth'] = cols[0].astype(float)
    369         err = cols[2].str.strip(')')

/opt/anaconda3/lib/python3.9/site-packages/pandas/core/generic.py in __getattr__(self, name)
   5573         ):
   5574             return self[name]
-> 5575         return object.__getattribute__(self, name)
   5576
   5577     def __setattr__(self, name: str, value) -> None:

AttributeError: 'DataFrame' object has no attribute 'burst_bandwidth'

Could it be that I have an uncompatible pandas version? I currently have version 1.4.4

Hi Ines,
I suspect this should be a fairly easy issue to solve. I would suggest tackle it in the following way:

Make a local clone of this repo
Test downloading TNS entries using the local files. I would suspect this will fail given the error you posted.
In an IDE like vscode, add a breakpoint just before the bug occurs (line 367 of tns.py by the looks of it), then try running your download test in the debugging mode. It should pause before the bug, allowing you to look at the variables prior to this.
Come up with a fix, and then make a pull request (this would be an excellent easy way to try if you've never do so before). Pull requests are the bread and butter of programming, so well worth learning.
Leon set up the repo nicely so that your fix (if we approve it) will automatically be pushed to the python repository so that you can update your frbcat version via pip, and have everything running again!

I highly doubt the issue is to do with your pandas version, but I suspect it's down to a change in how TNS serves its data.
Good luck saving frbcat! : )


Reponsive width doesn't work

Responsive layout parameter doesn't work. Facebook Page Plugin loaded in 340px width every time :(

Hi,
are you reporting a problem with a sample hosted on ampbyexample.com or a general problem?
If it's a sample then please add the link to the sample, for general questions or bugs on AMPHTML please use AMP support channels.

Closing this as I haven't received more details.


CI: K8sServicesTest Checks local redirect policy LRP restores service when removed

https://jenkins.cilium.io/job/Cilium-PR-K8s-1.20-kernel-4.19/407/testReport/junit/Suite-k8s-1/20/K8sServicesTest_Checks_local_redirect_policy_LRP_restores_service_when_removed/
27d7cbf5_K8sServicesTest_Checks_local_redirect_policy_LRP_restores_service_when_removed.zip
Stacktrace
/home/jenkins/workspace/Cilium-PR-K8s-1.20-kernel-4.19/src/github.com/cilium/cilium/test/ginkgo-ext/scopes.go:518
Timed out after 30.000s.
assertion fails for test case: {id=app1 curl --path-as-is -s -D /dev/stderr --fail --connect-timeout 5 --max-time 20 tftp://<IP_ADDRESS>:69/hello }
Expected
    <bool>: false
to be true
/home/jenkins/workspace/Cilium-PR-K8s-1.20-kernel-4.19/src/github.com/cilium/cilium/test/k8sT/Services.go:836

Standard Output
Number of "context deadline exceeded" in logs: 0
Number of "level=error" in logs: 0
Number of "level=warning" in logs: 0
Number of "Cilium API handler panicked" in logs: 0
Number of "Goroutine took lock for more than" in logs: 0
No errors/warnings found in logs
Number of "context deadline exceeded" in logs: 0
Number of "level=error" in logs: 0
Number of "level=warning" in logs: 0
Number of "Cilium API handler panicked" in logs: 0
Number of "Goroutine took lock for more than" in logs: 0
No errors/warnings found in logs
Number of "context deadline exceeded" in logs: 0
Number of "level=error" in logs: 0
Number of "level=warning" in logs: 0
Number of "Cilium API handler panicked" in logs: 0
Number of "Goroutine took lock for more than" in logs: 0
No errors/warnings found in logs
Cilium pods: [cilium-8g2gr cilium-h8k8c]
Netpols loaded:
CiliumNetworkPolicies loaded:
Endpoint Policy Enforcement:
Pod                           Ingress   Egress
grafana-d69c97b9b-5pvf9
prometheus-655fb888d7-jsz7f
k8s1-backend
k8s1-client
k8s2-backend
k8s2-client
coredns-867bf6789f-7zrs4
Cilium agent 'cilium-8g2gr': Status: Ok  Health: Ok Nodes "" ContinerRuntime:  Kubernetes: Ok KVstore: Ok Controllers: Total 39 Failed 0
Cilium agent 'cilium-h8k8c': Status: Ok  Health: Ok Nodes "" ContinerRuntime:  Kubernetes: Ok KVstore: Ok Controllers: Total 33 Failed 0

Standard Error
Click to show.
21:49:08 STEP: Checking traffic goes to both backends
FAIL: Timed out after 30.000s.
assertion fails for test case: {id=app1 curl --path-as-is -s -D /dev/stderr --fail --connect-timeout 5 --max-time 20 tftp://<IP_ADDRESS>:69/hello }
Expected
    <bool>: false
to be true
FAIL: Timed out after 30.000s.
assertion fails for test case: {id=app1 curl --path-as-is -s -D /dev/stderr --fail --connect-timeout 5 --max-time 20 tftp://<IP_ADDRESS>:69/hello }
Expected
    <bool>: false
to be true
=== Test Finished at 2021-05-12T21:49:38Z====
21:49:38 STEP: Running JustAfterEach block for EntireTestsuite K8sServicesTest
===================== TEST FAILED =====================
21:49:38 STEP: Running AfterFailed block for EntireTestsuite K8sServicesTest
cmd: kubectl get pods -o wide --all-namespaces
Exitcode: 0
Stdout:
 	 NAMESPACE           NAME                              READY   STATUS    RESTARTS   AGE     IP              NODE   NOMINATED NODE   READINESS GATES
	 cilium-monitoring   grafana-d69c97b9b-5pvf9           1/1     Running   0          44m     <IP_ADDRESS>      k8s1   <none>           <none>
	 cilium-monitoring   prometheus-655fb888d7-jsz7f       1/1     Running   0          44m     <IP_ADDRESS>       k8s1   <none>           <none>
	 default             k8s1-backend                      2/2     Running   0          78s     <IP_ADDRESS>      k8s1   <none>           <none>
	 default             k8s1-client                       1/1     Running   0          78s     <IP_ADDRESS>       k8s1   <none>           <none>
	 default             k8s2-backend                      2/2     Running   0          78s     <IP_ADDRESS>       k8s2   <none>           <none>
	 default             k8s2-client                       1/1     Running   0          78s     <IP_ADDRESS>      k8s2   <none>           <none>
	 kube-system         cilium-8g2gr                      1/1     Running   0          2m20s   <IP_ADDRESS>   k8s1   <none>           <none>
	 kube-system         cilium-h8k8c                      1/1     Running   0          2m20s   <IP_ADDRESS>   k8s2   <none>           <none>
	 kube-system         cilium-operator-99bf8596f-fdxwx   1/1     Running   0          2m20s   <IP_ADDRESS>   k8s1   <none>           <none>
	 kube-system         cilium-operator-99bf8596f-z4q2m   1/1     Running   0          2m20s   <IP_ADDRESS>   k8s2   <none>           <none>
	 kube-system         coredns-867bf6789f-7zrs4          1/1     Running   0          43m     <IP_ADDRESS>      k8s2   <none>           <none>
	 kube-system         etcd-k8s1                         1/1     Running   0          47m     <IP_ADDRESS>   k8s1   <none>           <none>
	 kube-system         kube-apiserver-k8s1               1/1     Running   0          47m     <IP_ADDRESS>   k8s1   <none>           <none>
	 kube-system         kube-controller-manager-k8s1      1/1     Running   0          47m     <IP_ADDRESS>   k8s1   <none>           <none>
	 kube-system         kube-proxy-48s8f                  1/1     Running   0          46m     <IP_ADDRESS>   k8s1   <none>           <none>
	 kube-system         kube-proxy-4qnkq                  1/1     Running   0          45m     <IP_ADDRESS>   k8s2   <none>           <none>
	 kube-system         kube-scheduler-k8s1               1/1     Running   0          47m     <IP_ADDRESS>   k8s1   <none>           <none>
	 kube-system         log-gatherer-cwkpv                1/1     Running   0          44m     <IP_ADDRESS>   k8s2   <none>           <none>
	 kube-system         log-gatherer-lmq5m                1/1     Running   0          44m     <IP_ADDRESS>   k8s1   <none>           <none>
	 kube-system         registry-adder-btk8l              1/1     Running   0          45m     <IP_ADDRESS>   k8s2   <none>           <none>
	 kube-system         registry-adder-wl5nv              1/1     Running   0          45m     <IP_ADDRESS>   k8s1   <none>           <none>

Stderr:

Fetching command output from pods [cilium-8g2gr cilium-h8k8c]
cmd: kubectl exec -n kube-system cilium-8g2gr -- cilium service list
Exitcode: 0
Stdout:
 	 ID   Frontend            Service Type   Backend
	 1    <IP_ADDRESS>:443       ClusterIP      1 => <IP_ADDRESS>:6443
	 2    <IP_ADDRESS>:53       ClusterIP      1 => <IP_ADDRESS>:53
	 3    <IP_ADDRESS>:9153     ClusterIP      1 => <IP_ADDRESS>:9153
	 4    <IP_ADDRESS>:3000   ClusterIP      1 => <IP_ADDRESS>:3000
	 5    <IP_ADDRESS>:9090   ClusterIP      1 => <IP_ADDRESS>:9090
	 10   <IP_ADDRESS>:69    ClusterIP      1 => <IP_ADDRESS>:69
	                                         2 => <IP_ADDRESS>:69
	 11   <IP_ADDRESS>:80    ClusterIP      1 => <IP_ADDRESS>:80
	                                         2 => <IP_ADDRESS>:80

Stderr:

cmd: kubectl exec -n kube-system cilium-8g2gr -- cilium endpoint list
Exitcode: 0
Stdout:
 	 ENDPOINT   POLICY (ingress)   POLICY (egress)   IDENTITY   LABELS (source:key[=value])                              IPv6       IPv4         STATUS
	            ENFORCEMENT        ENFORCEMENT
	 79         Disabled           Disabled          13603      k8s:app=grafana                                          fd02::1d   <IP_ADDRESS>   ready
	                                                            k8s:io.cilium.k8s.policy.cluster=default
	                                                            k8s:io.cilium.k8s.policy.serviceaccount=default
	                                                            k8s:io.kubernetes.pod.namespace=cilium-monitoring
	 888        Disabled           Disabled          38169      k8s:id=app1                                              fd02::56   <IP_ADDRESS>    ready
	                                                            k8s:io.cilium.k8s.policy.cluster=default
	                                                            k8s:io.cilium.k8s.policy.serviceaccount=default
	                                                            k8s:io.kubernetes.pod.namespace=default
	                                                            k8s:role=frontend
	 1170       Disabled           Disabled          12525      k8s:id=be1                                               fd02::a9   <IP_ADDRESS>   ready
	                                                            k8s:io.cilium.k8s.policy.cluster=default
	                                                            k8s:io.cilium.k8s.policy.serviceaccount=default
	                                                            k8s:io.kubernetes.pod.namespace=default
	                                                            k8s:role=backend
	 1279       Disabled           Disabled          1          k8s:cilium.io/ci-node=k8s1                                                       ready
	                                                            k8s:node-role.kubernetes.io/control-plane
	                                                            k8s:node-role.kubernetes.io/master
	                                                            reserved:host
	 1404       Disabled           Disabled          4          reserved:health                                          fd02::a7   <IP_ADDRESS>    ready
	 3162       Disabled           Disabled          50465      k8s:app=prometheus                                       fd02::3b   <IP_ADDRESS>    ready
	                                                            k8s:io.cilium.k8s.policy.cluster=default
	                                                            k8s:io.cilium.k8s.policy.serviceaccount=prometheus-k8s
	                                                            k8s:io.kubernetes.pod.namespace=cilium-monitoring

Stderr:

cmd: kubectl exec -n kube-system cilium-h8k8c -- cilium service list
Exitcode: 0
Stdout:
 	 ID   Frontend            Service Type   Backend
	 1    <IP_ADDRESS>:443       ClusterIP      1 => <IP_ADDRESS>:6443
	 2    <IP_ADDRESS>:53       ClusterIP      1 => <IP_ADDRESS>:53
	 3    <IP_ADDRESS>:9153     ClusterIP      1 => <IP_ADDRESS>:9153
	 4    <IP_ADDRESS>:3000   ClusterIP      1 => <IP_ADDRESS>:3000
	 5    <IP_ADDRESS>:9090   ClusterIP      1 => <IP_ADDRESS>:9090
	 10   <IP_ADDRESS>:80    ClusterIP      1 => <IP_ADDRESS>:80
	                                         2 => <IP_ADDRESS>:80
	 11   <IP_ADDRESS>:69    ClusterIP      1 => <IP_ADDRESS>:69
	                                         2 => <IP_ADDRESS>:69

Stderr:

cmd: kubectl exec -n kube-system cilium-h8k8c -- cilium endpoint list
Exitcode: 0
Stdout:
 	 ENDPOINT   POLICY (ingress)   POLICY (egress)   IDENTITY   LABELS (source:key[=value])                       IPv6        IPv4         STATUS
	            ENFORCEMENT        ENFORCEMENT
	 414        Disabled           Disabled          14501      k8s:io.cilium.k8s.policy.cluster=default          fd02::1ab   <IP_ADDRESS>   ready
	                                                            k8s:io.cilium.k8s.policy.serviceaccount=coredns
	                                                            k8s:io.kubernetes.pod.namespace=kube-system
	                                                            k8s:k8s-app=kube-dns
	 422        Disabled           Disabled          11844      k8s:id=app2                                       fd02::15f   <IP_ADDRESS>   ready
	                                                            k8s:io.cilium.k8s.policy.cluster=default
	                                                            k8s:io.cilium.k8s.policy.serviceaccount=default
	                                                            k8s:io.kubernetes.pod.namespace=default
	                                                            k8s:role=frontend
	 877        Disabled           Disabled          40435      k8s:id=be2                                        fd02::17c   <IP_ADDRESS>    ready
	                                                            k8s:io.cilium.k8s.policy.cluster=default
	                                                            k8s:io.cilium.k8s.policy.serviceaccount=default
	                                                            k8s:io.kubernetes.pod.namespace=default
	                                                            k8s:role=backend
	 1239       Disabled           Disabled          1          k8s:cilium.io/ci-node=k8s2                                                 ready
	                                                            reserved:host
	 2143       Disabled           Disabled          4          reserved:health                                   fd02::185   <IP_ADDRESS>   ready

Stderr:

===================== Exiting AfterFailed =====================
21:49:59 STEP: Running AfterEach for block EntireTestsuite K8sServicesTest
21:49:59 STEP: Running AfterEach for block EntireTestsuite

The PR where this test failed includes https://github.com/cilium/cilium/pull/16064 which parallelized the LRP test cases. Maybe that PR broke something. @aditighag Could you review it just in case I missed something?

I analyzed the logs in both the failed test case dump and the one from #16064 that was successful. In both the cases, I see lot of duplicate curl commands were run. Based on my initial reading of the code, the current usage of Eventually and the test logic is leading to lot of duplication in the test execution. I wonder if it could also lengthen the test run as a result.
Adding the author to get a second pair of eyes in case I'm missing some context.
@Weil0ng The goal of the test is to check if curl to a clusterIP svc endpoint is redirected to both the backends when the original svc entry is restored upon LRP removal, correct? I don't quite understand the reasoning behind running the curl command periodically every 1 second using Eventually when the curl timeout is set to 20 seconds. Also, we could potentially save some state (e.g., command successful from client1 pod) in order to avoid running duplicate commands?

assertion fails for test case: {id=app1 curl --path-as-is -s -D /dev/stderr --fail --connect-timeout 5 --max-time 20 tftp://<IP_ADDRESS>:69/hello }

For the k8s1-client pods, based on the logs, the curl to UDP svc endpoint should've returned true for both the backends.
cmd: "kubectl exec -n default k8s1-client -- curl --path-as-is -s -D /dev/stderr --fail --connect-timeout 5 --max-time 20 tftp://<IP_ADDRESS>:69/hello" exitCode: 0 duration: 316.410685ms stdout:
Hostname: k8s2-backend
--
cmd: "kubectl exec -n default k8s1-client -- curl --path-as-is -s -D /dev/stderr --fail --connect-timeout 5 --max-time 20 tftp://<IP_ADDRESS>:69/hello" exitCode: 0 duration: 332.997685ms stdout:
Hostname: k8s1-backend
--

Here is an example snippet from the failed case (UDP) -
cmd: "kubectl exec -n default k8s1-client -- curl --path-as-is -s -D /dev/stderr --fail --connect-timeout 5 --max-time 20 tftp://<IP_ADDRESS>:69/hello" exitCode: 0 duration: 144.778954ms stdout:
Hostname: k8s1-backend
--
--
cmd: "kubectl exec -n default k8s1-client -- curl --path-as-is -s -D /dev/stderr --fail --connect-timeout 5 --max-time 20 tftp://<IP_ADDRESS>:69/hello" exitCode: 0 duration: 125.755295ms stdout:
Hostname: k8s2-backend
--
--
cmd: "kubectl exec -n default k8s1-client -- curl --path-as-is -s -D /dev/stderr --fail --connect-timeout 5 --max-time 20 tftp://<IP_ADDRESS>:69/hello" exitCode: 0 duration: 137.451284ms stdout:
Hostname: k8s1-backend
--
--
cmd: "kubectl exec -n default k8s1-client -- curl --path-as-is -s -D /dev/stderr --fail --connect-timeout 5 --max-time 20 tftp://<IP_ADDRESS>:69/hello" exitCode: 0 duration: 127.780923ms stdout:
Hostname: k8s2-backend
--
--
cmd: "kubectl exec -n default k8s1-client -- curl --path-as-is -s -D /dev/stderr --fail --connect-timeout 5 --max-time 20 tftp://<IP_ADDRESS>:69/hello" exitCode: 0 duration: 139.117655ms stdout:
Hostname: k8s1-backend
--
--
cmd: "kubectl exec -n default k8s1-client -- curl --path-as-is -s -D /dev/stderr --fail --connect-timeout 5 --max-time 20 tftp://<IP_ADDRESS>:69/hello" exitCode: 0 duration: 140.450365ms stdout:
Hostname: k8s2-backend
--

Same for TCP -
cmd: "kubectl exec -n default k8s1-client -- curl --path-as-is -s -D /dev/stderr --fail --connect-timeout 5 --max-time 20 http://<IP_ADDRESS>:80" exitCode: 0 duration: 153.991005ms stdout:

Hostname: k8s1-backend
--
cmd: "kubectl exec -n default k8s1-client -- curl --path-as-is -s -D /dev/stderr --fail --connect-timeout 5 --max-time 20 http://<IP_ADDRESS>:80" exitCode: 0 duration: 172.118362ms stdout:

Hostname: k8s1-backend
--

Total of 57 commands were run from the k8s1-client pod to the UDP and TCP service endpoints.

The PR where this test failed includes #16064 which parallelized the LRP test cases. Maybe that latter PR broke something.
@aditighag Could you review it just in case I missed something?

I have a plausible explanation for why the test failures became prominent after #16054 was merged.

AFAICS, the way the test code is written, the same backend should be selected for all the pod clients simultaneously. This doesn't seem right since backend selection is not exactly deterministic. More importantly, we only need both backends to be selected at least once for all the client pods.

By parallelizing the test cases, the unreliable way of checking if traffic redirection happens to a particular backend became more exposed, and finally resulted in failures when all the stars failed to align!

Also affects v1.9: https://jenkins.cilium.io/job/Cilium-PR-K8s-1.18-kernel-4.19/166/testReport/junit/Suite-k8s-1/18/K8sServicesTest_Checks_local_redirect_policy_LRP_restores_service_when_removed/
0e703bc1_K8sServicesTest_Checks_local_redirect_policy_LRP_restores_service_when_removed.zip


Bug report - Opset 16 unsupported on Windows 11

🐛 Bug
An exception is thrown when attempting to create a session with silero_vad.onnx using winrt::Windows::AI::MachineLearning.
It appears that silero_vad.onnx is using Opset 16, which I believe is not supported on Windows 11.
To Reproduce
Run the following C++ code in Visual Studio.
using namespace winrt::Windows::AI::MachineLearning;
auto model = LearningModel::LoadFromFilePath(L"C:/Users/robin/Downloads/silero-vad-master/silero-vad-master/files/silero_vad.onnx");
auto session = LearningModelSession(model); // Exceptions thrown

The following appears in the Output window.
Exception thrown at 0x00007FFA89394B2C in MyApp.exe: Microsoft C++ exception: onnxruntime::OnnxRuntimeException at memory location 0x000000C6066FC440.
Exception thrown at 0x00007FFA89394B2C (KernelBase.dll) in MyApp.exe: WinRT originate error - 0x80070057 : 'Failed to load model with error: D:\a\_work\1\s\engine\lotus\onnxruntime\core/graph/model_load_utils.h:57 onnxruntime::model_load_utils::ValidateOpsetForDomain ONNX Runtime only *guarantees* support for models stamped with official released onnx opset versions. Opset 16 is under development and support for this is limited. The operator schemas and or other functionality may change before next ONNX release and in this case ONNX Runtime will not guarantee backward compatibility. Current official support for d'
Exception thrown at 0x00007FFA89394B2C in MyApp.exe: Microsoft C++ exception: winrt::hresult_error at memory location 0x000000C6066FD218.

Expected behavior
A LearningModelSession object should be successfully created.
Environment
PyTorch version: 2.0.1+cu117
Is debug build: False
CUDA used to build PyTorch: 11.7
ROCM used to build PyTorch: N/A
OS: Microsoft Windows 11 Pro
GCC version: Could not collect
Clang version: 10.0.0
CMake version: version 3.23.2
Libc version: N/A
Python version: 3.11.4 (tags/v3.11.4:d2340ef, Jun  7 2023, 05:45:37) [MSC v.1934 64 bit (AMD64)] (64-bit runtime)
Python platform: Windows-10-10.0.22621-SP0
Is CUDA available: True
CUDA runtime version: 11.0.221
CUDA_MODULE_LOADING set to: LAZY
GPU models and configuration: GPU 0: NVIDIA GeForce RTX 3070 Ti
Nvidia driver version: 531.29
cuDNN version: Could not collect
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True
CPU:
Architecture=9
CurrentClockSpeed=3501
DeviceID=CPU0
Family=1
L2CacheSize=4096
L2CacheSpeed=
Manufacturer=GenuineIntel
MaxClockSpeed=3501
Name=11th Gen Intel(R) Core(TM) i7-11700KF @ 3.60GHz
ProcessorType=3
Revision=
Versions of relevant libraries:
[pip3] numpy==1.24.3
[pip3] pytorch-lightning==2.0.5
[pip3] pytorch-metric-learning==2.2.0
[pip3] torch==2.0.1+cu117
[pip3] torch-audiomentations==0.11.0
[pip3] torch-pitch-shift==1.2.4
[pip3] torchaudio==2.0.2
[pip3] torchmetrics==1.0.0
[pip3] torchvision==0.15.2
[conda] Could not collect

The new VAD version was released just now - https://github.com/snakers4/silero-vad/issues/2#issuecomment-2195433115
It was packed into ONNX with opset 16
It the issue still persists please open another issue


it doesn't works in GitlabCI (no errors)

Bug Report
Description
build doesn't work in CI
Steps to Reproduce

Expected Behavior
to build correctly or at least display errors

Hi @jalberto
Sorry for the late fix!
You just have to add --unsafe-perm to the npm install command on GitLab, because it is executed as root.
I updated the README accordingly. The example configuration is now:
image: node:14-alpine3.12
pages:
  stage: deploy
  variables:
    GIT_DEPTH: 0 # required by Log4brains to work correctly (needs the whole Git history)
  script:
    - mkdir -p public
    - npm install -g --unsafe-perm log4brains
    - log4brains build --basePath /$CI_PROJECT_NAME/log4brains --out public/log4brains
  artifacts:
    paths:
      - public
  rules:
    - if: "$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH"

I also improved the error logging: all the Next.js errors were trapped for the log4brains build command (see https://github.com/thomvaill/log4brains/pull/34)
Thank you!

Thanks!
On Fri, 30 Apr 2021 at 16:11, Thomas Vaillant @.***>
wrote:

Hi @jalberto https://github.com/jalberto
Sorry for the late fix!
You just have to add --unsafe-perm to the npm install command on GitLab,
because it is executed as root.
I updated the README accordingly. The example configuration is now:
image: node:14-alpine3.12pages:
stage: deploy
variables:
GIT_DEPTH: 0 # required by Log4brains to work correctly (needs the whole Git history)
script:
- mkdir -p public
- npm install -g --unsafe-perm log4brains
- log4brains build --basePath /$CI_PROJECT_NAME/log4brains --out public/log4brains
artifacts:
paths:
- public
rules:
- if: "$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH"
I also improved the error logging: all the Next.js errors were trapped for
the log4brains build command (see #34
https://github.com/thomvaill/log4brains/pull/34)
Thank you!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/thomvaill/log4brains/issues/26#issuecomment-830122808,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAYMV2SIE7BNJZJSXYYDVDTLK3AHANCNFSM4XYIJMVA
.


Allow passing empty string to window name

#36

@ivaaaan Lines 129 - 137 needs to be under line 156 in smug.go for layout to work. Also, lines 44 - 46 in tmux.go needs to be removed add "-n", name back into 43 to fully allow empty window name.

@trankchung thanks! The layout issue will be fixed in a follow-up pr. Also, contributions are welcome :)

@trankchung thanks! The layout issue will be fixed in a follow-up pr. Also, contributions are welcome :)

This is a draft PR so I don't want to create a PR into this branch. I'll raise a PR in the future.


Option to have the stepTitles inside of the content container

I'm using html5 sections to distinguish each step content container. (see http://www.w3.org/html/wg/drafts/html/master/sections.html#the-section-element)
I think it's the most semantic to have the title of the section inside of the section. In the case of a steps wizard the title is the header tag.
My html setup is as follows:

Header of section 1

         ... section content

Header of section 2

          ... section content

And the js:
$("#wizard").steps({
    headerTag: "h2",
    bodyTag: "section",
    ...
});

However for the wizard to work with jquery steps the setup should be different, like this:

First Step

First Content

Second Step

Second Content

With the headertags outside of the content areas.
To make my setup work, I changed a few lines in jquery.steps.js:
line 151 changed to:
     var stepTitles = wizard.find(options.headerTag),

and line 997 changed to:
    stepTitles = contentWrapper.find(options.headerTag),

This makes my setup work as well. Maybe it would be a nice addition to make this a setting? HeaderTag inside or outside content area?

any news?

:+1:


[EPIC] UI

[x] Vue Router + Vite Plugin Pages
[x] Support --open option
[x] Use Splitpanel to make sidebars resizable: fixed on #389
[x] #392
[ ] Tasks Detail

[ ] diff
[ ] stacktrace
[ ] code frame
[ ] console.log from user
[ ] add the draft state * on code editor

[ ] Module graph inspect (to show transformed code) (WIP @antfu)
[ ] Ensure UI works on Stackblitz

I'll create a PR for the Splitpanels.

I've included all basic tests on stackblitz (except internals) here: https://stackblitz.com/edit/vitejs-vite-w46jsw, see README.md file.

Exploring the options to include user logs let me know if anyone has already have some thoughts about this.
I'm thinking of adding a ctx object to the task containing an array of user logs.
And do we want this to be a new tab (like report of module graph or code) or should we add an accordion/collapsible to the bottom of that same panel which outputs the logs in a more "terminally" kind of fashion?

re: https://github.com/vitest-dev/vitest/issues/494
will the stacktrace implementation part of this EPIC have clickable links so I can use browser-tools to set breakpoints and figure out what's going wrong without console.logging?

re: https://github.com/vitest-dev/vitest/issues/494
will the stacktrace implementation part of this EPIC have clickable links so I can use browser-tools to set breakpoints and figure out what's going wrong without console.logging?

I'm not sure it's possible since the code actually runs inside node and not in the browser


Set Pulsar dependencies to be provided

Similar to https://github.com/streamnative/kop/pull/391 and
https://github.com/streamnative/mop/pull/53 the purpose of this change
is to reduce the archive size as these dependencies will be provided on
the class path at runtime.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: josephglanville:x: sijieYou have signed the CLA already but the status is still pending? Let us recheck it.


Missing install step in docs?

When installing and using this package with jupyter using the instructions from the README, I initially get the following error on OSX and Ubuntu (with fresh installations):

Widget Javascript not detected.  It may not be installed properly. Did you enable the widgetsnbextension? If not, then run "jupyter nbextension enable --py --sys-prefix widgetsnbextension"

Performing the extra step of running:
jupyter nbextension enable --py widgetsnbextension

seems to fix the problem.  I'm guessing that this is a dependency of ipyleaflet that needs similar registration the first time it is installed.  Perhaps it could be mentioned in the docs for new users?

@psigen that is absolutely right!

Fixed now that enabling extension is not required with notebook 5.4.


LWP functions (XOP related)

https://en.wikipedia.org/wiki/List_of_discontinued_x86_instructions#Lightweight_Profiling_instructions

We will need a list of intrinsic/function names, not just the CPU instruction/opcodes

I don't see how this would be implemented on non-x86 systems


iOS 15 support

This PR adds support for iOS 15 by using NSRegularExpression instead of the new Regex that was introduced for iOS 16.
We had to make these changes on our end to support older versions and figured it would be helpful to share.

These changes have no effect on the iOS platform itself, the code changes are entirely on the generator, which only runs on Mac, Linux, Windows.
I am not sure that this is the right solution to the problem

Thought so but I couldn't get xcode to stop complaining about using this package in a project to support an older ios version without implementing these changes.

I have an alternative version checked in, can you let me know if that works for you?


fix for #662: When a class file has Windows-style line endings (CR/LF…

…) the @asset annotation does not always work.

thank you @hkollmann


Update smart-contract-documentation.rst

I am trying to simplify and reduce references in readthedocs. I suggest we don't need these here as we have them all in the overview.

Well is just info that might be relevant to people reading the smart contract page, it think it doesn't harm to have it, but if you think is simpler without it we can take it out.

@christianee  let me know if we close it or merge it.


MANIFEST.in: Add tests, LICENSE, etc

Also forces inclusion of LICENSE in wheels.
Closes https://github.com/berdario/pew/issues/202

One thought - what's the project policy on including tests in the sdist? (We don't include them in pip, and in general I don't see the benefit, but I'm happy to follow project policy here).

One thought - what's the project policy on including tests in the sdist? (We don't include them in pip, and in general I don't see the benefit, but I'm happy to follow project policy here).

Based on https://github.com/berdario/pew/issues/202#issuecomment-483076250, I would say the answer is yes.

Based on #202 (comment), I would say the answer is yes.

Cool. I don't have a strong opinion here. Does this PR correctly exclude the files noted in that comment? I haven't checked myself.

Cool. I don't have a strong opinion here. Does this PR correctly exclude the files noted in that comment? I haven't checked myself.

I took me by surprise, but the changes in this PR are no longer needed:

The LICENSE file has already been included in the wheel automatically (see pew-1.2.0-py2.py3-none-any.whl).

The test/test* files are also automatically included in the sdist (I tested with Python 3.7 on Fedora 31):

[tadej@toronto pew (master)]$ python setup.py sdist
running sdist
running egg_info
writing pew.egg-info/PKG-INFO
writing dependency_links to pew.egg-info/dependency_links.txt
writing entry points to pew.egg-info/entry_points.txt
writing requirements to pew.egg-info/requires.txt
writing top-level names to pew.egg-info/top_level.txt
reading manifest file 'pew.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files matching '*~' found under directory 'pew'
writing manifest file 'pew.egg-info/SOURCES.txt'
running check
creating pew-1.2.0
creating pew-1.2.0/pew
creating pew-1.2.0/pew.egg-info
creating pew-1.2.0/pew/shell_config
creating pew-1.2.0/tests
creating pew-1.2.0/tests/testpackage
creating pew-1.2.0/tests/testpackage/build
creating pew-1.2.0/tests/testpackage/build/scripts-3.7
creating pew-1.2.0/tests/testpackage/build/scripts-3.8
copying files to pew-1.2.0...
copying LICENSE -> pew-1.2.0
copying MANIFEST.in -> pew-1.2.0
copying README.md -> pew-1.2.0
copying requirements.txt -> pew-1.2.0
copying setup.cfg -> pew-1.2.0
copying setup.py -> pew-1.2.0
copying pew/__init__.py -> pew-1.2.0/pew
copying pew/__main__.py -> pew-1.2.0/pew
copying pew/_print_utils.py -> pew-1.2.0/pew
copying pew/_utils.py -> pew-1.2.0/pew
copying pew/pew.py -> pew-1.2.0/pew
copying pew.egg-info/PKG-INFO -> pew-1.2.0/pew.egg-info
copying pew.egg-info/SOURCES.txt -> pew-1.2.0/pew.egg-info
copying pew.egg-info/dependency_links.txt -> pew-1.2.0/pew.egg-info
copying pew.egg-info/entry_points.txt -> pew-1.2.0/pew.egg-info
copying pew.egg-info/not-zip-safe -> pew-1.2.0/pew.egg-info
copying pew.egg-info/requires.txt -> pew-1.2.0/pew.egg-info
copying pew.egg-info/top_level.txt -> pew-1.2.0/pew.egg-info
copying pew/shell_config/_pew -> pew-1.2.0/pew/shell_config
copying pew/shell_config/complete.bash -> pew-1.2.0/pew/shell_config
copying pew/shell_config/complete.fish -> pew-1.2.0/pew/shell_config
copying pew/shell_config/complete.zsh -> pew-1.2.0/pew/shell_config
copying pew/shell_config/complete_deploy -> pew-1.2.0/pew/shell_config
copying pew/shell_config/init.bash -> pew-1.2.0/pew/shell_config
copying pew/shell_config/init.fish -> pew-1.2.0/pew/shell_config
copying pew/shell_config/init.zsh -> pew-1.2.0/pew/shell_config
copying tests/conftest.py -> pew-1.2.0/tests
copying tests/test_cp.py -> pew-1.2.0/tests
copying tests/test_dir.py -> pew-1.2.0/tests
copying tests/test_getproject.py -> pew-1.2.0/tests
copying tests/test_in.py -> pew-1.2.0/tests
copying tests/test_install.py -> pew-1.2.0/tests
copying tests/test_ls.py -> pew-1.2.0/tests
copying tests/test_mktmpenv.py -> pew-1.2.0/tests
copying tests/test_mkvirtualenv.py -> pew-1.2.0/tests
copying tests/test_pew.py -> pew-1.2.0/tests
copying tests/test_print_utils.py -> pew-1.2.0/tests
copying tests/test_project.py -> pew-1.2.0/tests
copying tests/test_restore.py -> pew-1.2.0/tests
copying tests/test_rmvirtualenv.py -> pew-1.2.0/tests
copying tests/test_setproject.py -> pew-1.2.0/tests
copying tests/test_wipe.py -> pew-1.2.0/tests
copying tests/test_workon.py -> pew-1.2.0/tests
copying tests/utils.py -> pew-1.2.0/tests
copying tests/testpackage/setup.py -> pew-1.2.0/tests/testpackage
copying tests/testpackage/testscript.py -> pew-1.2.0/tests/testpackage
copying tests/testpackage/build/scripts-3.7/testscript.py -> pew-1.2.0/tests/testpackage/build/scripts-3.7
copying tests/testpackage/build/scripts-3.8/testscript.py -> pew-1.2.0/tests/testpackage/build/scripts-3.8
Writing pew-1.2.0/setup.cfg
Creating tar archive
removing 'pew-1.2.0' (and everything under it)

And this appears to be expected since the Python Packaging User Guide mentions this when explaining which files get included in an sdist:

all files matching the pattern test/test*.py

So, I think this one and #202 can be closed.

The PR doesnt attempt to exclude what I guess are build/test by-products, but it doesnt include most of those files.

Re automatic, setuptools has long automatically done some stuff, but even so many times the sdist on PyPI ends up without LICENSE files, etc.  I could try to guess what went wrong, or just explicitly declare that these files need to be included.
test/test*.py does not equal tests/test*.py (extra s), so something strange is happening there.

Re automatic, setuptools has long automatically done some stuff, but even so many times the sdist on PyPI ends up without LICENSE files, etc. I could try to guess what went wrong, or just explicitly declare that these files need to be included.

Agreed.

test/test*.py does not equal tests/test*.py (extra s), so something strange is happening there.

Apparently, I didn't purge pew.egg-info between trying out your PR and building sdist on master.
If I purge pew.egg-info, then the test/test*.py files (+ requirements.txt and LICENSE files) are not included when building an sdist on the master branch:
[tadej@toronto pew (master)]$ rm -rf pew.egg-info/
[tadej@toronto pew (master)]$ python setup.py sdist
running sdist
running egg_info
creating pew.egg-info
writing pew.egg-info/PKG-INFO
writing dependency_links to pew.egg-info/dependency_links.txt
writing entry points to pew.egg-info/entry_points.txt
writing requirements to pew.egg-info/requires.txt
writing top-level names to pew.egg-info/top_level.txt
writing manifest file 'pew.egg-info/SOURCES.txt'
reading manifest file 'pew.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files matching '*~' found under directory 'pew'
writing manifest file 'pew.egg-info/SOURCES.txt'
running check
creating pew-1.2.0
creating pew-1.2.0/pew
creating pew-1.2.0/pew.egg-info
creating pew-1.2.0/pew/shell_config
copying files to pew-1.2.0...
copying MANIFEST.in -> pew-1.2.0
copying README.md -> pew-1.2.0
copying setup.cfg -> pew-1.2.0
copying setup.py -> pew-1.2.0
copying pew/__init__.py -> pew-1.2.0/pew
copying pew/__main__.py -> pew-1.2.0/pew
copying pew/_print_utils.py -> pew-1.2.0/pew
copying pew/_utils.py -> pew-1.2.0/pew
copying pew/pew.py -> pew-1.2.0/pew
copying pew.egg-info/PKG-INFO -> pew-1.2.0/pew.egg-info
copying pew.egg-info/SOURCES.txt -> pew-1.2.0/pew.egg-info
copying pew.egg-info/dependency_links.txt -> pew-1.2.0/pew.egg-info
copying pew.egg-info/entry_points.txt -> pew-1.2.0/pew.egg-info
copying pew.egg-info/not-zip-safe -> pew-1.2.0/pew.egg-info
copying pew.egg-info/requires.txt -> pew-1.2.0/pew.egg-info
copying pew.egg-info/top_level.txt -> pew-1.2.0/pew.egg-info
copying pew/shell_config/_pew -> pew-1.2.0/pew/shell_config
copying pew/shell_config/complete.bash -> pew-1.2.0/pew/shell_config
copying pew/shell_config/complete.fish -> pew-1.2.0/pew/shell_config
copying pew/shell_config/complete.zsh -> pew-1.2.0/pew/shell_config
copying pew/shell_config/complete_deploy -> pew-1.2.0/pew/shell_config
copying pew/shell_config/init.bash -> pew-1.2.0/pew/shell_config
copying pew/shell_config/init.fish -> pew-1.2.0/pew/shell_config
copying pew/shell_config/init.zsh -> pew-1.2.0/pew/shell_config
Writing pew-1.2.0/setup.cfg
Creating tar archive
removing 'pew-1.2.0' (and everything under it)

Does this PR correctly exclude the files noted in that comment? I haven't checked myself.

My test shows that it does. Here is the diff between sdist built from master and sdist build from this PR:
[tadej@toronto dist (sdist-tests)]$ diff --brief pew-1.2.0-master pew-1.2.0-PR
Only in pew-1.2.0-PR: LICENSE
Files pew-1.2.0-master/MANIFEST.in and pew-1.2.0-PR/MANIFEST.in differ
Common subdirectories: pew-1.2.0-master/pew and pew-1.2.0-PR/pew
Common subdirectories: pew-1.2.0-master/pew.egg-info and pew-1.2.0-PR/pew.egg-info
Only in pew-1.2.0-PR: requirements.txt
Files pew-1.2.0-master/setup.cfg and pew-1.2.0-PR/setup.cfg differ
Only in pew-1.2.0-PR: tests
[tadej@toronto dist (sdist-tests)]$ tree pew-1.2.0-PR/tests
pew-1.2.0-PR/tests
├── conftest.py
├── test_cp.py
├── test_dir.py
├── test_getproject.py
├── test_in.py
├── test_install.py
├── test_ls.py
├── test_mktmpenv.py
├── test_mkvirtualenv.py
├── testpackage
│   ├── build
│   │   ├── scripts-3.7
│   │   │   └── testscript.py
│   │   └── scripts-3.8
│   │       └── testscript.py
│   ├── setup.py
│   └── testscript.py
├── test_pew.py
├── test_print_utils.py
├── test_project.py
├── test_restore.py
├── test_rmvirtualenv.py
├── test_setproject.py
├── test_wipe.py
├── test_workon.py
└── utils.py

4 directories, 22 files


Only need to sign CLA once for multiple orgs and repos configured with shared gist.

UI:

Sign. A choose a wrong branch. Sorry.

Coverage decreased (-0.2%) to 91.698% when pulling 23bee41df64e9d5e88095a7cb02e488337d03273 on MichaelTsengLZ:miczeng/signCLAOnlyOnce into 49e824b3e61ac55eb7f855533daef586570cdbdc on cla-assistant:master.


after installing osx 10.11.6 nvm won't work

After install osx 10.11.6 nvm stop working, I did reinstall everything start working but after quitting the terminal and go back all the setting are gone.

You may need to add a default version - nvm alias default node will auto-use the latest you have installed.


pulenta bot integration

Closed unmerged because has an extra hero on the pull. Still, the hero was manually added to the repo :)


Yoga 4.x won't work with Sveltekit because of the Response type.

Describe the bug
What is happening is that Yoga within Sveltekit was working fine on version 2.x.
I updated Yoga to 4.x last week and now, Instead of a Response type, I get a PonyfilledResponse type and that triggers the following error:
Error: Invalid response from route /api/graphql: handler should return a Response object

Failing example snippet:
https://www.sveltelab.dev/orjehdfcmv27c6r
Use Altair client to send a GraphQL request:
url: http://localhost:5173/api/graphql
query {
  hello
}

As I can't find a good solution for it, I can't provide a PR. However, returning an new Response("hi there") removes the error. I didn't find any good solution to change the ponyfilledResponse type into Response. In my opinion, PonyFilledResponse SHOULD already be a Response type.
Your Example Website or App
https://www.sveltelab.dev/orjehdfcmv27c6r
Steps to Reproduce the Bug or Issue
After exporting the sample to your computer, npm install the dependencies and npm run dev

Open Alter GraphQL
Enter the hello request
Check your npm console and you will the see error

Expected behavior
There should be no error found and the hello world response should be returned as it was already the case with Yoga 2.x
Screenshots or Videos
No response
Platform

OS: MacOS Ventura
NodeJS: 20.3.0
@graphql-yoga/* version(s): 4.0.0
"devDependencies": {
"@sveltejs/adapter-auto": "^2.0.0",
"@sveltejs/kit": "^1.5.0",
"prettier": "^2.8.0",
"prettier-plugin-svelte": "^2.8.1",
"svelte": "^3.54.0",
"svelte-check": "^3.4.3",
"vite": "^4.1.4",
"graphql": "^16.6.0",
"graphql-yoga": "4.0.0"
}

Additional context
No response

Could you add fetchAPI: globalThis to the configuration of Yoga?

Thank you ! It works with this change!
const yogaApp = createYoga<RequestEvent>({
  schema: createSchema({
    typeDefs: `
			type Query {
				hello: String
			}
		`,
    resolvers: {
      Query: {
        hello: () => 'SvelteKit - GraphQL Yoga'
      }
    }
  }),
  multipart: true,
  fetchAPI: globalThis
})

We should update the documentation to reflect this new needed configuration.


Getting CS0234: The type or namespace name does not exist on prod server

Hi
Running ubuntu 16.10 x64 server.
Repo: https://github.com/ErezSavir/LessonManage
I have added a new view under View/Classes called AddSpecialEvent which is using a viewmodel called AddSpecialEventViewModel.
Each time I call this page, I get
0z1xakkb.0cu(422,765): error CS0234: The type or namespace name 'AddSpecialEventViewModel' does not exist in the namespace 'LessonManage.Models.ClassViewModels' (are you missing an assembly reference?)
This doesn't happen on my dev computer. It doesn't matter where I try to set the viewmodel the same error.
But every other view under the same folders (viewmodels and views) is working.
Any ideas?

Did you figure this out? what was the issue?

Publish issue. I deleted everything from the server and published again without the ubuntu flag, dotnet publish -c Release
Then it worked.

Ok thanks, we've been seeing a lot of The type or namespace name 'blahblah' does not exist in the namespace  issues, so I wanted to understand what this one was 👍


Referenced Component can not be used in a cascading value

When using a combination of both a component reference and cascading value, that value is not sent to child elements
Example
@inherits BlazorLayoutComponent

    <NavMenu/>

<Modal ref="modalTest"/>

    <CascadingValue Value="@modalTest">

            @Body

    </CascadingValue>

@functions
{
    Modal modalTest;
}

When accessing the modal in the following component, I am always getting a null reference exception
@page "/Admin"
@inject HttpClient Http

Students

@functions
{
    IList<Models.Student> _students;

    [CascadingParameter] Modal _modal { get; set; }

    protected override async Task OnInitAsync()
    {
        _students = await Http.GetJsonAsync<IList<Models.Student>>("api/Student/GetStudentsWithGoalsAndAvailableAnswers");
    }

    protected override void OnAfterRender()
    {
        _modal.ElementId = "This is a test";
    }
}

The only thing that would not make this throw an error was to define the modal in the following way in the layout Modal modalTest = new Modal

Thanks for contacting us, @ckbeatty.
@SteveSandersonMS what can we do regarding:

@SteveSandersonMS maybe it is possible to change the design and initialize reference variable immediately after the child component is rendered

initialize reference variable immediately after the child component is rendered

We already do. The problem is that you're trying to pass the value to a child before the rendering has even finished.
Overall I would recommend you adjust your design so that the thing you cascade isn't another component instance, but rather is an instance of some other (non-component) class of your own.
The ref feature is only a way for a component to get a reference to one of its own children after its rendering cycle completes. It's not a feature that can be used for scenarios where you want access to a child before the rendering cycle completes, since the child doesn't necessarily exist at that stage.


App Support to install NPM peerDependencies

Is your feature request related to a problem? Please describe.
I have a repo that manages the src/ code of the library along with the documentation portal code as well. In my case I can't have some packages in my dependencies section of package.json.
So I need to put them in my peerDependencies section, but when I execute the build command, the peerDependencies don't get installed & my build crashes.
Describe the solution you'd like
Add a build option that gives the option to install peerDependencies.
Describe alternatives you've considered

The alternative of this would be to manually install react & react-dom before the build ran everytime. Which doesn't seem an elegant solution

Or have peerDependencies as devDependencies, which isn't semantically correct as well.

Having a hard time understanding your use case. You're maintaining a fork of Netlify CMS?

Sorry bad choice of words, I had a React library that I was bundling with rollup, I had to set the NODE_ENV to development in my netlify build so that the dev dependencies would have installed.
The problem has been solved.
This might have not been the appropriate place to ask this question. :) Stalkoverflow was 😅
Reference to my question here https://stackoverflow.com/questions/54502468/configuring-rollup-for-a-react-library/54507972#54507972


For 2.0, let's get rid of all the error prone code and have only one way to use the lib - removing the Factory.

Mapping providers should not need a context
Mapping directory should be set in the Mapping Provider only, right now it's also needed in the Client
https://github.com/jolicode/elastically/pull/120#issuecomment-1272987345

Currently the factory allows to override multiple things with these options:
    public const CONFIG_BULK_SIZE = 'elastically_bulk_size';
    public const CONFIG_DENORMALIZER = 'elastically_denormalizer';
    public const CONFIG_INDEX_CLASS_MAPPING = 'elastically_index_class_mapping';
    public const CONFIG_INDEX_NAME_MAPPER = 'elastically_index_name_mapper';
    public const CONFIG_INDEX_PREFIX = 'elastically_index_prefix';
    public const CONFIG_MAPPINGS_DIRECTORY = 'elastically_mappings_directory';
    public const CONFIG_MAPPINGS_PROVIDER = 'elastically_mappings_provider';
    public const CONFIG_SERIALIZER = 'elastically_serializer';
    public const CONFIG_SERIALIZER_CONTEXT_BUILDER = 'elastically_serializer_context_builder';
    public const CONFIG_SERIALIZER_CONTEXT_PER_CLASS = 'elastically_serializer_context_per_class';

Am I wrong or some of them cannot be by the elastically configuration so far ?
I only see config for:
bulk_size
index_class_mapping
prefix
mapping_directory
mapping_provider_service
serializer. context_builder_service
serializer. context_mapping

So we're missing:
denormalizer
index_name_mapper
serializer

https://github.com/jolicode/elastically/blob/master/src/Bridge/Symfony/DependencyInjection/Configuration.php#L69

I think you are right :+1:

I don't think we need an open issue for such things.
Instead, let's do like Symfony: We keep an UPGRADE.md file up to date to track all deprecation. Then when the 2.x branch is created, we drop everything.

@VincentLanglet : We don't need bundle configuration for overriding a service. I'm a bit against adding options to override any part of the lib.
For exemple, the bulk_size, or the mapping_directly are values depending on the application structure / design.
The denormalizer, serializer, index_name_mapper are usually not changed. So we don't need an entry in the configuration to change tem.

So exemple, in Symfony, you don't have an option to change the serializer / router, etc. if you want to do so, you decorate the existing one, or you replace it.

As explained by my previous message, currently the factory class cannot be deprecated since everything is not allowed by the config.

We don't need bundle configuration for overriding a service. I'm a bit against adding options to override any part of the lib.
For exemple, the bulk_size, or the mapping_directly are values depending on the application structure / design.
The denormalizer, serializer, index_name_mapper are usually not changed. So we don't need an entry in the configuration to change them.
For example, in Symfony, you don't have an option to change the serializer / router, etc. if you want to do so, you decorate the existing one, or you replace it.

Sure, I was expecting such answer.
Maybe I missing some point about services injections/decorations.
The definition of the Indexer is done this way in Elastically:
        ->set('elastically.abstract.indexer', Indexer::class)
            ->abstract()
            ->args([
                '$client' => service(Client::class),
                '$serializer' => service('serializer'),
                '$bulkMaxSize' => abstract_arg('bulk size'),
                '$bulkRequestParams' => [],
                '$contextBuilder' => abstract_arg('elastically.abstract.static_context_builder'),
            ])

If I decorate the serializer
services:
    serializer:
        class: App\NewSerializer

it will override the serializer for the whole application, not just for the elastically services.
What if I only want to change the serializer used by Elastically services ?

you need to override the service used in elastically:
service:
    elastically.my_connection.indexer:
        class: App\NewSerializer

2.0 is soon to be released.
We didn't get any feedback or feature request about being able to set the "serializer" option for example from the Symfony configuration. I think we are going live without it.
I don't remember why we would deprecate the Factory? Isn't it a good way to build the services when outside of Symfony?


[TSS-18]

I opened another PR after trying to resolve the conflict but i dont think i succeded

conflict still existing


Add support for global error handling

Currently the http core implementations do no try to parse error responses. Those could contain useful information to convey to the consumer.
You can already define responses in open API for HTTP status codes that correspond to errors (4XX, 5XX), however defining those for each endpoint in Microsoft Graph would be fastidious.
Instead we should make use of another feature in openAPI called overlays. This feature is not yet implemented in the openAPI.net lib but it'd allow defining global responses that apply to all the endpoints if not already defined locally.

[ ] get the schema that's defined in overlays
[ ] use that information for the API client (to register the error type)
[ ] modify http core to call deserialization on error response bodies with that type and throw
AB#10401

how would the HTTP library know which type to deserialize the error to then?

So kiota would see responses with schemas on different response codes. But how would it map the successful response codes with a specific bad response code schéma? Especially if the schema for 5xx differs from 4xx for some reason?

defining those for each endpoint in Microsoft Graph would be fastidious.
Microsoft Graph is fine because we autogen the OpenAPI

For people writing OpenAPI by hand, this feels like an OpenAPI problem, not a Kiota problem.  I feel like we should close this issue as this is not where this problem should be solved.

So if we say that we need an error description for each endpoint, we still have work to do in Kiota/design decisions to make.
Let's assume I have one type described for 4XX, one type for 403, and one type for 5XX for the same operation, how should we pass that to the http request adapter?
Having global error handling (things that apply to all endpoints) would have allowed us to pass those type registrations once for the client/request adapter initialization.
Allowing them to vary per operation means that kiota must pass a map of error code/error type factory to the send method for each operation.
It's possible but means two things:

Breaking change on most of the interfaces (I think we're ok with that at this point)
Significant generated code result increase (wanted to double check we were ok with this)

Thoughts @darrelmiller?

Also, should we assume any type described in the error responses can derive from Exception/Error and throw?

This is a tricky one from my point of view working with strongly typed languages however if a path returns 200 and a model and a possiblte 400 with another model the api client has to return one of those types. The only thing I can think of, off the top of my head is using the Go approach and have a model from the client that is something like:
public class ResponseModel
{
  public SuccessModel Model{get;set;}
  public ErrorModel ErrorModel{get;set;}
}

The types of the Model/ErrorModel would have to match the openapi schema defined models and the developer would have to check if the error model is populated before continuing using the response but it could work

Thanks for jumping in here, this is an interesting suggestion. Couple of follow up questions:

Why would you return instead of throwing? (or returning an error as last return value in Go)
What would you do with multiple error types being documented for the same operation in your suggestion? (one for 403 let's say, one for 404, one for 500, etc...)

Because this is not an exception, I know we want to wrap the HTTP calls but the developer/client needs to handle the different responses whether that's a 200/400/500, if the developer can continue with the information from the server/openapi model then cool, if they decide they want to throw they can but this lib should not automatically force that.

2)You can only every get one response whether thats 400/403/404/500 so assuming the openapi doc has those in it and a defined schema for each possible response status code then you return that model in the generated classes and the developer has to make a decision on what to do if the error model is populated

extending on your example with this information we'd have
public class ResponseModel
{
  public SuccessModel Model{get;set;}
  public ErrorModel400 ErrorModel400{get;set;}
  public ErrorModel403 ErrorModel403{get;set;}
  public ErrorModel404 ErrorModel404{get;set;}
  public ErrorModel500 ErrorModel500{get;set;}
}

Which means the SDK user would have to do something like
var myResult = await client.Something.SomethingElse.GetAsync();
if (myresul.SuccessModel != null) {
 // continue normally
} else if (myresult.ErrorModel400 != null) {
 // error handling for 400
} else if (myresult.ErrorModel403 != null) {
 // error handling for 403
} else if (myresult.ErrorModel404 != null) {
 // error handling for 404
} else if (myresult.ErrorModel500 != null) {
 // error handling for 500
} else {
 // I'm not sure what to do but my static analysis tool told me that I'm not handling all cases
}

Which I don't believe is a great experience over throwing exceptions
try {
   var myResult = await client.Something.SomethingElse.GetAsync();
   // continue normally
} catch (ErrorModel400 ex) {
 // error handling for 400
} catch (ErrorModel403 ex) {
 // error handling for 403
} catch (ErrorModel404 ex) {
 // error handling for 404
} catch (ErrorModel500 ex) {
 // error handling for 500
}
// I can add a finally block if I really need to, but if I don't, the static analysis tool won't complain

Which would also allow me to do the following
try {
   var myResult = await client.Something.SomethingElse.GetAsync();
   // continue normally
} catch (Exception ex) {
 // global error handling, like logging
}

Or even just
var myResult = await client.Something.SomethingElse.GetAsync();
// continue normally

Assuming I have some cross-cutting concern reusable implementation at a higher-level with things like APM (application insights), global error display (ASP.NET error handlers), logging, or retry-handling policies (Polly etc). Which would work across the different path items for statically typed languages.
Thoughts?

Ah good point, I was having in my head run time deserializing to one model but that's not going to work is it for C# 😂😂
And so you would end up with what you propose which is pretty grim however after more thought I think it's explicit. Even if you used exceptions to control flow you're still going to have to do the same if blocks in the exception to check innerexception of have multiple exception types for each model so you have a try and catch with numerous exception types. Whilst perhaps not very aesthetic I think it conveys what the open api spec states and is explicit and readable just not very pretty :)

One assumption I forgot to communicate in my previous response, each of the types derive from Exception (ErrorModel400, ErrorModel403, ErrorModel403, ErrorModel500). That's an assumption we're making for types referenced in responses >399 < 600.
The tricky part is: what if the the same model is referenced in both an error response and a successful one?
Also another question this brings: what do we do about default responses? assume they are success or errors?

Default, as in they've not defined a schema response? I'd assume success
Doesn't matter if they reference the same model does it? The SuccessModel will be set to an instance of T and if it's a 400 response the ErrorModel will be an instance of T

@baywet default is just evil.  Let's worry about how we deal with that later.
Your example of having different models for different status codes is a good scenario.
This example is a bit extreme, but all of the different responses are viable.
openapi: 3.0.3
info:
  title: Responses with different models
  version: 1.0.0
paths:
  /:
    get:
      responses:
        '2XX':
           description: Success
           content:
             application/json:
               schema:
                  $ref: '#/components/schemas/MySpecialEntity'
        '202':
           description: Status monitor
           content:
             application/json:
               schema:
                  $ref: '#/components/schemas/StatusMonitor'
        '300':
           description: Download links
           content:
             application/json:
               schema:
                  $ref: '#/components/schemas/DownloadLinks'
        '4XX':
           description: Client Error
           content:
             application/json:
               schema:
                  $ref: '#/components/schemas/ClientFailureInfo'
        '5XX':
           description: Server Error
           content:
             application/json:
               schema:
                  $ref: '#/components/schemas/ServerFailureInfo'

I guess we either pass a map to core, or core returns a stream and we emit code in the service library to do the deserialization.  Whatever happened to the plan of passing a codegen'd response handler to core?

If your question is "how do we pass the response type and constructor /factory to the request adapter?"  the code generator passes those to the send method.

I don't have a problem with the error type deriving from exception.  We can throw one of multiple exceptions depending on the status code.  That still leaves us with the issue of different types for 200, 202 & 300.
What I meant was, what if instead of using the default implementation of IResponseHandler that is defined in core, we actually generated a response handler that mapped the status codes to code that deserialized the correct type.
I suppose the problem that still remains is the request executor method still can only return one type unless we create a wrapper type.  If we have to create a wrapper type anyway, we might as well pass the map to core and avoid doing the codegen.

Thanks for all the additional information and the open discussion, the next step will be to update the conversion library so we have an accurate description for Microsoft Graph.

as an additional precision to the "spec", if the request adapter received an error code [400, 599], and if it doesn't find an exact match in the mapping (e.g. 403), or a class match (eg 4XX), it should just throw an exception with an error code and ignore the body.

@jchannon FYI I've put together a PR #1100


Edit the Category Titles

Please describe the issue.

Im new to github... dont know how to...

I found a solution by editing the vendor/devdojo/chatter/src/routes


when cloning a service, name and description is not being carried over

Version - master 4/28
Steps to Reproduce:

Clone any service

Results: Name and description are not being carried over
Expected: Name and description should be saved

Version - master 4/28
Verified fixed