Add BTCPay Server option to onboarding

Allow users to quickly connect with the BTC pay server by providing the config string from /server/services/lnd/BTC and having that set them up. Make it a separate option from "local node" and "remote node" so that instructions can be laid out for them.

Nice @wbobeirne !

Documenting here:
The user can copy paste a connnection string with the following form:
config=https://mainnet.demo.btcpayserver.org/lnd-config/30027837828/lnd.config

Such https://mainnet.demo.btcpayserver.org/lnd-config/30027837828/lnd.config is a link which expires after 5 minutes, so you need to fetch the configuration from https://mainnet.demo.btcpayserver.org/lnd-config/30027837828/lnd.config.
What you get is something like this
{
   "configurations":[
      {
         "chainType":"Mainnet",
         "type":"lnd-rest",
         "cryptoCode":"BTC",
         "uri":"https://mainnet.demo.btcpayserver.org/lnd-rest/btc/",
         "macaroon":"020304020...ab03",
         "certificateThumbprint":null,
         "restrictedMacaroon":"0201....05"
      }
   ]
}

The macaroon is in hex.  In some installs restrictedMacaroon  will be null. If that's the case, you should use macaroon as both the readonly macaroon and admin macaroon.
If restrictedMacaroon is not null, it is an invoice macaroon.


IIS Web App Deploy - XML variable substitution - removes XML declaration

The XML declaration at the top of a web.config file, e.g.:
<?xml version="1.0" encoding="UTF-8"?>

seems to be removed from the file when the XML variable substitution checkbox is checked on the IIS Web App Deploy task. This is not critical because the declaration is optional for version="1.0".

@NickMRamirez , Can you please open a issue in https://github.com/Microsoft/vsts-tasks/issues as the relevant task in that repo.
Can you share the web.config file with us. Is "" the first line in the file or you have any comments at first?
Please keep the line at top of the file and try once.

@NickMRamirez Any update on this? Is "" the first line in the file or you have any comments at first? Can you please make sure  "" is the first line and try once?

@niadak In retrospect, it isn't an important problem, since the XML declaration is optional. I'd probably just close this issue.


Added blast sepolia

Summary
Added Blast Sepolia Network
Change Type

[ ] Bug Fix
[ ] Refactor
[x] New Feature
[ ] Breaking Change
[ ] Documentation Update
[ ] Performance Improvement
[ ] Other

Checklist

[x] My code follows this project's style guidelines
[x] I've reviewed my own code
[ ] I've added comments for any hard-to-understand areas
[ ] I've updated the documentation if necessary
[ ] My changes generate no new warnings
[ ] I've added tests that prove my fix is effective or my feature works
[ ] All unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published

Additional Information

Branch Naming

Hey @niklabh thanks for pointing out, this looks good. We are removing the default RPC from SDK in next release so we don't have to release a new version after every chain integration.
See #401


Smooth scroll

I have a question: How can I make the recyclerview smoothly scroll to adaper's dataset position ?

i think there is a section in the library that you can implement a smoothscroll to position and adding an additional time for animation completion.

use Recyclerview itself UltimateRecycler.mRecyclerView.smoothScrollToPosition(0);


Secret changed

Keeanywhere changed the secret on it's own a few days after using unprotect+reprotect to transfer the secret from an old working computer to this specific machine successfully. Therefore the old computer does no longer work :/ (Running unprotect+reprotect the other way round might solve this but only temporarily... )
Keeanywhere 2.1.0
w/ Google Drive integration (classic, not restricted)
Keepass 2.57.1 x64
Windows

Has the secret itself changed, or only the encrypted version in Accounts.json ?

I am still trying to reproduce this.
A little background, and the reason I asked about the plaintext secret vs. the encrypted version in Accounts.json:
At least for Google Drive the "secret" is in fact the OAuth2 Refresh Token issued by Google's servers. I couldn't find anything on the structure or format of the refresh tokens. I think that's because they're opaque tokens which only mean anything to the provider's authorization server.
The Refresh Token can change whenever the Authorization Server decides to change it.
However, the .NET Protect API also appears to produce different output for the same plaintext on subsequent invocations (which of course is good). So the encrypted secret in Accounts.json should be expected to change every time KeePass is opened and closed, but the secret itself might not be changing.
If the secret really is changing, then that means the Refresh Token is changing. Either Google has some kind of expiration time window (maintained on their side), or they have a way (possibly IP-based) to detect multiple computers using the same token. Kind of like Auth0's Automatic Reuse Detection. I'm pretty sure Google isn't doing exactly that method, because it relies on changing ("rotating") the Refresh Token every usage. A few quick tests suffice to show Google isn't changing the RT that often.
If the plaintext secret isn't really changing, then this issue is actually due to something, because that would mean the RT is still also unchanged.
Side note: the output of Unprotect is actually the base64 of the Refresh Token, not the Refresh Token itself. If you want to view that, run it through base64 -d. When I wrote the tools, I wasn't sure what kind of data would be inside the secret field, and assumed arbitrary binary. Base64 seemed like a good choice. As it turns out, the Refresh Tokens (well, Google's Refresh Tokens anyway) are just plain old strings (ASCII strings, no less!), so it wasn't really needed.


Fix OOM errors on Travis CI

See also krasserm/akka-persistence-cassandra#31.

See also https://travis-ci.org/RBMHTechnology/eventuate/builds/66200204#L1405

See also http://www.scala-sbt.org/0.13/docs/Travis-CI-with-sbt.html


AutoNLP using AutoVIML library for Natural Language Processing

Article checklist
Attention
Our Peer Reviewer and Content Moderator teams do NOT provide any revisions services. All revisions and edits should be completed on your own forked repo (as to not take up room in the queue) in order for our team to review them all in a timely manner.
ANY ARTICLE SUBMITTED WITH GLARING ERRORS WILL BE IMMEDIATELY CLOSED.

As a rule of thumb - please be sure to only submit articles (pull requests) that are fully polished and ready to be published. Be sure to go through our resources documents for extra and 3rd party (vetted) resources to help improve overall technical writing.

Pre-submission checks

Please ensure that you have only one open topic suggestion (issue) + in-review article (linked pull request) at a time. This will ensure that we complete the review process in a timely manner from inception to publishing

If you have not already, please go over our Resources Page for more tips and tricks on how to improve your overall technical writing so reviews are swifter, increase the chance of a payout and provide more value to our readers.

For first-time contributors and for more details on our submission guidelines, see our Contributing Guidelines.

Formatting and structure checks

[x] Have you used the correct folder and file structure? - see Contribution Guidelines

[x] Is your article properly formatted in Markdown? - see Github Markdown guide

