Recaptcha v3 always returns a 0.1 score

When i use recaptcha v3 with host "www.recaptcha.net" the score is always 0.1, but when i change to use host "www.google.com", the score is 0.9.
So is it the v3 can not use with www.recaptcha.net?
Scripts
https://www.recaptcha.net/recaptcha/api.js?render={key}

Siteverify
https://www.recaptcha.net/recaptcha/api/siteverify

Thanks for the report - not able to reproduce this, do you have a sample page you ran this? What happened when you mixed and matched siteverify and api.js locations?

No, it was just localhost. I will push it to live to test later. Thanks

Push to live is the same, the score is always 0.1.
This is my test keys:
Site key
6LcfPWgUAAAAAE89bhoWFMH9Z2xIqinH6MzWxKdz

Secret key
6LcfPWgUAAAAABLA0IRBd40FnaqGn4M73IjcQn8t

With "www.recaptcha.net"

Change to "www.google.com"

But when i change to use another key, it works perfect with both "www.recaptcha.net" and "www.google.com"

@rowan-m Thanks! But it was just a testing key. :)

After change the key, it works at start. But i found that the score would continue to drop from 0.9 until 0.1, and then it would have been 0.1.

I'm also getting 0.1. But it's on localhost.

Hello, I'm getting always score 0.1 on developer PC only. No matter it's localhost or normal address, it's always 0.1. If i try from other pc/mobile/tablet works like a charm