[x] Have you used our preferred heading structure? - H3 (###) and up

[x] Does your article follow any of the suggested structure formats? - see example formats

[x] Is your article over 750 words? - Tool: Wordcounter.net

[x] Is the article you are submitting an in-depth and unique article? Does it go beyond what is in the official docs and what is covered in other blog sites. See these articles as examples.

[x] Does your article provide enough value and detail about your topic? - Articles should be clear, accurate, and fully explained.

[x] Can your article be understood by beginners? - Assume the audience is smart but has no prior exposure to the common terminology in your article.

[x] Have you included a hero image that is 600x400 pixels, under 300KB in size, and have the copyright to use it? - Tools: Pixlr Image Editor for resizing and Unsplash for Creative Commons images

Grammar & plagiarism checks

[x] Have you spellchecked and grammar checked your article? - Tools: Write&Improve - ProWritingAid - Grammarly
[x] Please place your article through a 3rd party plagiarism checker. We suggest using Quetext, this tool is free and has a daily limit. We typically accept articles with 10% or less.
[x] Have you checked your article for readability? - Tool: Hemmingway
[x] Have you added sources for quotes and images that aren't yours?

Technical checks

[x] Are your code snippets properly formatted for syntax highlighting - see Syntax guide
[x] Have you checked your code runs correctly and you've highlighted all necessary dependencies for installation?
[x] Are the software programs and packages you're highlighting in your article up to date, using current versions and not deprecated?

Topic suggestion this closes

Remove the backticks and add the issue number below to link and close your Topic Suggestion (issue) when your article has been published (PR has been merged). See this video for more details.

This closes #6038

Finally, delete the article checklist notes in blockquotes and submit your PR. We look forward to reviewing your article.

Hello @jamesomina99
Thanks for submitting this PR.
Your PR has entered our reviewing queue. Please wait until a peer-reviewer pings you with the changes to be made.
Thanks.

@ahmadmardeni1 @WanjaMIKE @LinusMuema I'd like to review this PR.
cc: @hectorkambow

@ahmadmardeni1 @WanjaMIKE @LinusMuema I'd like to review this PR.
cc: @hectorkambow

@wilkistermumbi I think you were added to the peer review team. You are free to take up PRs that you can review. Thanks

@ahmadmardeni1 @WanjaMIKE @LinusMuema I'd like to review this PR.
cc: @hectorkambow

@wilkistermumbi I think you were added to the peer review team. You are free to take up PRs that you can review. Thanks

@WanjaMIKE I still haven't been granted reviewer access to the Eng-Ed repo. You can help me add the necessary labels in the mean time.

Plagiarism check done ✅

Let me check this out. @wilkistermumbi You will get access soon.

You have been added to the "peer reviewers" team. Please check again, you can edit the labels. @Wilkistermumbi

@jamesomina99 This is a nice tutorial. However, the minor grammatical errors such as lack of proper comma use and uses of passive voices mask the beauty of the tutorial.In addition to my revisions, go through the whole tutorial and fix mistakes I might have missed so as to avoid further revisions. Do not over-rely on the basic grammarly. Unless you've subscribed for the premium version of grammarly, always proofread your work to identify mistakes which grammarly might have failed to detect.

@wilkistermumbi, I have gone through the entire article and made the necessary changes. I have also committed the suggested changes. Kindly review.

👍

@wilkistermumbi
If anymore edits are needed lets go ahead and close the PR

@wilkistermumbi  Any update on this?

@wilkistermumbi Any update on this?

@hectorkambow It's ready for final review.

Jumping on this one, team 🚀

Hello @lalith1403, what is the status of this PR?

Hello @lalith1403, what is the status of this PR?

I'll be doing the final review on this one.
No worries

@jamesomina99


Account Key still referenced as "Backup Key" in blue banner

Expected Behavior
Account Key should be used everywhere
Current Behavior
Account Key still referenced as Backup Key in some places

Hi @nityas We have verified this issue on latest build  latest Android  internal build V1.7.2(1004294329) &Test Flight build V1.7.2(39) and observe the following.

"Setup your account key" is shown along with "Setup now" button when user open the app after a long time if user not setup account key

Device: Samsung Galaxy S4(4.4.2), Samsung Galaxy A5(7.0)


Reflect SecretManager package name change

Running commands like in the tutorial resulted in installation of old beta5 packages, and unusable command, even with latest runtime.

Hi @MiKom, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, DNFBOT;

@MiKom, Thanks for signing the contribution license agreement so quickly! Actual humans will now validate the agreement and then evaluate the PR.
Thanks, DNFBOT;

Yeah, this article needed some significant updates for beta7. I've rolled this change into the broader beta7 update: https://github.com/aspnet/Docs/pull/434.
Thanks for helping out with the docs!


Exporting to Android errors, flickering, glitching.

godot 3.0.5.stable
windows 7 64 bit intel duo
exporting android apk to samsung galaxy s5
with the correct export template with this version, when i export an android apk via one click deploy to my galaxy s5, it installs fine, though once I open the app the godot logo starts to flicker, turn black, and then my game project appears in glitchy colors and that's as far as it go.
I made my godot project, scripts and scenes
set up export settings as so in picture.
added Android to my export options and left options as default
have my phone correctly hooked up via USB with developer mode on to allow one-click-deploy
select one click deploy and allow installation onto device.
app successfully installs, when i run the app on my phone it shows godot logo, flickers and may or may not turn black, then shows ' the game ' in glitchy, picture included.
I know that my phone is compatible with the OpenGL version, I'm just really not sure what is causing the issue. I managed to export to my device a 2D platformer template, with very much the same settings so I am dumbfounded to know what is causing this with my project.
Thank you anyone for any help or assistance you may have
I cherry picked lines in my log cat that had resemblance to godot.
some lines that i see come up are....
W ResourcesManager: getTopLevelResources: /data/app/org.godotengine.srcmy_project-1/base.apk / 1.0 running in org.godotengine.srcmy_project rsrc of package null
07-15 00:10:51.350 15891 15891 D GODOT   : command_line is null? yes
07-15 00:10:51.350   818  2016 W ServiceManager: Permission failure: com.samsung.permission.SSENSOR from uid=10264 pid=15891
07-15 00:10:51.350   818  2016 D PermissionCache: checking com.samsung.permission.SSENSOR for uid=10264 => denied (103 us)
logcat.txt
Attached is my android export settings.

issue still persists 4 days later, still haven't cracked.
logcat when opening the app:
07-18 19:28:05.228  1738  1738 E ActivityThread: 	at android.app.LoadedApk$ServiceDispatcher.(LoadedApk.java:1204)
07-18 19:28:05.228  1738  1738 E ActivityThread: 	at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:1098)
07-18 19:28:05.228  1738  1738 E ActivityThread: 	at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1416)
07-18 19:28:05.228  1738  1738 E ActivityThread: 	at android.app.ContextImpl.bindService(ContextImpl.java:1399)
07-18 19:28:05.228  1738  1738 E ActivityThread: 	at android.content.ContextWrapper.bindService(ContextWrapper.java:632)
07-18 19:28:05.228  1738  1738 E ActivityThread: 	at com.google.android.hotword.client.HotwordServiceClient.internalBind(HotwordServiceClient.java:117)
07-18 19:28:05.228  1738  1738 E ActivityThread: 	at com.google.android.hotword.client.HotwordServiceClient.onAttachedToWindow(HotwordServiceClient.java:65)
07-18 19:28:05.228  1738  1738 E ActivityThread: 	at com.android.launcher2.Launcher.onAttachedToWindow(Launcher.java:2272)
07-18 19:28:05.228  1738  1738 E ActivityThread: 	at com.android.internal.policy.PhoneWindow$DecorView.onAttachedToWindow(PhoneWindow.java:3784)
07-18 19:28:05.228  1738  1738 E ActivityThread: 	at android.view.View.dispatchAttachedToWindow(View.java:15805)
07-18 19:28:05.228  1738  1738 E ActivityThread: 	at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3139)
07-18 19:28:05.228  1738  1738 E ActivityThread: 	at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1731)
07-18 19:28:05.228  1738  1738 E ActivityThread: 	at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1437)
07-18 19:28:05.228  1738  1738 E ActivityThread: 	at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7397)
07-18 19:28:05.228  1738  1738 E ActivityThread: 	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:920)
07-18 19:28:05.228  1738  1738 E ActivityThread: 	at android.view.Choreographer.doCallbacks(Choreographer.java:695)
07-18 19:28:05.228  1738  1738 E ActivityThread: 	at android.view.Choreographer.doFrame(Choreographer.java:631)
07-18 19:28:05.228  1738  1738 E ActivityThread: 	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:906)
07-18 19:28:05.228  1738  1738 E ActivityThread: 	at android.os.Handler.handleCallback(Handler.java:739)
07-18 19:28:05.228  1738  1738 E ActivityThread: 	at android.os.Handler.dispatchMessage(Handler.java:95)
07-18 19:28:05.228  1738  1738 E ActivityThread: 	at android.os.Looper.loop(Looper.java:158)
07-18 19:28:05.228  1738  1738 E ActivityThread: 	at android.app.ActivityThread.main(ActivityThread.java:7224)
07-18 19:28:05.228  1738  1738 E ActivityThread: 	at java.lang.reflect.Method.invoke(Native Method)
07-18 19:28:05.228  1738  1738 E ActivityThread: 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
07-18 19:28:05.228  1738  1738 E ActivityThread: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
07-18 19:28:06.218  6266  6266 E Zygote  : v2
07-18 19:28:06.218  6266  6266 E Zygote  : accessInfo : 0
07-18 19:28:12.268   803  1630 E Watchdog: !@Sync 3193 [07-18 19:28:12.273]

Bumping, attempted exporting from other operating systems and devices, issue still portrays as so and I have run out of ideas on what to do next to try and fix this issue or where to look.

Do you use any Stretch mode settings? Display->Window->Stretch->Mode->Viewport?

I'm having the same issue with 3.1 Beta3, and I realized that it flickers only if I export for GLES2, GLES3 is ok, even if it's super slow on my device (as expected).
I was testing a 3D scene, not sure if with only 2D elements gives this problem anyways.

Hello, I gave up on trying to fix this bug. My theory is that it is just some Android compatibility issues with either the hardware or OS version on the device. I was testing on a Samsung Galaxy S5, Android versoin 6.0.1

Hey, by any chance did you first created the project with gles3 and then switched to 2?
I did with mine, and I had a similar problem, I solved it by creatign a gles 2.0 from the beginning, then I copied all the wcenws and scripts to the new one, just don't copy project files. It worked for me.

I followed @Toshiwoz's advice and created a new project as gles2, then moved all but the project files over and the exported android build worked as expected.
ty @Toshiwoz !

@johncwakley, I'm glad it was helpful.
Most likely the problem is easy to fix.

Haven't had the chance to export my project yet again to a mobile device, will update godot to 3.1 and test again. Also, @Toshiwoz , what are your mobile device's specs that was having similar problems? Are they the same or similar as mine? I have a hunch that with this issue, it could very be well be a device hardware issue. If your specs are different, it could be something else.
Also, have you looked into your android logcat logs for errors or anything like I posted? There could be important details

I am having the same issue on my OnePlus One but the exported apk works fine on Nexus 7 (2013).
Don't know is the difference between these two devices other than the obvious difference of OS.

Could you attach a project that reproduces the bug?

@zacharytyhacz I have a Huawei, for what I can see from phone info it's a MYA-L11.
I did not checked error logs, but there is a slight difference with my problem, the flickering was only at the beginning, when you see the spalsh image of Godot, then it closes (crashes?).
And as I mentioned it was fixed by creating from scratch a GLES2 project, as my problem arised when I converted a gles3 to gles2 and exported to Android. 3.0.6 does not have this option.
As s conclusion I believe it's a different root problem, even if it manifests with similar simptoms.

I've seen that too, and @reduz is working on fixing it. The flicker during the splash screen seems to be while it attempts to load ETC2 textures when it's supposed to use ETC, and eventually crashes.

Please test with the current master or beta 9 when it's released, it might have been fixed by recent changes.

@akien-mga  Ok will do.

Update - Tested again on same device in original post with 3.0.6, same original error and related to @ravisharma1987 's post images. Will try beta 9 when its released.

@zacharytyhacz Beta 9 is released already: https://godotengine.org/article/dev-snapshot-godot-3-1-beta-9

Ok just tested with 3.1 beta 9 on same hardware and project....
Results with beta 9
GLES3 - The original bug persists, no difference from 3.0.6
### GLES2 - Works flawlessly and as intended, bug error is no longer present.


web_environment problem - environment variable not reaching PHP / Wordpress

Is there an existing issue for this?

[X] I have searched the existing issues

Output of ddev debug test
No response
Expected Behavior
A variable set in config.yaml should be accessible and used inside the containers as written in the docs
So I would expect that setting
web_environment:
    - WP_DEBUG=false

then restarting the containers, that PHP should receive the value above and have WP_DEBUG disbaled.
Actual Behavior
WP_DEBUG is still true in PHP and in Wordpress.
Logging into the container with SSH I can see that it is set correctly [WP_DEBUG=false] but it seems this does not reach PHP or Wordpress.
Steps To Reproduce

set value in config.yaml or with ddev config --web-environment-add="WP_DEBUG=false"
(re)start ddev
debug the value inside PHP => WP_DEBUG is true
debug the value inside the container with SSH => WP_DEBUG is false

Anything else?
No response

There is a difference between environment variables and constants.
In this case, you want to change WP_DEBUG constant in the WordPress config.
But if you add WP_DEBUG as an environment variable, it is declared at a different level.
Reference:

https://www.php.net/manual/en/language.constants.php
https://www.php.net/manual/en/function.getenv.php

Thank you for clarification. I hab in mind, that all the environments variables were available everywhere and thought that it must be visible inside or for PHP, too. SOrry for the misunderstanding then.
Is there a way to set PHP constants (for Wordpress in this case) at config level with ddev? Because when I want to set this or others, then I would have to disable the automatic updates of the two wp-config files, right?

You can either:

take control of the file where WP_DEBUG is set (remove #ddev-generated)
or declare WP_DEBUG somewhere else, before including that config file where WP_DEBUG is set to true

Yes, I removed the statement from the ddev-specific wp-config for now. But setting it inside the config would be very nice :)
Thank you for your help and time!


Introduce a blitz randbats format

give the people what they want...
I know your original concern was that its hard to be given a random team and have to learn the sets etc with a Blitz timer, but apparently thats 'part of the challenge' and what people actually want

It's probably a bad idea to give people a thing just because they ask for it... How much demand is there?

It's probably a bad idea to give people a thing just because they ask for it... How much demand is there?

Any worse idea than adding a format which cannibalizes the OU playerbase on a whim? ;)

I have heard many informal requests for this. I was anticipating it would wait on seeing how popular OU blitz is, but this works too!

Any worse idea than adding a format which cannibalizes the OU playerbase on a whim? ;)

Hey, I'm the BDFL here, only I'm allowed to do stuff on a whim! Imagine the chaos if anyone could just do stuff on a whim!

I don't even see a thread in Suggestions! I was going to let the OU Blitz format run for a bit more, polish up the implementation a bit more (it's already a lot more polished than launch), before adding other ladders.

What does polish entail? Server side its pretty much only timer tweaks (perhaps autostarting the time in Blitz?). Client side I'd much rather a 'minimal animations' mode than 'hyperfast', but we've had that discussion on https://github.com/Zarel/Pokemon-Showdown-Client/pull/1285
I think its worth questioning whether we want to bring this other ladders in the first place - it does definitely impact metagames and I think it bears more discussion. Random Battles seems like it would have been a better place to start with the Blitz trial given its already a PS-only meta without as wide reaching implications on things like usage stats.
Client UI wise, doubling our metas (Foo + Foo (Blitz)) seems poor - should '(Blitz)' not be a checkbox or something in the UI?

Yes, autostarting is planned. "Hyperfast" is the minimal animations mode I was talking about – I'm not sure what else you'd be looking for in a minimal animations mode.

"Hyperfast" is the minimal animations mode I was talking about – I'm not sure what else you'd be looking for in a minimal animations mode.

The equivalent of turning off Battle Animations on the cartridge, but not having everything be completely static. IIRC, turning off Battle Animations doesnt make the sprites stop moving, and shows 'impact' so you can detect when a move hits or misses, but otherwise theres no frills

I don't even see a thread in Suggestions!

We gotchu fam: https://www.smogon.com/forums/threads/introduce-a-blitz-randbats-format.3652592/ ;)

+1 to adding Blitz version of the most popular PS format.
+1 to waiting on further feedback from OU (Blitz) players.
I'd expect the polishment process to involve allowing for up to 10-20 seconds more of Team Preview in Blitz random formats. That would be some sort of balancing the planning and blitz aspects of the format.

Apparently forcetimer forces the timer before the first turn, which will also need to be fixed.

OU was one thing, which I am fine with btw, but I don't agree with extending it to other formats. No format has the capacity of OU to be able to support two ladders.
Regarding Random Battle, the whole point of it is to jump on and instantly find games. With this we will have three exactly the same ladders, but one ranked, one unranked, and one faster. To add on to the point that you yourself brought up @Zarel that Random Battle is about learning and working with the team you're given. Are we literally adding clicking ladders now? Are our standards that low? Strong no from me. Listening to the community is nice and all but it takes a good leader to say no.

@TheImmortal , to clarify, are you opposed to adding the format? Or opposed to adding a Blitz Randbats ladder?
A ladder for this certainly feels premature. However I wonder on what basis you claim that OU will be more capable of supporting a Blitz ladder than Randbats? Are randbats not the most popular format anymore?
Anyway, having this as a challenge-only format would be great IMO. Hell, it could be implemented as a challenge setting... (Something something custom custom games...)

Note also that since Blitz games are expected to be shorter, the ladder will need a much lower amount of players in order to achieve the same average waiting time. As for how much shorter, and how much lower... Well, the need to figure that out would be another reason to wait for a while before adding the format and/or ladder.

Cards on the table: I don't personally like the Blitz format at all. I agree its 'clicking buttons', and completely different to the style of play I myself prefer. I'd prefer no ladders for Blitz period. But I am not necessarily 'the user', and I don't get to tell users what format to prefer.
I don't even necessarily agree that OU has the capacity for a Blitz ladder, but if it did, then Random Battles would have even more capacity because its a larger format. Agreeing with an OU Blitz and not a Random Battle Blitz ladder on the grounds of size seems to point to bias.
As for Random Battles being about "learning the team" - that's your interpretation of the format. Players apparently don't necessarily feel the same way. My interpretation of OU does not involve 15 seconds per turn, but hey, for some people this is in fact what they want.
Adding a Foo (Blitz) ladder could cause more users to play Foo than before, could completely wipe out Foo in favor of Foo (Blitz) (perhaps Foo (Blitz) is more enjoyable metagame for people than Foo, even though it doesn't appeal to me), or it could end up with a split playerbase where the same number of people are playing, just spread more thin. The third case is clearly the most worrisome, but its not really something we can necessarily predict ahead of time, and its something which can be fixed by simply removing one of the ladders.

Blitz ladder. If we removed unranked I’ll reluctantly allow it because every time someone mentions unranked it’s in the context of why is that a thing.
I meant OU is the only good choice amongst all real metas. My objection has to do with there already being two random battle ladders of the exact same meta plus what I mentioned in my post above.

Bring back Hackmons and you have a deal. ;)

Definitely not gonna ever be a ladder. I can consider a challenge format if that works.

 Ladders may not matter to you but we don’t make decisions based on a whim. Should I consider a challenge format or not?

Also that is completely unrelated to this PR. Please explain why three ladders for the same format is a good idea. And why unrated needs to even exist in the first place.

There is an issue affecting gamers called "Ladder anxietyy". While it's kinda unheard of in the competitive community of Pokémon, I am positive there is a minority of players that should be affected by it. Casual, unranked, formats prevent it.
That's why many games offer an unranked experience. However, there are different approaches to it. For example, in Starcraft 2 both Ranked and Unranked players go into the same matchmaking pool, and their MMR values do get updated. The only difference is that there is no way in which Unranked players can view their rating.
IMO we can effectively replace the current system of randbats' split ladders with the Starcraft's approach. Then, players could opt-in to unranked mode through a checkbox the battle search menu, just like it's (planned?) to add a similar checkbox for "Search muted".

Just putting it out there that the Smogon suggestion thread has reached almost 70 likes within 10 hours.

IMO we can effectively replace the current system of randbats' split ladders with the Starcraft's approach. Then, players could opt-in to unranked mode through a checkbox in the battle search menu

How exactly does this work? If I play every other game alternating between ranked and unranked, the backend calculates my rankings the same way as if every game was ranked? In the same scenario, if I play every ranked match but immediately forfeit every unranked match, I'm going to be penalized for the unranked battles as theyll affect my ranked rating, no?

Also that is completely unrelated to this PR. Please explain why three ladders for the same format is a good idea. And why unrated needs to even exist in the first place.

Unrated vs. rated is a separate conversation - Blitz vs. non Blitz are in fact not the same format in the same way Chess and Blitz Chess are not the same - different aspects of play are weighted more heavily.

Any chance you can 'full ass' an answer or provide a link to past discussion on this :)? I don't know the history here, but I don't know how I feel about being an arbiter of what formats people are allowed to enjoy? Anything Goes or Hackmons might be objectively less competitive etc than Ubers/BH, but if there is a sizeable player base it seems somewhat paternalistic to decide which format players should be able to play? We support a glorified rock-paper-scissors meta in 1v1...

How exactly does this work? If I play every other game alternating between ranked and unranked, the backend calculates my rankings the same way as if every game was ranked? In the same scenario, if I play every ranked match but immediately forfeit every unranked match, I'm going to be penalized for the unranked battles as theyll affect my ranked rating, no?

It's the equivalent of having separate usernames for the ranked and unranked modes. The ranks are tracked separately.

Any chance you can 'full ass' an answer or provide a link to past discussion on this :)? I don't know the history here, but I don't know how I feel about being an arbiter of what formats people are allowed to enjoy? Anything Goes or Hackmons might be objectively less competitive etc than Ubers/BH, but if there is a sizeable player base it seems somewhat paternalistic to decide which format players should be able to play? We support a glorified rock-paper-scissors meta in 1v1...

I don't remember getting a more detailed answer than "because Hackmons is a bad meta". Which I never personally liked as a reason for no ladder, but at the time I had enough other things to worry about that I didn't have time to fight it.
But yes, it should at least be in the Challenge menu.

It's the equivalent of having separate usernames for the ranked and unranked modes. The ranks are tracked separately.

Great, big fan of this!

Okay @scheibo @Zarel. Hackmons does not have a ladder for three reasons.

It hasn't earned one
Ladders are earned and not just given on a whim. The userbase for Hackmons is quite small, a fraction of the Balanced Hackmons players. Ladders are earned through their popularity primarily. There are ways that can be seen, such as the activity on the forum, the demand for tours, etc...

There isn't a need for one
Some might call it "fun" but it is a bad metagame. It's broken things checking broken things, such as No Guard OHKO vs Wonder Guard. Such a metagame would never be a part of the OM tournament circuit, thus there isn't a need for it to be playable on the main server.

It divides one of our already small communities
OMs combined can barely compete with the size of individual official tiers, let alone a single metagame such as BH. The only players that would be interested in playing Hackmons would be existing BH players.  Hackmons being a playable format takes a fraction of players away from our already small community, and we can't afford such a split.

Hypothetically if the ladder were added based on your whims, I have to answer to the OM community. Why was a ladder added and why was it Hackmons. I don't have any answer because that should never happen. You don't have anyone to answer to so it seems trivial to you, Zarel. You wake up and think something would be cool but don't care about its repercussions. I've been managing the formats ecosystem for years, not just Other Metagames, and I'd appreciate being kept in the loop if you plan to change anything. I didn't say anything earlier because OU Blitz was fine. But please don't add more without consulting the leader of the relevant section (for example: UU leader if you wanted to add UU Blitz). On the topic, I still say I'll reluctantly accept it if it replaced Unranked because nobody really cares about that (you can literally go an alt if points matter to you that much) and we'd retain only two of the same ladders, just like OU.

Ladders are earned and not just given on a whim. The userbase for Hackmons is quite small, a fraction of the Balanced Hackmons players.

The userbase for Hackmons was larger than Balanced Hackmons at the point you removed it.

It divides one of our already small communities

You said yourself that Hackmons is a "bad" metagame. I don't think it attracts the same kind of people who play "good" metagames.
We had the same problem issue with Monotype. Their audience is pretty different from the existing OM community, as far as I can tell, because people play it because it's fun, rather than because it's good.

What problem did we have with Monotype exactly? Monotype is a balanced metagame, and isn’t even an OM but an official Smogon metagame.

If I'm remembering correctly, Monotype wasn't accepted as a meta until way later.

That topic aside, I don’t believe you’ve commented on why we need three of the same formats, or on the suggestion of blitz simply replacing unranked. Slayer’s suggestion works too, I guess.

I'm fine with putting ranked and unranked on the same ladder.

Well, not completely fine. I'm worried unranked players will goof off. It would probably lead to a lot more ladder inflation.

I'm also not remotely worried about ranked randbats not having enough players.

One thing I was thinking about was to have the "Unranked" and "Blitz" options separate from the Formats dropdown – it would just be an option available after clicking on the format.
But that might make them harder to find... the eternal dilemma...

One thing I was thinking about was to have the "Unranked" and "Blitz" options separate from the Formats dropdown – it would just be an option available after clicking on the format.

Why not just Unranked and Blitz checkboxes like Slayer suggested, outside of the dropdown and always present? I assume youre worried about having the users make too many decisions up front?

Why not just Unranked and Blitz checkboxes like Slayer suggested, outside of the dropdown and always present? I assume youre worried about having the users make too many decisions up front?

I'm afraid most ladders won't have enough activity to support a separate Blitz ladder.

(Unranked can be a checkbox no problem though.)

Just unranked as a checkbox is cool. Blitz can be for OU and Random Battle for now and if any tier leader thinks their tier is large enough to support a blitz, we can fulfill their request.

Is this blocked on #5648? Also, re "polish up the implementation a bit more" - what more did you want on this front?

The main thing I would block an blitz randbats on is an implementation for auto-timer. TI seems to also want to block on the unranked thing, but I don't particularly care.