If you are running automated tests in a staging/development environment, I would suggest creating a mock service for reCAPTCHA. I updated the various RequestMethod classes to accept a $siteVerifyUrl parameter meaning you can override the default location. Alternatively you could also (create a RequestMethod class)[https://github.com/google/recaptcha/blob/master/ARCHITECTURE.md#alternate-request-methods] that just returns a hardcoded response.

I am seeing this when I try on Safari, but Chrome returns 0.9. Also testing on localhost. Could localhost be the problem here?

Same thing.
On localhost it was 0.9 after day it become 0.1
On remote host same issue

I've never used localhost; so for me that's not the problem.. it feels more like google is putting some data together overnight and does some calculations, and after those decides that i'm an abuser filling in those forms with a same kind of message (for my costumers, saying ReCaptcha is activated on their website)..
I've deleted the key and created a new key, and now i'm a 0.9 again..

Scores you see returned on development machines are not reflective of production. If you need a predictable score returned in a given environment, then you should absolutely mock the service to return a configurable score. To determine where to set appropriate thresholds to act on the score, you need to look at your dashboard in the admin interface for your site and see the spread of scores being returned.
The score returned is also only an indicator of confidence in that request. If it's below your threshold then you need to determine the appropriate response. For example, if it's just viewing a product page maybe you want to rate limit the user but if it's something like completing a purchase maybe you want to add an SMS verification before letting the user continue.

Well its happening again. 2 weeks in production and suddenly ReCaptcha keeps returning 0.1 for most of the requests even genuine ones. Customers are complaining. Apparently the machine learning is not good enough yet. I cannot keep creating new keys, just to keep the ReCaptcha performance up to scratch. V3 doesn't seem ready yet. Also I use actions, but most of the sites do not pick the actions up in the admin panel. Some do, but then just one action of the 4 I use.. This is not usable sadly.. It looked very promising, but its not delivering at the moment.

Marco, please send your public site key and a url on which you're experiencing trouble to<EMAIL_ADDRESS>so we can take a look.

it was bad for a couple of days, but it seems to have restored now and results are good again. Maybe it's part of the machine learning process?!?
I've made changes to my application in that I don't solely rely on recaptcha's opinion anymore.. bad score resulted in not sending e-mail from contact forms. Now I take the opinion of ReCaptcha in advice and thén decide on some other factors in the message if it's spam or not.. and I log all contact, replies, and failures from recaptcha in my database, so learn where it works and doesn't to improve my application.. I was hoping google would do all the work ;)
I sure hope ReCaptcha gets more reliable, so I can fully rely on it again, because the idea is great..

I have this problem too.
recaptcha returns always 0.1 on chrome. but everything is ok in firefox.
I tested it a lot in chrome and I think it returns 0.1 for this reason.
But the main question is this:
if recaptcha analysis my actions and blah blah, why he thinks I'm a robot?

can anyone help me for adding recpatcha v3

I feel like going back to V2 if the V3 issue is not resolved for localhost. It's frustrating to test and fix if there is suddenly a low score. At least with V2 you can make sure you have a high score.

I have the same issue in my site.
After a dramatic climbing of suspicious rate someday, most results become 0.1.
Is there a mechanism to train the model by site or by key?
If yes, maybe the unsupervised learning mechanism needs to be improved.

+1 , I load recaptcha v3 from a hidden plain web page in my iOS App, and the score drop from 0.9 until 0.1. Any idea to solve my problem ?   🤔

bumped into this today as well. We switched to www.recaptcha.net recently. One of our employees was getting 0.1 scores, even though she was logged-in on Chrome, no incognito or any crazy browser extensions etc... Weird.

I'm having the same issue. I'm trying to test a code on my server and google keeps returning a low score, saying that I'm a bot. I really like v3 but, if I have to, I'll have to use v2.

I'm having this issue as well. May be a little different I'm not sure.
When I log in using autofill on my form, google always gives me a 0.1 score.
If I wait about 10 seconds after autofill I always get a 0.7 score.
If I don't wait, but change something in the autofilled field, I get a 0.7 score as well.
I assume this isn't supposed to happen though? Many people would use autofill to login..

One page on my site nearly always returns 0.1 for me. Another page returns 0.7 or 0.9. I am at a loss.

Same issue here. A few months into production and my client's customers are complaining about the failed captcha check. Legitimate human actions are getting a score of 0.1 and blocking users from doing anything (I was blocking anything under 0.3). I had to reduce it to only block a score of 0 for now which I fear may let some bots through. It seems this should automatically give the user a second chance with an "I'm not a Robot" checkbox if there are going to be so many false positives...

Similar problem here. When I specify the action parameter as homepage, I always got a 0.9 score with chrome, but under safari, it's  a 0.1.

Hey guys, I kinda solved this issue on stackoverflow (a question in which I asked my self and then answered it on my own). It took a while but, depending on what type of method you are using the recaptcha works well and is relatively easy to use. If you need any assistance feel free to either message me here or contact me on Stackoverflow or Instagram. I'm known as Codemaster Jamal. You can honestly just google that to find me.
My problem was that I had two tags with the same id. Once, I changed the id's and made sure to rewrite the javascript to post to the second-tag, I was fine.

you didnt kinda solve it.. not using any same id tags here...

you didnt kinda solve it.. not using any same id tags here...

You will need to supply some coding examples if you need help. Also, I'll overlook this entire topic and then respond to them the best I can. You also need to specific what type of languages you are using and how you are implementing this method. I use a PHP and Javascript method for my website.

the recaptcha code the end user uses in his browser is always javascript.. so that doesn't really matter now does it.. and if you had read entire topic you would also have read it works for two weeks, and then suddenly it doesn't, and then it does again.. and then doesn't.. without changing any code.. so the problem more seems to be an unreliable recaptcha solution, than any form of misuse of the code.. if it was as easy as using double id's there wouldn't be a problem..

the recaptcha code the end user uses in his browser is always javascript.. so that doesn't really matter now does it.. and if you had read entire topic you would also have read it works for two weeks, and then suddenly it doesn't, and then it does again.. and then doesn't.. without changing any code.. so the problem more seems to be an unreliable recaptcha solution, than any form of misuse of the code.. if it was as easy as using double id's there wouldn't be a problem..

https://stackoverflow.com/questions/55521795/google-recaptcha-v3-returns-success-as-false
I read this topic 2 months ago when I really needed help with my recaptcha. There's an easier way to apply recaptcha with php and javascript. Did you ever think of just rewriting the code? Or changing the format of the code? Perhaps think of a different method to get recaptcha to work because obviously, your first method isn't.  Problem solve. You're not going to be able to google everything, a lot of this stuff is testing things and figuring it out on your own. Just have to figure out what works best.
With that aside, there has to be a reasonable solution as to why the code is doing that. Been using recatpcha for months and it works fine. When was the last time you tested your code?

Seeing this as of today. Code has not changed in months, but suddently 0.1 score always. What is going on?

A couple of days ago, I implanted reCAPTCHA V3 to my website and I am in tests.
All the tests I made from production, I do not use localhost.
The key validations are correct, the JSON response is correct (success = true), but I am having problems with the score. The tests are through a contact form, so I put action = contact. I fill in all the fields of the form by hand, check the box of Privacy Policy and submit. It does not matter if I use Chrome, Firefox or Opera, it always gives me score = 0.1, so I can not validate those cases where score <0.5 is a bot, because nobody would pass the filter.
I'm afraid I'm going to have to use V2, since I do not know how to solve this problem :(

All the tests I have done proves V3 is totally unreliable, not to mention it requires a complete revision of your business logic in many cases. You receive score varying from .9 to .1 over the same connection, same user agent, ... When you want to protect a form that requires end-user input it is even worst. You receive timeout - sorry end-user may takes more than 1mn to fill-up their name, address, phone, ... Implementing some cleaver logic to address such makes it spammer prone.
Some browser are definitly unsupported, the code is negatively impacting performances (loading various fonts, and other third party resources.
This code is useless, support non-existent, documentation fuzzy when not misleading...

Anyu updates here ?

I agree with @doekia what a mess. We like the idea of not needing user input, but consistency/reliability is a must obviously. And implementing this has been confusing for sure, receiving errors with practically no guidance on how to resolve, now scores are unreliable, feeling very frustrated.

The comments on here seem like it's RIP to reCAPTCHA v3. This issue was opened a year ago and it hasn't been resolved yet. 💀

We are experiencing the same issue in production. The automated traffic from the malicious sources (doing constant unlimited request from one IP) got 0.9 scores, meaning, reCaptcha v3 is USELESS.
There is no way to at least lower the score if the bot fraud traffic gets 0.9 all the time.
What a mess Google!

It looks like the solution is to either only use Ver 2, or use Ver 3 on initial page and then use Ver 2 on any other pages where Ver 3 does not work. I thought it would do this automatically, but clearly not.

many people are talking about this problem.
but there is no reaction from recaptcha team.
what a support!
thanks

Would be nice to have an official Google response...

Why would Google respond? You're not the customer, you are an advertising/data product they sell to their customers.

since this issue is still open. is there any other alternatives we can use for the meantime?

according to this answer, it seems embedded browsers will get lower score.
i tested it by myself. as the answer says, i visited my website by chrome and did the exact same action as my clients do, and i got 0.9.
but all of my normal clients visit my website by embedded browsers of wechat. how can i resolve this problem?

also, recaptcha not always return 0.1 in my case, few of our users got 0.3. so, i think it's still working.

Not sure if people are still having this issue but changing the action from homepage to submit fixed it for me. My check is not executed until the form is _submitted_however.

Bug Still present.
Since it probabily relies on the ML under the hood it is quite hard to find similarities but it's pretty sure it is bugged.
Same interaction made by IE11 and Chrome (both Incognito, both from the same PC) takes 0.1 and 0.3 using IE11 and 0.9 using Chrome.

Bug Still present.
Since it probabily relies on the ML under the hood it is quite hard to find similarities but it's pretty sure it is bugged.
Same interaction made by IE11 and Chrome (both Incognito, both from the same PC) takes 0.1 and 0.3 using IE11 and 0.9 using Chrome.

Buggy today for me after several months ok :-(
Env : In production and on localhost.
IPs : From distinct networks
The values are always 0.1 or 0.3.

same here ((
very disappointed
started to show low scores, mostly 0.1

Same here. 3 domains on one VPS. Dozens of clients. All get 0.3-0.1 score since this morning.
Damn. Had to disable recaptcha :(

I've been using recaptcha V3 now for just over a year and it's really flaky. At 4am on Thursday (15th April 2021) we started having an influx of users who would normally be getting scores of 0.7 - 0.9 were getting 0.1 - 0.3. The ramp of users getting a low scores has dropped slightly but still getting high numbers. These are genuine users who aren't using a bot to use the login page.
Does anyone know if there was there some sort of outage which was causing this issue? Just seems like it's getting worse and no help from Google to guide us to get our customers to 0.9 or the magical 1 score!
Looking at the documentation and the quick video regarding the enterprise offering, the admin console looks worse and it will be the same ML underneath, just get an email address for support that might work...

same here :( everything was working perfectly but suddenly 0.1, 0.3

I thought it was just us. We have been getting low scores mostly 0.1 as well since late March. Left a comment in issue #304

We are having the same problem. A couple of days ago we started getting lots of 0.1 scores. Even our own developers are getting bad scores. It's all a bit flakey, sometimes the score is good, sometimes not. It seems to be affecting the domains which are behind a CDN (Cloudfront) more than the ones that aren't. But it might be only a fluke. Had to disable recaptcha for now.

same here. It's still going on right now.
I've been using reCAPTCHA v3 since 2019 and have never had it used to work perfectly. We used to get scores of 0.7 or 0.9. However, there was a sudden increase in the number of requests evaluated as 0.1 or 0.3 since April 15. We found that these were normal requests made by humans.

Same here! suddenly I started getting 0.1 and 0.3 on lots of calls randomly :/

I do wish Google would come back to us and give us in the response why it failed. Just having a black box and getting an arbitrary number just seems flaky. I love the idea of V3 but where one user could get a 0.9 and the next second get a 0.3 just doesn't make any sense - almost like pointing a finger in the air and taking a guess.
Has anyone moved to V2 to see if that's any better?

V2 and V3 are different things. V2 you have google UI, while V3 works silent :)
Using V3 on developer/server in debug mode sometimes(very rare) getting low score. But my main issue silently fixed.

I get the difference between the two, this is why I went with the V3 solution. My question was, due to the amounts of low scores, has anyone just binned it off and gone for V2 instead. If so, what was their experience? Were their users fed up because of a captcha every time they visited the page? Is invisible captcha the way forward if the scoring mechanism is failing so badly..

V3 is a marketing tool to get you to also install V2 ;-)

Hi everyone same problem here we are using recaptcha v3 in production for months now, everything was working ok but since a few days we receive really low scores even for real users (Mostly 0.1 and 0.3)
My guess is that google messed up something on their end because I remember getting rejected by a recaptchaV3 few days ago on another website and you guys seems to have the problem too...
We need explanations !

Same issue for us. We are using recaptcha v3 on some of our website forms. On 4/21/21 (two days ago), we started experiencing super low scores of 0.1 and 0.3, even for real users. In testing myself, I am sometimes getting 0.7 score, and sometimes getting a 0.1 or a 0.3, depending on browser. Developer partners get same results. This is super frustrating, since we have set up some blockers and error messages for end users in these low score scenarios. This is bad for customer service. It would be good to know if Google has changed anything recently. Because we have not made any changes, and it was working great until this week.

Same here. We changed the action strings sent for each specific verification and our scores are good again.
So we appended a dynamic suffix to all action strings (the current date formatted YYYYMMDD).
We're hoping this will make our score consistently better.

Any update for this issue. I'm facing this problem today

I strongly suggest all of you to migrate to hCaptcha, they are
highly compatible with reCaptcha but they care about the service.
I am not involved in any manner with hCaptcha, I didn't know about them
since 1 week ago and I'm neither a current hCaptcha customer, just did some
experiments.
It's very sad to notice how much Google ignores reCaptcha service.
Il giorno lun 31 mag 2021 alle ore 04:32 Phan Dat @.***>
ha scritto:

Any update for this issue. I'm facing this problem today
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/google/recaptcha/issues/248#issuecomment-851125103,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABNKU74M77XHQ5EOD6EKYX3TQLYLJANCNFSM4FPHDB5A
.

As a firebase user I've enabled the recently announced app check feature... maybe it has something to do with it? 🤷♂
https://firebase.google.com/docs/app-check/web#from-the-cdn

I strongly suggest all of you to migrate to hCaptcha, they are highly compatible with reCaptcha but they care about the service.

Last I checked with hCaptcha, the invisible captcha option was only available to paid customers, and prices start at $999/mo ...

Ran into this today.  We've been using "www.recaptcha.net" on our live site rather than "www.google.com" due to "www.google.com" not working for users in China.  Recaptcha v3 was returning a score of 0.3 for several real people in the US.  We tried switching back to "www.google.com" and their scores are 0.9.

This is also happening to us. Even more weird, we tried to lower the score to 0.3 but then when we test with the googlebot header, it returns 0.3 and allows the request. This is very frustrating and unreliable solution in my opinion.

We decided in the end to go down the route of Recaptcha v2. It’s a shame but v3 was completely unreliable for what we wanted.
Sent from my iPhone

On 28 Sep 2021, at 15:46, dslocalsearch @.***> wrote:

This is also happening to us. Even more weird, we tried to lower the score to 0.3 but then when we test with the googlebot header, it returns 0.3 and allows the request. This is very frustrating and unreliable solution in my opinion.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

I'm also facing the same issue for the past few days. It returns a low score of 0.1 when I test it in https://www.live.browserstack.com on iOS and iPad. But it returns a high score when I test the same in Google chrome on my windows machine.
The beavhiour is very inconsistent. Seriously hope Google fixes it sooner.

We are also seeing strange behaviour on our enterprise recaptcha where legit requests from Iphones are being scored as 0.1 (or 0.3 if users happen to be logged in their google acocunt within the iphone's browser).
Working perfectly fine for all other OS and browsers...is anybody else seeing this behaviour?

I also have the same problem when I am trying my code on localhost. The score returns 0.1 despite user handled interactions. It was working for months despite no changes on recaptcha code.

We also received reports that some frustrated users constantly receiving low score, beween 0, 0.1 and 0.3.
Some had tried different browsers with none success.
With the information received so far, I expect its something to do with the VPN their organisations are using, or the policies configured on their work computer. (One user had indicated that she was blocked by recaptcha (v3) on her work computer, but was able to progress if using her personal computer.

Recently started having issues with logging onto multiple services that employ recaptcha. Both Chromium & Firefox fail because captcha scoring is stable from 0.1-0.3. Switch to Google Chrome and suddenly you're not deemed a bot with 0.9.
Verified it also on this page
One can hope EU will take a note of this shit at one point.

We are also out of the blue getting 0.1 scores from legitimate safari users, using the enterprise version. We could try updating the key or action name as others have mentioned, but this seems to be an arbitrary solution. Considering falling back to v2

Personally, it doesn’t matter what you change/ workaround you’ll always end up with users not being able to login due to low scores.Each and every time is to use v2. Not had any issues with it since implementing it.Sent from my iPhoneOn 11 Apr 2023, at 00:55, brookeherbert @.***> wrote:
We are also out of the blue getting 0.1 scores from legitimate safari users, using the enterprise version. We could try updating the key or action name as others have mentioned, but this seems to be an arbitrary solution. Considering falling back to v2
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

Ya, I ended up implementing both V2 and V3, so those that can use V3 continue to enjoy normal login, and those that are blocked by V3 are then presented with V2 images. 😅

Closing old issues that are not related to the PHP client code.

@rowan-m What is it related to then?


Integration with new libada + making ada_feeding hardware agnostic to gen2 & gen3

Integrated with new libada (egordon/simplify)

Removed dependence on libada/resources/tsr_transforms.yaml (transforms are hardcoded now)
Removed dependence on ada_launch
Changed moveArmTo calls to planTo + executeTrajectory calls
Removed functions from utils that are not useful anymore

Made ada_feeding hardware agnostic

Added separate configuration files for gen2 & gen3
Current state works on gen2 real (ToDo: check on gen3)

Regarding all the TODOs re. the hardcoded rotation angles, Ethan and I discussed that going through and changing those should be in another PR, not this one. Hence, I resolved them.
It seems like there are two lingering discussions (although they probably don't require changes) and then this should be ready to merge in.


🐛 BUG: Most commands are returning "perhaps your object identifier is invalid? [code: 7003]" error

What version of Wrangler are you using?
2.1.13
What operating system are you using?
macOS 12.6
Describe the Bug
Most npx wrangler commands are returning a variation of the error:
✘ [ERROR] A request to the Cloudflare API (/accounts/[redacted]/workers/scripts/my-service/bindings) failed.

  Could not route to
  /client/v4/accounts/[redacted]/workers/scripts/my-service/bindings,
  perhaps your object identifier is invalid? [code: 7003]

For example npx wrangler dev --env qa returns:
Could not route to
/client/v4/accounts/[redacted]/workers/scripts/my-service/edge-preview,
perhaps your object identifier is invalid? [code: 7003]

Also, GitHub deploy actions are erroring with similar errors.
npx wrangler whoami shows me:
Scope (Access)
- account (read)
- user (read)
- workers (write)
- workers_kv (write)
- workers_routes (write)
- workers_scripts (write)
- workers_tail (read)
- d1 (write)
- pages (write)
- zone (read)
- offline_access

I've tried logging out and back in as well as rotating the Global API Key.

This appears to have been happening because I still had an account_id in my wrangler.toml file. This was the cryptic error that was happening as a result. I've resolved this by removing that property from the config.

I am having this issue and I never had an account_id in my wrangler.toml - and when running the command it prompts me to select an account


Title header color and text centering

Setup

Browsers and versions: Chrome 83.0.4103.97
MediaWiki version: 1.34.1
Database version:  MySQL (MariaDB 10.4)
PHP version: 7.4.6 (apache2handler)
Pivot version: 2.2.0
Extension version (if connected to the issue):

Issue
I'm sure this is user error but I am having a devil of a time getting a header, of a defined column area, to display a color.
This pick is from the MediaWiki example:

This pick is from my implementation.

Also note that I am unable to center the text.
Not sure what I'm doing wrong.  Thank you for your help in this matter.

Awesome!  Thank you!

I fixed it by modifying /assets/stylesheets/foundations.css

ouch, you shouldn't change the actual code because when you update the version it will be lost. Please inspect the code on https://pivot.wikiproject.net and use the System Message MediaWiki:Pivot.css to change styling. That is the safe way.
Homepage code on page. Used tags

 Responsive Grid

Note the class="subheader" and then look at https://pivot.wikiproject.net/wiki/MediaWiki:Pivot.css
...
/* Style here are only to highlight functionality of Pivot */

/* make the main page subheaders solid bars */
.subheader {
    background: #517398;
    color: #fff;
    text-align: center;
    padding: .5em;
}
...

 Eg.

Got it.  Thank you Tom.
On Fri, Jul 24, 2020 at 11:37 AM Tom Hutchison<EMAIL_ADDRESS>wrote:

I fixed it by modifying /assets/stylesheets/foundations.css
ouch, you shouldn't change the actual code because when you update the
version it will be lost. Please inspect the code on
https://pivot.wikiproject.net and use the System Message
MediaWiki:Pivot.css to change styling. That is the safe way.
Homepage code on page. Used tags
 Responsive Grid
Note the class="subheader" and then look at
https://pivot.wikiproject.net/wiki/MediaWiki:Pivot.css
...
/* Style here are only to highlight functionality of Pivot */
/* make the main page subheaders solid bars */
.subheader {
background: #517398;
color: #fff;
text-align: center;
padding: .5em;
}
...
 Eg.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Hutchy68/pivot/issues/97#issuecomment-663626930, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AP4LXU7O4CRWCZLLJDZWNEDR5G2FTANCNFSM4NYRQGRA
.

No problem, closing as answered.


PerformanceCounterCollector does not work as expected ( does not collect specified samples but random samples)

**Runtime version: ASP.NET 4.8
So according to the documentation example at https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.performancecountertype?view=net-5.0#elapsedtime it is possible to take EllapsedTime Samples, which is true for local system, but the reporting to Application Insights is not as expected ( does not correspond to the sample, but to the counter value collected at random sample times by the PerformanceCounter Collector, which is useless since I want to measure the ellapsed time at those intervals I specified using the NextSample function and not at random sample intervals by the collector).
I made the following adaptation to measure the time of a single button click with random sleep time between 1000 and 2000ms, which works ( notice the line where the sample is collected using avgCounter64Time.NextSample() commented with SAMPLE COLLECTED HERE):
public static void CollectSingleTimeClick()
        {
            Random r = new Random(DateTime.Now.Millisecond);
            int sleep_time = r.Next(1000, 2000);
            DateTime Start = DateTime.Now;
            avgCounter64Time.RawValue = Stopwatch.GetTimestamp();
            avgCounter64Time.NextValue();
            System.Threading.Thread.Sleep(sleep_time);
            float measured_value = avgCounter64Time.NextValue();
            OutputSample(avgCounter64Time.NextSample());          //SAMPLE COLLECTED HERE
            DateTime End = DateTime.Now;
            Debug.WriteLine("\n\n_Sleep time = " + sleep_time.ToString());
            Debug.WriteLine("_Measured Elapsed time = " + measured_value.ToString());
            Debug.WriteLine("_Actual Elapsed time = " + End.Subtract(Start).ToString());
        }

This is a sample output I get:
+++++++++++
Sample values -

   BaseValue        = 0
   CounterFrequency = 10000000
   CounterTimeStamp =<PHONE_NUMBER>66
   CounterType      = ElapsedTime
   RawValue         =<PHONE_NUMBER>26
   SystemFrequency  = 10000000
   TimeStamp        =<PHONE_NUMBER>64
   TimeStamp100nSec =<PHONE_NUMBER>57223216
++++++++++++++++++++++

_Sleep time = 1919
_Measured Elapsed time = 1,931924
_Actual Elapsed time = 00:00:01.9339516

Everything works fine, until I get to Application Insights ....

No real measurements get there.
Everytime I called the .NextSample() function it should appear a register in Application Insights.
What happens is that I get completely random values I suppose taken at sample times from the Application Insights Performance Counter Collector.
So Instead of saving the value after I call nextSample(), what happens is that I get values that are not useful at all.

So everytime I click the button the line goes down and then starts going up again. So if the data is taken at random sample times by the PerformanceCounterCollector the data I get is absolute garbage ( the measured time since I last clicked the button and not the time I took from the samples) , which is in fact true:
query_data_timer.csv
Again, the value time of the counter in Application Insights measures the time I last clicked the button and not the samples I created and this is not the expected behaviour:

Is this the expected behaviour?
How can I measure for example, the execution time of a single button click?
The provided example does not work as expected. So If I want to collect elapsed sample times, as in the provided example should I use a different Counter?
Or use customMetrics? I thought this should be reported in PerformanceCounters, the time of button clicks.
If not what other PerrformanceCounter type should use from these Types?

This behavior is expected since there is pull model for counter collectors.
So once every minute the counter measurements are collected.
On the other hands, metrics logs, etc. have a push model. So this behavior is completely expected.


Adding new files need watch to be restarted

Gulp Watch need to be restarted in order to enjoy the new files added. Would be nice to avoid this

Is this still an issue?

Native gulp watch doesn't pick up files added to the filesystem after it
was initialised. It's a limitation I've accepted but there's certainly node
modules out there which poll for changes. Just needs investigated.
On Friday, 27 November 2015, Neil McCallion<EMAIL_ADDRESS>wrote:

Is this still an issue?
—
Reply to this email directly or view it on GitHub
https://github.com/rehabstudio/fe-skeleton/issues/36#issuecomment-160116338
.

--
Anthony Hastings  //  Senior Front End Developer
+rehabstudio https://www.rehabstudio.com - Making it better.

I did some investigation on the issue this morning. In gulp 4.0.0 there is a new file watcher under the hood called chokidar which has the ability to watch new files, and realise when others have been deleted. I discerned all this information from the closed issue on gulpjs repository. There's nothing to action here except patiently wait for the release of 4.0.0.
Huzzah!

Fine to close this.


Implement File Existence Check and Automatic Overwrite in Memory

Currently, files in conversations may be duplicated in memory, leading to undesirable behavior. We need to implement a mechanism that checks if a file already exists in a conversation and automatically overwrites it to prevent duplication. This enhancement will streamline file management and improve system efficiency.

Resolved in #1297


Consider using docker-machine instead of boot2docker

Since boot2docker is deprecated (https://github.com/boot2docker/boot2docker-cli#pending-deprecation), consider supporting docker-machine instead.

We'll definitely do this at some point. We made the decision to go with boot2docker to start with because Machine still has a big "this is a beta" warning and we didn't want the API to constantly change on us. https://docs.docker.com/machine/

If someone wanted to spend the time figuring out what the recent history of Machine is and whether their API seems to have mostly stabilized, we may be able to begin work on this.

This is looking even more attractive now that Toolbox bundles all of our dependencies (if we were to switch to Machine) into a single download. May be the time to move over.

It looks like in practice their changelog has been pretty stable, not a lot of breaking changes. https://github.com/docker/machine/blob/master/CHANGELOG.md
I think it'd make sense to prioritize this after NFS. The earlier we make the move, the less painful it'll be.

Not sure others' experience, but on a non-latest mac and latest windows, boot2docker was never a good experience for me. I never got it working right. I will try Docker machine.
ty for your PyGotham talk!
AnneTheAgile


UPI Table converter to google.protobuf.Struct

RouterLog and PredictionLog use google.protobuf.Struct for publishing the UPI Table. This PR introduces the converter for converting UPI Table into the corresponding google.protobuf.Struct.  Note that TableToStruct accept schemaVersion which is determined by table_schema_version and this PR add implementation for TableSchemaV1 .
Example usage:
package pkg

import (
	"fmt"

	upiv1 "github.com/caraml-dev/universal-prediction-interface/gen/go/grpc/caraml/upi/v1"
	"github.com/caraml-dev/universal-prediction-interface/pkg/converter"
)

func main() {
	var upiTable upiv1.Table
	st, err := converter.TableToStruct(&upiTable, converter.TableSchemaV1)
	if err != nil {
		// conversion failed
	}

	fmt.Printf("%v", st)
}

Would there be a use case for struct to table? Left a small comment, the rest LGTM
Seeing the slight variation of types confused me for abit when review 🤣
UPI Type

ProtoBq

Google structpb


Server configuration not documented?

I can't see where the server configuration is documented. Is it single threaded servers or multithreaded? Does the test machine have enough cores to let the servers run uncontended with the test workload?

@rbtcollins There are multiple frameworks in this repository and every framework will have its configuration built-in so that we can just start the server with a command line without worrying too much about the server config. Some of the frameworks will have parameters to pass in and it is documented clearly in the README.md
The test machine has 4 cores and the client is running on the same machine in order to eliminate the network fluctuations. It is just a way to test the throughput for each framework under the cpu constraint. I am planning to rerun all the test again on my server with contains 20 cores with 192GB memory. Just need to find time to do that :)


add SameSite support

also ignore lifetime if set to 0 (leave it to default)

use uppercases (it looks much better for SameSite rather than samesite)

use uppercases

MDN seconds it!
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie

How about using arrays? https://github.com/middlewares/php-session/pull/11/files

How about using arrays? https://github.com/middlewares/php-session/pull/11/files

why not ;-)

Great. Thanks!


Machine win-12 is in Quarantine state due to error.

Is there an existing issue for this?

[X] I have searched the existing infra issues

Type of Request
infra task
Infrastructure Environment
LUCI, Github, Cocoon scheduler, Autosubmit, etc...
What is happening?
Machine win-12 is in Quarantine state due to error.

Steps to reproduce
Step 1:
Step 2:
..
Step n:
Expected results
I expect to see X when Y is finished.

Error has been cleared by rebooting machine.


Mili plugin re-write (alpha)

This is a reminder ticket to track the alpha version of the mili plugin re-write. Everything needed for the GrizIt alpha release should be completed.
Things left to do:

Defer label creation until asked for

Plot shared elements together

Update VisIt's mili version (need new version from Kevin)

Inspect integration points

Refactoring of the label creation/integration is complete. This also appears to have resolved issue #3356.

Shared variables is complete, but I've realized that there are some oddities with how element sets are represented in the .mili file that will prevent shared from working on them right now. I've contacted Kevin about this and will hopefully get this figured out soon.

I just heard from Kevin, and it appears there is an issue with how some of the element sets are being written out. He needs some time to figure out how to handle this case, so I'm putting the shared element sets on the back burner until this is resolved.

Shared element sets are implemented. I still need to update the test suite, but I've manually tested all the cases I can think of, and it's looking good.

The discrepancy with integration points between visit and griz has to do with indexing. The data organization is thought to be in a particular pattern, and the plugin is assuming this pattern for indexing.
The values being shown in Griz appear to be following a slightly different data pattern that can be replicated using a different indexing scheme. I've brought this up with Kevin, and he's going to investigate what's going on here, but he believes the data pattern that our plugin is assuming should be correct. There might be a simple communication issue going on between Griz and Mili.

Trying to understand the issues with element sets + integration points as described here. Using as a conceptual tool some exodus data (test/data/exodus_test_data/kassbohm1.exo) which has a similar notion of element blocks as pictured below.

From the referenced document...

One or more vector arrays may be created in a Mili plot file for each element set that has multiple integration points. The vector arrays will have the short names “es_#$ ” and the long names “Element  Set #$”, where # is the element set number and $ is one or more letters, e.g., “a”, “b”, “c”.  These arrays may conceptually be considered to be rank 3 matrices where the “first” index corresponds to the relative element number, the “second” index corresponds to the state variable “number”, and the third index corresponds to the integration point number. The integration point index spans from 1 to N, i.e., the array contains data for N integration points. The letter-based suffix is used to allow multiple vector arrays with different definitions per element set. Restriction: a state variable for an element set can only be bound once. It can be in a vector array or a conventional record.

In addition to the vector arrays, a TI array will be written to the plot file for each element set that uses a “es_#$ ” vector array. This TI array is named “IntLabel_es_#”, where # is the element set number that this array pertains to. The “IntLabel_es_#” array has N+1 entries. The last (N+1-th) entry in the array contains Num, the number of integration points defined in DYNA3D or Diablo for the elements in this element set. The 1st to N-th entries contain the integration point labels for the integration point data in the associated array vectors. The first label is for the first “column” of data in the vector array, the 2nd for the 2nd, etc. The value of Num will always greater than or equal to the maximum value contained in 1st to N-th entries of the IntLabel_es_# array. Num is included so that you can figure out which integration point is the inner, middle, or outer. It also lets you figure out what integration point to use if the desired integration point is not present in the data.

Note, an element set will nearly always contain conventional state variable definitions as well as potentially state variable vector array definitions.

So, lets consider a case where we have the Mili variables named es_5a, es_5b and es_12a. For the first two, the 5 in the name indicates it is for element set 5 (the set with name HEX (20 nodes)_5 (these are high order hexahedra in the Exodus file we are using as an example here, not that it matters for this discussion). That set has 62 elements in it (I computed by doing a NumZones query in VisIt with all sets on (586) and then the HEX (20 nodes)_5 set off (524). Lets pretend there are 7 integration points defined by the associated Mili TI array IntLabel_es_5 (Hmm, the fact that his array data is associated with the element set and not with a vector array suggests that the set of integration points in es_5a and es_5b must be the same and only the collection of state variables included in them can be different.

From what I understand, the "inner, middle, outer" is actually the old way that integration points were organized, and they no longer follow that guideline. I think the problem was that they were only allowed to use 3 layers, which was too limiting. They can now be any number, and I believe the desired behavior is more along the lines of set_ipt(var, x), where x is arbitrary. We then find the IP closest to x for display. I'll confirm with Kevin on this.

I think they still need the inner, outer, middle functionality. These labels are place-holders for users who may not know the details of the speciific IPs are available in the data.

I was actually talking with Kevin about the inner, middle, outer yesterday. Older datasets have them defined in the .mili file, but he said that they won't be mixed with the newer way of handling integration points (meaning that they won't show up in .mili files with element set definitions). In these older cases, I'm supposed to just display them as any other variable (var_in, var_mid, var_out).

Ah, ok. Seems a bit inconsistent though. I might handle that by doing as described above and then defining expressions like...
        std::string expr = "array_decompose("var", "middle")
        Expression array_exprM;
        array_exprM.SetName("var_middle");
        array_exprM.SetDefinition(expr);
        array_exprM.SetType(Expression::ScalarMeshVar);
        md->AddExpression(&array_exprM);

and likewise for "inner" and "outer"
That way, the plugin still only ever sees a GetVar() call on var/XXX where XXX is either ip## (an actual integration point) or inner, middle, outer, a symbolic name for an integration point.

How exactly does array_compose/decompose work? In this example
        std::string expr = "array_compose("
            "pressure/ip1"
            "pressure/ip7"
            "pressure/ip23"
            "pressure/ip47"
            "pressure/ip92)"

Will defining an expression array_decompose(pressure, 5) result in GetVar receiving "pressure/ip7", since 5 is closest to 7?

If you look in avtArrayDecomposeExpression.C there is logic there that will seek for match of integer values or find closest. So, 5 will return pressure/ip7. We don't yet support strings for the second arg but if we did, middle should return pressure/ip23.
So, if the list of members in the array variable is the union of all those available in the various element sets in which they appear, then VisIt will down-select to closest or exact match in this logic and then emit, for every element set, a GetVar() call for that member and that member only. Next, down in the plugin, if the combination of variable name (e.g. pressure/ip23) and element set does not have an exact match for that integration point, the plugin also returns the closest available in the associated element set.
Does that make sense?

If you look in avtArrayDecomposeExpression.C there is logic there that will seek for match of integer values or find closest. So, 5 will return pressure/ip7. We don't yet support strings for the second arg but if we did, middle should return pressure/ip23.

Sorry, this is wrong...a request for middle should return pressure/middle such that VisIt calls GetVar() to the plugin for that member name

If we could enhance avtArrayDecomposeExpression to handle multiple "layers" of points to decompose, this could potentially solve the issue of having multiple element sets defining the same variable with different numbers of IPs. For instance, if we could define an array that looked something like the following:
     std::string expr = "array_compose("
            "pressure/(es_1[ ip1] )(es_2[ ip1 ])"
            "pressure/(es_1[ ip2 ])(es_2[ ip2 ])"
            "pressure/(es_1[ ip3 ])(es_2[ ip3 ])"
            "pressure/(es_1[ ip3 ])"

And then define an expression in visit that looks something like array_decompose(pressure, es_2[ 4 ]) which would update GetVar to receive "pressure/(es_1[ ip1 ])(es_2[ ip3 ])", then the plugin could know exactly which IPs to grab. (I'm assuming that both es_1 and es_2 were set to ip1 by default, so es_1 didn't change, whereas es_2 was updated).
I haven't looked at avtArrayDecomposeExpression yet, though, so I'm not sure how feasible something like that is.

I see where you are going with that. However, I don't think that is required to achieve our goals here. I think the outline I've drafted here is a) simple and b) addresses the needed functionality quite well and with a minimum of changes.

But how do we handle that case without resorting to the "inner, middle, outer" method?

There is no "resorting" to anything  in what I am proposing here. It will handle both the specific integration point label case (or closest match available) and the inner, middle, outer symbolic cases.
This approach

     std::string expr = "array_compose("
            "pressure/(es_1[ ip1] )(es_2[ ip1 ])"
            "pressure/(es_1[ ip2 ])(es_2[ ip2 ])"
            "pressure/(es_1[ ip3 ])(es_2[ ip3 ])"
            "pressure/(es_1[ ip4 ])"

is problematic because you get #members = #ips * #es for each such variable. In what I propose, we get #members = #unique ips over all es + 3 (for inner, middle, outer) and specifying a member in array_decompose() is complicated and the user would need to do so separately for each element set.

Correct me if I'm misunderstanding what you're suggesting, but it sounds like array_decompose(pressure, 5) would set the integration point for all element sets that define pressure. The desired/expected behavior is to be able to set the integration point for each element set individually.

In Griz, this is accomplished by the command set_ipt <class> number, which would set the integration point for the given class (I believe there is also the option to leave out the class input, which would be a global change to all element sets).

You are understanding correctly.

The desired/expected behavior is to be able to set the integration point for each element set individually.

In a database with hundreds (or thousands) of element sets, is the user going to specify hundreds or individual values? I don't see how that is workable. I am farily certain that is not what Griz or Kevin is expecting.

In Griz, this is accomplished by the command set_ipt <class> number, which would set the integration point for the given class (I believe there is also the option to leave out the class input, which would be a global change to all element sets).

What I am describing sounds like the "global" case. To handle the class-specific case, we would have to do what I am doing except with an array variable for each class (shells, beams, hexes). It would still work as I describe, however.

In the example I posted I was assuming that es_1, es_2 were the only element sets defined on their respective classes and was thinking of them as basically representatives of those classes. I should have been clearer on that; I don't think anyone expects users to specify hundreds of individual values.
Propagating the selected IP through the class name using the array variables could probably work.

@markcmiller86
On second thought, it's not clear to me how this would work for setting the IP for a class.
If we have an element set named es_1 which defines a variable pressure that is a scalar defined only on beams and is comprised of 3 integration points, and we have another element set named es_2 that defines pressure as a scalar that is only defined on shells and is comprised of 4 integration points, pressure would be accessible in visit from the following path:
Primal/Shared/pressure
because pressure is shared between beams and shells. Can you provide an example of how we would set up array_comp/decomp to change the chosen IP for all element sets defined on beams (es_1) but not those defined on shells (es_2)?
p.s. I will be switching projects this afternoon and won't have much time for discussing visit topics for the remainder of the week, but I'll be back on visit next Monday.

I think I have an idea of how this could work for setting class IPs while still respecting shared status. It would require some changes in the plugin, but it might not be too terrible. I'll take a closer look next week.

My initial thought...just do the proposed approach except for each class of element.
So, define array variable(s) for each class type in additon to a global array variable for all class types. So, again, using pressure as an example, which may exist in various array vector variable sets for various element sets, you'd have pressure/pressure (the global one), pressure/shells (just for class shells), pressure/beams just for class beams, pressure/bricks just for class bricks.
To set integration point 7 for bricks but 34 for shells, array_decompose(<pressure/bricks>,7)  and array_decompose(<pressure/shells>,34) To set global ip to middle, array_decompose(<pressure/pressure>, middle)

Update: I've talked with Mark in person a couple of times, and we were able to clear the confusion we were having. The methods described above should work very well for handling integration points that are not associated with shared variables. For shared variables, it's still unclear what the best approach is. One potential option is to make some (hopefully minor) modifications to visit's expression arrays/variables, but we haven't come to any decisions yet.
Non-shared variables:
In Griz, a non-shared variable is a variable that belongs to only one class. For instance, imagine we have a variable named foo that is defined only on the class Bricks. This would then show up in the menu as
Primal/Bricks/foo
and, when selected, the user would only see values displayed on the elements that belong to the class Bricks (all other elements are greyed out in visit).
If foo is an element set, changing its integration point is simple using the above array expressions because there is no ambiguity involved; array_decompose(<Primal/Bricks/foo>, 10>) clearly sets the integration point for the variable foo, defined on Bricks.
The shared variable problem:
Shared variables, on the other hand, are those that are defined on multiple classes. Imagine we have a variable named bar that is defined on both Bricks and Beams. If we follow the menu logic used for non-shared variables, we would end up with something like this:
Primal/Bricks/bar
Primal/Beams/bar
However, this is not how shared variables are handled. Instead, we group all shared variables under a common menu level named Shared. As a result, bar would be displayed like so:
Primal/Shared/bar
When selected, the user would see values defined on both Bricks and Beams.
This is where things become complicated; even though we have been talking about changing integration points for variables, in reality, the element sets (and their integration points) are defined on classes. This means that both Bricks and Beams may contain separate element sets that define bar as having different integration points on each.
If this is the case, how do we let the user change the selected integration points for both bar defined on Bricks and bar defined on Beams? If we use a similar method to the non-shared case, such as array_decompose(<Primal/Shared/bar>, 10>), the integration point will be selected on both Bricks and Beams simultaneously, which is not what we want.

I'm going to create a new issue for updating the mili library.


Comment search gives links to deleted users

On profile pages, if you search for comments and one of the results is from a thread that was created by a deleted user, there will still be a link that redirects you to http://www.reddit.com/user/[deleted]. Very minor thing, but it would be nice if this weren't a link.
Here's a screenshot

Actually, I can probably PR this, but my build is coming out weird and not showing the search bars at all, so i can't test it.


[Bug] apply_hyperparameters gives TypeError when model_init is not given

Hello!
Bug overview

apply_hyperparameters carelessly assumes that model_init was passed to the Trainer instance.

How to Reproduce
Copy-pasteable reproducing script (Script 1)
from datasets import load_dataset
from sentence_transformers.losses import CosineSimilarityLoss

from setfit import SetFitModel, SetFitTrainer, sample_dataset

# Load a dataset from the Hugging Face Hub
dataset = load_dataset("sst2")

# Simulate the few-shot regime by sampling 8 examples per class
train_dataset = sample_dataset(dataset["train"], label_column="label", num_samples=8)
eval_dataset = dataset["validation"]

# Load a SetFit model from Hub
model: SetFitModel = SetFitModel.from_pretrained(
    "sentence-transformers/paraphrase-mpnet-base-v2",
)

# Create trainer
trainer = SetFitTrainer(
    model=model,
    train_dataset=train_dataset,
    eval_dataset=eval_dataset,
    loss_class=CosineSimilarityLoss,
    metric="accuracy",
    batch_size=16,
    num_iterations=20,  # The number of text pairs to generate for contrastive learning
    num_epochs=1,  # The number of epochs to use for constrastive learning
    column_mapping={"sentence": "text", "label": "label"}  # Map dataset columns to text/label expected by trainer
)

trainer.apply_hyperparameters({"lr": 1e-5})

Running this script gives the following error:
Traceback (most recent call last):
  File "[sic]\setfit\demo_apply_hyperparams.py", line 31, in <module>
    trainer.apply_hyperparameters({"lr": 1e-5})
  File "[sic]\setfit\src\setfit\trainer.py", line 184, in apply_hyperparameters
    elif number_of_arguments(self.model_init) == 0:  # we do not warn if model_init could be using it
  File "[sic]\envs\setfit\lib\site-packages\transformers\trainer_utils.py", line 610, in number_of_arguments
    return len(inspect.signature(func).parameters)
  File "[sic]\envs\setfit\lib\inspect.py", line 3113, in signature
    return Signature.from_callable(obj, follow_wrapped=follow_wrapped)
  File "[sic]\envs\setfit\lib\inspect.py", line 2862, in from_callable
    return _signature_from_callable(obj, sigcls=cls,
  File "[sic]\envs\setfit\lib\inspect.py", line 2261, in _signature_from_callable
    raise TypeError('{!r} is not a callable object'.format(obj))
TypeError: None is not a callable object

This is due to line 184 in the following snippet. If instead I passed an empty dictionary as params, then it would have crashed on line 190 as well.
https://github.com/huggingface/setfit/blob/4a613b08267690dad0840444fc3e2caf60f29a44/src/setfit/trainer.py#L170-L192
Expected behaviour
I would expect either of the two scenarios:

If we want to support apply_hyperparameters when a model is given to the Trainer, then I would expect it to actually set the model's hyperparameters.
A warning that apply_hyperparameters cannot be used unless model_init is set.

What now?
We should discuss which of the two expected behaviours, or another behaviour, we would like to see in practice.

Tom Aarsen

cc @lewtun


[Bug] Replay bot dying on random locations after completing a macro

When I make a macro by going into practice mode and started recording, all was going well and I finished recording the macro so I saved it and started testing it. But for some reason the bot dies at random positions even though the bot should fix those.
idk how to reproduce it, sometimes the bug occurs and sometimes it doesn't
Please fix this cause I am trying to make videos and these types of bugs are occuring. I really like this mod due to the multiple amounts of features.

It is not accurate enough. If you want a macro that is 100% accurate meaning that you wont die in random places then buy ybot

I could have done it if I had a credit card as a 14 year old, my parents aren't allowing me to buy MHv8 so there is no chance I can buy yBot. So can you recommend me some free macro bots (EXCEPT GDMO)?

It is not accurate enough.


dfdx not in a entry-point function failed to be compiled with OpenGL

package main

func foo(p vec4) vec4 {
        return vec4(abs(dfdx(p.r)), abs(dfdy(p.g)), 0, 1)
}

func Fragment(position vec4, texCoord vec2, color vec4) vec4 {
        p := imageSrc0At(texCoord)
        return foo(p)
}

This fails with this message:
vertex shader compile error: opengl: shader compile failed: ERROR: 0:33: Invalid call of undeclared identifier 'dFdx'

This succeeded with Metal.
Reported by @Zyko0

The error mentions vertex shader compile error, tho dfdx, dfdy are known to be fragment shader restricted.
Is it possible this function is compiled to a vertex shader ?
Error seems to be coming from here : https://github.com/hajimehoshi/ebiten/blob/4c520581b89b05c1dd06baaa7c646f095f37980a/internal/graphicsdriver/opengl/shader.go#L57-L61

Ah, I think I got it! Then we have to eliminate this function from vertex shaders.

Now we're at it, I think it's the same for fwidth


Is it possible to lazy load them?
What other options do you suggest?

Here is what I'm doing:
  <popper trigger='clickToOpen'
          @show='isVisible = true'
          @hide='isVisible = false'
          ref='popper'
          :options="{
            placement: 'bottom',
          }">

      <grid-color-picker v-if='isVisible' @picked="picked"/>

  </popper>

So on the show event, I flag isVisible to true, then I use that to render my content. You may want to add a min-height to your image container to prevent it from jittering.
The advantage of this approach, is that there are no dom elements in all your popovers, until they become visible.
I'm using about 1000-5000 popovers using this approach, which seems to be the upper bound in terms of page performance.
Anymore than that and I'm going to have to do some dynamic list rendering or other magic.


Pass "frontmatter" variable to content renderer

Setting the "frontmatter" variable allows markdoc content to access the frontmatter like {% $frontmatter.title %}. This pattern is documented in the Astro markdoc guide:
https://docs.astro.build/en/guides/integrations-guide/markdoc/#access-frontmatter-from-your-markdoc-content

Hello! Thank you for opening your first PR to Starlight! ✨
Here’s what will happen next:

Our GitHub bots will run to check your changes.
If they spot any issues you will see some error messages on this PR.
Don’t hesitate to ask any questions if you’re not sure what these mean!

In a few minutes, you’ll be able to see a preview of your changes on Vercel 🤩

One or more of our maintainers will take a look and may ask you to make changes.
We try to be responsive, but don’t worry if this takes a few days.


Fix legacy keyboard input protocol not reporting non-Alt modifier

Fixes #1411. 🙏

Can confirm, this is a successful fix when applied as a patch on top of 0.4.1


progressbar(hide=True) option for hiding the progress bar

Often when I use the Click progressbar I find myself wanting to conditionally hide it. Sometimes it's because there's another option in play which means I have output to display in place of it - others it's because I added a --silent option (as seen in curl) for disabling it entirely.
It's actually a bit tricky doing this at the moment, due to its use as a context manager.
What I'd really like to be able to do is this:
hide = True  # or False depending on various things

with click.progressbar(items, show_eta=True, hide=hide):
    for item in items:
        process_item(item)

Here's one workaround I've used for this, which feels pretty messy:
class NullProgressBar:
    def __init__(self, *args):
        self.args = args

    def __iter__(self):
        yield from self.args[0]

    def update(self, value):
        pass

@contextlib.contextmanager
def progressbar(*args, **kwargs):
    silent = kwargs.pop("silent")
    if silent:
        yield NullProgressBar(*args)
    else:
        with click.progressbar(*args, **kwargs) as bar:
            yield bar

Then:
        with progressbar(
            length=self.count, silent=not show_progress, label="1: Evaluating"
        ) as bar:

It looks like there's already a property that could be used for this:
https://github.com/pallets/click/blob/ca5e1c3d75e95cbc70fa6ed51ef263592e9ac0d0/src/click/_termui_impl.py#L107
So the implementation may be as straight-forward as adding a hide: bool = False parameter and then doing this:
 self.is_hidden: bool = not hide and not isatty(self.file)

I tried this:
        with click.progressbar(
            ids, label="Calculating similarities", show_percent=True
        ) as bar:
            if hide:
                bar.is_hidden = True

But it still shows the bar once at the start of the loop, because of this:
https://github.com/pallets/click/blob/ca5e1c3d75e95cbc70fa6ed51ef263592e9ac0d0/src/click/_termui_impl.py#L110-L113
Which calls render_progress() before I've had a chance to toggle is_hidden to False: https://github.com/pallets/click/blob/ca5e1c3d75e95cbc70fa6ed51ef263592e9ac0d0/src/click/_termui_impl.py#L231-L239

I'm wary of changing our progress bar at this point. I generally recommend that people use tqdm or rich if they need features beyond what ours provides. Both of them have a way to hide a progress bar.
In this case, it does seem relatively straightforward to modify our existing hide behavior with a parameter, so I think I'm ok with this.


TypeError on Admin interface, when clicking on Pages > Homepage

Hi there, I have a weird error, when trying to edit a collection item through the Admin interface. Clicking on Pages > Homepage, I do get the following error:
TypeError: n.split("\n\n")[0].trimEnd is not a function. [...] is undefined.
Repo: https://github.com/wohfab/fwdc-ald
The error does occur on one single user. Things I tried already:

using different browsers
resetting the password
resetting the Git Token

Expected behavior
Click on the collection item Pages > Homepage to edit.
Screenshots

Applicable Versions:

Netlify CMS version: 2.10.93
Using git-gateway netlify identity
OS: macOS
Browser: Safari (tested Chrome and Firefox, too)

CMS configuration

https://github.com/wohfab/fwdc-ald/blob/master/src/admin/config.yml

Hi @wohfab is this still an issue? I couldn't reproduce using your repo (also tried reverting https://github.com/wohfab/fwdc-ald/commit/39b657f8832becae0ec6f163deeffd5c53aefbb5 and c8e56667f2d7e81c389b9444a2ba1969eff271f2)

Hey @erezrokah, thanks for trying and the quick reply.
Unfortunately, it is still an issue. I couldn't reproduce it with my account either, but with my friend's account, it does not work. I don't know if you have the possibility to "imitate" an existing user account to see, what's happening there. If not, I will ask her to reset the password, so I can share the login info.

Hi @wohfab we can't really imitate another user account.
I recommend sharing a step by step reproduction we can both follow.

Closing - please comment with a reproduction if still relevant


Cookie exceed 4096 characters and too big to save if it is a merged account

Describe the bug
I have sign-in flow working, but with 1 account I could not login.
After short investigation I saw that I have 2 auth providers enabled (google and email) an I registered for same email for both provider. And after login it tries to set cookie, contains all info about both identities merged and user_metadata  filled.
That's why object that tries to store in cookies are exceeded 4096 characters.

To Reproduce
Steps to reproduce the behavior, please provide code snippets or a repository:

Enable 2 auth providers
Register in both with the same email
Try to login with email
See browser error

Screenshots
System information

OS: macOS Sonoma 14
Browser: Chrome 118.0.5993.88 (Official Build) (arm64)
Version of supabase-js: 2.38.4, supabase/ssr: 0.0.5, @supabase/gotrue-js: 2.57.0
Version of Node.js: 20.5.1

It also reproduces just during Oauth flow. Here some code:
src/app/(auth)/signin/page.tsx :
'use client';

...
    export default function SignIn() {
  const [isErrorShow, setIsErrorShow] = useState(true)
  const searchParams = useSearchParams()
  const error = searchParams.get('error')
  async function onGoogleAuth() {
        const supabase = supabaseClient()
        const { data, error } = await supabase.auth.signInWithOAuth({
            provider: 'google',
            options: {
                queryParams: {
                    access_type: 'offline',
                    prompt: 'consent',
                },
                redirectTo: BASE_PATH+'/auth/callback',
            },
        })
        console.log(data, error)
    }
...

src/app/(auth)/auth/callback/route.ts
import { NextResponse } from 'next/server'
import {supabaseRouter} from "@/lib/supabase/router";

export async function GET(request: Request) {
    const requestUrl = new URL(request.url)
    const code = requestUrl.searchParams.get('code')

    if (code) {
        const supabase = supabaseRouter()
        await supabase.auth.exchangeCodeForSession(code)
    }

    // URL to redirect to after sign in process completes
    return NextResponse.redirect(requestUrl.origin)
}

supbase router client
import { createServerClient, type CookieOptions } from '@supabase/ssr'
import { cookies } from 'next/headers'

export function supabaseRouter() {
    const cookieStore = cookies()

    const supabase = createServerClient(
        process.env.NEXT_PUBLIC_SUPABASE_URL!,
        process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!,
        {
            cookies: {
                get(name: string) {
                    return cookieStore.get(name)?.value
                },
                set(name: string, value: string, options: CookieOptions) {
                    cookieStore.set({ name, value, ...options })
                },
                remove(name: string, options: CookieOptions) {
                    cookieStore.set({ name, value: '', ...options })
                },
            },
        }
    )

    return supabase
}

supbase auth browser client
"use client";

import {createBrowserClient} from '@supabase/ssr'

export function supabaseClient() {
    return createBrowserClient(
        process.env.NEXT_PUBLIC_SUPABASE_URL!,
        process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!,
    )
}

Flow is next:
1 . https://accounts.google.com/signin/oauth/consent user authenticate and redirects to supbases ->
2. https://project.supabase.co/auth/v1/callback?state=eyJhbGciOiJIUzI1NiIsInR5c...  redirects to ->
3. http://localhost:3000/auth/callback?code=54510a6a... which try to set big cookie

And the cookie data contains:
{
  "access_token": "[ACCESS_TOKEN]",
  "token_type": "bearer",
  "expires_in": 3600,
  "expires_at":<PHONE_NUMBER>,
  "refresh_token": "[REFRESH_TOKEN]",
  "user": {
    "id": "[USER_ID]",
    "aud": "authenticated",
    "role": "authenticated",
    "email": "[USER_EMAIL]",
    "email_confirmed_at": "2023-11-14T20:45:05.321695Z",
    "phone": "",
    "confirmed_at": "2023-11-14T20:45:05.321695Z",
    "last_sign_in_at": "2023-11-14T21:02:08.194794238Z",
    "app_metadata": {
      "provider": "google",
      "providers": ["google"]
    },
    "user_metadata": {
      "avatar_url": "[AVATAR_URL]",
      "email": "[USER_EMAIL]",
      "email_verified": true,
      "full_name": "[FULL_NAME]",
      "iss": "https://accounts.google.com",
      "name": "[NAME]",
      "phone_verified": false,
      "picture": "[PICTURE_URL]",
      "provider_id": "[PROVIDER_ID]",
      "sub": "[SUB_ID]"
    },
    "identities": [
      {
        "id": "[IDENTITY_ID]",
        "user_id": "[USER_ID]",
        "identity_data": {
          "avatar_url": "[AVATAR_URL]",
          "email": "[USER_EMAIL]",
          "email_verified": true,
          "full_name": "[FULL_NAME]",
          "iss": "https://accounts.google.com",
          "name": "[NAME]",
          "phone_verified": false,
          "picture": "[PICTURE_URL]",
          "provider_id": "[PROVIDER_ID]",
          "sub": "[SUB_ID]"
        },
        "provider": "google",
        "last_sign_in_at": "2023-11-14T20:45:05.318703Z",
        "created_at": "2023-11-14T20:45:05.31875Z",
        "updated_at": "2023-11-14T21:02:07.650699Z"
      }
    ],
    "created_at": "2023-11-14T20:45:05.313925Z",
    "updated_at": "2023-11-14T21:02:08.19785Z"
  },
  "provider_token": "[PROVIDER_TOKEN]",
  "provider_refresh_token": "[PROVIDER_REFRESH_TOKEN]"
}

Ok, update ssr to latest 0.0.10 solved this

https://github.com/supabase/supabase/issues/18564

Same issue
"supabase": "^1.115.0"

I use "@supabase/ssr": "^0.0.10", "@supabase/supabase-js": "^2.42.0", ,and I have the same error .

@nikitastryuk @MirroxDev Did either of you solve this? I'm on the latest versions of the packages and my cookies amount to 8kb, and Cloudflare is blocking it.


Support for 'debugger;' in dev tools

In Chrome you can use the command 'debugger' to insert a breakpoint at source level.
It would be good to know if other platforms support this.

+1

There's more info on the debugger statement in the MDN docs.
According to that page, it appears to have pretty wide support, though I haven't done my own testing yet. If it's as widely sorted as it appears to be, I just can't believe I've only just learned about it.

Available at https://caniuse.com/#feat=mdn-javascript_statements_debugger


Add the busywork tool

Description

The busywork tool is added as tools/busywork
Motivation and Context

The Hyperledger TSC voted to accept the busywork HIP on May 12, 2016
How Has This Been Tested?

I have tested this code extensively in my server environment. I have also tested it in a Vagrant environment on my Macbook.
Checklist:

[x ] I have added a Signed-off-by
[ x] Either no new documentation is required by this change, OR I added new documentation
[ x] Either no new tests are required by this change, OR I added new tests
[ x] I have run goimports, go vet, and golint. I have cleaned up all valid errors and warnings in code I have added or modified. These tools may generate false positives.  The goal is clean, consistent, and readable code.

Signed-off-by: Bishop Brock<EMAIL_ADDRESS>

There is a problem with the crypto micro benchmarks, I'm working to fix it now.

I am not qualified to review tcl, but considering this patch is entirely self contained within the agreed upon location, LGTM.
If I understand your last comment @bcbrock, you are working on an additional change for this PR.  Let me know when its all clear from your perspective.

@ghaskins Yes, I am fixing an issue in the microbenchmarks, which made me realize that my "crypto" directory is poorly named. I will try to rename it as part of this patch. I'll let you know when I'm done, thanks.

@ghaskins This is ready to go now, thank you.
For the record: Some of this Tcl code has been with me for a long time. Before submitting this patch I carefully went through each file and removed things that were obviously superfluous, or things which may have had dubious parentage. I have carefully considered the origin of every procedure and I believe we have the right to contribute this code to the project.
This patch adds a script verbatim (bin/wait-for-it) that is open source, and I have included the license along with this file.
The benchmarks directory includes some code modified from the Go language sources, and I have attributed the origin of the code and included the license (GO_LICENSE) in the benchmarks directory.

@ghaskins Thanks Greg


Mine layers should back up in different directions

With evadeEnemy. This will allow more mines to explode!

This will help a bajillion with artillery mining too.


Indoor Map Tutorial Does Not Work

This issue is for a: (mark with an x)
- [x] bug report
- [ ] feature request
- [ ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

Minimal steps to reproduce

Download Sample-Contoso Drawing Package.zip to your local hard drive.
Follow steps in the indoor maps tutorial
When submitting the API call using postman, you'll get:

{
    "error": {
        "code": "400 BadRequest",
        "message": "Bad request - Data with id:upload not found."
    }
}

Any log messages given by the failure
{
    "error": {
        "code": "400 BadRequest",
        "message": "Bad request - Data with id:upload not found."
    }
}

Expected/desired behavior
Should upload as per the tutorial
OS and Version?
Windows 10

same error.
Can't Extract zipped file Sample - Contoso Drawing Package.zip

I suspect it was due to not using HTTP POST. It seems that HTTP GET was used.
The file should be uploaded by calling HTTP POST.

How embarassing! You are absolutely correct!
Thanks for helping me!


Checks that invalid "0" return codes are enforced!

Also more metadata for the existing return code tests

👍

:+1:


Update: Leaflet version 1.7.1

I see the leaflet version is "leaflet": "^1.0.3", can this be updated?

🙏🏼

I wish, but the map tile layer implementation relies on an internal Leaflet API that has changed in the meantime. This means a Leaflet update would break other things.
It's likely that we will move to something else than Leaflet in the near future.
Out of curiosity, do you have a specific reason for this request? UX? Something else?

I saw some accessibility problems and was thinking it would be better with some updates since 1.7.1. But you can close this if you want :)

True, the map component's accessibility could be better. When we switch to new mapping component, we'll have a thorough look into this topic. Optimally there would be additional list-based views of the map content, but I can't say if/when we'll have the resources to implement this.


Expand PropertyState DSL support

Expected Behavior
Changing from a classical property to a PropertyState-based property in an extension or task implementation should not break build scripts.
Current Behavior

When changing a property foo from T to PropertyState<T>, the old non-assignment property syntax no longer works:
foo value

The foo = value syntax still works.

When foo has type PropertyState<String>, assigning a GString to it does not work:
foo = "$buildDir/pizza"

fails with the error:

Cannot set the value of a property of type java.lang.String using an instance of type org.codehaus.groovy.runtime.GStringImpl

Context
I am trying to update LensKit's Gradle plugin to use the documented PropertyState mechanism instead of the undocumented convention mappings. These errors cause build scripts for the old plugin to fail.
Steps to Reproduce (for bugs)
Will follow up with this.
Your Environment
Gradle 4.2, Java 8, seeing across platforms.

My personal take on this issue is the following:

If you want to support a GString type then the plugin will need to expose a (additional) method that takes a GString. Alternatively, the plugin could expose a method that takes an Object and then the implementation handles it based on the passed in type.
GString is a Groovy-type which means if you build a plugin that depends on the type then it can only be used with the Groovy DSL and not the Kotlin DSL.
I don't think want to provide any internal conversion of types for Providers and instead leave that up to the plugin implementation.
This only worked before as convention mapping took in an Object type that was evaluated with the help of a closure or callable. The actual type was determined at runtime based on the return type of the closure/callable. The new API is simply strongly typed.
If you as a consumer still want to use a GString then you can if though the underlying PropertyState takes a String. You just have to call toString() on it. That might be less convenient but less "magical". At least this statement is from some of our users.

We had a look at our current state of the implementation again. We already prepared a way to hook into the Groovy DSL behavior in PropertyInternal. We could probably enhance the behavior to also cover the GString handling. Stay tuned!

@lacasseio Is this something you could look into? I think streamlining this would prevent a lot of confusion.

@oehme I don't think we have any plans to get to this soon unless it blocks something in the native stream of work.
I think there are two things asked for here:

Supporting the "non-assignment" form of properties with the Provider API.
Supporting GString with String properties.

I don't think we intended to carry the "non-assignment" form of properties over to the Provider API.  We'll be adding some documentation to the Provider API with some recommendations for how to migrate a plugin using plain types to Provider/Property types in 4.4.  I think our advice would be to keep your API the same, deprecate the old methods and re-implement the old methods in terms of the new property (so calling the setter or "non-assignment" method would call the set method on the property).
I think supporting GString values with String properties is a good idea.  I'm not sure if it makes sense as an eager GString -> String conversion (when setting the property) or if it makes more sense to treat GString as a type of Provider (allows for lazy evaluation).
Are there any other items that fall under better DSL support?

We should bust this into 2 issues. I think we should address both things. For the "non-assignment set the property value DSL"  issue we could either support this in a consistent and cross-cutting way (including for collection types), or we could deprecate this as a DSL thing in all of our types and infrastructure.

Separating into 2 issues is fine with me.
Personally, the GString is the most important; if Gradle is deciding to deprecate the non-assignment property assignments, then I can add shim methods that log a deprecation warning to our plugin and move foward. I'm less interested in adding GString shim methods, because that feels like the kind of thing that Groovy is generally supposed to just handle, and the fact that it doesn't in Gradle scripts to me represents a deviation from expected Groovy behavior.

Just to renew discussion on this, since it came up in one of my plugins. The other aspect of this issue is that Gradle's decoration is effectively undocumented, but is behavior that people rely on without realizing it.
Having the Lazy Configuration documentation merely say the following isn't very helpful:

The Groovy Gradle DSL adds convenience methods to make the use of Providers mostly transparent in build scripts.

2 issues here makes sense (or maybe 3 if you want documentation of the DSL decoration as a separate one). Personally, deprecating non-assignment makes sense to me, there are too many ways to do the same thing. The GString support though seems somewhat critical to an idiomatic Groovy DSL.

GString support is fixed in https://github.com/gradle/gradle/pull/6536.


jspm fails if github config not configured

When trying to run:
jspm install -y

the process would infinitely ask for my github credentials but not allow me to actually enter them. I solved this by doing:
jspm registry config github

and entering my username and then a generated token.

Please report this to the jspm team. Thank you!

will do -- was thinking you might want to add the jspm command to the docs in the interim.

It's there already ;)

haha my bad!

No problem :)


Upgrade CumulusCI to 3.70.0 to remove load_dataset error

@snehaheda please take a look at this one, just upgraded CumulusCI to get rid of the database connection error caused by load_dataset

Hi @cryptolos! I think you may have intended to open this PR against a fork of MetaDeploy. I'm delighted to see you're getting use from this product. Our current version is using CumulusCI 3.68.1 and will be updated to 3.70.0 soon. Thanks!

I'm going ahead and closing this PR out as it has some changes that I don't think were intended. Let us know if there's anything we can do to help.

@davidmreed sorry about that, I meant to create the PR based on our project. We just need to upgrade to CCI 3.70 because of some SF issues, but we managed to upgrade to the latest metadeploy version first and then will test the other upgrade. Thank you!

@cryptolos We'd love to hear about how you're using MetaDeploy if you're willing to share!


Automatically clone dmd+druntime if missing

This shrinks the setup of a D development environment down to:
git clone https://github.com/dlang/phobos
make -f posix.mak AUTO_BOOTSTRAP=1

We use the same logic at dlang.org for quite a while now:
https://github.com/dlang/dlang.org/blob/c88c08ab28c145c912cd04e9298c63740e492b18/posix.mak#L159
CC @CyberShadow

Where does the AUTO_BOOTSTRAP come into play? It looks like you're downloading the repos regardless of the flags set.

It's for building the DMD on a system that doesn't have a D compiler installed:
https://github.com/dlang/dmd/blob/master/src/posix.mak#L127

Ping @CyberShadow - seems like no one except for you is brave enough to approve this. Would you mind?

I'm kind of a bit worried that all this convenience stuff will result in growing complexity, and doing too many things on behalf of the user will make it harder for them to diagnose problems when something breaks

Fair enough. Closing then.


invalid load key, '\x00'.

Traceback (most recent call last):
File "/content/AICoverGen/src/main.py", line 275, in song_cover_pipeline
voice_change(voice_model, main_vocals_dereverb_path, ai_vocals_path, pitch_change, index_rate, filter_radius, rms_mix_rate, protect, is_webui)
File "/content/AICoverGen/src/main.py", line 184, in voice_change
cpt, version, net_g, tgt_sr, vc = get_vc(device, config.is_half, config, rvc_model_path)
File "/content/AICoverGen/src/rvc.py", line 113, in get_vc
cpt = torch.load(model_path, map_location='cpu')
File "/usr/local/lib/python3.10/dist-packages/torch/serialization.py", line 815, in load
return _legacy_load(opened_file, map_location, pickle_module, **pickle_load_args)
File "/usr/local/lib/python3.10/dist-packages/torch/serialization.py", line 1033, in _legacy_load
magic_number = pickle_module.load(f, **pickle_load_args)
_pickle.UnpicklingError: invalid load key, '\x00'.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.10/dist-packages/gradio/routes.py", line 442, in run_predict
output = await app.get_blocks().process_api(
File "/usr/local/lib/python3.10/dist-packages/gradio/blocks.py", line 1392, in process_api
result = await self.call_function(
File "/usr/local/lib/python3.10/dist-packages/gradio/blocks.py", line 1097, in call_function
prediction = await anyio.to_thread.run_sync(
File "/usr/local/lib/python3.10/dist-packages/anyio/to_thread.py", line 33, in run_sync
return await get_asynclib().run_sync_in_worker_thread(
File "/usr/local/lib/python3.10/dist-packages/anyio/_backends/_asyncio.py", line 877, in run_sync_in_worker_thread
return await future
File "/usr/local/lib/python3.10/dist-packages/anyio/_backends/_asyncio.py", line 807, in run
result = context.run(func, *args)
File "/usr/local/lib/python3.10/dist-packages/gradio/utils.py", line 703, in wrapper
response = f(*args, **kwargs)
File "/content/AICoverGen/src/main.py", line 293, in song_cover_pipeline
raise_exception(str(e), is_webui)
File "/content/AICoverGen/src/main.py", line 81, in raise_exception
raise gr.Error(error_msg)
gradio.exceptions.Error: "invalid load key, '\x00'."

I use the website version since it doesn't need to run gpu.

I believe this is an issue with the format of the voice model. Can you ensure it is a rvc v2 trained model? Instead of rvc v1/sovits for example

yes i am pretty sure it is (RVC v2 500 epochs)

Could you provide the download link to the model?

https://huggingface.co/leeloli/wonyoung-by-leelo/resolve/main/wonyoung.zip

There seems to be extra .pth and .index files in the zip, which caused download process to not extract the correct voice model and index file. I will fix it and let you know when I made the changes

Ok I fixed it, could you rerun your colab notebook and test it out again? Thanks!

hey man just letting you that a temporary fix for this is to locally upload those models in the upload model.

thanks! man

i think the problem is the rvc model itself i tried it for the others, it works pretty well.

I tested with the model using the link you provided and it should work for that as well with the new changes, the zip was an outlier that had multiple model and index files that were empty

yeah it is fixed i just forgot to restart my runtime xD thanks for the fix!


add usb-1.0 as library

this gets rid of the linking error

Hey @North-West-Wind thanks for contributing (and maintaining the AUR package?)
How have you tested this? Did you cover ubuntu? If not I can give it a go a little later.

It is tested on Arch, and is a patch for the AUR package. I haven't tested it on ubuntu though.


However since Docker is not run as systemd service I went on to adapt the docker daemon configuration with Systemd, but cannot get it to work. I have been searching the Internet high and low but could not find an answer.
All works when using
$ sudo docker daemon --cluster-store=etcd://<IP_ADDRESS>:2379

Does not work with Systemd
$ sudo systemctl edit --full docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network.target docker.socket
Requires=docker.socket

[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/docker daemon -H fd:// --cluster-store=etcd://<IP_ADDRESS>:2379
MountFlags=slave
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes

[Install]
WantedBy=multi-user.target

$ sudo systemctl daemon-reload
$ sudo systemctl restart docker.service
$ sudo calicoctl node --libnetwork

$ docker ps -a
CONTAINER ID        IMAGE                           COMMAND                CREATED              STATUS              PORTS               NAMES
4a44317d8956        calico/node-libnetwork:latest   "./start.sh"           5 seconds ago        Up 3 seconds                            calico-libnetwork
fa56a25ff65b        calico/node:latest              "/sbin/start_runit"    8 seconds ago        Up 6 seconds                            calico-node

$ calicoctl pool add <IP_ADDRESS>/16
$ sudo docker network create --driver calico --ipam-driver calico net1
9b51215e6a3e159d5aa23ebe05365828b1b447986ea117cecd92f634ee8af944

$ sudo calicoctl profile show
+------------------------------------------------------------------+
|                               Name                               |
+------------------------------------------------------------------+
| 9b51215e6a3e159d5aa23ebe05365828b1b447986ea117cecd92f634ee8af944 |
+------------------------------------------------------------------+

$ sudo docker network ls
NETWORK ID          NAME                DRIVER
dbbff2c5a442        bridge              bridge
28e962a21afd        host                host
5c8cf19158cf        none                null

Result: Network is not present
What am I missing here?

Okay, I figured it out. This problem has nothing to do with Calico nor Docker as such.
I my particular case the Systemd configuration for Docker had already been customized by placing conf files in the /etc/systemd/system/docker.service.d/ directory that caused the changes applied with systemctl edit --full docker.service to be overridden/ ignored.
To conclude, the above shown Systemd docker.service configuration is correct and should work on vanilla systems. However if you encounter the same symptoms as described here, while using the same configuration, you would need to check the /etc/systemd/system/docker.service.d/ for any overruling configuration files there.


Cannot add WGH-ML-001 Tuya Doorbell

Description
I have a Tuya Doorbell that I have previously integrated to Home Assistant. In the recent version(s) I get an error message when I try to add it. The error message: "Unable to connect to your device with those details. It could be an intermittent issue, or they may be incorrect."
It sometimes recognize the device, but the device type is not correct. Sometimes I can choose from "co2_sensor", "dimmable_light" or "aroma_diffuser", which are not correct. The list of possible device types is not always the same, but doorbell or alarm or anything like that does not come up.

In the Tuya Smart app it is added and I get notifications on the doorbell button press, so the device itself is working. The IP address is correct, because it has a static IP with DHCP and it has been working before.
This same doorbell has been working already in Home Assistant with the Tuya Local integration, so one of the updates might caused this issue.
Steps to reproduce

Add the Tuya Local integration to HA
Log in with QR code scan to Tuya Cloud
Select from discovered devices on network
Click on Submit

Expected behaviour
The device should be recognized as a doorbell.
Additional context
No response
Confirmation

[x] I am sure this is a bug, or improvement that is well enough described that it can be implemented

[X] If this is for a specific device, the device config is mentioned above, or diagnostics are included.

[X] This is not requesting addition of a new device

I got this debug log:

This device is not listed as a supported device, so there is no expectation that any particular config will match.

I think in issue #504 the support has been added and the device was working for me before an update.


Add the README content to Monitoring landing page

ISSUE
There is currently no information on the landing page of the Monitoring API in the client library reference documentation:

EXPECTED RESULT
Given that we have a README for the Monitoring API already with good information, we could use that same content and place it on that landing page in the Client Library reference. This will help our users know how to get started.

Dupe of this: https://github.com/GoogleCloudPlatform/google-cloud-ruby/issues/1470

Closing as duplicate.


Video editor export function is not working

The video downloads as 0kb file and does not play anywhere, is this a known issue?

@KarthiSantha this is not a known issue. Video downloads happens involving ffmpeg.wasm, might me a problem related to that.


feat(react-fragments): support react fragments

Closes #90
Hi there, tried my hand at supporting fragments.
Atm I'm just hacking around typeName from enzyme/build/Debug not supporting fragments. Might be better placed modifying their library to support it - maybe (or maybe not, perhaps it's not something they should do)?
Oh, I've also I added a .prettierrc that matches the code base  - let me know what you think.
Cheers!

Getting a snapshot failure for keys: https://travis-ci.org/adriantoine/enzyme-to-json/jobs/316131352#L512
Might be because I've upgraded react? Good to regen @adriantoine ?

Thanks a lot for taking this on!

Hi @madou,
Thanks a lot for your PR! Let me have a look, I'll review it asap.

Hey @madou, I wouldn't worry about this key issue, from what I can see, it's actually a bug but nothing to do with your code, I'll fix that later. I'm happy to merge your PR for now.
And thanks a lot for your .prettierrc! I didn't have time to update the settings. 😄

No worries, thanks for the merge!


Desktop select widget (appearance=minimal) doesn't update value if a calculation is attached

This functionality was never implemented. Use case is very obscure. Bug is also present in ODK collect according to user.

apparently now working in ODK Collect => https://groups.google.com/forum/#!topic/opendatakit/F74fF4faiYQ

This was fixed here: 84ad53b89be24c070cf5efb1cc1bef30b4056f64


Relation names dont work if not declared in upper case

Relation names are not normalized at all points in the compiler wich leads to a missmatch, when not written in upper case
This must be fixed.
Relation names should be set to upper case at all places by the compiler

[x] DVPDC corrected
[x] Test added to verify case insensitive behavior

added tests t1011-t1013

all changes implemented and pushed to origin/feat/jvonhein

Reviewed: ok


OpenAPI 2 support

Counterfact currently supports OAS3. There are lots of folks still on version 2. It shouldn't be too difficult to support both.

Did a quick investigation. This won't be too difficult. But I need to stop ignoring the technical debt in the TypeScript generate. Once that's cleaned up and I have some unit tests that aren't snapshots it will be pretty quick.


Fix compile errors on Clang

Clang will throw an error if you use two right angle brackets. Adding a space fixes this.

The code in this repository require a C++14 compiler. Some compilers depending on their version default to newer C++ standards. In your case that doesn't seem to be the case and you should manually force your compiler to use C++14 (e.g. by setting the CMake variable -DCMAKE_CXX_STANDARD=14 or passing the appropriate compiler flag).


[move-prover][paper] Layout updates and removal of appendices

Changes some layout settings on request of the editors, as well as finally learning that the appendices cannot be included (but can be in an extended version on arxiv).
Have you read the Contributing Guidelines on pull requests?
Yes

/land


kconfig: Hide the DesignWare I2C driver on unsupported platforms

When users are configuring nRF applications they are given the option
to enable the DesignWare I2C driver. But they should not be given this
option because nRF SoCs do not have DesignWare I2C HW.
This commit hides the driver by default by introducing the config
option HAS_I2C_DW.
Signed-off-by: Sebastian Bøe<EMAIL_ADDRESS>

Codecov Report

Merging #10717 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #10717   +/-   ##
=======================================
  Coverage   53.08%   53.08%
=======================================
  Files         214      214
  Lines       25836    25836
  Branches     5697     5697
=======================================
  Hits        13716    13716
  Misses       9809     9809
  Partials     2311     2311

Continue to review full report at Codecov.

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

"select HAS_I2C_DW" should be happening in the SoC Kconfig files, not board ones.

Fixed.
@galak : Please re-assess the review when convenient.

I am not following why this driver specifically, this issue would be the same for all drivers. What is so special about this? Why the SPI DesignWare driver is not appearing for you?
Really do not like the introduction of HAS_ on drivers, we did have a lengthy discussion about this. It basically creating a precedent here which might lead to all drivers have this HAS_ configs, something we need to avoid. dependency hell.

I am not following why this driver specifically, this issue would be the same for all drivers. What is so special about this? Why the SPI DesignWare driver is not appearing for you?
Really do not like the introduction of HAS_ on drivers, we did have a lengthy discussion about this. It basically creating a precedent here which might lead to all drivers have this HAS_ configs, something we need to avoid. dependency hell.

I think it because other drivers have Kconfig depends like:
menuconfig I2C_NRFX
depends on SOC_FAMILY_NRF
or
menuconfig I2C_QMSI
bool "QMSI I2C driver"
depends on QMSI
Where the I2C_DW doesn't have any such depends, and thus shows up as an option on all SoCs.

I think it because other drivers have Kconfig depends like:

so what about SPI DesignWare? is that going to be changed in this fashion too?

so what about SPI DesignWare? is that going to be changed in this fashion too?

It should be. But IMHO configuration visibility issues should be fixed incrementally.

so what about SPI DesignWare? is that going to be changed in this fashion too?

It should be. But IMHO configuration visibility issues should be fixed incrementally.

It should be. But IMHO configuration visibility issues should be fixed incrementally.

lets at least open an issue for the SPI driver.

lets at least open an issue for the SPI driver.

Done.
https://github.com/zephyrproject-rtos/zephyr/issues/10825

@nashif : This PR is prone to bitrot.
So it should be merged unless there is more feedback that needs to be addressed.