When I was asking if it was blocked on unrated I actually meant "would we be willing to remove the existing unrated random battle ladder (to eventually be replaced by our more generalized implementation) to add blitz?" (no idea how the userbase would feel about one vs. the other). I have no intention of adding 3 ladders after TI's vocal and reasonable opposition.

Oh, I think I misread this comment last time I opened this. The I would not be willing to remove the existing unrated randbat ladder; removing features, even temporarily, is generally worse than delaying new features.

Shower thought: what if we had Blitz on the same ladder as the normal format? Just match two Blitz players with each other through a Blitz checkbox. Then, theoretically, every format would support Blitz. I mean, I don't see an issue if both players are agreeing to a shorter timer; it's still the same metagame.

@TheImmortal That sounds like the same thing as a separate ladder, except maybe with different UI.
I don't think I like it.


pull request for e2e test at 01/25/2017 10:15:08

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Refactor the MessageContent type.

Break it into individual subtypes to make it clear what the definition is and to be able to use these subtypes as parameter or return types.
Add a new subtype blob_url which takes a required URL and a required content type (MIME type). This is for models that require the mime type (Gemini, for example) and makes it clear that this may be used for content besides images (ie - video, 3-d models, etc).

Ty for doing this @afirstenberg !!

Will definitely want to sync with @baskaryan and the Python folks before merging but I think seems reasonable

Any chance we can get this reviewed?
Would it make things faster if we removed the blob_url subtype for now and I opened that up as a separate pull request?
(@jacoblee93 @baskaryan)

Yes that would make it faster - would prefer to add blob stuff after google releases more multimodal formats if that's ok with you.
Also would like to cut down on the number of Google packages, but still thinking through the best way how...

We'll discuss the blob part separately. (And the Google packages.)
For now, I've removed that part, so this is just refactoring MessageContent so it is easier to read and so the individual types can be used directly.

@jacoblee93 what is currently preventing this PR from being merged?
Is there any action necessary on the contributor side?
Asking because this is blocking #3960 from being merged.
Ty

So sorry for the delay @afirstenberg and @duckdegen, this looks great.


Refactor/update settings page

Related issues:
https://github.com/tabetalt/backoffice/issues/121
https://github.com/tabetalt/backoffice/issues/120
https://github.com/tabetalt/backoffice/issues/104

This pull request introduces 6 alerts when merging 6128ce3 into d161548 - view on LGTM.com
new alerts:

6 for Unused variable, import, function or class

Should probably fix these before merging too. 👍


Unable to push to Heroku, Django(1.4.a1) installed from github (in requirements.txt)

Installation of Django 1.4-a1 (to install the Django from the github HEAD)
pip install -e git+https:////github.com/django/django.git#egg=Django-dev
after freezing using pip freeze -l > requirements.txt I get
-e git+https://github.com/django/django.git@4bdd63bfd7a2318f0e3108ee714abf2defe25593#egg=Django-dev
I can use the above generated requirements.txt to reinstall the dependencies(to replicate the project), but it fails when it push it to github with the following error. I can figure out why this is failing.
 Command /usr/bin/git tag -l had error code 128
 Complete output from command /usr/bin/git rev-parse "fatal: Not a git repository: '.'":
 fatal: Not a git repository: '.'`

Just to provide a better idea, I will put the whole heroku push dump here
 Counting objects: 119, done.
 Delta compression using up to 2 threads.
 Compressing objects: 100% (67/67), done.
 Writing objects: 100% (119/119), 26.75 KiB, done.
 Total 119 (delta 35), reused 105 (delta 29)

 -----> Heroku receiving push
 -----> Python/Django app detected
  !     You have a virtualenv checked in. You should ignore the appropriate paths in your repo. See http://devcenter.heroku.com/articles/gitignore for more info.
 -----> Preparing virtualenv version 1.6.4
        New python executable in ./bin/python
        Installing setuptools............done.
        Installing pip...............done.
 -----> Django settings injection
        Injecting code into conf/settings.py to read from DATABASE_URL
 -----> Installing dependencies using pip version 1.0.2
        Obtaining Django from git+https://github.com/django/django.git@4bdd63bfd7a2318f0e3108ee714abf2defe25593#egg=Django-dev (from -r requirements.txt (line 1))
          Cloning https://github.com/django/django.git (to 4bdd63bfd7a2318f0e3108ee714abf2defe25593) to ./src/django
          Command /usr/bin/git tag -l had error code 128
          Complete output from command /usr/bin/git rev-parse "fatal: Not a git repository: '.'":
          fatal: Not a git repository: '.'

        ----------------------------------------
        Command /usr/bin/git rev-parse "fatal: Not a git repository: '.'" failed with error code 128
        Storing complete log in /app/.pip/pip.log
  !     Heroku push rejected, failed to compile Python/django app

 To git@heroku.com:ekoll.git
  ! [remote rejected] master -> master (pre-receive hook declined)

Can somebody explain what's going on here ?

Contrary to popular belief, the -e flag isn't required to install pip requirements from git. When the -e is dropped, however, the url parser behaves slightly differently.
I'm working to get some upstream changes into pip to make this smoother.

Add the following to your requirements.txt instead:
git+https:////github.com/django/django.git

Hey there,
Thanks a lot. This solved it !

Why the four slashes?

@auzigog only two. Updated.


bat: 0.14.0 -> 0.15.0

Motivation for this change
Changelog: https://github.com/sharkdp/bat/releases/tag/v0.15.0
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[X] NixOS
[X] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

Thanks!


Review app/api/v1/security.py

It looks like a bunch of imports from app/security/__init__.py are missing. See partial output of mypy-scan:
fractal_server/app/api/v1/security.py:10: error: Module "fractal_server.app.security" has no attribute "FailedAuthenticationException"
fractal_server/app/api/v1/security.py:11: error: Module "fractal_server.app.security" has no attribute "get_current_user"
fractal_server/app/api/v1/security.py:12: error: Module "fractal_server.app.security" has no attribute "Token"
fractal_server/app/api/v1/security.py:13: error: Module "fractal_server.app.security" has no attribute "token_authentication_login"

The current content of /app/v1/security.py is
from typing import Optional

from fastapi import APIRouter
from fastapi import Depends
from fastapi import HTTPException
from fastapi import Security
from fastapi import status
from fastapi.security import OAuth2PasswordRequestForm

from ...security import FailedAuthenticationException
from ...security import get_current_user
from ...security import Token
from ...security import token_authentication_login
from ...security import User

router = APIRouter()

@router.post("/token", response_model=Token)
async def login_for_access_token(
    form_data: OAuth2PasswordRequestForm = Depends(),
) -> Optional[Token]:
    try:
        return await token_authentication_login(
            form_data.username, form_data.password
        )
    except FailedAuthenticationException:
        raise HTTPException(
            status_code=status.HTTP_401_UNAUTHORIZED,
            detail="Incorrect username or password",
        )

@router.get("/me", response_model=User)
async def who_am_i(
    current_user: User = Security(get_current_user, scopes=["profile"])
) -> User:
    return current_user

These endpoints are never used, anywhere in the codebase.
Let's remove them, for now.

And, by the way, who_am_i has been replaced by /users/me (from fastapi_users).


El Capitan spoiled performance

I'm experiencing severe performance issues on El Capitan. Not sure where they came from, but it looks like docker-osx-dev has no impact anymore. What's the best way to debug?
VBoxHeadless runs at full wack on CPU, also something that wasn't happening before.

i bet this has s'thing to do with Vbox, suggest to fire an email on VirtualBox forum too

Correct, resolved by reinstalling VirtualBox.


Fix the broken layout on community

Fix the broken layout on community also reduced size of font for amount for top givers and receivers so it matches font size of age of new members.

This is going to hit a wall when https://github.com/gratipay/gratipay.com/pull/2938 releases

Closing in favor of<PHONE_NUMBER>736f83e8ec4bf1217ecb077b08b080 in #2938.


Properly store shard lifecycle state so that it can be retrieved

Related to #28, I guess.

(we currently allow accessing "websocket connected or not" but it would be nice to have more state than that available)


syncs dev to main

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


Couldn't find the function:phyloseq2meco()

Dear Chi
Thank you for developing this great package.
But I didn't manage to convert my phyloseq object to microeco object because I didn't find the phyloseq2meco() function in the package (I read it from the tutorial:https://chiliubio.github.io/microeco_tutorial/file2meco-package.html#phyloseq).
Could you please tell me is the function still there or how should I convert it manually if I have to ?
Thank you and best regards,
Jay

Hi Jay,
Do you install the file2meco package? The phyloseq2meco function comes from this package. Please install it if the example is failed (https://github.com/ChiLiubio/file2meco).
library(file2meco)
library(phyloseq)
data("GlobalPatterns")
phyloseq2meco(GlobalPatterns)
``

Best,
Chi

Thank you very much, now it works !


[RFC]: add support for serializing NaN to JSON

Description
This RFC proposes add support for serializing NaN to JSON.
Currently, when serializing an object containing a NaN, the resultant value is null.
In [1]: JSON.stringify( { 'x': NaN } )
Out[1]: '{"x":null}'

This is problematic when attempting to roundtrip an object data structure containing NaN values.
This RFC seeks to remedy this problem by standardizing how NaN values are serialized to JSON. This proposal builds on

@stdlib/error/to-json
@stdlib/buffer/to-json

and proposes to serialize a NaN value as follows:
{
    'type': 'float64',
    'value': 'NaN'
}

A corresponding JSON reviver (e.g., similar to @stdlib/buffer/reviver) can then recognize the standardization format and reconstitute a NaN value.
Package: @stdlib/number/float64/nan2json
Alias: nan2json
Related Issues
No.
Questions
No.
Other
No.
Checklist

[X] I have read and understood the Code of Conduct.
[X] Searched for existing issues and pull requests.
[X] The issue name begins with RFC:.

@kgryte if I am not wrong, what actually happening is when I perform JSON.stringify( { 'x': NaN } ) I get '{"x":null}' and we want it to serialize to {     'type': 'float64',     'value': 'NaN' } right?

How can I run JSON.stringify( { 'x': NaN } ) to check, what output it is giving?

If you could throw some insights on how can I approach to solve this issue, it will be highly helpful :)

@Pranavchiku As mentioned in the OP, I'd recommend consulting

@stdlib/buffer/to-json
@stdlib/regexp/to-json

These packages demonstrate how the proposed package should be structured and would work from an interface perspective.
However, now that I'm thinking about this, I'm realizing that we probably want an interface which can serialize any double-precision precision floating-point number, not just NaN, as described in the OP. In which case, possible that this RFC should be combined with https://github.com/stdlib-js/stdlib/issues/520.
In which case, we want something along the lines of the following:
function num2json( x ) {
    if ( typeof x !== 'number' ) {
        throw new TypeError( '...' );
    }
    if ( x !== x ) {
        return {...}; // object as described in OP
    }
    if ( x === PINF ) {
        return {...}; // object as described in #520
    }
    if ( x === NINF ) {
        return {...};
    }
    return x;
}

If we go this route, then the package name should be @stdlib/number/float64/to-json.

I've updated the OP, accordingly.

Okay so, I got the following three outputs
For
var str = JSON.stringify( number2json( NaN ) );
console.log( str );

Output:
{"type":"float64","value":"NaN"}

var str = JSON.stringify( number2json( Infinity ) );
console.log( str );

Output:
{"type":"float64","value":"+Infinity"}

var str = JSON.stringify( number2json( -Infinity ) );
console.log( str );

Output:
{"type":"float64","value":"-Infinity"}

If you want, I can open up a new PR?

That all looks good! Yes, please do open a PR!

Okay, so I am getting the following error when I try to commit the changes
make[1]: Entering directory '/home/pranavchiku/stdlib'

Linting file<EMAIL_ADDRESS>
Oops! Something went wrong! :(

ESLint: 8.24.0

TypeError: Cannot read properties of undefined (reading 'loc')
Occurred while linting /home/pranavchiku/stdlib/lib/node_modules/@stdlib/number/float64/to-json/lib/index.js:1
Rule: "stdlib/jsdoc-main-export"
    at validate (/home/pranavchiku/stdlib/node_modules/eslint-plugin-stdlib/index.js:8940:94)
    at ruleErrorHandler (/home/pranavchiku/stdlib/node_modules/eslint/lib/linter/linter.js:1114:28)
    at /home/pranavchiku/stdlib/node_modules/eslint/lib/linter/safe-emitter.js:45:58
    at Array.forEach (<anonymous>)
    at Object.emit (/home/pranavchiku/stdlib/node_modules/eslint/lib/linter/safe-emitter.js:45:38)
    at NodeEventGenerator.applySelector (/home/pranavchiku/stdlib/node_modules/eslint/lib/linter/node-event-generator.js:297:26)
    at NodeEventGenerator.applySelectors (/home/pranavchiku/stdlib/node_modules/eslint/lib/linter/node-event-generator.js:326:22)
    at NodeEventGenerator.leaveNode (/home/pranavchiku/stdlib/node_modules/eslint/lib/linter/node-event-generator.js:349:14)
    at CodePathAnalyzer.leaveNode (/home/pranavchiku/stdlib/node_modules/eslint/lib/linter/code-path-analysis/code-path-analyzer.js:816:23)
    at /home/pranavchiku/stdlib/node_modules/eslint/lib/linter/linter.js:1151:32
make[1]: *** [/home/pranavchiku/stdlib/tools/make/lib/lint/javascript/eslint.mk:217: eslint-files] Error 1
make[1]: Leaving directory '/home/pranavchiku/stdlib'
make: *** [/home/pranavchiku/stdlib/tools/make/lib/lint/javascript/Makefile:158: lint-javascript-files] Error 2

JavaScript lint errors for source files.

I have created a new folder to-json inside number/float64 which contains two files index.js and main.js inside lib folder

main.js
'use strict';

function number2json( x ) {
    if ( typeof x !== 'number' ) {
        throw new TypeError( 'invalid argument. Must provide a number. Value: `' + x + '`.' );
    }
    if ( x!==x ) {
        return {
            'type': 'float64',
            'value': 'NaN'
        };
    }
    if ( x === Number.POSITIVE_INFINITY ) {
        return {
            'type': 'float64',
            'value': '+Infinity'
        };
    }
    if ( x === Number.NEGATIVE_INFINITY ) {
        return {
            'type': 'float64',
            'value': '-Infinity'
        };
    }
    return x;
}

module.exports = number2json;

index.js
'use strict';

var number2json = require( './main.js' );

module.exports = number2json;

You're missing the JSDoc comment similar to the following:
https://github.com/stdlib-js/stdlib/blob/3814402c0894a6379382ce657e5587738685da27/lib/node_modules/%40stdlib/buffer/to-json/lib/index.js#L24

Every index.js needs to include a special comment documenting the exported module. See other packages for examples as to what this looks like. Including JSDoc comments is required; otherwise, linting will fail.

Ohh okay, I will do thar changes and open up a PR :)

Okay, so is there any way to fix these errors while linting?
make[1]: Entering directory '/home/pranavchiku/stdlib'

Linting file<EMAIL_ADDRESS>
Linting file<EMAIL_ADDRESS>
<EMAIL_ADDRESS>  35:1  error  Expected indentation of 1 tab but found 4 spaces    indent
  36:1  error  Expected indentation of 2 tabs but found 8 spaces   indent
  37:1  error  Expected indentation of 1 tab but found 4 spaces    indent
  38:1  error  Expected indentation of 1 tab but found 4 spaces    indent
  39:1  error  Expected indentation of 2 tabs but found 8 spaces   indent
  40:1  error  Expected indentation of 3 tabs but found 12 spaces  indent
  41:1  error  Expected indentation of 3 tabs but found 12 spaces  indent
  42:1  error  Expected indentation of 2 tabs but found 8 spaces   indent
  43:1  error  Expected indentation of 1 tab but found 4 spaces    indent
  44:1  error  Expected indentation of 1 tab but found 4 spaces    indent
  45:1  error  Expected indentation of 2 tabs but found 8 spaces   indent
  46:1  error  Expected indentation of 3 tabs but found 12 spaces  indent
  47:1  error  Expected indentation of 3 tabs but found 12 spaces  indent
  48:1  error  Expected indentation of 2 tabs but found 8 spaces   indent
  49:1  error  Expected indentation of 1 tab but found 4 spaces    indent
  50:1  error  Expected indentation of 1 tab but found 4 spaces    indent
  51:1  error  Expected indentation of 2 tabs but found 8 spaces   indent
  52:1  error  Expected indentation of 3 tabs but found 12 spaces  indent
  53:1  error  Expected indentation of 3 tabs but found 12 spaces  indent
  54:1  error  Expected indentation of 2 tabs but found 8 spaces   indent
  55:1  error  Expected indentation of 1 tab but found 4 spaces    indent
  56:1  error  Expected indentation of 1 tab but found 4 spaces    indent

✖ 22 problems (22 errors, 0 warnings)
  22 errors and 0 warnings potentially fixable with the `--fix` option.

make[1]: *** [/home/pranavchiku/stdlib/tools/make/lib/lint/javascript/eslint.mk:217: eslint-files] Error 1
make[1]: Leaving directory '/home/pranavchiku/stdlib'
make: *** [/home/pranavchiku/stdlib/tools/make/lib/lint/javascript/Makefile:158: lint-javascript-files] Error 2

JavaScript lint errors for source files.

This is my main.js
/**
* @license Apache-2.0
*
* Copyright (c) 2018 The Stdlib Authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*    http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

'use strict';

// MAIN //

/**
* Returns a JSON representation of a `Number`.
*
* @param {Number} x - number to serialize
* @throws {TypeError} type of x must be a number primitive
* @returns {Object} JSON representation
*
* @example
* var json = number2json( NaN );
* // returns { 'type': 'float64', 'value': 'NaN' }
*/
function number2json( x ) {
    if ( typeof x !== 'number' ) {
        throw new TypeError( 'invalid argument. Must provide a number. Value: `' + x + '`.' );
    }
    if ( x!==x ) {
        return {
            'type': 'float64',
            'value': 'NaN'
        };
    }
    if ( x === Number.POSITIVE_INFINITY ) {
        return {
            'type': 'float64',
            'value': '+Infinity'
        };
    }
    if ( x === Number.NEGATIVE_INFINITY ) {
        return {
            'type': 'float64',
            'value': '-Infinity'
        };
    }
    return x;
}

// EXPORTS //

module.exports = number2json;

Resolved :)

If you could look into this,
(base) pranavchiku@pranavchiku-Yoga-Slim-7-14IIL05:~/stdlib$ git push origin serializing_nan1
remote: Permission to stdlib-js/stdlib.git denied to Pranavchiku.
fatal: unable to access 'https://github.com/stdlib-js/stdlib.git/': The requested URL returned error: 403

Sorry for delaying the creation of PR, It took a while to figure out the linting errors

@Pranavchiku Some of the linting errors can be resolved by using EditorConfig in your IDE (see https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md#editors). This allows automatically setting things like indentation and newline endings.

Ohh okay, that's great will dive into that :)


Seems the check for 'enough balance' doesnt happen early enough or well enough.
Users can tip 'all their coins' to another user a couple times before it comes back with 'but you only have -128976319827'
Then they do it back and forth and back until they have -all- the coins from the wallet.
VERY UNSECURE, DONT RUN THIS BOT LIVE!!!! VERY UNSECURE, DONT RUN THIS BOT LIVE!!!! VERY UNSECURE, DONT RUN THIS BOT LIVE!!!! VERY UNSECURE, DONT RUN THIS BOT LIVE!!!! VERY UNSECURE, DONT RUN THIS BOT LIVE!!!! VERY UNSECURE, DONT RUN THIS BOT LIVE!!!! VERY UNSECURE, DONT RUN THIS BOT LIVE!!!! VERY UNSECURE, DONT RUN THIS BOT LIVE!!!! VERY UNSECURE, DONT RUN THIS BOT LIVE!!!!

I too have the strangest problem where I ignored when issuing rain/tip commands, other commands work fine and other users have no problems at all.
It is so weird.

I also had the issue you are explaining... Just ask the Owner of the Bot to restart the bot. It worked for me...

It seems to be related to when the bot is started.   If I rain (with active filter enabled:3600sec) without any users active since bot come alive then bot will ignore my requests until it is reboot.  Presumable cause is active tip/rain command went zombie; should have error message and cleanup.


question/problem about the training and the evaluation results

I have no idea if the training and the evaluation are going to be done correctly. And how can I look at the values of the evaluation. Below I have listed the results I get and which data is generated. I hope someone can help me.
When I start the training it runs through without any errors, but I don't know if the console output is correct.  I get this as last output:

when I run the time:
!python automatische-generierung-von-titeln-und-abstracts/BertSum/src/train.py -mode train -encoder transformer -dropout 0.1 -bert_data_path bert_data/test/test -model_path automatische-generierung-von-titeln-und-abstracts/BertSum/models/test -lr 2e-3 -visible_gpus 0  -gpu_ranks 0 -world_size 1 -report_every 50 -save_checkpoint_steps 1000 -batch_size 3000 -decay_method noam -train_steps 000 -accum_count 2 -log_file automatische-generierung-von-titeln-und-abstracts/BertSum/logs/bert_transformer -use_interval true -warmup_steps 10000 -ff_size 2048 -inter_layers 2 -heads 8
and how many steps is the right number?
When I start the evaluation with the saved data I get this as last output:

I run this:
!python automatische-generierung-von-titeln-und-abstracts/BertSum/src/train.py  -mode validate -bert_data_path bert_data/test/test -model_path automatische-generierung-von-titeln-und-abstracts/BertSum/models/test -visible_gpus 0  -gpu_ranks 0 -batch_size 30000  -log_file automatische-generierung-von-titeln-und-abstracts/BertSum/logs/bert_transformer_vali -result_path automatische-generierung-von-titeln-und-abstracts/BertSum/results/test -bert_config_path automatische-generierung-von-titeln-und-abstracts/BertSum/bert_config_uncased_base.json -test_all -block_trigram true
But my results/test folder is simply empty. But there are some data in results. This one:

And I have a second Question.
How can I generate and display specific example outputs? So that I give a text as input and the model then gives me the generated counterpart?

I donot know how to train the dates, could you help me? thank U very much!


fields-azure: Add support for preserve storage config parameter

The preserve  storage config parameter already exists in Keystone, see https://keystonejs.com/docs/config/config#storage-images-and-files.
Currently the files are not deleted when they are removed from Keystone's database. It means wasted storage space, and possible unwanted files in azure blob storage.

this is done, let me know if this worked.

Thanks. It works.


No logs in stdout/stderr if uses stdoutConfig

Expected Behavior
Should have log
Actual Behavior
No logs
Steps to Reproduce the Problem

Run kubectl create -f test.yaml to create a taskrun
Run k get pod | grep test to the pod id
Run kl pod/testlvv64-pod, there is no any log. but the doc says Once stdoutConfig.path or stderrConfig.path is specified, the corresponding output stream will be duplicated to both the given file and the standard output stream of the container, so users can still view the output through the Pod log API.

Additional Info

Kubernetes version:
Output of kubectl version:

Client Version: version.Info{Major:"1", Minor:"24", GitVersion:"v1.24.9", GitCommit:"9710807c82740b9799453677c977758becf0acbb", GitTreeState:"clean", BuildDate:"2022-12-08T10:15:09Z", GoVersion:"go1.18.9", Compiler:"gc", Platform:"darwin/amd64"}
Kustomize Version: v4.5.4
Server Version: version.Info{Major:"1", Minor:"24+", GitVersion:"v1.24.8-eks-ffeb93d", GitCommit:"abb98ec0631dfe573ec5eae40dc48fd8f2017424", GitTreeState:"clean", BuildDate:"2022-11-29T18:45:03Z", GoVersion:"go1.18.8", Compiler:"gc", Platform:"linux/amd64"}

Tekton Pipeline version:
Output of tkn version or kubectl get pods -n tekton-pipelines -l app=tekton-pipelines-controller -o=jsonpath='{.items[0].metadata.labels.version}'

Client version: 0.28.0
Pipeline version: v0.42.0
Triggers version: v0.22.0
Dashboard version: v0.31.0
Operator version: v0.64.0

the test.yaml file
kind: TaskRun
apiVersion: tekton.dev/v1beta1
metadata:
  generateName: test
spec:
  serviceAccountName: default
  taskSpec:
    volumes:
      - name: data
    steps:
      - name: echo
        image: alpine
        volumeMounts:
          - name: data
            mountPath: /data
        onError: continue
        script: |
          #!/bin/sh

          echo -n "hello world"
          echo "not an error" && nonsense
        stdoutConfig:
          path: /data/log
        stderrConfig:
          path: /data/error

hi @lsdbitrue , thank you for opening this issue about strdout log, i am willing to try to fix it


Running with react native on vs code

Hi, i am trying to work with this library but i dont know how to run it. im creating a react native project with npm, then install instagram-private-api to the project folder. and i copy an example code from this github then try to run it by typing "node example.js". It always gives errors like "module not found", "unknown file extension" etc.
Can anyone help me with how can i run basic codes like for loggin in or receive data like followers count etc. ? should i use something other than a react native project?

Please be more specific on which errors you're getting. module not found is pretty generic.

@Nerixyz check this https://github.com/dilame/instagram-private-api/issues/1233


Custom Command and responseClass

Hi,
I've some trouble for return custom model from custom command
i've tried a description like this :
"getProspectByPhone" => array(
            "class" => "LIG\\PRM\\API\\Command\\GetProspectByPhone",
            "responseClass" => "LIG\\PRM\\API\\Model\\Prospect", // Prospect
            "summary" => "Get a prospect by phone",
        ),

but didn't works,
I saw that I had to create my custom process function and custom parser, but i cannot do :(
do you have some example ?
Thx a lot for your time
[Edit]
The ResponseClassInterface::fromCommand require a OperationCommand parameter, not a CustomCommand CommandInterface

Thanks for getting in touch, but I'm going to close this since this repo has been EOL for a while now. Please upgrade to Guzzle 7 ASAP.


Allow to segregate middleware on host

Hi,
Similar to how we can segregate by path:
[
                'path'       => '/api',
                'middleware' => [
                    ApiAuthenticationMiddleware::class,
                    AuthorizationMiddleware::class
                ]
            ]

Would it be possible to also segregate by host?
[
                'host'       => 'api',
                'middleware' => [
                    ApiAuthenticationMiddleware::class,
                    AuthorizationMiddleware::class
                ]
            ]

That's something you can do with nested middleware applications.
As an example, you can have pipeline middleware that checks against the host, and then dispatches another Expressive application based on the match:
$host = $request->getHeaderLine('Host');

switch (strtolower($host)) {
    case 'api':
        $api = $this->container->get('ApiApplication');
        return $api($request, response, $next);
    default:
        return $next($request, $response);
}

Just a quick point of clarification: the path-based matching in pipeline middleware is a feature of Stratigility, which inherits the feature from Sencha Connect. Its primary purpose is path-based segregation; if you want to do host-based segregation, you either run the application on a separate host, or you use a solution like I outline above.

Sounds like a nice solution. But maybe Stratigility implementation could deviate a bit to add this feature? That sounds like a pretty simple feature, as today in Expressive there is basically no easy way through config to perform routing based on host.

@bakura10 I don't want to bloat Stratigility too much, but that should be relatively easy to add. Want to contribute a PR?

Yep will try to do that when I have a bit of time :).

Hey, has anyone worked on this feature? If not I'd be willing to submit PRs to Stratigility and Expressive to allow host based middleware pipe routing.

It's possible now with Expressive 3. See:

https://github.com/zendframework/zend-stratigility/pull/142
https://docs.zendframework.com/zend-stratigility/v3/api/#host


[Event Request / Change Request] Codeunit 80 "Sales-Post" – New event “OnInsertShipmentLineOnBeforePostWhseLine”

Could we please have a new event “OnInsertShipmentLineOnBeforePostWhseLine” in function “InsertShipmentLine”, Codeunit 80 "Sales-Post”, including a modified IF statement?
    local procedure InsertShipmentLine(SalesHeader: Record "Sales Header"; SalesShptHeader: Record "Sales Shipment Header"; SalesLine: Record "Sales Line"; CostBaseAmount: Decimal; var TempServiceItem2: Record "Service Item" temporary; var TempServiceItemComp2: Record "Service Item Component" temporary)
    var
        SalesShptLine: Record "Sales Shipment Line";
        WhseShptLine: Record "Warehouse Shipment Line";
        WhseRcptLine: Record "Warehouse Receipt Line";
        TempServiceItem1: Record "Service Item" temporary;
        TempServiceItemComp1: Record "Service Item Component" temporary;
*** start new code ***
        DoPostWhseLine: Boolean;
*** stop new code ***
    begin
        SalesShptLine.InitFromSalesLine(SalesShptHeader, xSalesLine);
        SalesShptLine."Quantity Invoiced" := -RemQtyToBeInvoiced;
        SalesShptLine."Qty. Invoiced (Base)" := -RemQtyToBeInvoicedBase;
        SalesShptLine."Qty. Shipped Not Invoiced" := SalesShptLine.Quantity - SalesShptLine."Quantity Invoiced";

*** start old code ***
        //if (SalesLine.Type = SalesLine.Type::Item) and (SalesLine."Qty. to Ship" <> 0) then begin
*** stop old code ***
*** start new code ***
        DoPostWhseLine := (SalesLine.Type = SalesLine.Type::Item) and (SalesLine."Qty. to Ship" <> 0);
        OnInsertShipmentLineOnBeforePostWhseLine(SalesLine, DoPostWhseLine);
        if DoPostWhseLine then begin
*** stop new code ***
            if WhseShip then
…
*** start new code ***
    [IntegrationEvent(false, false)]
    local procedure OnInsertShipmentLineOnBeforePostWhseLine(SalesLine: Record "Sales Line"; var DoPostWhseLine: Boolean)
    begin
    end;
*** stop new code ***

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


A paid invoice for amounts larger than the original request is not showing as paid in zap

Description
In zap i created an invoice for 52000 sats. I then sent payment to that invoice using phoenix wallet but I clicked send all funds which was 52467 sats. It was sent successfully
But in zap, the 52000 invoice still shows unpaid and there's no other receipt of money.
When i switch to zeusln connected to the same lnd node, it does show the receipt of 52467 sats.

Expected Behavior
Should see the payment, even if the amount doesn't match the invoice.
Actual Behavior
Invoice shown as unpaid.
Possible Fix

Steps to Reproduce

Create an invoice for some amount X in zap
Pay that invoice with X + additional amount
Check zap
See invoice not paid

Context

Your Environment

Zap version: 0.2.11-alpha
Android version: (e.g. API 28)
Device: LGv20
LND Version: 0.9.0

Hi @thorie7912
thanks for the report.
I was quite busy with my job lately, so sorry for the delay.
I have found the issue and made a PR for it #170

This has been fixed and it was shipped in v0.3.0


Add Word "Python"

Add all the definitions of Python in a file named Python.json in folder P
Refer CONTRIBUTING.md for more details on how to contribute.
Comment the words you'll be adding if you're are working on this issue to avoid conflicts.
Add reference to this issue i.e Issue # in your pull request description.

Hey, I want to do this

Hey I want to contribute in this issue , Please assign me this  @niwla23


Clang support

WiP, but demos seem to work

Hi @SamuelMarks !
I close this PR, because NAppGUI build system has been changed in 1.4.
Clang support has been added.
https://nappgui.com/en/guide/win_mac_linux.html#h5.5

Darn, thought this would be the start of my [accepted] contributions. Also I made this 9 months ago + it does a few other niceties like avoid using ${ around string vars in comparisons.


getting image by name fails for images pulled from docker.io

$ docker pull busybox:latest
latest: Pulling from docker.io/busybox
Status: Downloaded newer image for docker.io/busybox:latest
from dock.util import ImageName
input_image_name = ImageName.parse("busybox:latest")
t.get_image_info_by_image_name(input_image_name)
[]
input_image_name = ImageName.parse("docker.io/busybox:latest")
t.get_image_info_by_image_name(input_image_name)
[{u'Created':<PHONE_NUMBER>,
u'Id': u'8c2e06607696bd4afb3d03b687e361cc43cf8ec1a4a725bc96e39f05ba97dd55',
u'Labels': {},
u'ParentId': u'6ce2e90b0bc7224de3db1f0d646fe8e2c4dd37f1793928287f6074bc451a57ea',
u'RepoDigests': [],
u'RepoTags': [u'docker.io/busybox:latest'],
u'Size': 0,  u'VirtualSize': 2429728}]
$ docker images busybox
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
$ docker images busybox:latest
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
$ docker images docker.io/busybox:latest
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
$ docker images docker.io/busybox
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
docker.io/busybox   latest              8c2e06607696        9 days ago          2.43 MB
For me it looks very similar to #45 and I personally think it's a problem in docker-images,
because for example 'docker rmi busybox:latest' works ok.
docker-1.6.0-1.git0591dce.fc22

Seems to be a problem with Fedora's docker-1.6.0-1.git0591dce.fc22 only because upstream 1.7.0-dev is OK (doesn't add docker.io/ prefix when pulling).

https://bugzilla.redhat.com/show_bug.cgi?id=1215934

Will be fixed in Fedora's docker (https://bugzilla.redhat.com/show_bug.cgi?id=1215934#c4)


How to get mod path in code

What version of Go are you using (go version)?

$ go version
go version go1.12.1 darwin/amd64

Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/mj/Library/Caches/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/mj/go"
GOPROXY="https://goproxy.io"
GORACE=""
GOROOT="/usr/local/Cellar/go/1.12.1/libexec"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.12.1/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/xb/dsd0_2b92x7bsl92xlzj6fbm0000gn/T/go-build222988675=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?

What did you expect to see?
What did you see instead?
What i want to do ?
i want to RegisterViewPath in sub project, see this link
admin.RegisterViewPath("github.com/qor/admin/views")

this works when i don't use go mod (only go get in project root)
but if i use go.mod, when i  run go run main.go in qor-example(import qor/admin)
i will get panic error,
2019/06/02 13:03:26 "GET http://localhost:7000/admin HTTP/1.1" from [::1]:57001 - panic: runtime error: invalid memory address or nil pointer dereference

because templates can't be found.
i know go mod is stored in $GOPATH/pkg/github.com/qor/admin@<hash_version>,  how can i get that path in code ?
and how do i the project is running  in go mod mode, because i don't want to break that.
in short, i want to add mod support like this
if (RUNNING_IN_GO_MOD_MODE) {
    admin.RegisterViewPath("$GOPATH/pkg/mod/github.com/qor/admin@<hash_version>/views")
} else {
    admin.RegisterViewPath("github.com/qor/admin/views")
}

There is no programmatic way to do this today. See #3035 for a related feature request.


Added TCP healthcheck capabilities to the HdsDelegate

The HdsDelegate now informs the management server that it can perform TCP healthchecks.
This change also comes with three tests showing that indeed the HdsDelegate can perform TCP healthchecks.
Risk Level: Low
This is for https://github.com/envoyproxy/envoy/issues/1310.

@hennna can you take a pass on this? Thanks.

@hennna friendly ping

@markatou also need to resolve merge conflict :)


Custom link to icons

I'm constantly getting this error message in console and icons are not visible:
Unsafe attempt to load URL https://cs80.salesforce.com/assets/icons/standard-sprite/svg/symbols.svg#account from frame with URL https://c.cs80.visual.force.com/apex/VnosSerijskih#. Domains, protocols and ports must match.
Instead of using
 <use xlink:href="/assets/icons/utility-sprite/svg/symbols.svg#search"></use>
It should be:
<use xlink:href="{!URLFOR($Resource.SLDS0120,'assets/icons/utility-sprite/svg/symbols.svg#search')}"></use>
Only second link is working for me and icon is working that way.
This is probably SLDS issue just to let you know. I will also write there as well.

Hi, thanks for the input! We are keeping the icon paths to match those of SLDS's by default, however we have options to override them. Your suggestion for pointing to a static resource is correct if we're working with an org, but I assume SLDS is solving for uses outside of Salesforce so they set defaults to /assets/....
One thing we've noticed is that Chrome will throw that error if you are working locally (trying to access an icon from a relative path on your drive). Our solution is to prototype our front-end with the --allow-file-access-from-files Chrome flag enabled. More information on this here: http://stackoverflow.com/questions/18586921/how-to-launch-html-using-chrome-at-allow-file-access-from-files-mode
Do note that you should not be using that flag for normal browsing as it poses a security risk. We use it purely for supporting local icons during prototyping.

Hi,
I'm always working online on org and URL for must be always set to correct static resource.
Is there any way to fix this issue? As currently I can only set URL for for my code, but it is pretty hard to fix it inside other js files.
Main problem is with lookup control, when user selects one item, it gets a button on the right side to empty input field, but with this "bug" it is not visible and it is confusing to users.

Are you using the Ember component or the jQuery plugin for Lookups? In 0.1.3 and 0.1.2 (both of which were released recently), we have options to override the object icons for lookups.
In jQuery, if you set the objectIconUrl to blank, you can disable object icons altogether. Additionally, you can set your own custom URL with this option and a use a var representing your Static Resource's root in the string. For example: var assetsLocation = '{!URLFOR($Resource.slds}'; is set on the Visualforce page and objectIconUrl: assetsLocation + '/assets/icons/utility-sprite/svg/symbols.svg#search is set on the Lookup plugin.
Is this what you're looking for?

Yes you pointed me into right direction. After quick code inspect I found that I have to set it like this during init:
... assetsLocation: "{!URLFOR($Resource.SLDS0120,'')}", objectIconUrl: "", ...
Thanks for the help! :)


Access from Java

The best way to access Kotlin Companion object from java like this
Hasher.Companion.hash(value,HashType);
maybe, will not be found if it is like this
//Call hash() method using the object
Hasher.hash(value,HashType);

reference https://stackoverflow.com/questions/38120494/how-to-access-kotlin-companion-object-in-java

Thank you so much for addressing this issue. I have updated the read me.


BioEngine fails with webgl error

I tried for a couple of models, and the bioengine currently fails with this error:

Only happens on chrome, firefox works


Make Broker.Open truly non-blocking

The intent behind the design was so that the method was always safe to call e.g.
when a lock was held, by making it async, however there were still certain cases
where it could have blocked:

if another thread had already called Open, subsequent calls would block until
that network io completed
if the connection was already open and the pipeline was full
(MaxOpenRequests were in flight) then calling Open would block until at least
one response was received

This adds a simple atomic flag we can use to short-circuit appropriately, such
that Open should now have the following properties

it never blocks on network IO
it guarantees that the broker is connected or connecting when it returns
(modulo another thread calling Close in the interim)

AFAICT these are the properties it needs for lazy broker connection to be
possible in the client.
@Shopify/kafka

Is the change from "connected" to "connecting" significant? E.g., would we ever check for that error value and start using the broker if it says it's already connected?

I'm not sure what you mean, the change where?

// ErrAlreadyConnected is the error returned when calling Open() on a Broker that is already connected or connecting.

I guess previously this already was the case, but now the godoc actually reflects that. Should we update the string of the error value as well?

Yes, it has always been the case that Open only guaranteed connecting, not connected. I've updated the error string to match

:checkered_flag:

I just vastly simplified the atomic op in Open, because the previous version was rather stupid.
@wvanbergen take another look at that logic please?

Ha, so much better :+1:


Release/0.1.1

0.1.1

New Feature: Added option markOutOfRangeDateInvalid to enable/disable marking out-of-range dates as invalid selections. When enabled, users cannot select dates outside the specified range.
Bug Fix: Resolved issue where the onChange method did not include setState, causing the widget style in the Picker not to update.
Dependency Update: Upgraded intl package to version 0.19.0 for improved compatibility and performance.

Codecov Report
Attention: Patch coverage is 50.00000% with 2 lines in your changes are missing coverage. Please review.

Project coverage is 98.87%. Comparing base (0444f42) to head (4ef9c72).
Report is 8 commits behind head on master.

Files
Patch %
Lines

lib/src/scroll_date_time_picker.dart
50.00%
2 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #13      +/-   ##
==========================================
- Coverage   99.24%   98.87%   -0.38%
==========================================
  Files          10       10
  Lines         532      534       +2
==========================================
  Hits          528      528
- Misses          4        6       +2

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Documentation of getNextToken

place documentation at right place
see to it that  is handled properly in the documentation

Can you backport your PR to the 8.0.0 branch. Thx

Is the backport still necessary?

All language specific code is in the sub-module  javacc/codegenerator

I've just pushed a proposed patch for version 8.0.0: https://github.com/javacc/codegenerator/pull/64


Use xcbuild for xcode-wrapper

These changes allow node packages to be built when Xcode is not installed.

Worth mentioning that I did this because I wasn't sure how to override xcode-wrapper any other way.

I might not have a chance to test this out for a bit, but I just wanted to acknowledge it and say thanks! I'll give this a spin asap :)

Sooo unfortunately this fails for me, on the example in the circleci tests which builds a native package. Here are the steps I went through:

Build nixfromnpm (from either master or this branch) and make sure the binary is in your path
In a fresh directory:
a. git clone https://github.com/justadudewhohacks/node-addon-tutorial
b. nixfromnpm -o output -f node-addon-tutorial/VectorExample
c. nix-build output -A nodePackages.nan

The last step succeeds on master but fails on this branch :(

I'd like to get to the bottom of this because we've been using my fork at the commit used in this PR on our CI since I first opened this. We build for NixOS and macOS on Hydra.
I think this may be relevant to an error I'm seeing after upgrading to macOS Mojave. I started getting the following error locally:
dyld: Library not loaded: /usr/lib/system/libsystem_network.dylib
  Referenced from: /nix/store/8ykfqv6jx9jvfhnc4cdygdzg0piy8253-Libsystem-osx-10.11.6/lib/libSystem.B.dylib
  Reason: image not found

I've since fixed that for normal nix use but now I see it when trying to open a nix-shell even with my fork of nixfromnpm.
...
building '/nix/store/0aw0k2pzibffd8l71hr29in5wnxmcnwa-remove-references-to.drv'...
dyld: Library not loaded: /usr/lib/system/libsystem_network.dylib
  Referenced from: /nix/store/8ykfqv6jx9jvfhnc4cdygdzg0piy8253-Libsystem-osx-10.11.6/lib/libSystem.B.dylib
  Reason: image not found
builder for '/nix/store/0aw0k2pzibffd8l71hr29in5wnxmcnwa-remove-references-to.drv' failed due to signal 6 (Abort trap: 6)
cannot build derivation '/nix/store/d32g7vmq4lsqj3nnjcg3k7lyv87ycm5y-nixfromnpm-0.13.0.drv': 1 dependencies couldn't be built
error: build of '/nix/store/79n3gcx51shhm650rmr7knwkxa9pppky-stdenv-darwin.drv', '/nix/store/d32g7vmq4lsqj3nnjcg3k7lyv87ycm5y-nixfromnpm-0.13.0.drv' failed

Similar issue to https://github.com/reflex-frp/reflex-platform/issues/398

Actually, please disregard the reflex link. That appears to be something else.

Apparently I missed the part about pinned nixpkgs. Now doing this instead but having no luck.
{}:

self: super:

let
  nixfromnpmSrc = self.fetchFromGitHub {
    owner  = "paulyoung"; # Forked from adnelson
    repo   = "nixfromnpm";
    rev    = "ef49d70fffd37aac15ecca0adf1d8839f0840820";
    sha256 = "0knjqqpcm2ssc9p9zaq4bnm6d1403yz4mrnyzyw2lxnby052gyaz";
  };
in
  {
    nixfromnpm = (import "${nixfromnpmSrc}/release.nix" {
      nixpkgs = self.pkgs.src;
    }).nixfromnpm;
  }

error: Package ‘rcs-5.9.4’ in /nix/store/bhcb0bpfyyq30azmqq5ybmf9rd70jp5n-source/pkgs/applications/version-management/rcs/default.nix:19 is not supported on ‘x86_64-apple-darwin’, refusing to evaluate.

Seems to be the same error as https://github.com/alpmestan/ghc.nix/issues/22#issuecomment-436177043

I'm going to create a new issue since it seems unrelated to Xcode.

@adnelson it looks like the build is green now although I didn't really change anything.

Although it appears to have been green in the beginning...

Going back to the instructions in https://github.com/adnelson/nixfromnpm/pull/146#issuecomment-437513187, these work for me on macOS Mojave using my fork of nixfromnpm
See https://github.com/adnelson/nixfromnpm/compare/master...paulyoung:master for a complete diff.

I really like these changes, because the more code we can remove from nixfromnpm and get into library code, the better :)
But these changes for me are still causing a failure when trying to build nan (which we've b`een using as a test balloon for packages with native compilation)
⇒  nix-build release.nix -A nixfromnpm
/nix/store/jvwdpn0dqdxwf5jmpjb9lg6hyk7hqdf9-nixfromnpm-0.13.0
⇒  ./result/bin/nixfromnpm -o test-test -p nan
Initializing  /Users/allen/workspace/haskell/nixfromnpm/test-test
Generating node libraries in /Users/allen/workspace/haskell/nixfromnpm/test-test
Resolving nan (>=0.0.0)
Trying to fetch from https://registry.npmjs.org
Querying https://registry.npmjs.org for package nan...
Hitting URI https://registry.npmjs.org/nan

Finished resolving nan 2.12.1
Writing package file at /Users/allen/workspace/haskell/nixfromnpm/test-test/nodePackages/nan/2.12.1.nix
Generating package definition object in /Users/allen/workspace/haskell/nixfromnpm/test-test/nodePackages/default.nix
Package<EMAIL_ADDRESS>built successfully.
⇒  nix-build test-test -A nodePackages.nan
these derivations will be built:
  /nix/store/kmznbn9bfzhkny14g10d1ykgls4a0086-nan-2.12.1-nodejs-8.11.3.drv
building '/nix/store/kmznbn9bfzhkny14g10d1ykgls4a0086-nan-2.12.1-nodejs-8.11.3.drv'...
setVariables
unpacking sources
unpacking source archive /nix/store/mwh1qq5adwbcby68zpc5gzpggxm4m1v8-nan-2.12.1.tgz
source root is package
setting SOURCE_DATE_EPOCH to timestamp<PHONE_NUMBER> of file package/package.json
patching sources
configuring
building
running xcodebuild
error: no project found
builder for '/nix/store/kmznbn9bfzhkny14g10d1ykgls4a0086-nan-2.12.1-nodejs-8.11.3.drv' failed with exit code 1
error: build of '/nix/store/kmznbn9bfzhkny14g10d1ykgls4a0086-nan-2.12.1-nodejs-8.11.3.drv' failed

If this is just my system that's a problem, then I don't mind merging this, but...

@adnelson I'm curious if that works for you using the master branch of my fork, and if you're open to the other changes there.

Unfortunately it broke with the same error :( maybe the xcode expression in nixpkgs is system-dependent?

Thanks for checking. I've confirmed it works on macOS and NixOS so not sure why it's failing for you.

I don't want to stand in the way of this if it's just a problem with my setup, or that of a minority of users. @ixmatus do you have an OSX machine? If so does this work for you?
I'd be willing to merge this and revert it if it causes problems for others.

I do have an OSX machine, I can try doing the same build you did above to verify.

@adnelson @paulyoung it built fine for me, I think we should merge this.

Thanks 🙂
I’ll probably make some PRs for the other changes on my fork.


It seems that huge amount of sampling is omited from dump (and flame graph)

Hello,
I am profiling Cassandra.
At the end of profiling I get:
--- Execution profile ---
Total:                 230393
Non-Java:              26372 (11.45%)
GC active:             62 (0.03%)
Unknown (native):      83399 (36.20%)
Not walkable (native): 6 (0.00%)
Unknown (Java):        1016 (0.44%)
Not walkable (Java):   7 (0.00%)
Deopt:                 322 (0.14%)

As I can understand, ~50% of perf events was captured at points where asyncGetCallTrace can not reconstruct Stack Traces. Am I right?
And this events does not included in Flame Graph. May be them should be included as "unknown" method to indicate that signigicant amount of CPU usage can not be recognized.
Thanks.

Even if AsyncGetCallTrace fails, the native part of a stack trace should be still visible on a flame graph. Can you share a flame graph or provide a reduced test case to check if the results are sane?
It's probably worth adding a fake frame with AGCT error code at the bottom of such samples.

Here it is:

https://drive.google.com/file/d/0B2WZhuW_tSiWQzkxb1NGbW5ubTQ/view?usp=sharing
https://drive.google.com/file/d/0B2WZhuW_tSiWc2tqNS0xX3FWM2c/view?usp=sharing

Second was done with -XX:+DebugNonSafepoints
You can see the difference by searching MON_R_CompactionExecutor.run (it exists at second FG and does not exist at first one).

The graphs look sane. They  also display VM activity: GC, compiler and more.
Note that samples of VMThread, WatherThread and GC threads will be counted as "Non-Java", and the samples of Compiler threads will be counted as "Unknown (native)", since CompilerThread inherits JavaThread in HotSpot for some reason.
Does this answer your question? I understand that AsyncGetCallTrace error codes may look confusing, but I'm not sure what to do with them. Native code unrecognized by AsyncGetCallTrace is still displayed in FlameGraphs though.

Yes both graphs looks sane. And it is the problem. Because both graphs display same application is (near) same state.
Absent of CompactionExecutor at first graph means data displayed is unreliable.
May be it is better to display at flame-graph amount of totaly unrecognized samples. It will help to understand if displayed "flames" have real mean.

Do you have a clear indication of a problem? I don't see it yet. If there is no CompactionExecutor in one profile, it does not yet mean there should be. E.g. compaction is a periodic process in Cassandra that does not happen always.

One possible reason why some threads may appear missing in a profile is a failure to allocate perf_event descriptor for these threads. Each profiled thread requires one perf_event descriptor and one mmap'ed region of 8kB size.
That is, to profile an application with N threads make sure the following limits are satisfied:

ulimit -n > N
/proc/sys/vm/max_map_count > N
/proc/sys/kernel/perf_event_mlock_kb > 8*N

Anyway, in case of perf_event allocation failure, an error message will be printed to stderr of the target Java process.

E.g. compaction is a periodic process in Cassandra that does not happen always.
Sorry. I should be more clear. I checked that Compaction was running during profiling and it takes significant CPU.

I search through logs and found this;
...
mmap failed: Operation not permitted
mmap failed: Operation not permitted
mmap failed: Operation not permitted
mmap failed: Operation not permitted
...

Is it allocation failure?
I have following limits:
# ulimit -n
655350

# cat /proc/sys/vm/max_map_count
65530

# cat /proc/sys/kernel/perf_event_mlock_kb
516

Our application have about 360 threads. 8*360=2880. Thus I need to setup 3000kb as perf_event_mlock_kb?

Thus I need to setup 3000kb as perf_event_mlock_kb?
Yes, this is most probably the reason. Don't hesitate to set even larger value - this should not be harmful.

If this helps, I'll update the documentation and then mark the issue resolved.

Follow up: perf_event_mlock_kb=516 seems to be the default on most Linux system, which prevents non-root from reliable profiling of applications with more than 64 threads. Too bad, but unfortunately async-profiler cannot do anything about it except proper documentation and error messages. 8kB (2 pages) per thread is already the minimum possible perf_event buffer size.
Just to clarify: threads without allocated perf_event buffer will be completely missing in the profile, i.e. they will not be even counted in Total / Non-Java / Unknown statistics.

I rerun test. It helps. Thank you.
May be we can somehow display such threads in flame graph? It will help to detect such problems quickly.

I've fixed the problem by allowing to collect at least Java stack traces when perf_event_mlock_kb overflow happens. Native and kernel stack traces will be missing for these threads though.
Added documentation paragraph.


Add conversion from BackgroundColor to its Color counterpart

Hey there. I'm trying to build a string similar to a Powerline prompt.
It's a series of segments, separated by a custom powerline triangle glyph. The glyph is coloured predicably: the triangle part of is coloured based on the text colour, and the background is coloured based on the background. But the glyph exists to
connect two different background colours.
This means you want to set its text colour to the equivalent of the background colour of whats to the left, and the background colour to be equal to the background colour of whats to the right. To achieve this, you need a way of converting a BackgroundColor to its Color counterpart.
Here's my example:
import Rainbow

extension BackgroundColor {
	var toTextColor: Color {
		switch self {
		case .black:	return .black
		case .red:		return .red
		case .green:	return .green
		case .yellow:	return .yellow
		case .blue:		return .blue
		case .magenta:	return .magenta
		case .cyan:		return .cyan
		case .white:	return .white
		case .default:	return .default
		}
	}
}

struct Segment {
	let text: String
	let textColor: Color = .default
	let backgroundColor: BackgroundColor
}

extension Collection where Element == Segment {
	func joined() -> String {
		let dummySegment = Segment(text: "", backgroundColor: .default)

		let strings = zip(self, self.dropFirst() + [dummySegment]).map { current, next -> String in
			let separator = "".applyingCodes(current.backgroundColor.toTextColor, next.backgroundColor)
			let text = current.text.applyingCodes(current.textColor, current.backgroundColor)
			return text + separator
		}

		return strings.joined()
	}
}

let segments = [
	Segment(text: "abc", backgroundColor: .red),
	Segment(text: "def", backgroundColor: .green),
	Segment(text: "ghi", backgroundColor: .blue),
]

let result = segments.joined() + " The rest of the message"

print("before\n")
print(result)
print("\nafter")

Output (rendered in SF mono nerd font:

I wanted to contribute the implementation of toTextColor, because I think it might be useful to others. The reverse direction might also be useful, though there are more Colors than can map onto BackgroundColors, so its unclear how to handle the unmappable cases (make the computed property optional and return nil?)
Do you think this would be useful for me to contribute?
If so, how do you think I should write the test for it?

Hi,
Thanks for opening this. I think it would be very useful!
For the lack of background color (you may notice that there is no light version of background colors), actually, they should be also supported. It is me to blame since I was too lazy to add them.
Meanwhile, I am working on some big changes for #45 right now, and maybe introducing some break changes to the current API. I suggest you can wait for a while before I have a chance to finish them. I will append more comments here when it is prepared so we can continue this conversion helper!

Excellent, thanks! Keep me posted :)

Done.  See the tests for using cases.

A new tag will be applied later. Before that, I have some other plans for this library. Before all prepared, if you need this API, feel free to pin it to the master branch for a while. :)

Awesome, thanks!